aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac48
1 files changed, 28 insertions, 20 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index de3d065..ee63296 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3344,13 +3344,9 @@ language_hooks="Make-hooks"
for lang in ${srcdir}/*/config-lang.in
do
- case $lang in
- # The odd quoting in the next line works around
- # an apparent bug in bash 1.12 on linux.
changequote(,)dnl
- ${srcdir}/[*]/config-lang.in)
- continue ;;
- *)
+ test "$lang" = "${srcdir}/*/config-lang.in" && continue
+
lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
if test "x$lang_alias" = x
then
@@ -3369,26 +3365,40 @@ changequote(,)dnl
esac
changequote([,])dnl
- if test -f $srcdir/$subdir/lang.opt; then
- lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt"
- fi
- if test -f $srcdir/$subdir/$subdir-tree.def; then
- lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
- fi
-
language=
boot_language=
compilers=
stagestuff=
outputs=
gtfiles=
+ subdir_requires=
. ${srcdir}/$subdir/config-lang.in
if test "x$language" = x
then
echo "${srcdir}/$subdir/config-lang.in doesn't set \$language." 1>&2
exit 1
fi
+
+ ok=:
+ case ",$enable_languages," in
+ *,$lang_alias,*) ;;
+ *)
+ for i in $subdir_requires; do
+ test -d "$i" && continue
+ ok=false
+ break
+ done
+ ;;
+ esac
+ $ok || continue
+
all_lang_makefrags="$all_lang_makefrags \$(srcdir)/$subdir/Make-lang.in"
+ if test -f $srcdir/$subdir/lang.opt; then
+ lang_opt_files="$lang_opt_files $srcdir/$subdir/lang.opt"
+ fi
+ if test -f $srcdir/$subdir/$subdir-tree.def; then
+ lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
+ fi
if test -f ${srcdir}/$subdir/Makefile.in
then all_lang_makefiles="$subdir/Makefile"
fi
@@ -3401,13 +3411,11 @@ changequote([,])dnl
all_stagestuff="$all_stagestuff $stagestuff"
all_outputs="$all_outputs $outputs"
all_gtfiles="$all_gtfiles $gtfiles"
- for f in $gtfiles
- do
- all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} "
- all_gtfiles_files_files="$all_gtfiles_files_files ${f} "
- done
- ;;
- esac
+ for f in $gtfiles
+ do
+ all_gtfiles_files_langs="$all_gtfiles_files_langs ${subdir} "
+ all_gtfiles_files_files="$all_gtfiles_files_files ${f} "
+ done
done
# Pick up gtfiles for c