Akim Demaille [Thu, 12 Oct 2000 15:02:42 +0000 (15:02 +0000)]
* tests/mktests.sh: Backslash the quote in the heredocs to help
syntax highlighting tools.
* tests/atspecific.m4 (AT_CHECK_UPDATE): Give a better AT_SETUP
title.
Akim Demaille [Thu, 12 Oct 2000 12:39:25 +0000 (12:39 +0000)]
Macros used by AC_LANG_COMPILER macros shall not AC_REQUIRE
AC_LANG_COMPILER by the way of AC_COMPILE_IFELSE etc.
* acspecific.m4 (_AC_EXEEXT): Use _AC_LINK_IFELSE, not
AC_LINK_IFELSE to avoid AC_REQUIREing AC_PROG_CC which precisely
requires _AC_EXEEXT.
Don't run _AC_CYGWIN, _AC_MINGW32, _AC_EMXOS2.
* aclang.m4 (_AC_PROG_F77_G): Use _AC_COMPILE_IFELSE, not
AC_COMPILE_IFELSE.
(_AC_LANG_COMPILER_WORKS): Use _AC_LINK_IFELSE, not
AC_LINK_IFELSE.
Akim Demaille [Thu, 12 Oct 2000 10:12:43 +0000 (10:12 +0000)]
Diagnose AC_REQUIRE circular dependencies.
* acgeneral.m4 (_AC_DEFUN_PRO, _AC_DEFUN_EPI): Keep a stack of
macro expansions, _AC_EXPANSION_STACK.
Use `_AC_EXPANDING(FOO)' to record the fact that `FOO' is being
expanded.
(_AC_REQUIRE): Diagnose required macros which are already being
expanded.
Record in _AC_EXPANSION_STACK the AC_REQUIRE calls.
(_AC_EXPANSION_STACK_DUMP): New macro.
Pavel Roskin [Wed, 11 Oct 2000 17:55:46 +0000 (17:55 +0000)]
* acgeneral.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE)
(_AC_RUN_IFELSE): New macros which are the former
AC_COMPILE_IFELSE etc. without AC_LANG_COMPILER_REQUIRE.
(AC_COMPILE_IFELSE, AC_LINK_IFELSE, AC_RUN_IFELSE): Use them.
Akim Demaille [Thu, 5 Oct 2000 09:39:06 +0000 (09:39 +0000)]
* tests/mktests.sh: New file, which replaces the code inlined in
Makefile.am.
* src/Makefile.am (macros.m4): Use `mktests.sh'.
* tests/suite.m4: Reorder from low level to high level.
Pavel Roskin [Mon, 2 Oct 2000 12:47:13 +0000 (12:47 +0000)]
* acspecific.m4 (AC_PROG_LEX): Use AC_DEFUN_ONCE.
(AC_DECL_YYTEXT): Don't use AC_REQUIRE because autoupdate
would place it into configure.in but it's not allowed
outside AC_DEFUN.
* autoheader.sh: Fix trap (EXIT) status.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoconf.sh: Change `exit' to `{ (exit 1); exit; }' after m4 and
awk commands to ensure exit state is in a defined state.
Pavel Roskin [Thu, 21 Sep 2000 13:42:49 +0000 (13:42 +0000)]
* tests/atspecific.m4 (_AT_CHECK_AC_MACRO): Check stderr from
autoconf and autoheader. Expected warnings disabled by "-W none"
Preceding comment removed as no longer relevant.
* tests/semantics.m4 (AC_CHECK_PROG & AC_PATH_PROG): Check
stderr from autoconf.
(AC_PATH_PROG & AC_PATH_PROGS): Likewise.
(AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Likewise.
* tests/tools.m4 (autoheader): Check that autoheader prints
a warning for missing templates. Check stderr from autoconf.
* tests/torture.m4 (config.status under extreme conditions):
Check stderr from autoconf and autoheader.
(command line interface): Check stderr from autoconf.
* tests/atgeneral.m4: Formatting changes.
(AT_INIT): Let `at_stop_on_error' and `at_verbose' be `:'/`false'
variables instead of `'/`1'.
`at_check_stds' replaces `at_no_redirs'.
Rename `Snippet 3' as `Snippet 4'.
Introduce `Snippet 3' for variable initializations.
Adjust the dependencies.
(AT_CHECK): Don't show diff's result unless verbose.
Pavel Roskin [Wed, 20 Sep 2000 13:12:13 +0000 (13:12 +0000)]
* tests/Makefile.am: AC_PREFIX_PROGRAM and AC_F77_FUNC excluded
from testing because they require an argument.
* tests/atspecific.m4: Make sure that configure doesn't write
anything to stderr.
* acgeneral.m4 (AU_ALIAS): Do not use `defn' since then autoupdate
would replace an old macro call with the new macro body instead of
the new macro call.
* tests/tools.m4 (autoupdate): Test an AU_ALIAS'd macro update.
* tests/atspecific.m4 (_AT_CHECK_AC_MACRO): New macro.
(AT_TEST_MACRO): Use it.
* tests/semantics.m4 (AC_PROG_CPP with warnings, AC_PROG_CPP
without warnings): New tests.
* acgeneral.m4 (_AC_OUTPUT_SUBDIRS): Check for configure.gnu
as well.
(_AC_INIT_HELP): Likewise.
(NEWS): Note checking for configure.gnu.
* doc/autoconf.texi: Document checking for configure.gnu when
recursing subdirectories.
* acfunctions.m4 (AC_FUNC_GETLOADAVG): Restore the initial value
of LIBS. Otherwise, everyone ends up linking with -lelf for some
configurations.
Reported by Mike Stone.
* aclang.m4 (AC_PROG_CPP): Use double quotes in the for loop
and eliminate ac_tmp_cpp.
(AC_PROG_CXXCPP): Use double quotes in the for loop and
eliminate ac_tmp_cxxcpp.
* acgeneral.m4 (_AC_TRY_CPP): Don't filter out conftest.$ac_ext
from the output - it is only printed by Visual C that gives
correct exit status.
* aclang.m4 (AC_PROG_CPP): Don't try '${CC-cc} -nologo -E'
by the same reason.
The test suite fails on some hosts because for instance
AC_INIT
AC_CHECK_FUNC(exit)
will not look for a compiler, it will just use `cc'.
Macros that need a compiler should require one.
* acgeneral.m4 (_AC_TRY_CPP): New macro. It runs the preprocessor
and checks whether it produces errors or warnings. Don't put grep
output into a variable, use another grep instead.
(AC_TRY_CPP): Use _AC_TRY_CPP. Copy conftest.err to config.log
if the case of an error.
* aclang.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Fortran 77)):
define AC_LANG_ABBREV to the short language name.
(_AC_PROG_CPP_WORKS): New macro. It checks whether the current
preprocessor can be used to check for existance of headers.
Most code taken from ...
(AC_PROG_CPP): ... here. Use _AC_PROG_CPP_WORKS. Use shell
"for" to find working CPP. Use AC_LANG_PUSH(C) and AC_LANG_POP -
it's a macro for C only.
(AC_PROG_CXXCPP): Rewritten using _AC_PROG_CPP_WORKS.
* acgeneral.m4 (_AC_WARNING_ERROR_IFELSE)
(__AC_WARNING_ERROR_IFELSE): New macros for checking whether
warnings should be considered errors.
(_AC_DIAGNOSE): Use _AC_WARNING_ERROR_IFELSE.
* doc/autoconf.texi (Preset Output Variables): Correctly specify
what languages are affected by CPPFLAGS, LDFLAGS and LIBS.
Extended description of LDFLAGS and LIBS.
(Compilers and Preprocessors, C Compiler Characteristics):
Recommend Automake as the source of ansi2knr.
(Autoconf Language, Quotation and Nested Macros): English fixes.
(Quotation and Nested Macros): Unclear example replaced with
an explanation of when m4 expands quotes. Added explanation why
unquoted calls are dangerous.
* acspecific.m4 (_AC_OBJEXT): No longer use AC_COMPILE_IFELSE,
which uses $ac_objext hence depends upon _AC_OBJEXT.
* aclang.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): Call
_AC_EXEEXT before _AC_OBJEXT since the former needs $ac_objext.
Akim Demaille [Fri, 11 Aug 2000 08:25:15 +0000 (08:25 +0000)]
* acfunctions.m4 (AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH,
AM_FUNC_MKTIME, AM_FUNC_OBSTACK, AM_FUNC_STRTOD): Deactivate
their AU_ALIAS definition: Automake 1.4 does not quote the name of
these macros, hence when Autoconf reads Automake's definition the
name is expanded with unpredictable results.
Akim Demaille [Wed, 9 Aug 2000 06:53:07 +0000 (06:53 +0000)]
* autoconf.sh (finalize.awk): Don't leave spaces before the user
function calls.
Reported by John David Anglin.
* doc/autoconf.texi (Limitations of Usual Tools): Start the AWK
section.
* tests/tools.m4 (AWK portability): New test.
Akim Demaille [Mon, 7 Aug 2000 12:07:17 +0000 (12:07 +0000)]
* autoconf.sh (finalize.awk): New subtool, eved from the previous
literal AWK program that performed the `oline' and quadrigraphs
substitution.
Fix its `oline' computation which was dead wrong when there are
empty lines (i.e., always).
Enhance it in order to look for and report unexpanded macro.
Don't let it pretend there are bugs in Autoconf (c:, the test
suite makes this scenario pretty unlikely as opposed to an actual
user bug.
Catch `m4_' too.
Remove the shell snippet which used to do this.
Akim Demaille [Fri, 4 Aug 2000 09:13:16 +0000 (09:13 +0000)]
Solaris' /usr/ucb/expr, and SunOS' /usr/bin/expr fail with the `:'
operator when \(\) is used, and matches a string longer than 120
characters.
Reported by Geoff Keating.
* doc/autoconf.texi (Limitations of Usual Tools): Some words about
this.
* acgeneral.m4 (_AC_SHELL_DIRNAME): Fall back to echo|sed if expr
fails.
From Paul Eggert.
Akim Demaille [Fri, 4 Aug 2000 09:04:56 +0000 (09:04 +0000)]
* acgeneral.m4: (AC_RUN_IFELSE, AC_LINK_IFELSE, AC_COMPILE_IFELSE):
Don't create the source file if none is given, and in this case,
don't remove it either.
Akim Demaille [Wed, 2 Aug 2000 17:40:25 +0000 (17:40 +0000)]
Release Automake from being a substitute to Autoconf.
* acspecific.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL, AC_HEADER_TIOCGWINSZ,
AC_SYS_POSIX_TERMIOS): New macros from both Automake and the
fileutils.
Akim Demaille [Tue, 1 Aug 2000 12:20:14 +0000 (12:20 +0000)]
AC_VALIDATE_CACHED_SYSTEM_TUPLE no longer works properly since the
AC_CANONICAL_* revamping.
Reported by Peter Eisentraut.
In fact, let's just use the precious variables handling.
* acgeneral.m4 (AC_VALIDATE_CACHED_SYSTEM_TUPLE): Obsoleted.
(_AC_ARG_VAR_PRECIOUS): New macro, eved from...
(AC_ARG_VAR): this macro. Adjust.
(_AC_INIT_PREPARE): `build_alias', `host_alias', and
`target_alias' are precious.
* doc/autoconf.texi: Adjust.