Akim Demaille [Thu, 11 Jan 2001 15:17:13 +0000 (15:17 +0000)]
* aclang.m4 (_AC_PROG_CXX_EXIT_DECLARATION): New.
(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!
Akim Demaille [Thu, 11 Jan 2001 10:06:39 +0000 (10:06 +0000)]
* aclang.m4: Use m4_copy to duplicate macros.
(AC_LANG_PUSH): In order to have AC_LANG's simplifications
effective, be sure to let _AC_LANG be the old language before
calling AC_LANG.
Akim Demaille [Sat, 23 Dec 2000 10:11:57 +0000 (10:11 +0000)]
* autoconf.sh: Promote `configure.ac' over `configure.in'.
* autoreconf.sh: Likewise.
* autoheader.sh: Ditto.
* autoupdate.sh: Similarly.
* doc/autoconf.texi: Adjust.
* tests/atspecific.m4: Be sure to remove configure.in.
Adjust the test suite to use `configure.ac'.
Akim Demaille [Wed, 20 Dec 2000 18:41:10 +0000 (18:41 +0000)]
* aclang.m4 (_AC_COMPILER_OBJEXT, _AC_COMPILER_EXEEXT_O):
Make the order of arguments for ls count by splitting the ls
command into a sequence of ls commands.
Akim Demaille [Wed, 20 Dec 2000 09:15:59 +0000 (09:15 +0000)]
* tests/atgeneral.m4 (AT_CLEANUP_FILE_IFELSE): Fix the regexp: the
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.
Akim Demaille [Wed, 20 Dec 2000 09:13:54 +0000 (09:13 +0000)]
* aclang.m4: `dnl' the AC_LANG_PUSH and AC_LANG_POP.
(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.
Akim Demaille [Tue, 19 Dec 2000 08:15:48 +0000 (08:15 +0000)]
* tests/atgeneral.m4 (AT_CHECK): Make exit status report more
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.
Akim Demaille [Tue, 19 Dec 2000 08:15:20 +0000 (08:15 +0000)]
* tests/atgeneral.m4 (AT_CHECK): Accept if-failed and
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.
Pavel Roskin [Fri, 15 Dec 2000 19:23:16 +0000 (19:23 +0000)]
* autoconf.sh: If the "allowed" pattern is not defined set it
to "^$".
* tests/tools.at (autoconf: forbidden tokens, basic): New test.
(autoconf: forbidden tokens): Renamed to ...
(autoconf: forbidden tokens, exceptions): ... this.
Akim Demaille [Fri, 15 Dec 2000 07:49:13 +0000 (07:49 +0000)]
* aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77))
(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.
Akim Demaille [Fri, 15 Dec 2000 07:48:41 +0000 (07:48 +0000)]
* acgeneral.m4 (_AC_PREPROC_IFELSE): Use ac_status as set by
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).
Akim Demaille [Fri, 15 Dec 2000 07:48:17 +0000 (07:48 +0000)]
* aclang.m4 (_AC_PROG_PREPROC_WORKS): Use _AC_PREPROC_IFELSE.
* acgeneral.m4 (_AC_TRY_CPP): Its last use was that above, so
inline it into...
(_AC_PREPROC_IFELSE): here.
Pavel Roskin [Thu, 14 Dec 2000 15:36:47 +0000 (15:36 +0000)]
* tests/semantics.at (AC_CHECK_TYPES): There are two tests with
this name. Rename the second one to "AC_CHECK_TYPES: backward
compatibility"
(AC_TRY_LINK_FUNC): Removed. It's now in tests/compile.at.
(C keywords): Likewise.
(AC_PROG_CPP with warnings): Likewise.
(AC_PROG_CPP without warnings): Likewise.
Akim Demaille [Thu, 14 Dec 2000 09:39:33 +0000 (09:39 +0000)]
Put back AC_CYGWIN etc. under the responsibility of the
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.
Pavel Roskin [Wed, 13 Dec 2000 14:53:51 +0000 (14:53 +0000)]
* m4sugar.m4 (m4_file_append): Add a newline after _m4eof,
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.
Akim Demaille [Wed, 13 Dec 2000 12:36:54 +0000 (12:36 +0000)]
EXEEXT and OBJEXT don't need to know $CYGWIN etc.
* 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.
Pavel Roskin [Tue, 12 Dec 2000 12:45:41 +0000 (12:45 +0000)]
* autoscan.pl (init_tables): Allow spaces on the right hand side
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.
Akim Demaille [Tue, 12 Dec 2000 10:53:41 +0000 (10:53 +0000)]
AS_ERROR was not properly saving data in the log file.
* 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.
Akim Demaille [Wed, 6 Dec 2000 16:29:50 +0000 (16:29 +0000)]
Stop playing with FDs in Autotest.
* 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'.
Akim Demaille [Wed, 6 Dec 2000 15:00:45 +0000 (15:00 +0000)]
* doc/autoconf.texi (Limitations of Usual Tools) <awk>: `for' on
arrays is nondeterministic across AWK implementations.
* tests/tools.at (autoconf: forbidden tokens): Sort the error
message to guarantee its uniqueness.
Akim Demaille [Wed, 6 Dec 2000 14:05:46 +0000 (14:05 +0000)]
The SunOS' egrep fails to process properly the `egrep' invocations
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.
Akim Demaille [Wed, 6 Dec 2000 10:53:58 +0000 (10:53 +0000)]
* autoconf.sh (task trace): s/m4/$M4/.
* autoheader.sh: When loading trace.sh, catch errors and exit with
a decent error message.
* tests/tools.at: Be sure to test autoconf --trace before
autoheader.
Akim Demaille [Wed, 6 Dec 2000 08:59:08 +0000 (08:59 +0000)]
* aclang.m4 (AC_LANG): Be `smart': don't issue the sh code if the
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.
Akim Demaille [Wed, 6 Dec 2000 08:58:13 +0000 (08:58 +0000)]
* m4sugar.m4 (m4_dquote, m4_pattern_forbid, m4_pattern_allow)
(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.
Akim Demaille [Tue, 5 Dec 2000 14:08:35 +0000 (14:08 +0000)]
* aclang.m4 (AC_PROG_F77): Temporarily set ac_ext to F to run
_AC_LANG_COMPILER_GNU.
From Steven G. Johnson.
* tests/compile.at (GNU Fortran 77): New test.
Akim Demaille [Thu, 30 Nov 2000 16:30:53 +0000 (16:30 +0000)]
* sh.m4 (_AS_EXPR_PREPARE): Don't rely on the exit status of a
back quote evaluation since the very system for which the test was
written does not propagate it. Groumph!
Akim Demaille [Thu, 30 Nov 2000 15:24:13 +0000 (15:24 +0000)]
* acspecific.m4 (_AC_EXEEXT, _AC_OBJEXT): Make the two macros more
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.
Akim Demaille [Thu, 30 Nov 2000 14:49:43 +0000 (14:49 +0000)]
When using Cygwin, in spite of all their efforts, it may happen
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.