diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-08-20 06:52:01 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2003-08-20 06:52:01 +0000 |
commit | 13942bf447d107555e7a28dc8bd67007f1e2564b (patch) | |
tree | c0996a271b1ba48545d504ba534a393155bbf661 /c/src/ada-tests/aclocal/prog-gnat.m4 | |
parent | 2003-08-18 Eiichiro Kawaguchi <e-kawaguchi@ct.jp.nec.com> (diff) | |
download | rtems-13942bf447d107555e7a28dc8bd67007f1e2564b.tar.bz2 |
2003-08-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/prog-gnat.m4: New (copied from ../../../aclocal).
* Makefile.am: ACLOCAL_AMFLAGS = -I aclocal -I ../tests/aclocal.
Don't include */automake/lib.am (Unused).
Diffstat (limited to '')
-rw-r--r-- | c/src/ada-tests/aclocal/prog-gnat.m4 | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/c/src/ada-tests/aclocal/prog-gnat.m4 b/c/src/ada-tests/aclocal/prog-gnat.m4 new file mode 100644 index 0000000000..6e169a8dc7 --- /dev/null +++ b/c/src/ada-tests/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]) +]) |