From 93042972a8cf2d9e8ce6ef12e4e6976cc5bedec0 Mon Sep 17 00:00:00 2001 From: Arnaud Lacombe Date: Wed, 7 Apr 2010 18:35:22 +0200 Subject: cc/gcc: fix thread-less final gcc build If threads are disabled in libc, we don't want to enable them in the final compiler. Doing so pass the configure stage, but fails latter on a missing . Moreover, we don't want to build libgomp if threads are disabled; its configure script would fails anyway. Signed-off-by: Arnaud Lacombe diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 053f221..c229703 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -62,24 +62,29 @@ config CC_V_4_3_1 config CC_V_4_2_4 bool prompt "4.2.4" + select CC_GCC_4_2_or_later config CC_V_4_2_3 bool prompt "4.2.3 (OBSOLETE)" + select CC_GCC_4_2_or_later depends on OBSOLETE config CC_V_4_2_2 bool prompt "4.2.2" + select CC_GCC_4_2_or_later config CC_V_4_2_1 bool prompt "4.2.1 (OBSOLETE)" + select CC_GCC_4_2_or_later depends on OBSOLETE config CC_V_4_2_0 bool prompt "4.2.0 (OBSOLETE)" + select CC_GCC_4_2_or_later depends on OBSOLETE config CC_V_4_1_2 @@ -99,15 +104,21 @@ config CC_V_3_4_6 endchoice +config CC_GCC_4_2_or_later + bool + default n + config CC_GCC_4_3_or_later bool default n + select CC_GCC_4_2_or_later select CC_GCC_USE_GMP_MPFR config CC_GCC_4_4_or_later bool default n select CC_GCC_4_3_or_later + select CC_GCC_4_2_or_later select CC_GCC_USE_PPL_CLOOG_MPC config CC_GCC_USE_GMP_MPFR diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 7ebfff6..f4cf7cb 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -313,6 +313,15 @@ do_cc() { extra_config+=("--with-mpc=${CT_PREFIX_DIR}") fi + if [ "${CT_THREADS}" = "none" ]; then + extra_config+=("--disable-threads") + if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then + extra_config+=("--disable-libgomp") + fi + else + extra_config+=("--enable-threads=posix") + fi + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" # --enable-symvers=gnu really only needed for sh4 to work around a @@ -334,7 +343,6 @@ do_cc() { "${extra_config[@]}" \ --with-local-prefix="${CT_SYSROOT_DIR}" \ --disable-nls \ - --enable-threads=posix \ --enable-symvers=gnu \ --enable-c99 \ --enable-long-long \ -- cgit v0.10.2-6-g49f6