summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--configure.in34
2 files changed, 38 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9eb7019b374..cd62f0bb461 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-03-07 Tom Tromey <tromey@redhat.com>
+
+ * configure.in: Allow config-lang.in to set `lang_requires' to list
+ of other required languages.
+
2001-03-06 Laurynas Biveinis <lauras@softhome.net>
* Makefile.in: Remove RANLIB definition. Use RANLIB
diff --git a/configure.in b/configure.in
index 81c3605a919..649df368ddf 100644
--- a/configure.in
+++ b/configure.in
@@ -993,6 +993,39 @@ else
exit 1
fi
fi
+
+# First scan to see if an enabled language requires some other language.
+# We assume that a given config-lang.in will list all the language
+# front ends it requires, even if some are required indirectly.
+for lang in ${srcdir}/gcc/*/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.
+ ${srcdir}/gcc/[*]/config-lang.in)
+ ;;
+ *)
+ lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
+ this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
+ for other in $this_lang_requires
+ do
+ case ,${enable_languages}, in
+ *,$other,*)
+ ;;
+ *,all,*)
+ ;;
+ *)
+ echo " \`$other' language required by \`$lang_alias'; enabling" 1>&2
+ enable_languages="$enable_languages,$other"
+ ;;
+ esac
+ done
+ ;;
+ esac
+done
+
subdirs=
for lang in ${srcdir}/gcc/*/config-lang.in ..
do
@@ -1026,7 +1059,6 @@ do
esac
done
-
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs and
# $target_configdirs.
# If we have the source for $noconfigdirs entries, add them to $notsupp.