OSDN Git Service

* configure.ac: AC_DEFINE ENABLE_BUILD_WITH_CXX. Check for C++
[pf3gnuchains/gcc-fork.git] / configure
index f224ab6..de6da33 100755 (executable)
--- a/configure
+++ b/configure
@@ -741,6 +741,7 @@ ac_user_opts='
 enable_option_checking
 with_build_libsubdir
 enable_gold
+enable_ld
 enable_libada
 enable_libssp
 enable_build_with_cxx
@@ -1450,15 +1451,15 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-gold[=ARG]     build gold [ARG={both}[/{gold,ld}]]
+  --enable-gold[=ARG]     build gold [ARG={default,yes,no}]
+  --enable-ld[=ARG]     build ld [ARG={default,yes,no}]
   --enable-libada         build libada directory
   --enable-libssp         build libssp directory
   --enable-build-with-cxx build with C++ compiler instead of C compiler
   --disable-ppl-version-check    disable check for PPL version
-  --enable-cloog-backend=backend
-                               isl: The cloog.org isl backend
-                               ppl-legacy: The legacy ppl backend - default
-                               ppl: The cloog.org ppl backend
+  --enable-cloog-backend[=BACKEND]
+                          set the CLooG BACKEND used to either isl, ppl or
+                          ppl-legacy (default)
   --disable-cloog-version-check
                           disable check for CLooG version
   --enable-lto            enable link time optimization support
@@ -2850,13 +2851,25 @@ case ${with_newlib} in
   yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
 esac
 
-# Handle --enable-gold.
-#   --enable-gold              Build only gold
-#   --disable-gold [default]   Build only ld
-#   --enable-gold=both         Build both gold and ld, ld is default
-#   --enable-gold=both/ld      Same
-#   --enable-gold=both/gold    Build both gold and ld, gold is default, ld is renamed ld.bfd
-
+# Handle --enable-gold, --enable-ld.
+# --disable-gold [--enable-ld]
+#     Build only ld.  Default option.
+# --enable-gold [--enable-ld]
+#     Build both gold and ld.  Install gold as "ld.gold", install ld
+#     as "ld.bfd" and "ld".
+# --enable-gold=default [--enable-ld]
+#     Build both gold and ld.  Install gold as "ld.gold" and "ld",
+#     install ld as "ld.bfd".
+# --enable-gold[=default] --disable-ld
+#     Build only gold, which is then installed as both "ld.gold" and "ld".
+# --enable-gold --enable-ld=default
+#     Build both gold (installed as "ld.gold") and ld (installed as "ld"
+#     and ld.bfd).
+#     In other words, ld is default
+# --enable-gold=default --enable-ld=default
+#     Error.
+
+default_ld=
 # Check whether --enable-gold was given.
 if test "${enable_gold+set}" = set; then :
   enableval=$enable_gold; ENABLE_GOLD=$enableval
@@ -2864,8 +2877,8 @@ else
   ENABLE_GOLD=no
 fi
 
-  case "${ENABLE_GOLD}" in
-  yes|both|both/gold|both/ld)
+case "${ENABLE_GOLD}" in
+  yes|default)
     # Check for ELF target.
     is_elf=no
     case "${target}" in
@@ -2885,14 +2898,10 @@ fi
       # Check for target supported by gold.
       case "${target}" in
         i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
-         case "${ENABLE_GOLD}" in
-         both*)
-            configdirs="$configdirs gold"
-           ;;
-         *)
-            configdirs=`echo " ${configdirs} " | sed -e 's/ ld / gold /'`
-           ;;
-         esac
+         configdirs="$configdirs gold"
+         if test x${ENABLE_GOLD} = xdefault; then
+           default_ld=gold
+         fi
          ENABLE_GOLD=yes
           ;;
       esac
@@ -2903,7 +2912,35 @@ fi
   *)
     as_fn_error "invalid --enable-gold argument" "$LINENO" 5
     ;;
-  esac
+esac
+
+# Check whether --enable-ld was given.
+if test "${enable_ld+set}" = set; then :
+  enableval=$enable_ld; ENABLE_LD=$enableval
+else
+  ENABLE_LD=yes
+fi
+
+
+case "${ENABLE_LD}" in
+  default)
+    if test x${default_ld} != x; then
+      as_fn_error "either gold or ld can be the default ld" "$LINENO" 5
+    fi
+    ;;
+  yes)
+    ;;
+  no)
+    if test x${ENABLE_GOLD} != xyes; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: neither ld nor gold are enabled" >&5
+$as_echo "$as_me: WARNING: neither ld nor gold are enabled" >&2;}
+    fi
+    configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
+    ;;
+  *)
+    as_fn_error "invalid --enable-ld argument" "$LINENO" 5
+    ;;
+esac
 
 # Configure extra directories which are host specific
 
@@ -2986,7 +3023,8 @@ yes)
   ;;
 no)
   # Make sure we get it printed in the list of not supported target libs.
-  noconfigdirs="$noconfigdirs ${libgcj}"
+  # Don't disable libffi, though, other languages use it.
+  noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
   ;;
 esac
 
@@ -5568,10 +5606,10 @@ if test "${with_boot_ldflags+set}" = set; then :
  fi
 else
   poststage1_ldflags=
- # With --enable-build-with-cxx, default to linking libstdc++ and
- # libgcc statically.  But if the user explicitly specified the
- # libraries to use, trust that they are doing what they want.
- if test "$ENABLE_BUILD_WITH_CXX" = "yes" -a "$poststage1_libs" = ""; then
+ # In stages 2 and 3, default to linking libstdc++ and libgcc
+ # statically.  But if the user explicitly specified the libraries to
+ # use, trust that they are doing what they want.
+ if test "$poststage1_libs" = ""; then
    poststage1_ldflags="-static-libstdc++ -static-libgcc"
  fi
 fi
@@ -6178,6 +6216,9 @@ if test -d ${srcdir}/gcc; then
   missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
   potential_languages=,c,
 
+  enabled_target_libs=
+  disabled_target_libs=
+
   for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
     case ${lang_frag} in
       ..) ;;
@@ -6255,17 +6296,20 @@ if test -d ${srcdir}/gcc; then
        case $add_this_lang in
          unsupported)
             # Remove language-dependent dirs.
-            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
+           disabled_target_libs="$disabled_target_libs $target_libs"
+           noconfigdirs="$noconfigdirs $lang_dirs"
            ;;
          no)
             # Remove language-dependent dirs; still show language as supported.
-            eval noconfigdirs='"$noconfigdirs "'\"$target_libs $lang_dirs\"
+           disabled_target_libs="$disabled_target_libs $target_libs"
+           noconfigdirs="$noconfigdirs $lang_dirs"
             potential_languages="${potential_languages}${language},"
            ;;
           yes)
            new_enable_languages="${new_enable_languages}${language},"
             potential_languages="${potential_languages}${language},"
            missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
+           enabled_target_libs="$enabled_target_libs $target_libs"
            case "${boot_language}:,$enable_stage1_languages," in
              yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
                # Add to (comma-separated) list of stage 1 languages.
@@ -6283,6 +6327,17 @@ if test -d ${srcdir}/gcc; then
     esac
   done
 
+  # Add target libraries which are only needed for disabled languages
+  # to noconfigdirs.
+  if test -n "$disabled_target_libs"; then
+    for dir in $disabled_target_libs; do
+      case " $enabled_target_libs " in
+      *" ${dir} "*) ;;
+      *) noconfigdirs="$noconfigdirs $dir" ;;
+      esac
+    done
+  fi
+
   # Check whether --enable-stage1-languages was given.
 if test "${enable_stage1_languages+set}" = set; then :
   enableval=$enable_stage1_languages; case ,${enable_stage1_languages}, in
@@ -13308,7 +13363,7 @@ else
   esac
   if test $ok = yes; then
     # An in-tree tool is available and we can use it
-    CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
+    CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
 $as_echo "just compiled" >&6; }
   elif expr "x$CXX_FOR_TARGET" : "x/" > /dev/null; then
@@ -13813,7 +13868,7 @@ else
 
   if test $ok = yes; then
     # An in-tree tool is available and we can use it
-    STRIP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/strip'
+    STRIP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/strip-new'
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5
 $as_echo "just compiled" >&6; }
   elif expr "x$STRIP_FOR_TARGET" : "x/" > /dev/null; then