* 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).
* acgeneral.m4 (_AC_INIT_PARSE_ARGS, AC_CHECK_TOOLS): Change
warning message printed when only --host is given. Fix printing
of multiple compiler cache values, use PATH argument.
* aclang.m4 (AC_LANG_COMPILER_WORKS): Print the cross compile
status, fix problem where two results were printed at once.
* aclang.m4 (AC_PROG_F77): Add two compilers,
lf95 (Lahey/Fujitsu Fortran) and pgf77 (Portland Group Fortran)
(_AC_PROG_F77_G): Some Fortran compilers produce stdout/stderr
output even if no errors occur - check exit status rather than
output.
* acgeneral.m4 (_AC_SHELL_TMPDIR): When using `mktemp -d', be sure
that the directory was created: under Ultrix 4.3 it just returns
a name, but does not create the directory.
Reported by Christian Krackowizer.
* acgeneral.m4 (AC_SHELL_MKDIR_P): New macro.
(_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS,
AC_PROG_INSTALL): Use AC_SHELL_MKDIR_P.
* tests/base.m4 (AC_SHELL_MKDIR_P): Test it.
Akim Demaille [Fri, 30 Jun 2000 13:34:37 +0000 (13:34 +0000)]
Re-enable the old behavior of --host and --build.
* acgeneral.m4 (build_alias): Set to host_alias if --build is not
given but --host is, and enable cross-compile auto-detection. If
both are, and are different, enable cross compilation.
(AC_CANONICAL_HOST): Adjust help message.
(cross_compiling): Enclose in quotes when testing.
* aclang.m4 (_AC_LANG_COMPILER_WORKS): If cross_compiling is
maybe, set it to yes or no depending on the result of the
execution test.
* doc/autoconf.texi: Document the change.
* doc/install.texi: Likewise.
Akim Demaille [Mon, 26 Jun 2000 10:51:17 +0000 (10:51 +0000)]
* autoreconf.sh (automake, aclocal): New variables. Import
$AUTOMAKE and $ACLOCAL.
Pass --verbose to the tools.
Avoid using plenty of variables, just append to existing
variables.
* doc/autoconf.texi: List options in the order --help, --version,
--verbose, --debug, and then specific options.
Akim Demaille [Mon, 26 Jun 2000 10:34:24 +0000 (10:34 +0000)]
* doc/autoconf.texi: Various Texinfo adjustments.
(Specifying Names): When describing the system triplets, use the
same names as the shell variables.
(System Type Variables): Delete, merge its content into...
(Canonicalizing): here.
Clarify the difference between the `foo_target' and `foo'
variables.
Akim Demaille [Mon, 26 Jun 2000 10:20:36 +0000 (10:20 +0000)]
* acgeneral.m4 (AC_CONFIG_LINKS, AC_CONFIG_HEADERS,
AC_CONFIG_COMMANDS, AC_CONFIG_FILES): Use a shell variable instead
of an m4 variable to store what must be done, so that sh
conditionals are honored.
(_AC_OUTPUT_LINKS, _AC_OUTPUT_HEADERS,
_AC_OUTPUT_COMMANDS, _AC_OUTPUT_FILES): Adjust.
* tests/semantics.m4: Test the four AC_CONFIG sisters.
* doc/autoconf.texi (Configuration Actions): Promote the use of
literals, show it works properly with sh conditionals.
because it produces TEST3; TEST2a; TEST2b; TEST1.
Fix this bug, implement the solution provided by Axel Thimm,
and test AC_REQUIRE.
* acgeneral.m4: Document this implementation.
(_AC_DEFUN_PRO, _AC_DEFUN_EPI, AC_REQUIRE): Be sure that macros
are emitted in the same order as they are expanded.
(AC_REQUIRE): Forbid being calling out of an AC_DEFUN'd macro (in
particular the top level).
* tests/base.m4 (AC_REQUIRE): New test.
Akim Demaille [Mon, 26 Jun 2000 09:03:15 +0000 (09:03 +0000)]
Various cleanups.
* acgeneral.m4 (AC_PRO, AC_EPI): Rename as _AC_DEFUN_PRO and
_AC_DEFUN_EPI.
Adjust dependencies.
(AC_DEFUN): Remove the not-to-be-released specializing mechanism.
(AC_SPECIALIZE): Remove for the same reasons.
Adjust dependencies.
(_AC_INIT_DEFAULTS, _AC_INIT_PARSE_ARGS, _AC_INIT_VERSION,
_AC_INIT_PREPARE, _AC_CANONICAL_SPLIT, _AC_CHECK_TYPE_NEW,
_AC_CHECK_TYPE_OLD): Define via `define' instead of `AC_DEFUN':
they are not related to AC_REQUIRE in any way.
* acspecific.m4 (AC_PROG_ECHO, _AC_DECL_YYTEXT, _AC_PATH_X_XMKMF,
_AC_PATH_X_DIRECT): Define via `define' instead of `AC_DEFUN'.
Akim Demaille [Mon, 19 Jun 2000 10:18:31 +0000 (10:18 +0000)]
* acgeneral.m4 (AC_CHECK_TOOL): Use two variables in order to
avoid cache variable conflicts between AC_CHECK_PROG invocations.
(AC_PATH_TOOL): Fix same bugs as in 6/9/00 fixes to AC_CHECK_TOOL.
Pass correct arguments to AC_CHECK_PATH (different from
AC_CHECK_PROG). Use AC_CHECK_PATH cache variable, not
AC_CHECK_PROG var, and use two variables for two invocations as
above. Quote AC_CHECK_* args.
Akim Demaille [Fri, 16 Jun 2000 17:40:44 +0000 (17:40 +0000)]
The test suite reveals AC_OUTPUT_MAKE_DEFS fails on RISC/OS.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: Reset the
t flag between each cycle.
* doc/autoconf.texi (Limitations of Usual Tools): Some about the t
flag in sed.
Akim Demaille [Thu, 15 Jun 2000 11:33:04 +0000 (11:33 +0000)]
* autoconf.sh (option handling): Give a more understandable
message when an option is missing its argument.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* autoheader.sh: Likewise.
Akim Demaille [Tue, 13 Jun 2000 09:31:55 +0000 (09:31 +0000)]
* doc/autoconf.texi (Caching Results): Bigger warning about the
extremely frequent action-in-commands bug.
Move the documentation of AC_CACHE_SAVE and AC_CACHE_LOAD...
(Cache Files): in here.
Akim Demaille [Fri, 9 Jun 2000 13:48:33 +0000 (13:48 +0000)]
* acgeneral.m4 (AC_CHECK_TOOL): Even if VALUE-IF-NOT-FOUND is not
specified, we should still check whether PROG-TO-CHECK-FOR
actually works before returning it when the prefixed program is
not found. Also, fixed a bug where it failed to pass the PATH
argument in the second call to AC_CHECK_PROG.
Akim Demaille [Fri, 9 Jun 2000 11:14:05 +0000 (11:14 +0000)]
* aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Don't require AC_CYGWIN.
(AC_F77_NAME_MANGLING): Removed useless comment.
(_AC_PROG_F77_GNU): Use `.f' not `.fpp' which is not properly
processed by Abysoft's Fortran compiler.
Akim Demaille [Fri, 9 Jun 2000 10:02:19 +0000 (10:02 +0000)]
`autoconf --trace' dies on filenames with `:'.
Reported by Mark Elbrecht.
* autoconf.sh <trace> (trace2m4.sed): Use `..*' instead of
`[^:][^:]*' to catch file names. The rest of regex is probably
precise enough to avoid incorrect parsing.