Create AC_CONFIG_HEADERS which has the same interface as the other
AC_CONFIG_*S.
* acgeneral.m4 (AC_CONFIG_HEADERS): New macro, with the same
interface as AC_CONFIG_LINKS and AC_CONFIG_FILES.
(AC_LIST_HEADERS_COMMANDS): New growing string, initialize it.
(AC_CONFIG_HEADER): Rename as...
(AC_CONFIG_HEADERS): this, for consistency.
(AC_CONFIG_HEADER): New macro, which calls AC_OUTPUT_HEADERS.
(AC_OUTPUT_HEADERS): The square brackets for sed and grep were
not properly quoted: use @BKL@ and @BKR@.
(AC_OUTPUT_HEADERS): Run the AC_LIST_HEADERS_COMMANDS.
* acgeneral.m4 (AC_OUTPUT): Once config.status created, before
running it, trap to `exit 1' so that config.status is not removed
if configure is interrupted when config.status is complete.
* acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): When recognizing
arguments, accept only foo, and no longer foo:foo.in etc.
config.status: Speed up the creation of config headers (about four
times faster on Linux).
* acgeneral.m4 (AC_OUTPUT_HEADERS): Remove the ac_e
family.
Changed ac_uD and ac_dD to `...;t t', instead of `...g'.
Instead of creating `conftest.vals' with both ac_e, ac_d,
and ac_u family, preprocess to strip the trailing spaces, and
create `conftest.defines' with the ac_d family, and then
`conftest.undefs' for the ac_e family.
Break up both `conftest.defines' and `conftest.undefs'. Insert a
top label and a global test for `#defines' and `#undef' before.
Call `conftest.defines' if there are #define in the input.
Call `conftest.undefs'.
Rename the family AC_NEED_DECL as AC_CHECK: it is more uniform,
but keep defining NEED_FOO_DECL when `foo' is not declared. Files
not using Autoconf behave better when declarations lacks than when
they are wrong. So the unset position should off, hence #if NEEDS
instead of #if !HAVE (which is triggered when HAVE is not set).
* acgeneral.m4 (AC_NEED_DECL): Renamed as...
(AC_CHECK_DECL): This. Make sure the arguments are the usual
IF-FOUND, IF-NOT-FOUND.
(AC_NEED_DECLS, AC_CHECK_DECLS): Likewise.
* autoconf.texi (Generic Declarations): Document the changes
aforementioned.
* autoheader.m4 (AH_NEED_DECLS): Renamed as
(AH_CHECK_DECLS): This.
(AH_HOOKS): Hook AH_CHECK_DECLS on AC_CHECK_DECLS instead of
_NEED_.
Revamp the handling of the arguments of config.status: instead of
looping over config_files etc. to recognize the file names, use
the case which handles the options.
Suggested by Alexandre Oliva.
* acgeneral.m4 (ifset): Renamed as...
(ifval): This. All callers changed.
(ifset): New macro, which tests if a macro is set to a non empty
value.
* acgeneral.m4: Initialize growing lists and strings to empty, to
ease the tests.
(AC_CONFIG_HEADER): Quote AC_LIST_HEADERS in the define, to handle
the case AC_LIST_HEADERS is initialized.
* acgeneral.m4: (AC_OUTPUT_CONFIG_STATUS): New macro, pulled out
from...
(AC_OUTPUT): Instead of using $1, $2 and $3, pass them to the
official macros (AC_CONFIG_FILES, AC_OUTPUT_COMMANTS).
Call AC_OUTPUT_CONFIG_STATUS.
(option handling): Use the case-esac to recognize arguments.
(AC_OUTPUT_COMMANDS): Fix the missing fi;done.
Add a means to specify commands to be run by config.status. At
the difference of AC_OUTPUT_COMMANDS, require that the set of
commands be named, so that both
CONFIG_COMMANDS=foo ./config.status
and
./config.status foo
perform the Right Thing.
* acgeneral.m4 (AC_CONFIG_UNIQUE): Also check in
AC_LIST_COMMANDS.
(AC_CONFIG_FILES): Remove a dead pushdef.
(AC_CONFIG_COMMANDS): New macro.
(AC_LIST_COMMANDS): New config list.
(AC_LIST_COMMANDS_COMMANDS): New growing string.
(AC_OUTPUT_COMMANDS_COMMANDS): New macro, output config commands
in config.status.
(AC_OUTPUT): Take AC_LIST_COMMANDS into account.
(AC_OUTPUT): Call AC_OUTPUT_COMMANDS_COMMANDS.
New macro: AC_CONFIG_FILES which is very much like AC_OUTPUT but
that one associates commands to run when a config file is
created. For instance for a shell script `foo', one uses
AC_CONFIG_FILES(foo, chmod +x foo).
In addition, check that the same name is never used twice in
config files, headers, subdirs and links.
* acgeneral.m4 (m4_append): Don't insert new line between
elements.
(m4_list_append): New macro.
(AC_CONFIG_IF_MEMBER): New macro which tests if a file is member
of a config list.
(AC_CONFIG_UNIQUE): New macro which ensures that a config file
name is not yet used.
(AC_CONFIG_HEADER, AC_CONFIG_LINKS, AC_CONFIG_SUBDIRS): Use
AC_CONFIG_UNIQUE.
* acgeneral.m4 (AC_CONFIG_FILES): New macro.
(AC_LIST_FILES): New list, which stores arguments of
AC_CONFIG_LISTS the same as AC_LIST_LINKS stores AC_CONFIG_LINKS
etc.
(AC_OUTPUT): No longer rely on $1 to designate the config files:
register them via AC_CONFIG_FILES. All uses of $1 replaced by
uses of AC_LIST_FILES.
(AC_OUTPUT_FILES): Run the commands associated to the
CONFIG_FILES.
Provide the m4 infrastructure for defining AH_ hooks.
* autoheader.m4 (AH_HOOK): New macro.
Hook all the AC_ macros to their AH_siblings in AH_HOOKS.
Run AH_HOOKS.
* acgeneral.m4 (m4_append): New macro.
(m4_list_append, m4_list_add): Removed.
* configure: Regenerate.
* aclocal.m4: New generated file.
* Makefile.in: Regenerate with Automake.
* testsuite/Makefile.in: Likewise.
1999-10-31 Akim Demaille <akim@epita.fr>
Use Automake. Based on files from Ben Elliston.
* acgeneral.m4: No longer define AC_ACVERSION, include
acversion.m4.
* acversion.m4.in: New AC_CONFIG_FILE.
* acspecific.m4: Few formating changes.
* autoconf.texi: No longer define EDITION, VERSION and UPDATED:
include version.texi.
AC_OUTPUT the Makefiles mentioned below and acversion.m4.
* configure.in: Use AM_INIT_AUTOMAKE.
Do not AC_ARG_PROGRAM: AM_INIT_AUTOMAKE does it.
* Makefile.am: New file.
* mdate-sh: Likewise.
* missing: Likewise.
* testsuite/Makefile.am: Likewise.
* testsuite/autoconf.s/defines.exp: Changed `fail' and `pass' in
`xfail' and `xpass'. The testsuite checks that acconfig.h
templates the AC_DEFINEs. Since we no longer rely on acconfig.h,
the test is obsolete.
* acspecific.m4 (AC_PROG_BINSH, AC_PROG_SED): Don't quote the name
of the macro defined; the testsuite does not recognize this
syntax. From Akim Demaille <akim@epita.fr>.
* acspecific.m4 (AC_FUNC_GETLOADAVG): Check for the kstat_open()
function in libkstat (on systems such as Solaris). This family of
functions is preferred since they don't require setgid permissions
to use them. Fix for autoconf/65.
* acspecific.m4 (AC_HEADER_STDC): Define ISLOWER and ISUPPER
macros correctly on EBCDIC systems. Contributed by Kurt D.
Zeilenga <kurt@openldap.org>. Fix for autoconf/6.
Fix for autoconf/28.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Don't assume LF is \012, use
`echo` followed by a non-blank, within quotes.
* autoheader.sh (syms): Likewise.
* configure: Rebuilt.
* acgeneral.m4 (AC_CHECK_TYPE): Add optional third argument
INCLUDES, which specifies the headers in which to search for the
type in question. Also, pass a "description" argument to
AC_DEFINE_UNQUOTED.
* acconfig.h (mode_t, off_t, pid_t, size_t): Remove definitions.
* autoconf.texi (AC_CHECK_TYPE): Document optional third argument.
* acspecific.m4 (AC_PROG_INSTALL): set INSTALL_SCRIPT to
${INSTALL} so that automake doesn't propogate install time flags
for INSTALL_PROGRAM into INSTALL_SCRIPT.
* acspecific.m4 (AC_EXEEXT): Do not consider `.xcoff' as a
possible executable filename extension. Contributed by Robert
S. Maier <rsm@math.arizona.edu>.
* standards.texi: Update from FSF.
* acspecific.m4 (AC_PROG_INSTALL): Avoid using the installation
script belonging to HP `pwplus' when running the install
program. Contributed by Steven G. Johnson <stevenj@alum.mit.edu>
and Dave Adams <adams@hpesdwa.fc.hp.com>.
* acgeneral.m4 (AC_CANONICAL_SYSTEM): Explicitly require
AC_CANONICAL_HOST, AC_CANONICAL_TARGET and AC_CONICAL_BUILD.
(AC_CONFIG_AUX_DIR): Run auxillary shell scripts through $SHELL.
Do not rely on their magic number.
(AC_CANONICAL_THING): New macro. Cache results.
(AC_CANONICAL_HOST): Reimplement; use AC_CANONICAL_THING.
(AC_CANONICAL_TARGET): Likewise.
(AC_CANONICAL_BUILD): Likewise.
(AC_OUTPUT): Use $SHELL.
(AC_OUTPUT_SUBDIRS): Likewise.
* acgeneral.m4 (AC_CACHE_VAL): Don't need backticks. This is a
performance enhancement for about a 5% reduction in the runtime of
the generated configure script.