summaryrefslogtreecommitdiffstats
path: root/cpukit/aclocal
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2002-08-22 14:00:56 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2002-08-22 14:00:56 +0000
commit97b4bc1bbc0258d0a0d40498140563483ecde60e (patch)
treea9986a5163a187698896642ff0815c87586a562b /cpukit/aclocal
parent2002-08-21 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-97b4bc1bbc0258d0a0d40498140563483ecde60e.tar.bz2
2002-08-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/prog-gnat.m4: New. * configure.ac: Add ada subdir handling.
Diffstat (limited to 'cpukit/aclocal')
-rw-r--r--cpukit/aclocal/prog-gnat.m445
1 files changed, 45 insertions, 0 deletions
diff --git a/cpukit/aclocal/prog-gnat.m4 b/cpukit/aclocal/prog-gnat.m4
new file mode 100644
index 0000000000..6e169a8dc7
--- /dev/null
+++ b/cpukit/aclocal/prog-gnat.m4
@@ -0,0 +1,45 @@
+## $Id$
+##
+## Partially borrowed from gcc-3.2
+##
+## WARNING: All the stuff below is pretty immature.
+
+AC_DEFUN([RTEMS_PROG_GNAT],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
+AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])
+
+AC_CHECK_TOOL([GNATMAKE],[gnatmake],[])
+AC_CACHE_CHECK([for compiler driver that understands Ada],
+ [rtems_cv_prog_CCADA],
+[cat >conftest.adb <<EOF
+procedure conftest is begin null; end conftest;
+EOF
+rtems_cv_prog_CCADA=
+# Have to do ac_tool_prefix and user overrides by hand.
+user_ccada=$CCADA
+user_cc=$CC
+for cand in ${ac_tool_prefix}$user_ccada $user_ccada \
+ ${ac_tool_prefix}$user_cc $user_cc \
+ ${ac_tool_prefix}gcc gcc \
+ ${ac_tool_prefix}cc cc \
+ ${ac_tool_prefix}gnatgcc gnatgcc \
+ ${ac_tool_prefix}gnatcc gnatcc \
+ ${ac_tool_prefix}adagcc adagcc \
+ ${ac_tool_prefix}adac adac ; do
+ # There is a bug in all 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=`($cand -c conftest.adb) 2>&1 || echo failure`
+ AS_IF([test -z "$errors"],
+ [rtems_cv_prog_CCADA=$cand
+ break])
+done
+rm -f conftest.*])
+AC_SUBST([CCADA],[$rtems_cv_prog_CCADA])
+
+AS_IF([test -n "$GNATMAKE" && test -n "$CCADA"],
+ [HAVE_GNAT=yes],
+ [HAVE_GNAT=no])
+])