Akim Demaille [Tue, 1 Aug 2000 11:22:42 +0000 (11:22 +0000)]
* acgeneral.m4 (_AC_INIT_PREPARE_ENVIRONMENT): Neutralize also
LC_COLLATE and LC_NUMERIC.
* autoconf.m4: Don't rely on character ranges with tr.
* doc/autoconf.texi (Special Shell Variables): Adjust.
Akim Demaille [Tue, 1 Aug 2000 09:12:34 +0000 (09:12 +0000)]
* acgeneral.m4 (_AC_INIT_NOTICE): Adjust so that there are no
empty lines in the header comments (should be `#' alone instead).
Reported by Didier Verna.
Akim Demaille [Tue, 1 Aug 2000 08:17:07 +0000 (08:17 +0000)]
* acgeneral.m4 (AC_REVISION): Put a dot at the end of the line.
(_AC_INIT_HELP): Output the bug report address at
the end of a `configure --help' output.
(_AC_INIT_NOTICE): Ditto, but at the top of `configure'.
* acgeneral.m4 (_AC_INIT_PREPARE_FDS): New macro, pulled out of
(_AC_INIT_PREPARE): here, where it is called from.
* aclang.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Don't test -z "`foo`".
* acgeneral.m4 (_AC_DIVERT(INIT_PARSE_ARGS)): Rename as...
(_AC_DIVERT(PARSE_ARGS)): this. Adjust dependencies.
(AC_ARG_WITH): Remove spurious newline.
(AC_ARG_VAR): No longer save precious variables in
ac_configure_args, rather snapshot them twice (one kept
unmodified, another one to be written to/overwritten by the cache
file).
(AC_CACHE_SAVE): Let the cache variables named `ac_cv_env_*'
be overwritten when loading the cache (i.e., don't use the
: ${foo=...} trick).
(_AC_ARG_VAR_VALIDATE): Compare the two snapshots of the precious
variables.
(_AC_INIT_PREPARE): Call it after having loaded the cache file.
* doc/autoconf.texi (Installation Directory Variables): New
section, Eved off from `Preset Output Variables', i.e., was a
small part of it, grew independent, and is its equal (at least).
(Coding Style): `$#' padding.
* Makefile.am (editsh, editpl): Do what the doc says you do: use
@datadir\@ instead of @''datadir''@.
* aclang.m4 (_AC_PROG_CC_GNU, _AC_PROG_CXX_GNU,
_AC_PROG_F77_GNU): Use ac_ext. Use ACEOF instead of EOF.
(AC_LANG_CONFTEST): New macro.
(_AC_PROG_CC_G, AC_PROG_CC_C_O, _AC_PROG_CXX_G, AC_PROG_F77_C_O,
_AC_PROG_F77_V_OUTPUT): Use it.
* acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP, AC_COMPILE_IFELSE,
AC_LINK_IFELSE, AC_RUN_IFELSE): Likewise.
* aclang.m4 (AC_F77_FUNC): New macro to give the user a clean
way of accessing Fortran name-mangling information other than
through CPP, and without having to know the different possible
name-mangling schemes.
* autoconf.texi: Documented AC_F77_FUNC
* acgeneral.m4 (_AC_CHECK_TYPE_BUILTIN_P): Add `off_t' and
`size_t' which are often used too.
Fix a bug which prevents recognition of `bool' and `char'.
(_AC_CHECK_TYPE_MAYBE_TYPE_P): New macro.
(AC_CHECK_TYPE): Use it.
* aclang.m4 (AC_F77_NAME_MANGLING): Obsolete, becomes
_AC_F77_NAME_MANGLING.
(_AC_F77_NAME_MANGLING): Use independent checks for the
name mangling of symbols with and without underscores.
Use algorithm with for loops instead of recursive macro calls.
(AC_F77_WRAPPERS): Adapt to changes in _AC_F77_NAME_MANGLING.
* doc/autoconf.texi (Fortran 77 Compiler Characteristics):
Remove documentation of AC_F77_NAME_MANGLING.
Remove documentation of f77_case and f77_underscore.
Replace AC_F77_FUNC_WRAPPER with AC_F77_WRAPPERS.
* doc/autoconf.texi (Compilers and Preprocessors, Obsolete
Macros): Don't give boring internal details.
(Language Choice): Typo.
(Limitations of Builtins): Some about `!', `set', `$@'.
(Coding Style): Some about $[@] quotation.
Some about cross-compilation.
The --help message should have paragraphs starting with a title,
the options, and then optionally a small paragraph.
* acgeneral.m4 (AC_DIVERT_ONCE): New macro.
(HELP_VAR_END): New diversion.
(AC_ARG_ENABLE, AC_ARG_WITH, AC_ARG_VAR): Use AC_DIVERT_ONCE.
(AC_ARG_VAR): Follow the --help style.
* acspecific.m4 (AC_PATH_X): Use AC_DIVERT_ONCE.
* aclang.m4 (AC_PROG_CC): Don't require AC_PROG_F77, require
AC_PROG_CC instead.
From Martin Wilck.
(AC_PROG_F77_C_O): Require AC_PROG_F77.
Use a cache variable independent of $F77.
Fixed bug where the F77 compiler output was parsed differently
when detecting the verbose flag than when scanning for linker
options, and as a result the former test failed (under AIX/xlf).
* aclang.m4 (_AC_PROG_F77_V_OUTPUT): New macro to get the
output of linking an F77 program with a given verbose flag,
and preprocess it as required to scan for linker flags.
(_AC_PROG_F77_V): Use the above macro here...
(AC_F77_LIBRARY_LDFLAGS): ...and here, enforcing consistency.
* doc/autoconf.texi (Configuration Actions): Explain the
behavior of AC_CONFIG_HEADERS and AC_CONFIG_FILES with respect to
absolute and relative filenames, and stdin/stdout.
(config.status invocation): Likewise.
* autoheader.sh: Be more verbose, and always report your name in
verbose messages.
* autoconf.sh: Likewise.
* autoreconf.sh: Likewise.
(update.sh): Redirect ls's stderr to /dev/null.
* aclang.m4 (AC_PROG_F77): Delete AC_BEFORE(AC_PROG_CPP) that
leads to unnecessary warnings if both C and Fortran are checked.
(AC_PROG_F77_C_O): AC_REQUIRE AC_PROG_F77 instead of pretend you
need to be AC_BEFORE it.
* aclang.m4 (_AC_PROG_F77_V): New macro to determine the flag that
causes the compiler to output verbose linking information.
(AC_F77_LIBRARY_LDFLAGS): Use _AC_PROG_F77_V instead of
simply "-v"
(AC_F77_LIBRARY_LDFLAGS): New algorithm to parse flags, uses
set/shift shell commands.
(AC_F77_LIBRARY_LDFLAGS): Set FLIBS at end, after determining
ac_cv_flibs.
* autoreconf.sh (update.sh): Use `ls -1dt' instead of `-lt'.
Use test instead of sed.
<automake>: If automake is used, always run it: it has its own
mechanism not to update if unneeded.
* acgeneral.m4 (AC_SHELL_DIRNAME): When using m4 the argument
is named `$1' not `$dir'.
When using m4 you ought to quote properly.
When using m4, you should check that there are not too many shell
quotes (inside the macro itself, and where it is called).
When you do this, Autoconf, hm, works better.
Improve --help documentation of important environment variables.
* acgeneral.m4 (_AC_INIT_HELP): Direct reader to descriptions
of useful variables at the end of the --help.
(AC_ARG_VAR): Emphasize use of environment variables to override
and/or help the configure script. Ensure that a given variable
is only documented once in the --help.
(AC_CHECK_LIB): Call AC_ARG_VAR to document and register the
LDFLAGS variable, and...
(AC_CHECK_HEADER): do the same for the CPPFLAGS variable.
* aclang.m4 (AC_PROG_CC): Call AC_ARG_VAR to document and register
the CC and CFLAGS variables, and do the same for...
(AC_PROG_CXX): CXX and CXXFLAGS, and...
(AC_PROG_F77): F77 and FFLAGS.
AC_LIBOBJ when used by AC_REPLACE_FUNCS should not complain for
variables as argument.
* acgeneral.m4 (_AC_LIBOBJ): Same as the former AC_LIBOBJ, but
takes an additional argument: action to perform when non-literal
argument.
(AC_LIBOBJ): Use it.
(AC_REPLACE_FUNCS): Use _AC_LIBOBJ, not AC_LIBOBJ.
In fact, honor the most recent specification in the concatenation
of `syntax',$WARNINGS,<options> in that order.
Implement support for `none' and `noCATEGORY' so that the options
may override the previous choices.
Suggested by Didier Verna.
* acgeneral.m4 (_AC_WARNING_IFELSE): New macro.
(AC_WARNING_IFELSE): Use this macro to implement the new specs.
(AC_WARNING): The empty category must not be used, default to
`syntax'.
* doc/autoconf.texi (autoconf Invocation, Reporting Messages): Adjust.
* autoconf.sh: Adjust.
Use `optarg' to fetch the arguments of options.
Fix a bug in the handling of `--trace='.
* acgeneral.m4 (AC_CACHE_VAL): Typo: the macro was complaining iff
it shouldn't have.
* autoreconf.sh: Clarify the difference between the location of
`aclocal.m4' and that of the location Autoconf extensions.
(-M, --m4dir): New option.
(aclocal_flags): Do not use $localdir, but $m4dir.
(localdir_opt): Remove, since $autoconf, $autoheader already
include `-l $localdir'.
* autoreconf.sh: Don't run automake when the package is not using
it.
When checking whether autoheader should be rerun, don't ask
config.h to be newer than stamp-h and vice-versa.
Remove an unbalanced `fi'.
* autoreconf.sh (run_aclocal): Rename as `uses_aclocal' to avoid
the convention clash with autoconf.sh where `run_foo' is the
command to run `foo'.
(uses_autoheader): New variable.
* autoreconf.sh: You too can have a $tmp dir if you wish.
(alflags.sed): New sub sed program.
Compute the flags of aclocal from Makefile.am instead of
Makefile.in, it is unlikely that aclocal be used but not automake,
while it is convenient to be able to run autoreconf even if
automake was not run yet.
Use `autoconf --trace' to get the list of configuration headers.
* acgeneral.m4 (AC_PLAIN_SCRIPT): New macro.
* tests/base.m4 (m4_wrap, AC_REQUIRE, AC_SHELL_MKDIR_P): Use it.
* autoconf.sh: Properly handle the case where `$output' is `-'
(i.e., stdout).
Handle `-ofile', not only `-o file'.
* autoreconf.sh: Formatting changes.
When verbose, display exactly what you do, not just a synopsis.
When using `$verbose' don't use quotes to avoid spurious spaces
for empty arguments.
* acgeneral.m4 (AC_DIRNAME): Use an `expr' solution instead of
echo|sed.
From Paul Eggert.
* doc/autoconf.texi (Limitations of Usual Tools): Include the
words from Paul about `|' with expr(1).
* AUTHORS: Update.
* doc/autoconf.texi: Free Franc,ois Pinard from iftex and ifinfo,
use @,c.
Don't use `@code{m4}' when you mean M4, just as you shall not say
`@code{cc}' when you refer to the C language.
AC_REVISION must not AC_REQUIRE AC_INIT, it leaves the diversions
in a messy state. Don't even try to emulate AC_REQUIRE: just
introduce a diversion just for AC_REVISION, and let the magic
happen.
Fixes Autoconf PR/134, from Raja R Harinath.
* acgeneral.m4 (_AC_DIVERT(REVISION)): New diversion.
(AC_REVISION): Don't require AC_INIT, dump in your diversion.
(_AC_INIT): Delete, inline its body in...
(AC_INIT): here.
(_AC_INIT_NOTICE, _AC_INIT_COPYRIGHT): New macros so that...
(AC_INIT): be more uniform.
(AC_INIT, AC_REVISION, AC_COPYRIGHT): `define', don't AC_DEFUN.
* aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Keep -lm, if a Fortran
compiler needs it, it is likely to be required when linking C/C++
with Fortran.
<-YP,*>: Fix the list of arguments to loop on.
Don't mess with the user variable name space.
<ac_ld_run_path>: Prepend LD_RUN_PATH directories with -R only
when running Solaris (without this, link errors occur).