OSDN Git Service

* configure.ac: Only disable a language library if no language needs
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Nov 2010 01:49:05 +0000 (01:49 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Nov 2010 01:49:05 +0000 (01:49 +0000)
it.  Don't let --disable-libgcj uncondtionally disable libffi.
* configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166993 138bc75d-0d04-0410-961f-82ee72b054a4

ChangeLog
configure
configure.ac

index 2f3cae3..7828200 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-20  Ian Lance Taylor  <iant@google.com>
+
+       * configure.ac: Only disable a language library if no language needs
+       it.  Don't let --disable-libgcj uncondtionally disable libffi.
+       * configure: Rebuild.
+
 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * Makefile.in: Regenerate.
index 847727b..a44f418 100755 (executable)
--- a/configure
+++ b/configure
@@ -2985,7 +2985,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
 
@@ -6177,6 +6178,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
       ..) ;;
@@ -6254,17 +6258,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.
@@ -6282,6 +6289,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
index 1fd25aa..0a5c276 100644 (file)
@@ -451,7 +451,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
 
@@ -1765,6 +1766,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
       ..) ;;
@@ -1842,17 +1846,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.
@@ -1870,6 +1877,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
+
   AC_ARG_ENABLE(stage1-languages,
 [  --enable-stage1-languages@<:@=all@:>@   choose additional languages to build during
                           stage1.  Mostly useful for compiler development.],