Akim Demaille [Tue, 24 Oct 2000 16:54:48 +0000 (16:54 +0000)]
Start avoiding dependence upon character ranges.
* acgeneral.m4 (_AC_INIT_DEFAULTS): Introduce `ac_cr_AZ',
`ac_cr_az', `ac_cr_09', `ac_cr_alnum' and `ac_hostname'.
Spread their use.
Akim Demaille [Tue, 24 Oct 2000 16:37:14 +0000 (16:37 +0000)]
* acgeneral.m4 (AC_OUTPUT): Don't play with `trap'.
(_AC_INIT_PREPARE): Trap after having created config.log.
Also trap on 0.
When trapped, report why in config.log.
(AC_MSG_WARN, AC_MSG_ERROR): Also output the message in
config.log.
Akim Demaille [Tue, 24 Oct 2000 11:59:45 +0000 (11:59 +0000)]
* acgeneral.m4 (_AC_SHELL_DIRNAME): Rename as...
(AC_SHELL_DIRNAME): this.
s/X$1/X[]$1/ so that when $1 is a macro, it's given a chance to be
expanded.
(AC_PREFIX_PROGRAM): Use AC_SHELL_DIRNAME.
Quote properly.
Akim Demaille [Mon, 23 Oct 2000 19:13:37 +0000 (19:13 +0000)]
Since GNU M4 now comes with its libm4 (binary), to avoid
ambiguities let's rename `libm4' (M4 code) as `m4sugar':
Readability And Greater Understanding Stands 4 M4sugar
name coined by Lars J. Aas.
* libm4.m4: Rename as...
* m4sugar.m4: this.
All dependencies adjusted.
Akim Demaille [Mon, 23 Oct 2000 18:58:43 +0000 (18:58 +0000)]
* tests/mktests.sh (update_exclude_list, syntax_exclude_list): Add
`AC_PREREQ'.
* tests/tools.m4: Globally, don't use `../' to invoke the tested
tools, since the PATH is properly set, and in most cases it
obfuscates the test code.
(autoupdating AC_PREREQ): New tests.
Akim Demaille [Mon, 23 Oct 2000 18:32:17 +0000 (18:32 +0000)]
In order to check that all the CPP symbols which are AC_DEFINE'd
are properly templated, autoheader traces
AC_DEFINE/AC_DEFINE_UNQUOTED. Only literals can be traced, and
actually tracing non literals produces invalid autoheader input.
Hence, provide a means to trace calls to
AC_DEFINE/AC_DEFINE_UNQUOTED with literals.
* acgeneral.m4 (AC_DEFINE_TRACE, AC_DEFINE_TRACE_LITERAL): New
macros.
(AC_DEFINE, AC_DEFINE_UNQUOTED): Use AC_DEFINE_TRACE.
* autoheader.sh: Trace AC_DEFINE_TRACE_LITERAL, not
AC_DEFINE/AC_DEFINE_UNQUOTED.
Akim Demaille [Mon, 23 Oct 2000 17:41:27 +0000 (17:41 +0000)]
Let autoupdate change AC_PREREQ to require the current version of
Autoconf.
* acgeneral.m4 (_AC_VERSION_UNLETTER, _AC_VERSION_COMPARE): Move
to...
* libm4.m4 (m4_version_unletter, m4_version_compare): here.
Adjust dependencies.
* acgeneral.m4 (AU::AC_PREREQ): New macro.
* autoupdate.sh: Fail when `m4 input.m4' fails.
Akim Demaille [Wed, 18 Oct 2000 16:18:18 +0000 (16:18 +0000)]
* aclang.m4 (_AC_PROG_CC_G): Use the _AC_COMPILE_IFELSE macro
instead of reinventing the wheel. This also takes care of a bug
where the "-g" option was accepted if the compiler silently exits
with status unequal to 0.
(_AC_PROG_CXX_G): Likewise.
(AC_PROG_CC): As _AC_PROG_CC_G depends on $ac_objext and
$ac_exeext, move the expansion of _AC_OBJEXT and _AC_EXEEXT in
front of _AC_PROG_CC_G.
(AC_PROG_CXX, AC_PROG_F77): Likewise.
Akim Demaille [Wed, 18 Oct 2000 12:42:20 +0000 (12:42 +0000)]
* tests/atgeneral.m4 (AT_INIT): Avoid foo="`bar`", foo=`bar` is
enough.
Use grep to check the presence of a string in a stream.
* m4/atconfig.m4: Quote.
Akim Demaille [Tue, 17 Oct 2000 16:34:10 +0000 (16:34 +0000)]
* acgeneral.m4 (AC_CHECK_TOOL): As AC_CHECK_PROG first tests the
value of the VARIABLE argument when looking for executables, we
need to set it to the correct value from AC_CHECK_TOOL when not
just passing on the incoming VARIABLE directly.
(AC_CHECK_TOOLS, AC_PATH_TOOL): Likewise.
Akim Demaille [Tue, 17 Oct 2000 12:48:50 +0000 (12:48 +0000)]
* acgeneral.m4 (_AC_INIT_PREPARE): Move the
_AC_INIT_PREPARE_ENVIRONMENT invocation to...
(_AC_INIT_DEFAULTS): here, so that we keep the same known
environment for more of the script.
Akim Demaille [Tue, 17 Oct 2000 09:43:33 +0000 (09:43 +0000)]
Somehow, the adjustment of `mktests.sh' claimed on 2000-10-17 by
myself (`Fix autoupdate...') was not applied.
* tests/mktests.sh (update_exclude_egrep): Add AC_INIT, AC_OUTPUT,
AC_LINK_IFELSE.
Akim Demaille [Tue, 17 Oct 2000 09:08:32 +0000 (09:08 +0000)]
* acgeneral.m4 (AC_CHECK_PROG, AC_CHECK_PROGS, AC_PATH_PROG)
(AC_PATH_PROGS, AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Fix
the quotation.
(AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Check with the
$ac_tool_prefix iff it is not empty.
Akim Demaille [Tue, 17 Oct 2000 08:41:26 +0000 (08:41 +0000)]
* acgeneral.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE)
(_AC_RUN_IFELSE): Before compiling, remove the files expected to
be produced.
(_AC_LINK_IFELSE, _AC_RUN_IFELSE): You don't create object files,
so don't remove them.
Akim Demaille [Tue, 17 Oct 2000 08:07:59 +0000 (08:07 +0000)]
Give a means to report where the macros have been defined in error
messages.
* libm4.m4 (m4_location): New macro.
(m4_errprint): Rename as...
(m4_diagnose): this. Use m4_location.
Adjust dependencies.
(m4_errprint): New macro, similar to `errprint' but for an
additional trailing `n'.
* acgeneral.m4 (AC_DEFUN, AC_DEFUN_ONCE): Define `m4_location($1)'
to the current location (i.e., that of the definition of $1).
(_AC_DEFUN_PRO, _AC_REQUIRE): Also push the location of the
current macro in the stack.
(_AC_EXPANSION_STACK_DUMP): Adjust.
Akim Demaille [Tue, 17 Oct 2000 07:55:44 +0000 (07:55 +0000)]
Fix autoupdate: updating `AC_OUTPUT_COMMANDS' was failing because
it includes another AU defined macro.
* autoupdate.sh (input.m4:_au_defun): New macro.
(au.m4): Use it instead of inlining _au_enable/_au_disable
invocations in the definition of all these macros.
(input.m4:__au_enable, input.m4:__au_disable): New macros.
(input.m4:_au_enable, input.m4:_au_disable): Use them.
* tests/mktests.sh (update_exclude_list): Add `AC_OUTPUT'.
Running it twice in a configure.in is not valid.
Add `AC_LINK_FILES' since it requires arguments.
* tests/tools.m4 (autoupdating AC_LINK_FILES): New test.
Pavel Roskin [Sun, 15 Oct 2000 02:12:38 +0000 (02:12 +0000)]
* m4/missing.m4 (AM_MISSING_PROG): Use $SHELL to run "missing"
* configure.in: Don't add $SHELL to the path of help2man -
it is already added by AM_MISSING_PROG.
Pavel Roskin [Thu, 12 Oct 2000 20:46:23 +0000 (20:46 +0000)]
* acspecific.m4 (AC_PROG_LEX): Don't assume that lex exists.
Don't run _AC_DECL_YYTEXT if it doesn't. Always check libl and
libfl regardless of the $LEX value.
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.