summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-21 01:49:05 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-21 01:49:05 +0000
commit604a285ae61302130a01df29dec7fc8f27576340 (patch)
tree923bf3d1c8a371cd30f9e4146dce538958a69872 /configure
parent3e0e49f2b9126e8b092ded10aa65b7ed63dffbba (diff)
downloadgcc-604a285ae61302130a01df29dec7fc8f27576340.tar.gz
* configure.ac: Only disable a language library if no language needs
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
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure24
1 files changed, 21 insertions, 3 deletions
diff --git a/configure b/configure
index 847727beb86..a44f4184e6f 100755
--- 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