Allow user to add a directory component in the sys-root path.
Rename CT_DEBUG_INSTALL_DIR to CT_DEBUGROOT_DIR (to match CT_SYSROOT_DIR).
As a side effect, fix creating lib64->lib symlinks.
/trunk/scripts/build/debug/100-dmalloc.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/400-ltrace.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 6 3 3 0 +++---
/trunk/scripts/build/debug/500-strace.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/200-duma.sh | 6 3 3 0 +++---
/trunk/scripts/crosstool-NG.sh.in | 16 7 9 0 +++++++---------
/trunk/scripts/functions | 2 1 1 0 +-
/trunk/config/toolchain.in | 17 17 0 0 +++++++++++++++++
8 files changed, 34 insertions(+), 19 deletions(-)
1.1 --- a/config/toolchain.in Tue Mar 03 17:39:51 2009 +0000
1.2 +++ b/config/toolchain.in Tue Mar 03 17:41:59 2009 +0000
1.3 @@ -12,6 +12,23 @@
1.4
1.5 You definitely want to say 'Y' here. Yes you do. I know you do. Say 'Y'.
1.6
1.7 +config SYSROOT_DIR_PREFIX
1.8 + string
1.9 + prompt "sysroot prefix dir (READ HELP)"
1.10 + depends on USE_SYSROOT
1.11 + depends on EXPERIMENTAL
1.12 + default ""
1.13 + help
1.14 + *
1.15 + * Unless you realy know you need that, leave it empty!
1.16 + *
1.17 +
1.18 + This string will be interpreted as a directory component to be added
1.19 + to the sysroot path, just before the actual sysroot directory.
1.20 +
1.21 + In fact, the sysroot path is constructed as:
1.22 + ${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/sys-root
1.23 +
1.24 config SHARED_LIBS
1.25 bool
1.26 prompt "Build shared libraries"
2.1 --- a/scripts/build/debug/100-dmalloc.sh Tue Mar 03 17:39:51 2009 +0000
2.2 +++ b/scripts/build/debug/100-dmalloc.sh Tue Mar 03 17:41:59 2009 +0000
2.3 @@ -47,7 +47,7 @@
2.4
2.5 CT_DoLog EXTRA "Installing dmalloc"
2.6 CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" installincs installlib
2.7 - CT_DoExecLog ALL make DESTDIR="${CT_DEBUG_INSTALL_DIR}" installutil
2.8 + CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" installutil
2.9
2.10 CT_EndStep
2.11 }
3.1 --- a/scripts/build/debug/200-duma.sh Tue Mar 03 17:39:51 2009 +0000
3.2 +++ b/scripts/build/debug/200-duma.sh Tue Mar 03 17:41:59 2009 +0000
3.3 @@ -47,12 +47,12 @@
3.4 CT_DoLog EXTRA "Installing shared library link"
3.5 ln -vsf ${duma_so} "${CT_SYSROOT_DIR}/usr/lib/libduma.so" 2>&1 |CT_DoLog ALL
3.6 CT_DoLog EXTRA "Installing wrapper script"
3.7 - mkdir -p "${CT_DEBUG_INSTALL_DIR}/usr/bin"
3.8 + mkdir -p "${CT_DEBUGROOT_DIR}/usr/bin"
3.9 # Install a simpler, smaller, safer wrapper than the one provided by D.U.M.A.
3.10 sed -r -e 's:^LIBDUMA_SO=.*:LIBDUMA_SO=/usr/lib/'"${duma_so}"':;' \
3.11 "${CT_LIB_DIR}/scripts/build/debug/duma.in" \
3.12 - >"${CT_DEBUG_INSTALL_DIR}/usr/bin/duma"
3.13 - chmod 755 "${CT_DEBUG_INSTALL_DIR}/usr/bin/duma"
3.14 + >"${CT_DEBUGROOT_DIR}/usr/bin/duma"
3.15 + chmod 755 "${CT_DEBUGROOT_DIR}/usr/bin/duma"
3.16 fi
3.17
3.18 CT_Popd
4.1 --- a/scripts/build/debug/300-gdb.sh Tue Mar 03 17:39:51 2009 +0000
4.2 +++ b/scripts/build/debug/300-gdb.sh Tue Mar 03 17:41:59 2009 +0000
4.3 @@ -215,10 +215,10 @@
4.4 CT_DoExecLog ALL make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC}
4.5
4.6 CT_DoLog EXTRA "Installing native gdb"
4.7 - CT_DoExecLog ALL make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install
4.8 + CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
4.9
4.10 # Building a native gdb also builds a gdbserver
4.11 - find "${CT_DEBUG_INSTALL_DIR}" -type f -name gdbserver -exec rm -fv {} \; 2>&1 |CT_DoLog ALL
4.12 + find "${CT_DEBUGROOT_DIR}" -type f -name gdbserver -exec rm -fv {} \; 2>&1 |CT_DoLog ALL
4.13
4.14 unset ac_cv_func_strncmp_works
4.15
4.16 @@ -269,7 +269,7 @@
4.17 CT_DoExecLog ALL make ${PARALLELMFLAGS} CC=${CT_TARGET}-${CT_CC}
4.18
4.19 CT_DoLog EXTRA "Installing gdbserver"
4.20 - CT_DoExecLog ALL make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install
4.21 + CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
4.22
4.23 CT_EndStep
4.24 fi
5.1 --- a/scripts/build/debug/400-ltrace.sh Tue Mar 03 17:39:51 2009 +0000
5.2 +++ b/scripts/build/debug/400-ltrace.sh Tue Mar 03 17:41:59 2009 +0000
5.3 @@ -37,7 +37,7 @@
5.4 CT_DoExecLog ALL make
5.5
5.6 CT_DoLog EXTRA "Installing ltrace"
5.7 - CT_DoExecLog ALL make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install
5.8 + CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
5.9
5.10 CT_Popd
5.11 CT_EndStep
6.1 --- a/scripts/build/debug/500-strace.sh Tue Mar 03 17:39:51 2009 +0000
6.2 +++ b/scripts/build/debug/500-strace.sh Tue Mar 03 17:41:59 2009 +0000
6.3 @@ -27,7 +27,7 @@
6.4 CT_DoExecLog ALL make
6.5
6.6 CT_DoLog EXTRA "Installing strace"
6.7 - CT_DoExecLog ALL make DESTDIR="${CT_DEBUG_INSTALL_DIR}" install
6.8 + CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install
6.9
6.10 CT_Popd
6.11 CT_EndStep
7.1 --- a/scripts/crosstool-NG.sh.in Tue Mar 03 17:39:51 2009 +0000
7.2 +++ b/scripts/crosstool-NG.sh.in Tue Mar 03 17:41:59 2009 +0000
7.3 @@ -32,7 +32,7 @@
7.4 CT_WORK_DIR="${CT_WORK_DIR:-${CT_TOP_DIR}/targets}"
7.5
7.6 # Create the bin-overide early
7.7 -# Contains symlinks to the tools found bu ./configure
7.8 +# Contains symlinks to the tools found by ./configure
7.9 # Note: CT_DoLog and CT_DoExecLog do not use any of those tool, so
7.10 # they can be safely used
7.11 CT_BIN_OVERIDE_DIR="${CT_WORK_DIR}/bin"
7.12 @@ -108,7 +108,6 @@
7.13 CT_TARBALLS_DIR="${CT_WORK_DIR}/tarballs"
7.14 CT_SRC_DIR="${CT_WORK_DIR}/src"
7.15 CT_BUILD_DIR="${CT_WORK_DIR}/${CT_TARGET}/build"
7.16 -CT_DEBUG_INSTALL_DIR="${CT_INSTALL_DIR}/${CT_TARGET}/debug-root"
7.17 # Note: we'll always install the core compiler in its own directory, so as to
7.18 # not mix the two builds: core and final.
7.19 CT_CC_CORE_STATIC_PREFIX_DIR="${CT_BUILD_DIR}/${CT_CC}-core-static"
7.20 @@ -177,9 +176,6 @@
7.21 if [ -d "${CT_INSTALL_DIR}" ]; then
7.22 CT_DoForceRmdir "${CT_INSTALL_DIR}"
7.23 fi
7.24 - if [ -d "${CT_DEBUG_INSTALL_DIR}" ]; then
7.25 - CT_DoForceRmdir "${CT_DEBUG_INSTALL_DIR}"
7.26 - fi
7.27 # In case we start anew, get rid of the previously saved state directory
7.28 if [ -d "${CT_STATE_DIR}" ]; then
7.29 CT_DoForceRmdir "${CT_STATE_DIR}"
7.30 @@ -194,7 +190,6 @@
7.31 CT_DoExecLog ALL mkdir -p "${CT_BUILD_DIR}"
7.32 CT_DoExecLog ALL mkdir -p "${CT_INSTALL_DIR}"
7.33 CT_DoExecLog ALL mkdir -p "${CT_PREFIX_DIR}"
7.34 -CT_DoExecLog ALL mkdir -p "${CT_DEBUG_INSTALL_DIR}"
7.35 CT_DoExecLog ALL mkdir -p "${CT_CC_CORE_STATIC_PREFIX_DIR}"
7.36 CT_DoExecLog ALL mkdir -p "${CT_CC_CORE_SHARED_PREFIX_DIR}"
7.37 CT_DoExecLog ALL mkdir -p "${CT_STATE_DIR}"
7.38 @@ -229,7 +224,8 @@
7.39
7.40 # Arrange paths depending on wether we use sys-root or not.
7.41 if [ "${CT_USE_SYSROOT}" = "y" ]; then
7.42 - CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/sys-root"
7.43 + CT_SYSROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/sys-root"
7.44 + CT_DEBUGROOT_DIR="${CT_PREFIX_DIR}/${CT_TARGET}/${CT_SYSROOT_DIR_PREFIX}/debug-root"
7.45 CT_HEADERS_DIR="${CT_SYSROOT_DIR}/usr/include"
7.46 BINUTILS_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
7.47 CC_CORE_SYSROOT_ARG="--with-sysroot=${CT_SYSROOT_DIR}"
7.48 @@ -253,6 +249,8 @@
7.49 CC_SYSROOT_ARG="--with-headers=${CT_HEADERS_DIR}"
7.50 LIBC_SYSROOT_ARG="prefix="
7.51 fi
7.52 + CT_DoExecLog ALL mkdir -p "${CT_SYSROOT_DIR}"
7.53 + CT_DoExecLog ALL mkdir -p "${CT_DEBUGROOT_DIR}"
7.54
7.55 # Prepare the 'lib' directories in sysroot, else the ../lib64 hack used by
7.56 # 32 -> 64 bit crosscompilers won't work, and build of final gcc will fail
7.57 @@ -264,7 +262,7 @@
7.58 CT_DoExecLog ALL mkdir -p "${CT_SYSROOT_DIR}/usr/lib"
7.59
7.60 # Prevent gcc from installing its libraries outside of the sys-root
7.61 - CT_DoExecLog ALL ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib"
7.62 + CT_DoExecLog ALL ln -sf "./${CT_SYSROOT_DIR_PREFIX}/sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib"
7.63
7.64 # Now, in case we're 64 bits, just have lib64/ be a symlink to lib/
7.65 # so as to have all libraries in the same directory (we can do that
7.66 @@ -273,7 +271,7 @@
7.67 CT_DoExecLog ALL ln -sf "lib" "${CT_PREFIX_DIR}/lib64"
7.68 CT_DoExecLog ALL ln -sf "lib" "${CT_SYSROOT_DIR}/lib64"
7.69 CT_DoExecLog ALL ln -sf "lib" "${CT_SYSROOT_DIR}/usr/lib64"
7.70 - CT_DoExecLog ALL ln -sf "sys-root/lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
7.71 + CT_DoExecLog ALL ln -sf "lib" "${CT_PREFIX_DIR}/${CT_TARGET}/lib64"
7.72 fi
7.73
7.74 # Determine build system if not set by the user
8.1 --- a/scripts/functions Tue Mar 03 17:39:51 2009 +0000
8.2 +++ b/scripts/functions Tue Mar 03 17:41:59 2009 +0000
8.3 @@ -944,7 +944,7 @@
8.4 CT_DoLog EXTRA "Removing installed documentation"
8.5 CT_DoForceRmdir "${CT_PREFIX_DIR}/"{,usr/}{man,info}
8.6 CT_DoForceRmdir "${CT_SYSROOT_DIR}/"{,usr/}{man,info}
8.7 - CT_DoForceRmdir "${CT_DEBUG_INSTALL_DIR}/"{,usr/}{man,info}
8.8 + CT_DoForceRmdir "${CT_DEBUGROOT_DIR}/"{,usr/}{man,info}
8.9 fi
8.10
8.11 CT_EndStep