summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Filter out _AST_FEATURES when comparing environment state. (#110283)zack/bug-110283Zack Weinberg2020-08-041-1/+3
| | | | | | | | | | | | ksh93 uses an environment variable called _AST_FEATURES to communicate with subshell instances of itself. Its value may change at any time so AT_CHECK_ENV should ignore it. This was responsible for many spurious testsuite failures on OpenIndiana. Problem reported by Bob Friesenhahn. * tests/local.at (_AT_CHECK_ENV): Add _AST_FEATURES to list of variables set by shells to unstable values.
* Partially revert e54e3f90: restore use of $(MAKE) in error message.Zack Weinberg2020-08-041-1/+1
| | | | | | | In commit 14d58bfd, the error message printed by the ‘abort-due-to-no-makefile’ rule in GNUmakefile was changed to refer to the value of ‘$(MAKE)’ instead of a literal ‘make’. A subsequent ‘make fetch’ (e54e3f90) clobbered this. Put it back.
* Expect OpenIndiana test failurePaul Eggert2020-08-021-0/+7
| | | | | | On OpenIndiana, Perl file locking does not work atop NFS. * tests/tools.at (autom4te cache locking): Expect this test to file if Perl file locking does not work.
* Work around ksh93 bug that broke config.statusPaul Eggert2020-08-021-2/+2
| | | | | | | | | * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Use ‘>&1’, which is a no-op, to work around a bug in ksh93 Version JM 93t+ 2010-03-05 as used in OpenIndiana. The bug causes ‘printf "foo"’ to mistakenly succeed in some cases even though the underlying ‘write’ syscall fails. The ‘>&1’ causes the printf to fail, as it should.
* Fix regression: autotools and whitespace in file namesPaul Eggert2020-08-011-5/+1
| | | | | | * bin/autoheader.in (templates_for_header): Fix previous change by not warning about file names with shell metacharacters, as this is OK for command-line file names.
* make fetchPaul Eggert2020-08-012-3/+4
|
* Fix regression that broke Automake ‘make check’Paul Eggert2020-08-012-9/+30
| | | | | | | | | | | | | | | | | Problem reported by Ken Moffat (sr#110287); the problem was introduced in 2016-12-21T16:15:46Z!daniel.kitta@gmail.com. * bin/autoheader.in (templates_for_header): When generating warnings about symbols lacking templates, downgrade template read failure from a fatal error to a warning. Also, don’t even try to read from a template file whose name has shell metavariables (which Autoconf 2.50 withdrew support for); just warn about that, too. These changes cause the Automake tests to merely generate warnings that are ignored, instead of failing. * doc/autoconf.texi (Configuration Files, Configuration Headers) (Configuration Commands, Configuration Links): Also document here that the file names should not contain shell metacharacters, to make this constraint more obvious.
* * doc/autoconf.texi: Tweak wording.Paul Eggert2020-07-311-20/+20
|
* doc: Update some more macro descriptions.Bruno Haible2020-07-311-1/+6
| | | | | * doc/autoconf.texi (Particular Functions): Add a remark about AC_FUNC_MMAP. Clarify AC_FUNC_STRCOLL.
* doc: Refer to Gnulib where it makes sense.Bruno Haible2020-07-311-2/+29
| | | | | | | * doc/autoconf.texi (Particular Functions): Point to Gnulib wherever Gnulib has more workarounds than mentioned for the particular macro, namely for AC_FUNC_CHOWN, AC_FUNC_FSEEKO, AC_FUNC_GETGROUPS, AC_FUNC_GETMNTENT, AC_FUNC_MBRTOWC, AC_FUNC_STRERROR_R, AC_FUNC_STRTOLD.
* doc: Refer to Gnulib instead of asking clients to provide replacement code.Bruno Haible2020-07-311-0/+16
| | | | | | * doc/autoconf.texi (Particular Functions): Point to Gnulib for all macros that may call AC_LIBOBJ, namely AC_FUNC_ALLOCA, AC_FUNC_MALLOC, AC_FUNC_OBSTACK, AC_FUNC_REALLOC, AC_FUNC_STRNLEN.
* Remove obsolete Cray supportPaul Eggert2020-07-302-29/+5
| | | | | | | | | Gnulib removed this recently, and we should be consistent. * doc/autoconf.texi (Autoheader Macros): Use a more up-to-date example. * lib/autoconf/functions.m4 (CRAY_STACKSEG_END): Remove. This is backported from the following Gnulib patch: https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=41a2d446c7984f8f39e3eeca40c6d30630969c10
* Simplify Makefiles embedded in autotest.atZack Weinberg2020-07-271-22/+4
| | | | | | | | | | | | | | | | | | | This is a follow-up for the various patches to address problems with tests 221 and 222 with various non-GNU make implementations. We’re not trying to exercise Make at all in these tests; it’s just a convenient way to invoke the compiler found by AC_PROG_CC on a test program. The tests will be more reliable if we minimize the number of Make features we are using. So: no implicit rules at all, and no intermediates. Generate ‘testprog’ directly from ‘testprog.c’. Also copy from fortran.at a more thorough set of substitution variables for the compilation command, mainly for consistency, and don’t use Makefile variables, again for consistency with fortran.at. (This is also, theoretically, faster since we’re only invoking the compiler driver once, but it’s probably not enough of a difference to measure.)
* Port AC_F77_LIBRARY_LDFLAGS to oneAPI HPC ToolkitPaul Eggert2020-07-221-0/+1
| | | | | | | Problem reported by Bill Dieter in: https://lists.gnu.org/r/bug-autoconf/2020-07/msg00089.html * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Defend against ‘clang -mllvm -loopopt=0’.
* Don’t assume plain ‘make’ in C unit testsPaul Eggert2020-07-202-3/+4
| | | | | | | | Problem reported by Bruno Haible in: https://savannah.gnu.org/support/?110273#comment6 * lib/autoconf/general.m4 (_AC_ARG_VAR_VALIDATE): * tests/autotest.at (C unit tests, C unit tests (EXEEXT)): Prefer ‘${MAKE-make}’ to ‘make’ in shell code.
* Prefer ‘$(MAKE)’ to ‘make’ in MakefilesPaul Eggert2020-07-202-2/+2
| | | | | | * GNUmakefile (abort-due-to-no-makefile): * Makefile.am (check-coverage-report): Prefer ‘$(MAKE)’ to ‘make’ in diagnostics.
* Port build procedure to AIX 7.1Paul Eggert2020-07-171-4/+4
| | | | | | | | | | | * lib/freeze.mk (MY_AUTOM4TE, build_libdir, m4f_dependencies): Prefer ‘$(top_build_prefix)’ to ‘$(top_builddir)/’. The difference matters on AIX 7.1, where ‘make’ doesn’t know that bin/autom4te and ./bin/autom4te are the same file, and gets confused about dependencies without this change. ‘$(top_build_prefix)bin/autom4te’ expands to ‘bin/automake’ whereas ‘$(top_builddir)/bin/autom4te’ expands to ‘./bin/automake’, and the former works where the latter doesn’t.
* Test AC_FC_LINE_LENGTH only to 250 columnsPaul Eggert2020-07-174-7/+15
| | | | | | | | * NEWS, doc/autoconf.texi, lib/autoconf/fortran.m4: Document 250, not 254. * tests/fortran.at (AC_FC_LINE_LENGTH): Test lines with 250 columns not 253, since Oracle Studio 12.6 Fortran 95 8.8 2017/05/30 goes up only to 250.
* Fix ${VAR-NONWORD} bugsPaul Eggert2020-07-163-10/+14
| | | | | | | * lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): * lib/autoconf/programs.m4 (AC_FUNC_SELECT_ARGTYPES): * lib/autotest/general.m4 (AT_INIT): Rewrite to avoid ${VAR-VALUE} where VALUE is not a shell word.
* Document that VAL must be a word in ${VAR-VALUE}Paul Eggert2020-07-161-19/+30
| | | | | | * doc/autoconf.texi (Shell Substitutions): Document that in ${VAR-VALUE}, VALUE must be a shell word, and omit examples implying otherwise.
* tests/autotest.at: don’t use suffix rules to generate executablesZack Weinberg2020-07-161-6/+6
| | | | | | | | | | | | | | | In two tests, when @EXEEXT@ is empty, we were generating Makefiles containing suffix rules with only one explicit suffix, e.g. .o: $(CC) -o $@ $^ Solaris 10’s ‘dmake’ does not understand this as a rule to create ‘foo’ from ‘foo.o’. That’s not the point of the tests, so use ordinary per-rule commands to link the executables in these tests instead. Partially addresses #110267.
* tests/local.at: improve sed portabilityZack Weinberg2020-07-161-1/+2
| | | | | | | | | | Solaris 10 /bin/sed does not support * after \( … \), only after subexpressions that match a _single character_. Partially addresses #110267. Problem reported by Dagobert Michelsen. * tests/local.at (AT_CHECK_M4): Do not use star after parenthesized subexpression in sed s/// commands.
* Revise documentation for AC_PROG_LEX.Zack Weinberg2020-07-163-38/+46
| | | | | | | | | | - Better explanation of the additional tests performed by this macro, once the tool has been located. - Update advice re using Flex to generate a bundled lex.yy.c. - Remove text describing a bug in Automake that has long since been corrected.
* AC_PROG_LEX no longer sets LEXLIB for yywrapPaul Eggert2020-07-163-4/+18
| | | | | | | Suggested by Zack Weinberg in: https://lists.gnu.org/r/autoconf-patches/2020-07/msg00016.html * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Define yywrap too.
* Fix AC_PROG_LEX regressionPaul Eggert2020-07-161-4/+9
| | | | | | | | Problem reported by Ross Burton in: https://savannah.gnu.org/support/?110269 * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): If tests indicate that LEX or LEXLIB does not work, set LEX to ":" and LEXLIB empty, instead of failing out of 'configure' entirely.
* Document AC_EGREP* betterPaul Eggert2020-07-151-0/+30
| | | | | From a suggestion by Bruno Haible in: https://lists.gnu.org/archive/html/bug-autoconf/2017-02/msg00001.html
* doc: More clarifications regarding --host and --build.Bruno Haible2020-07-151-8/+23
| | | | | | * doc/autoconf.texi (Specifying Target Triplets): Describe the effects of --host in more detail. Don't recommend to specify --build when specifying --host. Add another example regarding MinGW.
* Revert mistaken patch for BisonPaul Eggert2020-07-153-7/+3
| | | | | | | Problem reported by Bruno Haible in: https://savannah.gnu.org/support/?110266 * lib/autoconf/programs.m4 (AC_PROG_YACC): Go back to using bison -y instead of bison -o y.tab.c.
* Use more-modern cross-compilation examplesPaul Eggert2020-07-151-12/+13
| | | | | | * doc/autoconf.texi (Generic Programs) (Specifying Target Triplets, Transformation Examples) (Hosts and Cross-Compilation): Use more-modern examples.
* Revert mistaken patch for WinePaul Eggert2020-07-151-11/+1
| | | | | | | | * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_CROSS): Revert patch trying to cater to GNU/Linux builds for Wine. They should use --build as well as --host. Problem reported by Bruno Haible in: https://savannah.gnu.org/support/?110268
* NEWS: don’t describe Automake 1.13 as “upcoming.”Nick Alcock2020-07-141-2/+2
| | | | | Automake 1.13 was released eight years ago. The current version is 1.16.2.
* * doc/autoconf.texi: Fix mishandling of `.v2.69bPaul Eggert2020-07-132-4/+6
|
* make fetchPaul Eggert2020-07-132-6/+35
|
* Formally obsolete AC_CONFIG_HEADER (#105403)Zack Weinberg2020-07-125-13/+15
| | | | | | | | | | | | | | | This macro was replaced by AC_CONFIG_HEADERS many years ago (before the beginning of the VCS history) and isn’t even documented, but we never got around to making autoupdate notice it. Problem reported *in 2006* by jensseidel@users.sf.net. There was one use of AC_CONFIG_HEADER in our source tree, which is converted. Also, to avoid confusing people reading old NEWS or TODO entries, all mentions of AC_CONFIG_HEADER therein are also replaced with AC_CONFIG_HEADERS. * lib/autoconf/status.m4 (AC_CONFIG_HEADER): Make an AU_ALIAS for AC_CONFIG_HEADERS.
* Add AC_PROG_EGREP to AU_DEFUN for AC_HEADER_STDC (#110215)Zack Weinberg2020-07-122-5/+15
| | | | | | | | | | AC_HEADER_STDC used to use AC_EGREP_CPP, and therefore had the side effect of AC_REQUIRE([AC_PROG_EGREP]). In 2.70 AC_HEADER_STDC is an AU_DEFUN and, before this change, the replacement didn’t invoke AC_PROG_EGREP, which broke configure scripts that assumed $EGREP would be set. Problem reported by Ross Burton. * lib/autoconf/headers.m4 (AU::AC_HEADER_STDC): Also invoke AC_PROG_EGREP.
* Fix logic error in _AC_PROG_LEX_YYTEXT_DECL (#109320)Tom2020-07-121-8/+13
| | | | | | | | | | | | | The search for the appropriate value for @LEXLIB@ did not distinguish correctly between success (‘break’ out of a shell for loop, having set $ac_cv_lib_lex) and failure (normal termination of the loop, value in $ac_cv_lib_lex is garbage). Bug report and original patch by Tom <tom@ojodeagua.com> with refinements by Zack Weinberg. * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Error out if we cannot find the library that (f)lex scanners need to be linked against, instead of continuing with @LEXLIB@ set to the empty string.
* make fetchZack Weinberg2020-07-112-4/+7
| | | | URLs in gnu-oids.texi are now consistent with standards.texi.
* Update hyperlinks in the manual and README-hacking.Zack Weinberg2020-07-102-12/+14
| | | | | | | | Lots of http:// -> https:// conversions; refer to XZ Utils instead of the obsolete LZMA Utils; remove dead link to dbaspot.com; replace mention of -fmudflap with -fsanitize= and add a proper cross-reference to the GCC manual for that.
* Update links in COPYING, COPYINGv3, and COPYING.EXCEPTION.Zack Weinberg2020-07-103-14/+13
| | | | | | | | | | | | | | | | | | - COPYINGv3 now exactly matches https://www.gnu.org/licenses/gpl-3.0.txt as of 2020-07-10. The only change was to turn a bunch of http:// URLs into https:// URLs. - COPYING now exactly matches https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt as of 2020-07-10 except that the FSF’s old postal address has been deleted and <https://fsf.org/> inserted (consistent with COPYINGv3). Besides the above, the only change was to whitespace. - A typo in a URL in COPYING.EXCEPTION was corrected.
* Document AS_IF(..., ..., [[]]) glitchPaul Eggert2020-07-101-0/+7
| | | | | | * doc/autoconf.texi (Common Shell Constructs): Note the if-false arg problem reported by Jannick in: https://lists.gnu.org/r/autoconf/2020-03/msg00045.html
* Fix ac_compiler_gnu bugPaul Eggert2020-07-101-1/+3
| | | | | | | | Problem and fix reported by Jannick in: https://lists.gnu.org/r/autoconf/2020-03/msg00045.html except that I omitted the comment, which I thought unnecessary. * lib/autoconf/lang.m4 (_AC_LANG_COMPILER_GNU): Set ac_compiler_gnu regardless of whether result was from cache.
* NEWS: add notes about known breakage due to pickier macros.Zack Weinberg2020-07-101-0/+21
| | | | | | These are all cases where the offending configure script or third-party macro was always incorrect, but autoconf 2.69 let you get away with it.
* NEWS: mention that AS_INIT no longer embeds full paths to source files.Zack Weinberg2020-07-091-12/+21
| | | | | | (Change made in c6daae41276a49b52a9d5e2f70c95651364ed619.) Also reorder some of the NEWS entries more logically.
* AS_INIT: basename __file__Luke Mewburn2020-07-052-1/+22
| | | | | | Fix AS_INIT to encode the basename of __file__ instead of the full path to the source directory. Allows for reproducible builds.
* Fix AC_CHECK_LIB quoting bugPaul Eggert2020-07-022-1/+5
| | | | | | | Problem reported by Bert Wesarg in: https://lists.gnu.org/archive/html/autoconf/2016-04/msg00020.html * lib/autoconf/libs.m4 (AC_CHECK_LIB): Fix quoting bug. * tests/semantics.at (AC_CHECK_LIB): Add a test for the bug.
* * tests/local.at: Fix space-tab problems.Paul Eggert2020-06-291-1/+1
|
* Consistently expand macros in whitespace-separated lists.Zack Weinberg2020-06-297-35/+377
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several of the most commonly used Autoconf macros (starting with AC_CHECK_FUNCS and AC_CHECK_HEADERS) take a whitespace-separated list of symbols as their primary argument. It would abstractly be best if this list were _not_ subject to M4 macro expansion, in case there’s a collision between a M4 macro name and something to be looked for. However, we have historically not been careful about this, and there’s been reports of configure scripts using ‘dnl’ to write comments inside the list. The AS_LITERAL_IF optimizations added to AC_CHECK_FUNCS and AC_CHECK_HEADERS since 2.69 broke some of those scripts with bizarre shell syntax errors. Also, the macro expansion behavior is not consistent among all of the macros that take whitespace-separated lists, nor is it consistent between autoconf and autoheader. Address this by introducing a new m4sugar macro, currently called ‘m4_validate_w’ (I’m open to suggestions for better names). Here’s its documentation comment: | m4_validate_w(STRING): Expands into m4_normalize(m4_expand([STRING])), | but if that is not the same as just m4_normalize([STRING]), | issue a warning. The text of the warning is | configure.ac:N: warning: whitespace-separated-list contains macros; | configure.ac:N: in a future version of Autoconf they will not be expanded If the unexpanded form of the string contains the token ‘dnl’ then there’s an additional line: | configure.ac:N: note: ‘dnl’ is a macro All of the public macros that take a whitespace-separated list of symbols are changed to pass that argument through m4_validate_w before doing anything else with it, and the test suite is updated to verify consistent behavior for every last one of them. This addresses Savannah issues #110210 and #110211, and the harmless but annoying autoheader behavior described at https://lists.gnu.org/archive/html/bug-autoconf/2018-02/msg00005.html . In order to avoid expanding relatively expensive m4sugar macros multiple times per top-level macro invocation, several of the affected Autoconf macros are restructured along the same lines as I did for AC_REPLACE_FUNCS in the previous patch. * lib/m4sugar/m4sugar.m4 (m4_validate_w): New macro. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE) (AC_REPLACE_FUNCS) * lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIRS, AC_CHECK_FILES) * lib/autoconf/headers.m4 (AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE) * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Pass $1 through m4_validate_w before use. * lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Refactor with helpers _AC_CHECK_HEADERS_ONE_U, _AC_CHECK_HEADERS_ONE_S, _AC_CHECK_HEADERS_ONE_C. (AC_CHECK_HEADERS_ONCE): Eliminate _AC_CHECK_HEADERS_ONCE. (AC_CHECK_INCLUDES_DEFAULT): Don’t use _AC_CHECK_HEADERS_ONCE. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Refactor with helpers _AC_CHECK_FUNCS_ONE_U, _AC_CHECK_FUNCS_ONE_S, _AC_CHECK_FUNCS_ONE_C. * lib/autoconf/status.m4 (_AC_CONFIG_SUBDIRS): No need to use m4_normalize. * tests/semantics.at: Add tests for expansion of M4 macros in whitespace-separated list arguments to all of the above.
* AC_REPLACE_FUNCS: invoke _AH_CHECK_FUNC and AC_LIBSOURCE unconditionally.Zack Weinberg2020-06-296-49/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While investigating something else, I noticed that AC_REPLACE_FUNCS calls _AH_CHECK_FUNC and AC_LIBSOURCE in the success branch of an AC_CHECK_FUNC. This doesn’t work; both of those are marker macros that need to be expanded unconditionally at m4 time so that traces (placed by autoheader and automake, respectively) will fire. In order to fix this while keeping the code readable, I would up doing a major refactor. There are now four internal macros implementing AC_REPLACE_FUNCS. _AC_REPLACE_FUNC_U is called unconditionally for every shell word in the list passed to AC_REPLACE_FUNCS, and does _AH_CHECK_FUNC + AC_LIBSOURCE if it can, or issues a warning if it can’t. (It could make sense to make this a public function, if we think shell variables in the AC_REPLACE_FUNCS list need to be supported long-term. I dunno if there’s a use case that can’t be handled by AC_REPLACE_FUNCS inside a shell conditional just as well.) _AC_REPLACE_FUNC_L and _AC_REPLACE_FUNC_NL implement the actual test performed for each function to be replaced; the difference is that _L (for literal) can only be used on a function whose name is known at m4 expansion time, _NL (nonliteral) works regardless. _AC_REPLACE_FUNCS, which already existed, handles looping either at m4 time or shell time as appropriate. AC_REPLACE_FUNCS remains a thin wrapper that runs _AC_REPLACE_FUNCS(m4_flatten([$1])). The _bulk_ of the patch is changes to the testsuite so that it notices the original bug. Specifically, AT_CHECK_AUTOHEADER now takes an argument which is a whitespace-separated list of preprocessor macro names that ought to appear in the generated config.h.in. This can be set to ‘ignore’ to skip the test, and unfortunately that’s what the “trivial” per-macro tests have to do (AT_CHECK_MACRO and friends), so coverage is not ideal, but it’s better than what we had. Also, AT_CHECK_M4 now normalizes the backtrace lines that appear in the output of an AC_DIAGNOSE, e.g. configure.ac:6: warning: The macro `AC_LANG_SAVE' is obsolete. configure.ac:6: You should run autoupdate. ../../lib/autoconf/lang.m4:125: AC_LANG_SAVE is expanded from... configure.ac:6: the top level becomes configure.ac:6: warning: The macro `AC_LANG_SAVE' is obsolete. configure.ac:6: You should run autoupdate. lang.m4: AC_LANG_SAVE is expanded from... configure.ac:6: the top level This allows us to write tests for these diagnostics that don’t depend on the relationship between the source and build directories, and won’t break when unrelated patches change the line number of a macro definition. * lib/autoconf/functions.m4 (AC_REPLACE_FUNCS, _AC_REPLACE_FUNCS) (_AC_REPLACE_FUNC): Refactor into AC_REPLACE_FUNCS, _AC_REPLACE_FUNCS, _AC_REPLACE_FUNC_U, _AC_REPLACE_FUNC_L, _AC_REPLACE_FUNC_NL. Ensure that _AH_CHECK_FUNC and AC_LIBSOURCE are invoked unconditionally at m4 expansion time for each literal function name in the argument to AC_CHECK_FUNCS. Issue warnings about non-literal names. * tests/local.at (AT_CHECK_M4): Normalize backtrace lines from the output of AC_DIAGNOSE / m4_warn. (AT_CHECK_AUTOHEADER): Add arg EXPECTED-TMPLS giving a list of preprocessor macro names that should appear in the generated config.h.in. Use AT_CHECK_M4 to invoke autoheader. (_AT_CHECK_AC_MACRO, AT_CHECK_MACRO, AT_CHECK_AU_MACRO): Update uses of AT_CHECK_AUTOHEADER. * tests/fortran.at, tests/semantics.at, tests/tools.at * tests/torture.at: Update all uses of AT_CHECK_AUTOHEADER. * tests/semantics.at (AC_REPLACE_FUNCS test): Make somewhat more thorough, using new functionality of AT_CHECK_M4 and AT_CHECK_AUTOHEADER. Signed-off-by: Zack Weinberg <zackw@panix.com>
* Look harder for a shell whose -n is known to work.Zack Weinberg2020-06-294-20/+31
| | | | | | | | | | | | | | | | | | | | | | | | The test suite was insisting on using /bin/sh -n for syntax checking, which meant that if /bin/sh wasn’t one of the short list of shells whose -n is known to work, we would skip all of the syntax-check tests, even if some other shell was available that would work. Instead do like _AS_DETECT_BETTER_SHELL, and loop over possible shells, starting with $SHELL and going on to a hardwired list of known-good possibilities. The result is written to the substitution variable @SHELL_N@ and the testsuite uses that. (Should we invoke AC_PATH_PROG on the result of the search if it’s not already absolute?) * configure.ac: Search for a shell whose -n mode is known to work, instead of just checking /bin/sh. Set @SHELL_N@ to what we find. * tests/atlocal.in: Propagate @SHELL_N@ to testsuite. * tests/local.at (AT_CHECK_SHELL_SYNTAX): Use $SHELL_N instead of hardcoding /bin/sh. Update test for usable shell -n. (AT_CHECK_AUTOCONF): Update test for usable shell -n. * tests/tools.at: Update test for usable shell -n.
* make fetchPaul Eggert2020-06-291-26/+26
|