aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2004-03-11 05:01:17 +0000
committerNathanael Nerode <neroden@gcc.gnu.org>2004-03-11 05:01:17 +0000
commite4c9c07571387e0d377858d4ee578cece464bba6 (patch)
tree5754cfb1e4fb54f59bd27aff97cdfe79c44ce77f /gcc/configure.ac
parente46e9f822e035f84349a34ae4dce020c98c30da5 (diff)
downloadgcc-e4c9c07571387e0d377858d4ee578cece464bba6.zip
gcc-e4c9c07571387e0d377858d4ee578cece464bba6.tar.gz
gcc-e4c9c07571387e0d377858d4ee578cece464bba6.tar.bz2
(top level)
2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * configure.in: Find default values for the tools as soon as possible. Disable ada if GNAT is not found. Emit error message about missing languages. Expand --enable-languages=all for the gcc subdirectory. (config) 2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * acx.m4 (ACX_PROG_GNAT): New macro, moved here from the gcc subdirectory. (gcc) 2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * configure.ac: Remove code to detect languages, it now lives exclusively in the top level. * aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the top level, renamed to ACX_PROG_GNAT. (gcc/ada) 2004-03-08 Paolo Bonzini <bonzini@gnu.org> PR ada/14131 Move language detection to the top level. * config-lang.in: Build by default. From-SVN: r79299
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac179
1 files changed, 47 insertions, 132 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 9d40678..775be55 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -300,13 +300,6 @@ if test $ac_cv_c___int64 = yes; then
AC_COMPILE_CHECK_SIZEOF(__int64)
fi
-# -----------------
-# Find Ada compiler
-# -----------------
-
-# See if GNAT has been installed
-gcc_AC_PROG_GNAT
-
# ---------------------
# Warnings and checking
# ---------------------
@@ -613,6 +606,53 @@ esac],
[onestep=""])
AC_SUBST(onestep)
+# Sanity check enable_languages in case someone does not run the toplevel
+# configure # script.
+AC_ARG_ENABLE(languages,
+[ --enable-languages=LIST specify which front-ends to build],
+[case ,${enable_languages}, in
+ ,,|,yes,)
+ # go safe -- we cannot be much sure without the toplevel
+ # configure's
+ # analysis of which target libs are present and usable
+ enable_languages=c
+ ;;
+ *,all,*)
+ AC_MSG_ERROR([only the toplevel supports --enable-languages=all])
+ ;;
+ *,c,*)
+ ;;
+ *)
+ enable_languages=c,${enable_languages}
+ ;;
+esac],
+[enable_languages=c])
+
+subdirs=
+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) ;;
+ *)
+ lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
+ if test "x$lang_alias" = x
+ then
+ echo "$lang doesn't set \$language." 1>&2
+ exit 1
+ fi
+ case ",$enable_languages," in
+ *,$lang_alias,*)
+ subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;;
+ esac
+ ;;
+changequote([,])dnl
+ esac
+done
+
+
# -------------------------
# Checks for other programs
# -------------------------
@@ -2661,131 +2701,6 @@ if test x$with_sysroot = x && test x$host = x$target \
[Define to PREFIX/include if cpp should also search that directory.])
fi
-# Figure out what language subdirectories are present.
-# Look if the user specified --enable-languages="..."; if not, use
-# the environment variable $LANGUAGES if defined. $LANGUAGES might
-# go away some day.
-# NB: embedded tabs in this IF block -- do not untabify
-if test x"${enable_languages+set}" != xset; then
- if test x"${LANGUAGES+set}" = xset; then
- enable_languages="${LANGUAGES}"
- AC_MSG_WARN([setting LANGUAGES is deprecated, use --enable-languages instead])
-
- else
- enable_languages=all
- fi
-else
- if test x"${enable_languages}" = x \
- || test x"${enable_languages}" = xyes;
- then
- AC_MSG_ERROR([--enable-languages needs at least one language argument])
- fi
-fi
-enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
-
-# 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}/*/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)
- ;;
- *)
- 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,*)
- ;;
- *,$lang_alias,*)
- enable_languages="$enable_languages,$other"
- ;;
- esac
- done
- ;;
-changequote([,])dnl
- esac
-done
-
-expected_languages=`echo ,${enable_languages}, | sed -e 's:,: :g' -e 's: *: :g' -e 's: *: :g' -e 's:^ ::' -e 's: $::'`
-found_languages=
-subdirs=
-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) ;;
- *)
- lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
- this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
- build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
- if test "x$lang_alias" = x
- then
- echo "$lang doesn't set \$language." 1>&2
- exit 1
- fi
- case ${build_by_default},${enable_languages}, in
- *,$lang_alias,*) add_this_lang=yes ;;
- no,*) add_this_lang=no ;;
- *,all,*) add_this_lang=yes ;;
- *) add_this_lang=no ;;
- esac
- found_languages="${found_languages} ${lang_alias}"
- if test x"${add_this_lang}" = xyes; then
- case $lang in
- ${srcdir}/ada/config-lang.in)
- if test x$have_gnat = xyes ; then
- subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
- fi
- ;;
- *)
- subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
- ;;
- esac
- fi
- ;;
-changequote([,])dnl
- esac
-done
-
-missing_languages=
-for expected_language in ${expected_languages} ..
-do
- if test "${expected_language}" != ..; then
- missing_language="${expected_language}"
- if test "${expected_language}" = "c" \
- || test "${expected_language}" = "all"; then
- missing_language=
- fi
- for found_language in ${found_languages} ..
- do
- if test "${found_language}" != ..; then
- if test "${expected_language}" = "${found_language}"; then
- missing_language=
- fi
- fi
- done
- if test "x${missing_language}" != x; then
- missing_languages="${missing_languages} ${missing_language}"
- fi
- fi
-done
-
-if test "x$missing_languages" != x; then
- AC_MSG_ERROR([
-The following requested languages were not found:${missing_languages}
-The following languages were available: c${found_languages}])
-fi
-
# Find out what GC implementation we want, or may, use.
AC_ARG_WITH(gc,
[ --with-gc={page,zone} choose the garbage collection mechanism to use