(_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.
(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.
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.
`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.
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.
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.
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.
(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.
(_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.
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.
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.
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.
* 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.
(_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.
* aclang.m4 (_AC_LANG_COMPILER_WORKS): Likewise.
* aclang.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O): Fix typos where
$objext were used instead of $ac_objext.