Update configure to check for a recent gnat Ada compiler.

GCC fails to bootstrap when configured with --enable-languages=all on
machines that have older versions of GNAT installed as the system Ada
compiler.  In configure, it's not sufficient to check whether gnat is
available, but whether a sufficiently recent version of GNAT is
installed.  This patch tweaks config/acx.m4 so that conftest.adb also
contains a reference to System.CRTL.int64 as required by the current
version of gcc/ada/osint.adb.  This fixes the build when the system
Ada is GNAT v4.8.5 (on Redhat 7) by disabling ada, but continues to
work fine when the system Ada is GNAT v11.3.1.

2022-08-01  Roger Sayle  <roger@nextmovesoftware.com>
	    Arnaud Charlet  <charlet@adacore.com>

config/ChangeLog
	* acx.m4 (AC_PROG_GNAT): Update conftest.adb to include
	features required of the host gnat compiler.

ChangeLog
	* configure: Regenerate.
This commit is contained in:
Roger Sayle 2022-08-01 11:36:23 +01:00
parent 5d8637208d
commit 71f068a9b3
2 changed files with 11 additions and 3 deletions

View File

@ -393,9 +393,13 @@ AC_DEFUN([ACX_PROG_GNAT],
AC_REQUIRE([AC_PROG_CC])
AC_CHECK_TOOL(GNATBIND, gnatbind, no)
AC_CHECK_TOOL(GNATMAKE, gnatmake, no)
AC_CACHE_CHECK([whether compiler driver understands Ada],
AC_CACHE_CHECK([whether compiler driver understands Ada and is recent enough],
acx_cv_cc_gcc_supports_ada,
[cat >conftest.adb <<EOF
pragma Warnings (Off);
with System.CRTL;
pragma Warnings (On);
use type System.CRTL.int64;
procedure conftest is begin null; end conftest;
EOF
acx_cv_cc_gcc_supports_ada=no

8
configure vendored
View File

@ -5602,12 +5602,16 @@ else
GNATMAKE="$ac_cv_prog_GNATMAKE"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler driver understands Ada" >&5
$as_echo_n "checking whether compiler driver understands Ada... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler driver understands Ada and is recent enough" >&5
$as_echo_n "checking whether compiler driver understands Ada and is recent enough... " >&6; }
if ${acx_cv_cc_gcc_supports_ada+:} false; then :
$as_echo_n "(cached) " >&6
else
cat >conftest.adb <<EOF
pragma Warnings (Off);
with System.CRTL;
pragma Warnings (On);
use type System.CRTL.int64;
procedure conftest is begin null; end conftest;
EOF
acx_cv_cc_gcc_supports_ada=no