OSDN Git Service

* configure.in: Allow config-lang.in to set `lang_requires' to list
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Mar 2001 22:51:02 +0000 (22:51 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Mar 2001 22:51:02 +0000 (22:51 +0000)
of other required languages.

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

ChangeLog
configure.in

index 9eb7019..cd62f0b 100644 (file)
--- 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
index 81c3605..649df36 100644 (file)
@@ -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.