diff options
Diffstat (limited to 'gcc/configure.ac')
| -rw-r--r-- | gcc/configure.ac | 48 |
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 |
