diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/ChangeLog | 12 | ||||
-rw-r--r-- | config/accross.m4 | 4 | ||||
-rw-r--r-- | config/acx.m4 | 35 |
3 files changed, 49 insertions, 2 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index 85868b4..7a970b7 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,15 @@ +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. + 2004-01-14 Maciej W. Rozycki <macro@ds2.pg.gda.pl> * acinclude.m4: Quote names of macros to be defined by AC_DEFUN diff --git a/config/accross.m4 b/config/accross.m4 index a4cebf6..535a6f5 100644 --- a/config/accross.m4 +++ b/config/accross.m4 @@ -64,7 +64,7 @@ void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; } int main() { _ascii (); _ebcdic (); return 0; } EOF ] if test -f conftest.c ; then - if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then + if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then if test `grep -l BIGenDianSyS conftest.o` ; then echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG ac_cv_c_bigendian=yes @@ -93,6 +93,6 @@ else fi AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN]) if test $ac_cv_c_bigendian = unknown; then - AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian) + AC_MSG_ERROR([unknown endianess - sorry, please pre-set ac_cv_c_bigendian]) fi ]) diff --git a/config/acx.m4 b/config/acx.m4 index 96b7c8a..ab7f98a 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 +]) |