but some sed choke on multiple `;', and other tools (e.g.,
Automake), include the separator themselves.
* acgeneral.m4 (AC_ARG_VAR): Be sure not to leave extra `;'.
(_AC_FUNC_VFORK): this.
Remove AC_DEFINEs and don't guess cross-compilation values.
(_AC_FUNC_FORK): New, check whether fork() isn't just a stub.
(AC_FUNC_FORK): New, use _AC_FUNC_VFORK and _AC_FUNC_FORK to
define HAVE_WORKING_FORK, HAVE_WORKING_VFORK; and vfork to fork if
vfork doesn't work.
Guess values if cross-compiling, but warn.
* acfunctions: Add AC_FUNC_FORK.
* doc/autoconf.texi: Document AC_FUNC_FORK. Give example to define
and vfork appropriately.
(AC_FUNC_GETPGRP, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK)
(AC_FUNC_MMAP, AC_FUNC_SELECT_ARGTYPES, _AC_FUNC_STAT)
(AC_FUNC_UTIME_NULL): Use AC_INCLUDES_DEFAULT.
Don't use AC_TRY_RUN, which double quotes, prefer AC_RUN_IFELSE,
and either AC_LANG_SOURCE or AC_LANG_PROGRAM.
(AC_FUNC_CLOSEDIR_VOID): Protect C++ from `int closedir ();' (or
the converse).
current values of the precious variables, not the previously
cached values.
Pass precious variables which are set to config.status.
* doc/autoconf.texi (Setting Output Variables): Document AC_ARG_VAR.
* tests/torture.at (AC_ARG_VAR): New.
AC_SYS_RESTARTABLE_SYSCALLS to the obsolete section,
and explain why and how to replace them.
* acfunctions.m4 (AC_FUNC_WAIT3): Warn as obsolete.
* acspecific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise.
an unused pointer use cast to this type and `if' statement to
avoid warnings from the compiler.
(AC_HEADER_TIME): Likewise.
* actypes.m4 (AC_CHECK_MEMBER): s/foo/ac_aggr/. Use the member
in `if' statement to avoid warnings from the compiler. Declare
ac_aggr static to avoid the need to initialize it.
* Makefile.am (.m4.m4f): Pass --fatal-warnings to m4.
* acgeneral.m4 (_m4_divert(VERSION_FSF))
(_m4_divert(VERSION_USER)): New.
(AC_COPYRIGHT): $2 is the diversion to use.
(_AC_INIT_COPYRIGHT): Use the FSF diversion.
(AC_INIT): Remove dead comments as now it's commutative.
Fortran compilers to check.
(_AC_PROG_F77_V): Add '-###' as a possible option to print
information on library and object files.
(AC_PROG_CXX): Add Fujitsu's "FCC" to the list of C++ compilers
to check.
for signals other than 0 - exit with code 1.
* m4sh.m4 (AS_TMPDIR): Likewise.
* autoconf.in: Likewise. Also don't rely on exit == exit $?.
* autoheader.in: Likewise.
* autoreconf.in: Likewise.
* tests/torture.at (Signal handling): New test for the above.
* acgeneral.m4 (_AC_INIT_DEFAULTS_FDS): Remove, replace with
inline setting up of AS_MESSAGE_FD.
(AS_MESSAGE_LOG_FD): Do not define, so that AS_MESSAGE does not
output in it before...
(_AC_INIT_CONFIG_LOG): here, which is run after the handling of
options.
(AS_SHELL_SANITIZE): Set `$as_me'.
* acgeneral.m4: Don't set as_me; AS_SHELL_SANITIZE now does this.
* tests/atgeneral.m4: Likewise.
(AT_INIT): Use $PATH_SEPARATOR for walking the path.
* autoconf.sh: Be DOS-friendly when setting as_me and M4.
Add quotes to support spaces in $tmp.
Work around problem in DJGPP port of awk by using a temporary file.
* autoheader.sh: Be DOS-friendly when setting as_me.
* autoreconf.sh: Be DOS-friendly when setting as_me, dir and
template_dir.
* tests/atconfig.in: Set PATH_SEPARATOR to the proper
path separator. Set SHELL here...
* tests/atgeneral.m4: ... instead of here. Use $PATH_SEPARATOR
when setting AUTOTEST_PATH. Don't default tests to "all" before
deciding whether the help text is needed.
* tests/semantics.at: Use the correct path separator.
of `.;`pwd`': if pwd is c:/foo, we might walk through `.:c'
(fails), and then `/foo' which might succeed, resulting in
believing `;' is the right path separator.
(_AS_BROKEN_TEST_PREPARE): this.
(_AS_TEST_PREPARE): New dummy but working version of this macro.
* acspecific.m4 (AC_PROG_INSTALL): Use AS_EXECUTABLE_P.
(_AC_COMPILER_EXEEXT_WORKS): this. Use the `a.out' or `a.exe'
left by _AC_COMPILER_EXEEXT_DEFAULT to check if the compiler works.
(_AC_COMPILER_EXEEXT_CROSS): Extract from the above macro.
(_AC_COMPILER_EXEEXT): Use them.
Adjust all the compiler looking macros to check for EXEEXT
*first*, then OBJEXT.
Set ac_exeext yourself.
(_AC_COMPILER_EXEEXT_O): Don't.
Reported by Derek R. Price.
* tests/semantics.at (AC_REPLACE_FUNCS): New test.
* acfunctions.m4 (AC_REPLACE_FUNCS, _AC_LIBOBJ_ALLOCA): Use
AC_LIBSOURCES.
Reported by Derek R. Price.
* tests/semantics.at (AC_REPLACE_FUNCS): New test.
* acfunctions.m4 (AC_REPLACE_FUNCS, _AC_LIBOBJ_ALLOCA): Use
AC_LIBSOURCES.
AC_OUTPUT_MAKE_DEFS to include junky -D switches.
Reported by Wolfgang Mueller.
* tests/torture.at (#define header templates): Include trash in
confdefs.h.
* tests/atgeneral.at (AT_INIT): Don't expect `find' to support
-maxdepth, hence don't use -follow either.
Reported by Nicolas Joly.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: In the
`quote' section, `p'rint the result.
If neither `#define' pattern match, just call `d' to start a new
cycle.
Call this sed program with -n.
* acfunctions.m4 (AC_FUNC_MMAP): Use conftest.mmap, not
conftestmmap.
(AC_FUNC_UTIME_NULL): Use conftest.data, not conftestdata.
* acspecific.m4 (AC_PROG_MAKE_SET): Use conftest.make, not
conftestmake.
(_AC_PATH_X_XMKMF): Use conftest.dir, not conftestdir.
* acgeneral.m4 (AC_ARG_PROGRAM): Use conftest.sed, not
conftestsed.
* m4/sanity.m4: Use conftest.file, not conftestfile.
* doc/autoconf.texi (Guidelines for Test Programs): Suggest
using conftest.data, not conftestdata.
-x' and `test -f' to avoid confusing users with error messages.
(AS_MKDIR_P): Invert order of separators in IFS to avoid problem
with some shells adding backslash between fields and parsing the
result for escapes.
* doc/autoconf.texi (Special Shell Variables): Document IFS.
* acgeneral.m4 (_AC_OUTPUT_FILES): Use ac_INSTALL for internal
computations, and therefore use INSTALL where ac_given_INSTALL
was used.
(_AC_OUTPUT_SUBDIRS): There is no point in computing INSTALL in
here. It's not even used.
Reported by Ralf Corsepius.
* tests/aclocal.m4 (AC_STATE_SAVE): It is ok to modify
CONFIG_STATUS, DEFS, prefix and exec_prefix.
It is OK to produce config.* files.
* tests/atspecific.m4 (AT_CONFIGURE_AC): Save the env *after*
AC_OUTPUT to check that it doesn't break anything by itself.
* tests/torture.m4 (srcdir): New test, from Ralf Corsepius.
* acgeneral.m4 (_AC_OUTPUT_FILES): Use ac_top_srcdir and ac_srcdir
to preserve srcdir and top_srcdir.
Remove any use of `ac_given_srcdir' as `$srcdir' being preserved
is usable.
* acgeneral.m4 (_AC_INIT_DEFAULTS_FDS): Don't check for $silent,
tie AS_MESSAGE_FD to stdout unconditionally.
(_AC_INIT_PARSE_ARGS): If $silent redirect AS_MESSAGE_FD to
/dev/null.
* tests/base.at (AC_CACHE_CHECK): New test.
(&init_tables): Use them.
* acheaders: Run `autoconf -t AC_CHECK_HEADERS:'$1'' on the fileutils,
and include all these headers in here.
Don't specify `AC_CHECK_HEADERS' as it's the default.
variables in Makefiles, and drives autoscan to require unneeded
programs.
* acgeneral.m4 (_AC_INIT_PREPARE): Don't AC_SUBST CFLAGS,
CPPFLAGS, CXXFLAGS and LDFLAGS.
(AC_ARG_VAR): AC_SUBST the var.
Document it only once, even if there are several different docs.
* aclang.m4 (AC_PROG_CPP): Declare CPP and CPPFLAGS to AC_ARG_VAR.
(AC_PROG_CXXCPP): Declare CXXCPP and CPPFLAGS.
AS_IF([AC_TRY_EVAL(ac_link)]) instead of AC_LINK_IFELSE to
avoid depending on ac_exeext before it's found.
(AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Check for the
executable extension BEFORE checking whether the compiler
works, as that test depends on a correct ac_exeext.
(_AS_QUOTE_IFELSE): Use it.
* tests/atgeneral.m4 (AT_INIT) <SHELL>: Define and use.
<--help> Don't display the options help when tests were selected.
Document -d.
<at_skip_list>: New.
<testsuite.log>: Give a banner, include ChangeLog snippets, list
the failed and skipped tests.
Remove useless $at_traceoff in sub shells, this improves the
readability of the traces by removing testsuite's implementation
details.
(AT_CHECK): Filter out the shell traces from the tested command's
stderr.
Use AS_ESCAPE.
Don't register experr and expout for clean up, as it's hairy and
easier to do from...
Support STDOUT = stdout, and STDERR = stderr.
Force the output of shell traces.
(AT_INIT): Here.
* aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)): Don't
use _AC_LANG_ABBREV so that you don't depend upon _AC_LANG.
(_AC_LANG_SET): New.
(AC_LANG, AC_LANG_PUSH, AC_LANG_POP): Use it.
* tests/compile.at: Test AC_LANG, AC_LANG_PUSH & AC_LANG_POP.
* acgeneral.m4 (AC_RUN_IFELSE): Accept IF-CROSS-COMPILING.
(AC_TRY_RUN): Use it.
* acfunctions.m4: Start ousting AC_TRY_RUN and AC_TRY_COMPILE.
* acspecific.m4 (AC_AIX, AC_MINIX, AC_ISC_POSIX): AC_BEFORE on
AC_COMPILE_IFELSE and AC_RUN_IFELSE.
* m4sugar.m4 (m4_divert, m4_divert_push, m4_divert_pop): Keep
track of them in m4_divert_stack.
(m4_divert_pop): Accept the expected current diversion as
argument and m4_fatal if incorrect, or if there is nothing to pop.
(globally): Specify the known m4_divert_pop.
Preserve symbolic values when possible.
* acgeneral.m4: No longer push the first diversion.
Specify the known m4_divert_pop.
(AC_PLAIN_SCRIPT): When m4_divert_push a diversion, m4_wrap its
pop.
(AC_INIT): Run AC_PLAIN_SCRIPT first, not last.
* tests/m4sh.at (AS_DIRNAME & AS_DIRNAME_SED): Can't use m4_defun
without m4_init.
* m4sugar.m4: Likewise.
* m4sugar.m4: Formatting changes.
* acgeneral.m4 (AC_DIVERT_PUSH, AC_DIVERT_POP, AC_REQUIRE)
(AC_DIAGNOSE, AC_FATAL, AC_MSG_WARN, AC_MSG_NOTICE, AC_MSG_ERROR):
Use m4_copy to define them, in order to keep a good $0.
(AC_INIT): AC_LANG_PUSH C, not AC_LANG, to initialize the stack.
* aclang.m4 (AC_LANG_PUSH): Dont't use m4_defn on undefined macros.
(AC_LANG_POP): Admit an argument specifying the language we quit
when popping.
Adjust Autoconf's AC_LANG_POPs.
* tests/tools.at (AWK portability): Don't depend on AC_INIT.
(autoconf --trace: user macros): Obviously I
meant TRACE1, not AC_TRACE1.
arguments.
(_m4_expansion_stack): Rename as...
(m4_expansion_stack): this, and change its value: instead of using
the pushdef stack to stack each *line* of the stack, each
definition contains the whole stack. I.e., to display the whole
stack, instead of popdefing and displaying each definition, just
display the current definition.
(m4_expansion_stack_push, m4_expansion_stack_pop): New.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Let $2 be the expected
exit status.
* tests/m4sugar.m4 (m4_require: circular dependencies): New test.
m4_flatten and m4_strip.
(m4_join): Use m4_normalize.
* acgeneral.m4 (AC_FOREACH): Use m4_normalize.
(AC_CONFIG_HEADERS): Normalize the first argument.
(AC_CONFIG_LINKS): Likewise.
(AC_CONFIG_SUBDIRS): Likewise.
(edit).
* m4sh.m4 (AS_UNAME): Eved out from...
* acgeneral.m4 (_AC_INIT_DEFAULTS): here.
(_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME.
(_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables.
Propagate their use in the executables and the test suite.
* tests/atgeneral.m4 (PATH): Include only absolute paths.
(AT_INIT): Use AS_UNAME.
Suggested by Jim.
* acgeneral.m4 (_AC_INIT_DEFAULTS): Don't define
ac_includes_default, since...
(_AC_INCLUDES_DEFAULT_REQUIREMENTS): this new macro does.
(AC_INCLUDES_DEFAULT): Require the former when default includes
are used.
(AC_CHECK_MEMBERS, _AC_CHECK_TYPE_NEW): Don't require
AC_HEADERS_STDC, that's a job for stupendous AC_INCLUDES_DEFAULT.
* acfunctions.m4 (AC_FUNC_MALLOC): Check for stdlib.h.
before creating the debug scripts.
Create a log file.
When ignoring a test, display a reassuring `ok' for stressed
users, and say `skipped' instead.
Simply run `testsuite' with the failed tests instead of running
the debug scripts, this avoids having zillions of banners `Testing
Blabla 2.13' (another means to avoid these banners is to have the
test suite succeed :-).
`0'. Test and fix.
Reported by Assar Westerlund.
* Makefile.am (maintainer-check): New target.
* tests/Makefile.am (maintainer-check, maintainer-check-posix)
(maintainer-check-c++, expr): Likewise.
* configure.in (EXPR): Look for it.
* tests/atgeneral.m4 (AT_CHECK): Propagate $2's default value.
* tests/compile.at (Extensions): New test.
* aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O):
Distinguish files with or without a dot.
(AC_PROG_CC, AC_PROG_CXX): Use it.
(AC_PROG_CC_STDC): Be sure to remove tmp files.
* tests/compile.at (AC_TRY_LINK_FUNC): Don't use exit to test it,
since it produces a prototype which conflicts with the one
computed by _AC_PROG_CXX_EXIT_DECLARATION.
* tests/semantics.at (AC_CHECK_FUNCS, AC_HAVE_FUNCS): Likewise.
(AC_HAVE_FUNCS): Test AC_HAVE_FUNCS!
pattern ` state* ' was added many times for `*' was improperly
escaped.
(AT_INIT): Remove the data files before running the tests.
Define AT_data_files and output it.
(AT_SETUP): Don't.
(_m4_divert(TEST)): Remove, now useless.
(AC_PROG_CXXCPP, AC_PROG_CPP): Set the current language instead of
just asserting it, since these macros can be called directly.
Reported by Raja R. Harinath.
visible.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Support FLAGS, STDOUT
and STDERR.
(AT_CHECK_CONFIGURE): Support plenty, cleanup defs when needed.
Spread their use in the whole suite.
Simplify a few AT_CLEANUPs.
if-not-failed.
* tests/atspecific.m4 (AT_CHECK_CONFIGURE): Use it in order to
dump config.log when configure failed. Before, the log was
reported only on success.
(AC_PROG_CPP, AC_PROG_CXXCPP, AC_PROG_GCC_TRADITIONAL)
(_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_CC_STDC):
Don't use `${CC-cc}' since now the AC_REQUIRE machinery guarantees
that $CC is defined. And if not, it's a bug which must be
observable.
* acspecific.m4 (AC_SYS_LARGEFILE): Likewise.
AC_TRY_EVAL.
(_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE): More alike,
using AS_IFELSE, and systematically AC_TRY_COMMAND when testing
something (for the logs).
configure.in maintainer, but discourage its use.
* acspecific.m4 (_AC_CYGWIN, _AC_MINGW32, _AC_EMXOS2): Rename as...
(AC_CYGWIN, AC_MINGW32, AC_EMXOS2): these.
AU defined on top of AC_CANONICAL_HOST and $host_os.
* tests/mktests.sh (update_exclude_list): Add AC_CYGWIN,
AC_MINGW32, and AC_EMXOS2.
otherwise _m4eof is appended to the output on FreeBSD 4.0.
* tests/atgeneral.m4 (AT_INIT): Avoid using unbalanced "y"
in sed, use "s" instead.
* tests/mktests.sh: Don't use ? in sed - it's a GNU extension.
Use separate patterns for A[CU]_DEFUN and AC_DEFUN_ONCE.
* acspecific.m4 (AC_EXEEXT, AC_OBJEXT, _AC_EXEEXT, _AC_OBJEXT):
Move as...
* aclang.m4 (AC_EXEEXT, AC_OBJEXT, _AC_COMPILER_EXEEXT)
(_AC_COMPILER_OBJEXT): these.
(_AC_COMPILER_EXEEXT): Use _AC_LINK_IFELSE.
Don't depend upon $CYGWIN and the like.
(_AC_COMPILER_OBJEXT): Model after _AC_COMPILER_EXEEXT.
Skip more extensions.
Use _AC_COMPILE_IFELSE.
in autoscan tables. Die if there are no spaces at all.
(scan_c_file): Use b instead of W so that keywords match at
the beginning and the end of the line.
(scan_sh_file): Likewise.
(scan_makefile): Likewise. Use B to match before `-l'.
(output): Suggest AC_CONFIG_HEADER if any C/C++ sources are
found.
* acidentifiers: Update macros for structure members st_blksize
and st_rdev.
* sh.m4 (AS_WARN, AS_ERROR): Use AS_MESSAGE.
(_AS_ECHO): Fix quotation.
(AS_MESSAGE): Use `as_me'.
* acgeneral.m4: More banners in the log.
(_AC_INIT_DEFAULTS): Compute as_me before using it.
* tests/atgeneral.m4 (AT_INIT): Set up FD 5.
(AT_CHECK): Instead of using exec to globally change the FDs of
`testsuite', enclose the body of the test into a
`(..) >stdout 2>stderr'.
In every case, when verbose, display the differences between
expected and oberved (stdout, stderr, exit status).
Let `0' be the default for EXIT-STATUS.
Support EXIT-STATUS == `ignore'.
of the test suite.
* tests/aclocal.m4 (AC_STATE_SAVE): If egrep fails, remove the
output file.
* tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Don't check `state-*'
if the files are not present.
* m4sugar.m4 (m4_join): Rename as...
(m4_smash): this.
* tests/aclocal.m4 (join): Move as...
* m4sugar.m4 (m4_flatten): this.
* autoconf.sh (trace.m4): Rename m4_smash as m4_flatten.
current language did not change.
(AC_LANG_ASSERT): New.
(AC_PROG_CPP, AC_PROG_CXXCPP): Assert the language.
(_AC_PROG_F77_V, _AC_F77_NAME_MANGLING): Don't require
AC_PROG_F77, the code you include does it.
(AC_F77_LIBRARY_LDFLAGS): Set the language.
(m4_cr_letters, m4_cr_LETTERS, m4_cr_Letters, m4_cr_digits)
(m4_cr_symbols1, m4_cr_symbols2, m4_re_string, m4_re_word)
(m4_init): New macros.
(m4_token_allow): Remove.
* acgeneral.m4: Don't push BODY into the diversion stack.
(AC_PLAIN_SCRIPT): Do it.
Call m4_init, define the Autoconf patterns.
(AC_INIT): Use AC_PLAIN_SCRIPT.
Remove the useless `dnl' (those where the current diversion is
KILL).
* autoconf.sh (m4_common): Fix quotation.
(finalize.awk): Load forbidden.rx and allowed.rx.
Split the line into tokens, and check their validity.
* tests/tools.at (Forbidden tokens): Adjust.
alike: a loop over a sorted list of possible files.
Don't cleanup on errors, the trap will do it.
Cleanup when there are no errors.
(_AC_EXEEXT): Use the empty string instead of `no' as the cached
value.
Be sure to prefer `.exe' to `' when the two are observable.
Suggested by Lars and Earnie.
that `confestval' be read in binary mode. The shell then fails to
properly strip the rn.
Reported by Lars J. Aas.
* aclang.m4 (AC_LANG_INT_SAVE): Don't add any trailing new line,
and close the file.
Suggested by Peter Eisentraut.
around ${foo=bar}.
(Assignments): Rewrite as a summary of the previous section.
* acgeneral.m4 (AC_CACHE_SAVE): Be protected against the Solaris'
`${foo='${bar}'}' bug.
* doc/autoconf.texi (Limitations of Usual Tools) <expr>: More
information, thanks to Paul Berrevoets, Paul Eggert and David
Morgan.
* sh.m4 (_AS_EXPR_PREPARE): New.
(AS_DIRNAME): Use it.
* tests/atgeneral.m4 (AT_INIT): Initialize AT_banner_ordinal.
Execute the epilogue of the tests only if a test was run.
Don't built the value of `at_tests_all' by a for loop: expand
AT_TESTS_ALL.
(AT_SETUP): Build AT_TESTS_ALL.
(AT_BANNER): New.
Adjust all the former banners to use it.
(AT_CHECK): Don't trace the decoding of $?.
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO)): Remove, replaced
by...
(_m4_divert(DEFAULT), _m4_divert(OPTIONS), _m4_divert(HELP))
(_m4_divert(SETUP)): these.
(_m4_divert(SUITE_EPI)): Rename as...
(_m4_divert(TAIL)): this.
(AT_INIT): Adjust to the new diversions.
Insert the magic number.
Accept test groups as cli argument.
List the test groups.
Rename TESTS, test, and tests as at_tests_all, at_test, and
at_tests.
Have the debug scripts pass options to test suite.
Remove their banner.
* tests/atspecific.m4: Don't divert to 0.
* suite.at: Don't insert the magic number.
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS))
(_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions.
Push the first two diversions.
(AT_INIT): Don't.
(AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named
diversions.
(AT_CLEANUP_FILES): New macros.
(AT_SETUP, AT_CHECK, AT_CLEANUP): Use them.
(AT_CHECK): Fix a use of at_verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER)
(AT_CHECK_CONFIGURE): New macros.
* tests/atgeneral.m4 (AT_SETUP, AT_CLEANUP): No longer handle
at_stop_on_error.
(AT_INIT): After having checked whether the test failed, break out
of the loop if requested (-e).
specific test.
* tests/atgeneral.m4 (AC_INIT) <at_debug>: New variable, new
option, -d, to disable the creation of the debug scripts (when
testsuite was already launched from one).
<at_test_count>: Really compute it instead of using the number of
the last test run.
As a known side effect, currently any code outside
AT_SETUP/AT_CLEANUP is discarded.
* acgeneral.m4 (_m4_divert(KILL)): Move to...
* m4sugar.m4: here.
* tests/atgeneral.m4 (AT_INIT): Use m4_divert_push/pop instead of
m4_divert.
Put all the tests inside a for;case.
Define TESTS.
(AT_SETUP, AT_CLEANUP): Open/close each case.
* tests/atgeneral.m4: Import M4sh.
Adjust the differences on the names of the builtins (define etc.).
(AT_CASE): Remove, use m4_case.
(AT_SETUP): Don't use `AT_group_description', `$1' is OK.
* tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of
M4sugar.
* tests/m4sugar.at: Strengthen the quotation and adjust to the new
macro names.
* tests/m4sh.at: Ditto.
* tests/torture.at: Ditto.
* tests/base.at: Ditto.
* m4sh.m4: Import M4sugar.
* autoconf.m4: Don't import M4sugar, M4sh does.
* acgeneral.m4 (_AC_RUN_IFELSE): Instead of canceling the output
of the test program, save it into the log.
Save the exit status, and report it in the log when non zero.
Just use `(./conftest)' instead of `(./conftest; exit)'.
(_AC_SYS_LARGEFILE_TEST_INCLUDES): this.
(AC_SYS_LARGEFILE_MACRO_VALUE): Use AC_LANG_PROGRAM instead of
_AC_SYS_LARGEFILE_SOURCE, i.e., don't pass
_AC_SYS_LARGEFILE_TEST_INCLUDES by default: this isn't desirable
when checking for fseeko.
(AC_SYS_LARGEFILE): Pass AC_SYS_LARGEFILE_TEST_INCLUDES to
_AC_SYS_LARGEFILE_MACRO_VALUE, since it no longer does this for us.
* tests/tools.at (Forbidden tokens): Test m4_token_allow.
* m4sugar.m4 (m4_file_append, m4_token_allow): New macros.
* autoconf.sh (task script): Pass `tmp' and `verbose' to
finalize.awk.
(finalize.awk::check_patterns): Eve out from the body.
(finalize.awk): Read `$tmp/tokens_allowed', and don't complain for
these exceptions.
whether fseeko and ftello are properly declared.
* acfunctions.m4 (AC_FUNC_FSEEKO): New macro, which worries about
fseeko (and presumably ftello). Do not set _XOPEN_SOURCE; that
causes too many problems in practice.
* acfunctions (fteelo, fseeko): Trigger AC_FUNC_FSEEKO.
* doc/autoconf.texi: Adjust.
* m4sugar.m4 (_m4_require): $2 defaults to $1.
Rename as...
(m4_require): this.
* acgeneral.m4 (_AC_REQUIRE): Remove, use m4_require if you want
to get into the gory details.
The main difference is that the former requires AC_LANG_COMPILER.
* aclang (AC_LANG_PREPROC, AC_LANG_PREPROC(C), AC_LANG_PREPROC(C++))
(AC_LANG_PREPROC(Fortran 77), AC_LANG_PREPROC_REQUIRE): New
macros. Issue a warning when looking for the Fortran 77
preprocessor instead of an error.
(AC_LANG_COMPILER): Check that it is run before the corresponding
AC_LANG_PREPROC.
(AC_PROG_C
(AC_LANG_COMPILER_REQUIRE): Don't call directly
AC_LANG_COMPILER(_AC_LANG), rather invoke AC_LANG_COMPILER so that
the generic code in AC_LANG_COMPILER is run.
(AC_REQUIRE_CPP): Use AC_LANG_PREPROC_REQUIRE.
(AC_PROG_CC, AC_PROG_CXX): Don't require being run before the
corresponding AC_LANG_PREPROC: AC_LANG_COMPILER does it.
Propagate AC_LANG_PREPROC_REQUIRE.
* acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP): Use it instead of
AC_REQUIRE_CPP.
* acspecific.m4 (_AC_DECL_YYTEXT, AC_PATH_X): Don't
AC_REQUIRE_CPP, inner macro will do it.
* aclang.m4 (AC_PROG_GCC_TRADITIONAL, AC_C_STRINGIZE)
(AC_C_PROTOTYPES): Likewise.
(AC_C_STRINGIZE): Yeeks! The body of AC_CACHE_CHECK was not
quoted. Use @%:@ do assist Emacs.
For some reason (don't ask), this revamping revealed that
AC_PROG_CC_STDC, because of the `break', does not clean its tmp
files.
* aclang.m4 (AC_PROG_CC_STDC): Extract the creation of conftest.c
out of AC_COMPILE_IFELSE.
Be sure to clean the tmp files.
instead of hard coded `configure'.
* acgeneral.m4 (AC_COPYRIGHT): s/configure.in/__file__/.
(_AC_INIT_DEFAULTS_FDS): Append to AC_FD_LOG instead of creating
it. No longer insert the configure banner.
(_AC_INIT_DEFAULTS): Create config.log with the banner.
Define `as_me'.
(_AC_INIT_PARSE_ARGS, _AC_INIT_PREPARE, AC_MSG_NOTICE)
(AC_MSG_CHECKING, AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED)
(AC_MSG_WARN, AC_MSG_ERROR, AC_MSG_ERROR, AC_TRY_CPP)
(_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE)
(_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_PROG_F77_V_OUTPUT): Use
`$as_me' instead of `configure'.
(AC_OUTPUT): Get rid of the UCA, and of the empty line when
dumping confdefs.h into config.log.
(_AC_OUTPUT_CONFIG_STATUS): Use _AC_INIT_DEFAULTS_FDS.
Print a banner.
Use AC_MSG_ERROR and AC_MSG_NOTICE.
* acgeneral.m4 (AC_CACHE_LOAD, _AC_OUTPUT_FILES, _AC_OUTPUT_LINKS)
(_AC_OUTPUT_HEADERS): Use AC_MSG_NOTICE.
* tests/semantics.at (missing templates): Adjust.
AC_INIT
AC_PROG_CC
AC_LANG_COMPILER_REQUIRE
AC_PROG_CC is expanded twice, because AC_PROG_CC provides
`AC_PROG_CC', and not `AC_LANG_COMPILER(C)' as expected by
AC_LANG_COMPILER_REQUIRE.
* aclang.m4 (AC_LANG_COMPILER(C)): Instead of calling AC_PROG_CC,
require it.
(AC_LANG_COMPILER(C++), AC_LANG_COMPILER(Fortran 77)): Likewise.