summaryrefslogtreecommitdiff
path: root/config/acx.m4
diff options
context:
space:
mode:
authorNathanael Nerode <neroden@gcc.gnu.org>2004-03-11 05:15:36 +0000
committerNathanael Nerode <neroden@gcc.gnu.org>2004-03-11 05:15:36 +0000
commite9b3be9b64fcbf3d10496e885fcb4f96e145133b (patch)
tree635fed5c25e46e437e22f707a7dfb1a8b296d1e5 /config/acx.m4
parent7aae1918dd824735e1687453a6bad69cc0d8ff2b (diff)
downloadbinutils-redhat-e9b3be9b64fcbf3d10496e885fcb4f96e145133b.tar.gz
(top level)
2004-03-11 Nathanael Nerode <neroden@gcc.gnu.org> * configure: Regenerate. 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. 2004-03-09 Hans-Peter Nilsson <hp@axis.com> * accross.m4 (AC_C_BIGENDIAN_CROSS): Compile endian probe with "-c". Properly quote parameter for AC_MSG_ERROR.
Diffstat (limited to 'config/acx.m4')
-rw-r--r--config/acx.m435
1 files changed, 35 insertions, 0 deletions
diff --git a/config/acx.m4 b/config/acx.m4
index 96b7c8a5ca..ab7f98a216 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -155,3 +155,38 @@ AC_DEFUN([AC_PROG_CPP_WERROR],
[AC_REQUIRE([AC_PROG_CPP])dnl
m4_define([AC_CHECK_HEADER],m4_defn([_AC_CHECK_HEADER_OLD]))
ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR
+
+# Test for GNAT.
+# We require the gnatbind program, and a compiler driver that
+# understands Ada. We use the user's CC setting, already found.
+#
+# Sets the shell variable have_gnat to yes or no as appropriate, and
+# substitutes GNATBIND.
+AC_DEFUN([ACX_PROG_GNAT],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
+AC_REQUIRE([AC_PROG_CC])
+AC_CHECK_TOOL(GNATBIND, gnatbind, no)
+AC_CACHE_CHECK([whether compiler driver understands Ada],
+ acx_cv_cc_gcc_supports_ada,
+[cat >conftest.adb <<EOF
+procedure conftest is begin null; end conftest;
+EOF
+acx_cv_cc_gcc_supports_ada=no
+# There is a bug in old released versions of GCC which causes the
+# driver to exit successfully when the appropriate language module
+# has not been installed. This is fixed in 2.95.4, 3.0.2, and 3.1.
+# Therefore we must check for the error message as well as an
+# unsuccessful exit.
+errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+if test x"$errors" = x; then
+ acx_cv_cc_gcc_supports_ada=yes
+ break
+fi
+rm -f conftest.*])
+
+if test x$GNATBIND != xno && test x$acx_cv_gcc_supports_ada != xno; then
+ have_gnat=yes
+else
+ have_gnat=no
+fi
+])