1. To insulate the test suite from a system-provided config.site file,
set the CONFIG_SITE environment variable to a file that is known not
to exist. Problem reported by Jannick.
2. AC_PROG_CC, AC_PROG_CXX, AC_PROG_CPP, and AC_PROG_CXXCPP may set
cache variables named ‘ac_cv_prog_$tool’ or ‘ac_cv_prog_ac_ct_$tool’,
depending on system conditions; _AT_CONFIG_CMP_PRUNE needs to handle
both possibilities. Found by testing on FreeBSD 12; I have no idea
why it didn’t show up on _any_ of my other test platforms.
3. The ‘AC_PROG_LEX with yywrap’ test needs to be skipped on systems
that don’t provide libl.a nor libfl.a. This change needed yet another
hook for AT_CHECK_MACRO. Found by testing on Alpine Linux.
(Ideally, instead of skipping this test, we would test that this
configure script *errors out* on these systems, but that would involve
much more invasive changes to AT_CHECK_MACRO, which I don’t want to
hold the release for.)
* tests/local.at (AT_PREPARE_TESTS): Set CONFIG_SITE to refer to
a file that is known not to exist, and export it.
(_AT_CONFIG_CMP_PRUNE): Prune all variables matching the
ERE ‘ac_cv_prog_(ac_ct_)?(CC|CXX|CPP|CXXCPP)’.
(AT_CHECK_MACRO): Add PRETEST-CMDS argument which takes commands to
execute immediately after AT_SETUP.
* tests/semantics.at (AC_PROG_LEX with yywrap): Using PRETEST-CMDS,
skip this test on OSes where neither -ll nor -lfl provides a
definition of yywrap.