From 9176074aecda78ed7a85701d14f5572cdab624e8 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 12 Sep 2010 23:51:25 +0200 Subject: cc/gcc: disable complibs if not selected Force gcc to not link with some companion libraries when there are not needed (because selected-out). There is no option to tell gcc *not* to build the Graphite and/or LTO stuff. They *will* be built if gcc finds the suitable companion libraries. If we do not provide them, but the host has them, then gcc *will* find them, and link with them. Consider the following: - host has suitable PPL and CLooG (eg. Debian Squeeze) - user wants to build gcc>=4.4 - user de-selects GRAPHITE - gcc will find the hosts PPL and CLooG, and will use them - the user moves the toolchain to an older host that does not have them (eg. Debian Lenny) - the toolchain fails, when it was properly setup not to So, explicitly tell gcc *not* to use unneeded companion libs. Signed-off-by: "Yann E. MORIN" diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 0f12c61..e7e56f1 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -175,9 +175,14 @@ do_cc_core() { if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}") extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}") + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then + extra_config+=("--with-ppl=no") + extra_config+=("--with-cloog=no") fi if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}") + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then + extra_config+=("--with-libelf=no") fi if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then @@ -373,9 +378,14 @@ do_cc() { if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}") extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}") + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then + extra_config+=("--with-ppl=no") + extra_config+=("--with-cloog=no") fi if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}") + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then + extra_config+=("--with-libelf=no") fi if [ "${CT_THREADS}" = "none" ]; then -- cgit v0.10.2-6-g49f6