* 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.
`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!
(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.
(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.
* 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.
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.
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.
* 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.
comments and empty lines.
Check that freezing produced no output.
* m4sugar.m4: Commentize what was not.
* m4sh.m4: Likewise.
* aclang.m4: Formatting changes.
Autoconf's file, do it afterwards, so that Autoconf promotes the
right use, but users still can use the old names.
Of course this revealed numerous non updated uses of old macros in
Autoconf's files. Adjust them.
But for the time being, keep `define' alive for Autoconf.
* acgeneral.m4 (_AC_DIVERT, AC_DIVERT, AC_DIVERT_PUSH)
(AC_DIVERT_POP): Move to...
* m4sugar.m4 (_m4_divert, m4_divert, m4_divert_push)
(m4_divert_pop): here.
* acgeneral.m4: Adjust to use only the M4sugar macros.
Nevertheless...
(AC_DIVERT_PUSH, AC_DIVERT_POP): New wrappers around the M4sugar
macros.
(_AC_DIVERT(...)): Rename all the diversions names as...
(_m4_divert(...)): these.
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.
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.
* 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.
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.
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.