test: protect more yacc declarations against C vs. C++ linkage.
[automake.git] / configure.ac
blobeb5383324b6baae64417bfabcf2b85568ad75b6e
1 # Process this file with autoconf to produce a configure script.
3 # Copyright (C) 1995-2024 Free Software Foundation, Inc.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
18 AC_PREREQ([2.69])
19 AC_INIT([GNU Automake], [1.16.90], [bug-automake@gnu.org])
21 AC_CONFIG_SRCDIR([bin/automake.in])
22 AC_CONFIG_AUX_DIR([lib])
24 AM_SILENT_RULES([yes])
26 AC_CANONICAL_HOST
27 AC_CANONICAL_BUILD
29 # Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this
30 # way we can run Autoconf tests from configure (or from the test
31 # suite) without being bothered by 'missing'.  Likewise for autom4te,
32 # autoreconf, autoheader, and autoupdate.
33 AC_SUBST([am_AUTOCONF], ["${AUTOCONF-autoconf}"])
34 AC_SUBST([am_AUTOM4TE], ["${AUTOM4TE-autom4te}"])
35 AC_SUBST([am_AUTORECONF], ["${AUTORECONF-autoreconf}"])
36 AC_SUBST([am_AUTOHEADER], ["${AUTOHEADER-autoheader}"])
37 AC_SUBST([am_AUTOUPDATE], ["${AUTOUPDATE-autoupdate}"])
39 dnl We call AC_PROG_CC in an unusual way, and only for use in our
40 dnl testsuite, so also use 'no-dependencies' and 'no-define' among
41 dnl the automake options to avoid bloating and potential problems.
42 AM_INIT_AUTOMAKE([-Wall -Werror dist-xz filename-length-max=99
43                   no-define no-dependencies])
45 # Keep this on a line of its own, since it must be found and processed
46 # by the 'update-copyright' rule in our Makefile.
47 RELEASE_YEAR=2024
48 AC_SUBST([RELEASE_YEAR])
50 # The API version is the base version.  We must guarantee
51 # compatibility for all releases with the same API version.
52 APIVERSION=1.16
53 AC_SUBST([APIVERSION])
55 AC_SUBST([pkgvdatadir], ["\${datadir}/$PACKAGE-$APIVERSION"])
56 AC_SUBST([scriptdir], ["\${pkgvdatadir}"])
57 AC_SUBST([amdir], ["\${pkgvdatadir}/am"])
58 AC_SUBST([automake_acdir], ["\${datadir}/aclocal-$APIVERSION"])
59 AC_SUBST([system_acdir], ["\${datadir}/aclocal"])
61 # Our build system is bootstrapped with the bleeding-edge versions of
62 # aclocal and automake, hence the remake rules must use those versions
63 # as well.  The extra quoting is to cater to cases when the build
64 # directory contains whitespace or shell metacharacters.
65 ACLOCAL="\"`pwd`/pre-inst-env\" aclocal-$APIVERSION"
66 AUTOMAKE="\"`pwd`/pre-inst-env\" automake-$APIVERSION"
68 AC_PROG_LN_S
70 AC_PATH_PROG([PERL], [perl])
71 case $PERL in
72  '')
73    AC_MSG_ERROR([perl not found])
74    ;;
75  *' '* | *'     '*)
76   AC_MSG_ERROR([The path to your Perl contains spaces or tabs.
77 This would cause build failures later or unusable programs.
78 Please use a path without spaces and try again.])
79   ;;
80 esac
82 # Save details about the selected perl interpreter in config.log.
83 AM_RUN_LOG([$PERL --version])
84 $PERL -e 'require 5.006;' || {
85    AC_MSG_ERROR(
86 [perl 5.6 or better is required; perl 5.10 or better
87 is recommended.  If you have several perl versions
88 installed, select the one Automake should use using
89   ./configure PERL=/path/to/perl])
92 # The test suite will skip some tests if tex is absent.
93 AC_CHECK_PROG([TEX], [tex], [tex])
94 # Save details about the selected TeX program in config.log.
95 # Redirect input from /dev/null, as TeX might otherwise hang waiting
96 # for input from the terminal.
97 AM_RUN_LOG([$TEX --version </dev/null])
99 # The test suite will skip some tests if no lex or yacc program is
100 # available.
101 # We don't use AC_PROG_LEX nor AC_PROG_YACC here because:
102 #  1. we don't want flex (resp. bison) to be preferred to system lex
103 #     (resp. system yacc);
104 #  2. we don't want $LEX (resp. $YACC) to be defined to ':' (resp. 'yacc')
105 #     by default;
106 #  3. we prefer not to have the variables YFLAGS, LEX_OUTPUT_ROOT and
107 #     LEXLIB to be calculated and/or AC_SUBST'd;
108 #  4. we prefer that the YACC and LEX variables are not reported in the
109 #     configure help screen.
110 AC_CHECK_PROGS([YACC], [yacc byacc 'bison -y'], [false])
111 AC_CHECK_PROGS([LEX], [lex flex], [false])
113 # Test for Autoconf.  We run Autoconf in a subdirectory to ease
114 # deletion of any files created (such as those added to
115 # autom4te.cache).  We used to perform only the last of the three
116 # following tests, but some users were unable to figure out that their
117 # installation was broken since --version appeared to work.
119 AC_SUBST([required_autoconf_version], [2.65])
120 AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed],
121 [if AM_RUN_LOG([$am_AUTOCONF --version]);
122 then
123   am_cv_autoconf_installed=yes
124 else
125   am_cv_autoconf_installed=no
126 fi])
127 if test "$am_cv_autoconf_installed" = no; then
128   AC_MSG_ERROR([Autoconf $required_autoconf_version or better is required.
129     Please make sure it is installed and in your PATH.])
132 AC_CACHE_CHECK([whether autoconf works], [am_cv_autoconf_works],
133 [mkdir conftest
134 printf '%s\n' > conftest/conftest.ac \
135   'AC''_INIT([smoke-test], [1])' \
136   'AC''_OUTPUT'
137 if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
138 then
139   am_cv_autoconf_works=yes
140 else
141   am_cv_autoconf_works=no
143 rm -rf conftest])
144 if test "$am_cv_autoconf_works" = no; then
145   AC_MSG_ERROR([The installed version of autoconf does not work.
146     Please check config.log for error messages before this one.])
149 AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version],
150 [mkdir conftest
151 dnl Creative quoting required to avoid spurious expansion of AC_PREREQ macro
152 printf '%s\n' > conftest/conftest.ac \
153   'AC'"_PREREQ([[$required_autoconf_version]])" \
154   'AC''_INIT([smoke-test], [1])' \
155   'AC''_OUTPUT'
156 if AM_RUN_LOG([cd conftest && $am_AUTOCONF -o /dev/null conftest.ac]);
157 then
158   am_cv_autoconf_version=yes
159 else
160   am_cv_autoconf_version=no
162 rm -rf conftest])
163 if test "$am_cv_autoconf_version" = no; then
164   AC_MSG_ERROR([Autoconf $required_autoconf_version or better is required.])
167 # Test for ln.  We need use it to install the versioned binaries.
168 AC_MSG_CHECKING([whether ln works])
169 AC_CACHE_VAL([am_cv_prog_ln], [
170 rm -f conftest conftest.file
171 : >conftest.file
172 if ln conftest.file conftest 2>/dev/null; then
173   am_cv_prog_ln=ln
174 else
175   am_cv_prog_ln='cp -p'
177 rm -f conftest conftest.file])
178 AC_SUBST([LN], [$am_cv_prog_ln])
179 result=no
180 test "x$am_cv_prog_ln" = xln && result=yes
181 AC_MSG_RESULT([$result])
183 ## ------------------------------------------- ##
184 ##  Test for things needed by the test suite.  ##
185 ## ------------------------------------------- ##
187 AC_PROG_EGREP
188 AC_PROG_FGREP
190 # The test suite needs to know the resolution of timestamps
191 # supported by the filesystem hosting the build.  The value
192 # will be acceptable to 'sleep' on this system.
193 MTIME_RESOLUTION=$am_cv_filesystem_timestamp_resolution
194 AC_SUBST([MTIME_RESOLUTION])
196 dnl FIXME: could we extract this in a simpler way through autoconf
197 dnl FIXME: idioms or internals?
198 AC_DEFUN(
199   [_AM_INIT_BOURNE_COMPATIBLE_VAR],
200   [am_bourne_compatible="AS_ESCAPE(_m4_expand([AS_BOURNE_COMPATIBLE]))"])
203 dnl Arguments to this macro:
205 dnl   $1 - shell to test
206 dnl   $2 - description of the tested feature
207 dnl   $3 - shell code used to check the feature; to indicate success,
208 dnl        it can either exit with status 77, or have the last command
209 dnl        returning with exit status of zero
210 dnl   $4 - shell code to execute if the check on the shell is successful
211 dnl        (defaults to nothing)
212 dnl   $5 - shell code to execute if the check on the shell is not
213 dnl        successful (defaults to nothing)
215 AC_DEFUN([_AM_CHECK_SHELL_FEATURE],
216   [AC_REQUIRE([_AM_INIT_BOURNE_COMPATIBLE_VAR])
217   AC_MSG_CHECKING([whether $1 $2])
218   if { $1 -c "$am_bourne_compatible
219 AS_ESCAPE([$3])
220 test \$? -eq 0 || exit 1
221 # Use 77 to indicate success (rather than 0), in case some shell
222 # acts like Solaris 10's /bin/sh, exiting successfully on some
223 # syntax errors.
224 exit 77" >&AS_MESSAGE_LOG_FD 2>&1; test $? -eq 77; }
225   then
226     AC_MSG_RESULT([yes])
227     $4
228   else
229     AC_MSG_RESULT([no])
230     $5
231   fi])
233 # AM_CHECK_CANDIDATE_TEST_SHELL(SHELL-PATH)
234 # -----------------------------------------
236 # Check if the given shell is good enough to run our test scripts.
237 # Inspired to gnulib's 'tests/init.sh'.
239 # We require POSIX and XSI features (e.g., '$(...)' for command
240 # substitutions, '$((...))' for shell arithmetic, and support for
241 # '${var#...}' and '${var%...}' parameter expansions).
243 # We require that the shell can correctly trap EXIT when 'set -e' is in
244 # effect (OSF1/Tru64 sh failed to do so, see commit v1.10b-52-g9fe8259).
246 # We want to able to define shell aliases with the same name of shell
247 # builtins.
249 # We also prefer shells that, when 'set -x' is in effect, do not also
250 # redirect traces upon stderr redirections.  For example,
251 #  $ set -x; echo x 2>file
252 # would emit "+ echo x" into file with older zsh versions.  Similarly,
253 #   $ set -x; P=1 true 2>file
254 # would emit "P=1" into file with /usr/xpg4/bin/sh from Solaris 10 and
255 # /bin/sh from SunOS 5.11 and OpenBSD 4.7.
257 # Use '$am_score' to indicate the degree of acceptability of the shell.
258 # A score of "10" means that the shell is good enough for our needs;
259 # a score of "9" means that the shell has some minor bugs or limitation,
260 # but is still (barely) acceptable for our uses.  Any other score means
261 # that the shell is broken or unfit.
263 AC_DEFUN([_AM_CHECK_CANDIDATE_SHELL],
264   [am_score=10
265   while :; do
267     _AM_CHECK_SHELL_FEATURE([$1],
268       [supports \$(cmd)],
269       [test "$(echo x)" = x],
270       [], [am_score=1; break])
272     _AM_CHECK_SHELL_FEATURE([$1],
273       [supports \$((expr))],
274       [test $((1 + 2 * 3)) = 7],
275       [], [am_score=1; break])
277     _AM_CHECK_SHELL_FEATURE([$1],
278       [supports \${@%:@var}],
279       [zero='' one='x' twelve=' foobar baz!' \
280         && test ${@%:@zero} -eq 0 \
281         && test ${@%:@one} -eq 1 \
282         && test ${@%:@twelve} -eq 12],
283       [], [am_score=1; break])
285     _AM_CHECK_SHELL_FEATURE([$1],
286       [supports \${var@%:@glob} and \${var%glob}],
287       [v=a/b/c \
288         && test ${v@%:@*/} = b/c \
289         && test ${v@%:@@%:@*/} = c \
290         && test ${v%/*} = a/b \
291         && test ${v%%/*} = a],
292       [], [am_score=1; break])
294     _AM_CHECK_SHELL_FEATURE([$1],
295       [preserves exit traps with "set -e"],
296       [set -e; trap 'exit $?' 0; (exit 77); exit 77],
297       [], [am_score=1; break])
299     _AM_CHECK_SHELL_FEATURE([$1],
300       [can define exit traps in a shell function],
301       [fail=0 && foo() { trap 'fail=1' 0; } && foo && test $fail = 0],
302       [], [am_score=1; break])
304     _AM_CHECK_SHELL_FEATURE([$1],
305       [corrupts stderr with "set -x"],
306       [(set -x; P=1 true 2>&3) 3>&1 2>/dev/null | grep P=1],
307       [am_score=9], [])
309     echo 'return 34' > conftest-return.sh
310     echo 'ok=no' >> conftest-return.sh
311     _AM_CHECK_SHELL_FEATURE([$1],
312       [can return early from "dot-sourced" files],
313       [ok=yes; . ./conftest-return.sh; test $? -eq 34 && test $ok = yes],
314       [rm -f conftest-return.sh],
315       [rm -f conftest-return.sh; am_score=1; break])
317     echo 'alias false=echo' > conftest-alias.sh
318     echo 'false && test "$(false 97)" = 97' >> conftest-alias.sh
319     _AM_CHECK_SHELL_FEATURE([$1],
320       [supports alias named like shell builtins],
321       [. ./conftest-alias.sh],
322       [rm -f conftest-alias.sh],
323       [rm -f conftest-alias.sh; am_score=1; break])
325     _AM_CHECK_SHELL_FEATURE([$1],
326       [supports "test -e"],
327       [test -e config.log && test -e . && test ! -e nonesuch],
328       [], [am_score=1; break])
330     break
331   done])
333 # These messages only goes to the config.log file.
334 AC_MSG_NOTICE([will now look for a sturdy POSIX shell, for our testsuite])
336 AC_CACHE_VAL(
337   [ac_cv_AM_TEST_RUNNER_SHELL],
338   [if test "$AM_TEST_RUNNER_SHELL"; then
339     # Let the user override it.
340     ac_cv_AM_TEST_RUNNER_SHELL=$AM_TEST_RUNNER_SHELL
341   else
342     ac_cv_AM_TEST_RUNNER_SHELL=no
343     am_candidate_shells=${CONFIG_SHELL-}
344     # For the benefit of Solaris.
345     am_PATH=$PATH$PATH_SEPARATOR/usr/xpg6/bin$PATH_SEPARATOR/usr/xpg4/bin
346     for am_sh in sh sh5 dash ash bash zsh ksh pdksh; do
347       AC_PATH_PROG([am_candidate_sh], [$am_sh], [], [$am_PATH])
348       if test -n "$am_candidate_sh"; then
349         am_candidate_shells="$am_candidate_shells $am_candidate_sh"
350       fi
351       AM_SUBST_NOTMAKE([am_candidate_sh])
352       # Must nullify these in order not to interfere with the checks in
353       # the next loop.
354       AS_UNSET([am_candidate_sh])
355       AS_UNSET([ac_cv_path_am_candidate_sh])
356     done
357     AS_UNSET([am_PATH]) # Not required anymore
358     for am_sh in $am_candidate_shells; do
359       am_score=0
360       _AM_CHECK_CANDIDATE_SHELL([$am_sh])
361       if test $am_score -eq 9; then
362         # The shell is barely acceptable for our needs.  We might
363         # still find one that is even better, so continue looking.
364         AC_MSG_NOTICE([shell $am_sh is acceptable, but we might do better])
365         ac_cv_AM_TEST_RUNNER_SHELL=$am_sh
366       elif test $am_score -eq 10; then
367         AC_MSG_NOTICE([shell $am_sh is good enough, stop looking])
368         ac_cv_AM_TEST_RUNNER_SHELL=$am_sh
369         break
370       fi
371     done
372   fi
373   AM_TEST_RUNNER_SHELL=$ac_cv_AM_TEST_RUNNER_SHELL])
375 if test $AM_TEST_RUNNER_SHELL = no; then
376   AC_MSG_FAILURE([m4_normalize([no POSIX shell found that is good
377                                 enough to be used in our testsuite])])
378 else
379   AC_MSG_NOTICE([will use $AM_TEST_RUNNER_SHELL as the testsuite shell])
382 AC_ARG_VAR([AM_TEST_RUNNER_SHELL],
383            [a sturdy POSIX shell for our testsuite])
386 ###########################################################################
388 # Look for C, C++ and fortran compilers to be used in the testsuite.
390 dnl We don't want to abort our configuration script if no C compiler is
391 dnl available, as such a compiler is only required to run part of the
392 dnl testsuite, not to build or install Automake.  Ditto for C++, Fortran
393 dnl and Fortran 77 compilers.  Unfortunately, autoconf does not offer an
394 dnl easy way to obtain this behaviour, so we'll need a few hacks.
396 dnl We want the body of this macro to expand as a single shell statement,
397 dnl thus we wrap it into { ... } brackets.
398 AC_DEFUN([_AM_WRAP_MSG_ERROR], [ {
399   AC_MSG_WARN([$1])
400   am__failed=yes
401   break
402 } ])
404 AC_DEFUN([_AM_COMPILER_CAN_FAIL], [
405   m4_pushdef([AC_MSG_FAILURE], m4_defn([_AM_WRAP_MSG_ERROR]))
406   m4_pushdef([AC_MSG_ERROR],   m4_defn([_AM_WRAP_MSG_ERROR]))
407   am__failed=no
408   while :; do
409      $1
410      break
411   done
412   AS_IF([test $am__failed = yes], [$2])
413   # We have to clear these cache variables, so that future checks on
414   # compilers for different languages won't be confused.
415   unset ac_cv_objext ac_cv_exeext
416   # We also need to meddle with the autoconf internals to ensure that
417   # checks to find object and executable extensions will be run anew.
418   # FIXME: In the long run, the better thing to do would be to fix
419   # FIXME: autoconf instead ...
420   m4_undefine([m4_provide(_AC_COMPILER_OBJEXT)])
421   m4_undefine([m4_provide(_AC_COMPILER_EXEEXT)])
422   m4_popdef([AC_MSG_FAILURE])
423   m4_popdef([AC_MSG_ERROR])
426 AC_DEFUN([_AM_SKIP_COMP_TESTS],
427   [AC_MSG_NOTICE([tests requiring the $1 compiler will be skipped])])
429 # Prefer generic compilers to GNU ones when possible.  This will ensure
430 # more testsuite coverage "in the wild".
431 # Note that we don't look for the MSVC C/C++ compiler here.  This is
432 # deliberate; for more discussion and rationale, see:
433 # <https://lists.gnu.org/archive/html/automake-patches/2012-01/msg00130.html>
435 AC_MSG_NOTICE([will now look for generic compilers])
437 # C compiler.
438 _AM_COMPILER_CAN_FAIL(dnl
439   [AC_PROG_CC([cc gcc])],
440   [CC=false; _AM_SKIP_COMP_TESTS([C])])
442 AS_IF([test x"$GCC" = x"yes"], [am_CC_is_GNU=yes], [am_CC_is_GNU=no])
444 # On case-insensitive file systems (seen e.g. on Cygwin and Mac OS X)
445 # we must avoid looking for 'CC', because that would be the same as
446 # 'cc', and could cause $CXX to point to the C compiler, instead of
447 # to a C++ compiler as expected (see automake bugs #11893 and #10766).
448 # Similarly, we must avoid looking for 'RCC', as that can point to the
449 # Qt4 "Resource Compiler": <http://doc.qt.digia.com/4.2/rcc.html>
450 # And we avoid looking for 'KCC' as that can be a kerberos tool under
451 # macOS systems.
452 if test -f /bIn/rMdIr || test -f /uSr/bIn/rMdIr; then
453   # Case-insensitive file system, don't look for CC.
454   am_CC= am_RCC= am_KCC=
455 else
456   am_CC=CC am_RCC=RCC am_KCC=KCC
459 # The list of C++ compilers here has been copied, pasted and edited
460 # from 'lib/autoconf/c.m4:AC_PROG_CXX' in the Autoconf distribution.
461 # Keep it in sync, or better again, find out a way to avoid this code
462 # duplication.
463 _AM_COMPILER_CAN_FAIL([AC_PROG_CXX(dnl
464   [aCC $am_CC FCC $am_KCC $am_RCC xlC_r xlC c++ cxx cc++ gpp g++ clang++])],
465   [CXX=false; _AM_SKIP_COMP_TESTS([C++])])
467 AS_IF([test x"$GXX" = x"yes"], [am_CXX_is_GNU=yes], [am_CXX_is_GNU=no])
469 # The lists of Fortran compilers here has been copied, pasted and edited
470 # from file 'lib/autoconf/fortran.m4' in the Autoconf distribution.
471 # Keep it in sync, or better again, find out a way to avoid this code
472 # duplication.
474 _AM_COMPILER_CAN_FAIL([AC_PROG_FC(dnl
475   [xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor] dnl
476   [xlf90 f90 armflang flang pgf90 pghpf epcf90 g95 gfortran])],
477   [FC=false; _AM_SKIP_COMP_TESTS([Fortran])])
479 AS_IF([test x"$GFC" = x"yes"], [am_FC_is_GNU=yes], [am_FC_is_GNU=no])
481 _AM_COMPILER_CAN_FAIL([AC_PROG_F77(dnl
482   [xlf f77 frt pgf77 cf77 fort77 fl32 af77 g77 armflang flang gfortran])],
483   [F77=false; _AM_SKIP_COMP_TESTS([Fortran 77])])
485 AS_IF([test x"$G77" = x"yes"], [am_F77_is_GNU=yes], [am_F77_is_GNU=no])
487 # Some tests will need the GNU compilers.  Searching for them here would
488 # be overkill, since our testsuite already handles their search and setup
489 # pretty well.  But in case the compilers already found are the GNU ones,
490 # we want to use them in the testsuite where GNU compilers are required.
491 # Also, in case the compilers detected above (at configure time) are not
492 # the GNU ones, we cannot use the values of CFLAGS, CXXFLAGS, FCFLAGS and
493 # FFLAGS detected for them with the GNU compilers too, since it's likely
494 # they won't be compatible.  So we allow the user to define variants of
495 # these variables for the GNU compilers separately.
497 AC_MSG_NOTICE([will now look for GNU compilers])
499 # GNU C compiler.
500 AC_ARG_VAR([GNU_CC],     [GNU C compiler])
501 AC_ARG_VAR([GNU_CFLAGS], [GNU C compiler flags])
502 if test $am_CC_is_GNU = yes; then
503   AC_MSG_NOTICE([$CC is already a GNU C compiler])
504   GNU_CC=$CC GNU_CFLAGS=${GNU_CFLAGS-$CFLAGS}
505 else
506   AC_CHECK_TOOLS([GNU_CC], [gcc], [false])
508 if test "$GNU_CC" != false; then
509   AS_IF([AM_RUN_LOG([$GNU_CC --version && $GNU_CC -v])], [],
510         [AC_MSG_WARN([botched installation for GNU C compiler])
511          _AM_SKIP_COMP_TESTS([GNU C])])
514 # GNU C++ compiler.
515 AC_ARG_VAR([GNU_CXX],      [GNU C++ compiler])
516 AC_ARG_VAR([GNU_CXXFLAGS], [GNU C++ compiler flags])
517 if test $am_CXX_is_GNU = yes; then
518   AC_MSG_NOTICE([$CXX is already a GNU C++ compiler])
519   GNU_CXX=$CXX
520   GNU_CXXFLAGS=${GNU_CXXFLAGS-$CXXFLAGS}
521 else
522   AC_CHECK_TOOLS([GNU_CXX], [g++ gpp], [false])
524 if test "$GNU_CXX" != false; then
525   AS_IF([AM_RUN_LOG([$GNU_CXX --version && $GNU_CXX -v])], [],
526         [AC_MSG_WARN([botched installation for GNU C++ compiler])
527          _AM_SKIP_COMP_TESTS([GNU C++])])
530 # GNU Fortran compiler.
531 AC_ARG_VAR([GNU_FC],      [GNU Fortran compiler])
532 AC_ARG_VAR([GNU_FCFLAGS], [GNU Fortran compiler flags])
533 if test $am_FC_is_GNU = yes; then
534   AC_MSG_NOTICE([$FC is already a GNU Fortran compiler])
535   GNU_FC=$FC
536   GNU_FCFLAGS=${GNU_FCFLAGS-$FCFLAGS}
537 else
538   AC_CHECK_TOOLS([GNU_FC], [gfortran], [false])
540 if test "$GNU_FC" != false; then
541   AS_IF([AM_RUN_LOG([$GNU_FC --version && $GNU_FC -v])], [],
542         [AC_MSG_WARN([botched installation for GNU Fortran compiler])
543          _AM_SKIP_COMP_TESTS([GNU Fortran])])
546 # GNU Fortran 77 compiler.
547 AC_ARG_VAR([GNU_F77],    [GNU Fortran 77 compiler])
548 AC_ARG_VAR([GNU_FFLAGS], [GNU Fortran 77 compiler flags])
549 if test $am_F77_is_GNU = yes; then
550   AC_MSG_NOTICE([$F77 is already a GNU Fortran 77 compiler])
551   GNU_F77=$F77
552   GNU_FFLAGS=${GNU_FFLAGS-$FFLAGS}
553 else
554   AC_CHECK_TOOLS([GNU_F77], [g77 gfortran], [false])
556 if test "$GNU_F77" != false; then
557   AS_IF([AM_RUN_LOG([$GNU_F77 --version && $GNU_F77 -v])], [],
558         [AC_MSG_WARN([botched installation for GNU Fortran 77 compiler])
559         _AM_SKIP_COMP_TESTS([GNU Fortran 77])])
562 # GNU Java compiler.
563 AC_ARG_VAR([GNU_GCJ], [GNU Java compiler])
564 AC_ARG_VAR([GNU_GCJFLAGS], [GNU Java compiler flags])
565 AC_CHECK_TOOLS([GNU_GCJ], [gcj], [false])
566 if test "$GNU_GCJ" != false; then
567   AS_IF([AM_RUN_LOG([$GNU_GCJ --version && $GNU_GCJ -v])], [],
568         [AC_MSG_WARN([botched installation for GNU Java compiler])
569         _AM_SKIP_COMP_TESTS([GNU Java])])
572 # If we have been able to find at least a working compiler above, we
573 # know what the object and executable extensions for this platform are.
574 OBJEXT=${ac_cv_objext-UNKNOWN}
575 EXEEXT=${ac_cv_exeext-UNKNOWN}
576 AC_SUBST([OBJEXT])
577 AC_SUBST([EXEEXT])
579 ###########################################################################
581 ## ---------------------- ##
582 ##  Create output files.  ##
583 ## ---------------------- ##
585 AC_CONFIG_FILES([Makefile])
586 AC_CONFIG_LINKS([GNUmakefile:GNUmakefile])
587 AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
588 AC_OUTPUT
590 # Inform the user if this version of automake is a beta release or
591 # a development snapshot. Except, as of 1.17 (January 2024), don't bother.
592 # Just call all pretests development snapshots.
594 am_stable_version_rx='[[1-9]\.[0-9]+(\.[0-9]+)?]'
596 # This won't match anything as of 1.17, since we switched to
597 # .90-numbered test releases. But if we wanted to, according to HACKING,
598 # the version of a development snapshot should end with an odd number
599 # (91, 93, ...) and a beta release should end with an even number (90,
600 # 92, ...).
601 am_beta_version_rx="[$am_stable_version_rx[bdfhjlnprtvxz]]" # no match
603 am_release_type=`AS_ECHO(["$PACKAGE_VERSION"]) | LC_ALL=C awk ["
604   /^$am_stable_version_rx$/ { print \"stable\"; exit(0); }
605   /^$am_beta_version_rx$/ { print \"beta version\"; exit(0); }
606   { print \"development snapshot\"; }"]`
608 # '$silent' is set to yes if configure is passed the '--quiet' option.
609 test "$am_release_type" = stable || test "$silent" = yes || cat <<EOF
611 WARNING: You are about to use a $am_release_type of automake.
612 WARNING: It could well suffer from new bugs or regressions.
613 WARNING: You are strongly advised not to use it in production code.
615 Please report bugs, problems and feedback to <AC_PACKAGE_BUGREPORT>,
616 since that is the whole point of a test release.
619 AS_EXIT([0])