# HG changeset patch # User "Andy Gibbs" # Date 1291725356 -3600 # Node ID 3e926c28d239a13fc0d71f91c6730f5ecbaa8597 # Parent 2b5f5173daa0544deb94c1d8fa519d1431f43b78 This patch provides CFLAGS and LDFLAGS for executables that will run on the host rather than the target, for example, the companion libraries and gcc. The CFLAGS/LDFLAGS when given will be merged in with any flags automatically generated by crosstool and passed into the configure script for the host tool. diff -r 2b5f5173daa0 -r 3e926c28d239 config/config.in --- a/config/config.in Mon Nov 29 00:50:21 2010 +0100 +++ b/config/config.in Tue Dec 07 13:35:56 2010 +0100 @@ -1,5 +1,6 @@ source "config/backend.in" source "config/global.in" +source "config/host.in" source "config/target.in" source "config/toolchain.in" source "config/kernel.in" diff -r 2b5f5173daa0 -r 3e926c28d239 config/host.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/config/host.in Tue Dec 07 13:35:56 2010 +0100 @@ -0,0 +1,25 @@ +# Host options + +menu "Host options" + +config HOST_CFLAGS + string + prompt "Host CFLAGS" + default "" + help + Used to add specific options when compiling libraries and executables + that will run on the host (eg. gcc). + + Leave blank if you don't know better. + +config HOST_LDFLAGS + string + prompt "Host LDFLAGS" + default "" + help + Used to add specific options when linking libraries and executables + that will run on the host. + + Leave blank if you don't know better. + +endmenu diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/binutils/binutils.sh --- a/scripts/build/binutils/binutils.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/binutils/binutils.sh Tue Dec 07 13:35:56 2010 +0100 @@ -26,6 +26,7 @@ CT_DoLog EXTRA "Configuring binutils" CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/binutils/elf2flt.sh --- a/scripts/build/binutils/elf2flt.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/binutils/elf2flt.sh Tue Dec 07 13:35:56 2010 +0100 @@ -38,6 +38,7 @@ CT_DoLog EXTRA "Configuring elf2flt" CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/cc/gcc.sh --- a/scripts/build/cc/gcc.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/cc/gcc.sh Tue Dec 07 13:35:56 2010 +0100 @@ -202,7 +202,7 @@ # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) CC_FOR_BUILD="${CT_BUILD}-gcc" \ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ - LDFLAGS="${core_LDFLAGS}" \ + LDFLAGS="${CT_HOST_LDFLAGS} ${core_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \ --build=${CT_BUILD} \ @@ -442,7 +442,7 @@ # embedded systems don't really need message catalogs... CC_FOR_BUILD="${CT_BUILD}-gcc" \ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ - LDFLAGS="${final_LDFLAGS}" \ + LDFLAGS="${CT_HOST_LDFLAGS} ${final_LDFLAGS}" \ CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/companion_libs/cloog.sh --- a/scripts/build/companion_libs/cloog.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/companion_libs/cloog.sh Tue Dec 07 13:35:56 2010 +0100 @@ -59,16 +59,16 @@ cloog_LDFLAGS='-lm' fi - CFLAGS="${CT_CFLAGS_FOR_HOST}" \ - LDFLAGS="${cloog_LDFLAGS}" \ - CT_DoExecLog CFG \ - "${CT_SRC_DIR}/cloog-ppl${_t}/configure" \ - --build=${CT_BUILD} \ - --host=${CT_HOST} \ - --prefix="${CT_COMPLIBS_DIR}" \ - --with-gmp="${CT_COMPLIBS_DIR}" \ - --with-ppl="${CT_COMPLIBS_DIR}" \ - --with-bits=gmp \ + CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS} ${cloog_LDFLAGS}" \ + CT_DoExecLog CFG \ + "${CT_SRC_DIR}/cloog-ppl${_t}/configure" \ + --build=${CT_BUILD} \ + --host=${CT_HOST} \ + --prefix="${CT_COMPLIBS_DIR}" \ + --with-gmp="${CT_COMPLIBS_DIR}" \ + --with-ppl="${CT_COMPLIBS_DIR}" \ + --with-bits=gmp \ "${cloog_opts[@]}" CT_DoLog EXTRA "Building CLooG/ppl" diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/companion_libs/gmp.sh --- a/scripts/build/companion_libs/gmp.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/companion_libs/gmp.sh Tue Dec 07 13:35:56 2010 +0100 @@ -37,6 +37,7 @@ fi CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/companion_libs/mpc.sh --- a/scripts/build/companion_libs/mpc.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/companion_libs/mpc.sh Tue Dec 07 13:35:56 2010 +0100 @@ -38,6 +38,7 @@ fi CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/companion_libs/mpfr.sh --- a/scripts/build/companion_libs/mpfr.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/companion_libs/mpfr.sh Tue Dec 07 13:35:56 2010 +0100 @@ -88,6 +88,7 @@ CT_DoLog EXTRA "Configuring MPFR" CC="${CT_HOST}-gcc" \ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/companion_libs/ppl.sh --- a/scripts/build/companion_libs/ppl.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/companion_libs/ppl.sh Tue Dec 07 13:35:56 2010 +0100 @@ -41,6 +41,7 @@ CFLAGS="${CT_CFLAGS_FOR_HOST}" \ CXXFLAGS="${CT_CFLAGS_FOR_HOST}" \ + LDFLAGS="${CT_HOST_LDFLAGS}" \ CT_DoExecLog CFG \ "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \ --build=${CT_BUILD} \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/build/debug/300-gdb.sh --- a/scripts/build/debug/300-gdb.sh Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/build/debug/300-gdb.sh Tue Dec 07 13:35:56 2010 +0100 @@ -163,6 +163,7 @@ --with-build-cc=${CT_REAL_BUILD}-gcc \ --with-build-cpp=${CT_REAL_BUILD}-gcc \ --with-build-cflags="${CT_CFLAGS_FOR_HOST}" \ + --with-build-ldflags="${CT_HOST_LDFLAGS}" \ "${ncurses_opts[@]}" # Under some operating systems (eg. Winblows), there is an @@ -185,6 +186,7 @@ --with-build-cc=${CT_BUILD}-gcc \ --with-build-cpp=${CT_BUILD}-gcc \ --with-build-cflags="${CT_CFLAGS_FOR_HOST}" \ + --with-build-ldflags="${CT_HOST_LDFLAGS}" \ --prefix="${CT_BUILD_DIR}/static-target" \ --without-shared \ --without-sysmouse \ diff -r 2b5f5173daa0 -r 3e926c28d239 scripts/crosstool-NG.sh.in --- a/scripts/crosstool-NG.sh.in Mon Nov 29 00:50:21 2010 +0100 +++ b/scripts/crosstool-NG.sh.in Tue Dec 07 13:35:56 2010 +0100 @@ -483,7 +483,7 @@ CT_DoExecLog ALL chmod 700 "${CT_PREFIX_DIR}/buildtools/makeinfo" # Help gcc - CT_CFLAGS_FOR_HOST= + CT_CFLAGS_FOR_HOST="${CT_HOST_CFLAGS}" [ "${CT_USE_PIPES}" = "y" ] && CT_CFLAGS_FOR_HOST="${CT_CFLAGS_FOR_HOST} -pipe" # Override the configured jobs with what's been given on the command line