This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 3/5] 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 <pthread.h>.

Moreover, we don't want to build libgomp if threads are disabled; its
configure script would fails anyway.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
---
 config/cc/gcc.in        |   11 +++++++++++
 scripts/build/cc/gcc.sh |   10 +++++++++-
 2 files changed, 20 insertions(+), 1 deletions(-)

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                          \
-- 
1.7.0.rc2.16.g99c03.dirty


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]