* acgeneral.m4 (AU_DEFINE): New macros, pulled out from AU_DEFUN.
Defines a macro in `autoupdate::' with all the required wrapping
for `autoupdate'.
(AU_DEFUN): Use it.
(AC_OUTPUT): When dispatching your arguments, use ifval, not
ifset!
Dispath actions to AC_CONFIG_COMMANDS not AC_OUTPUT_COMMANDS, to
avoid unneeded warnings for obsolete use of AC_OUTPUT_COMMANDS.
(autoupdate::AC_OUTPUT): New macro.
* doc/autoconf.texi (Writing configure.in, the example): Don't
advocate AC_OUTPUT with args.
(Output, AC_OUTPUT with args): Simplify the documentation, and
provide the translation into the new scheme.
Propagate what remained into the proper sections.
* acgeneral.m4 (AC_OUTPUT_COMMANDS): AU_DEFUNed in terms of
AC_CONFIG_COMMANDS.
(AC_OUTPUT_COMMANDS_CNT): New variable, declared both in
`autoconf::' and `autoupdate::'.
(AC_OUTPUT): Register your arguments to AC_OUTPUT_COMMANDS only if
there are to avoid spurious `run autoupdate' messages.
* doc/autoconf.texi (Libraries): Document the changes.
* acgeneral.m4 (_AC_CONFIG_COMMANDS_INIT): New macro which will
collect the `INIT-CMDS'.
(AC_CONFIG_COMMANDS, AC_CONFIG_LINKS, AC_CONFIG_HEADERS,
AC_CONFIG_FILES): Use it, and also temporarily divert to -1
instead of spamming dnl everywhere.
(AC_OUTPUT_CONFIG_STATUS): Make sure to output the INIT-CMDS
before the other sections, it'd be a pity to initialize after the
use :).
* doc/autoconf.texi (Configuration Actions): New section,
documenting the common behavior of AC_CONFIG_FILES,
AC_CONFIG_HEADERS, macro AC_CONFIG_COMMANDS, and AC_CONFIG_LINKS.
(Configuration Files): Document $2 and $3 of AC_CONFIG_FILES.
(Configuration Headers): Document $2 and $3 of AC_CONFIG_HEADERS.
(Configuration Commands): Document $2 and $3 of AC_CONFIG_COMMANDS.
(Configuration Links): Document $2 and $3 of AC_CONFIG_FILES.
* doc/autoconf.texi (Common Behavior): New section, to document
the common behavior of the macros.
(Standard Symbols): New subsection. Describes the transformation
of the AC_DEFINEd names.
(Default Includes): New subsection. Obvious content.
All the ``callers'' updated.
* doc/autoconf.texi (Concept Index): New section.
Various entries added.
(Typedefs): Renamed as...
(Types): this. Pay attention to not limiting the documentation to
the typedefs.
(Particular Types): Mention the equivalent generic test.
Promote the GNU coding style at various places.
(Invoking autoconf): A better help on --trace.
(Defining Symbols): Advocate a proper use of the quotes in m4
code, including if the quotes are sometimes useless. It is bad,
very bad not to quote properly, so quote all the examples
properly.
(Cache Files): Use a unary call to define, instead of an empty
$2.
(Using System Type): Watch out TeX wrapping.
(Pretty Help Strings): Don't give too long a snippet of --help.
Promote the coding style of Autoconf. Quote properly.
* doc/autoconf.texi (Header Templates): Promote #if over #ifdef;
and #undef over #define in templates.
* acspecific.m4 (AC_DECL_SYS_SIGLIST, AC_FUNC_MMAP,
AC_FUNC_SETPGRP, AC_FUNC_VFORK, AC_FUNC_SELECT_ARGTYPES): Use #if,
not #ifdef and #ifndef, indent CPP directives.
test.
* acgeneral.m4 (AC_CHECK_SIZEOF): Don't over quote $1, some []
were left in the C code, and had the macro fail.
Use AC_INCLUDES_DEFAULT.
* doc/autoconf.texi: Mention default includes. Explain stdio.h
must always be given.
* tests/atspecific.m4 (TEST_MACRO): Updated the list of
exceptions.
(AT_CHECK_DEFINES): New macro, to check the content of config.h.
* tests/semantics.m4: All the tests are updated to use
AT_CHECK_DEFINES.
Test AC_CHECK_SIZEOF, AC_CHECK_HEADERS, and AC_CHECK_FUNCS.
for it. Just quote properly!
condition out the test case if __cpluscplus.
AC_REQUIRE AC_PROG_CC_STDC.
Fix slightly the display of the result (formerly the first run
says `none needed', and later, because of the cache `no').
(AC_C_INLINE, AC_C_VOLATILE): AC_REQUIRE AC_PROG_CC_STDC.
* doc/autoconf.texi (AC_C_CONST): Give a few hints on the
motivation for trusting the C++ compilers.
* acgeneral.m4 (AC_CHECK_MEMBER): It is not smart to define
ac_Foo, and use AC_Foo. Got rid of AC_Member_Aggregate and
AC_Member_Member which were complicating more than simplifying.
(AC_CHECK_DECLS): Use m4 lists.
(AC_CHECK_TYPES): A comma was missing.
* autoheader.m4: (AC_CHECK_DECLS): Use m4 lists.
* doc/autoconf.texi (Generic Declarations): AC_CHECK_DELCS uses m4
lists.
* tests/semantics.m4: New file. Collection of semantical tests:
verify that the tests are positive and negative when appropriate.
Test AC_CHECK_MEMBERS, AC_CHECK_DECLS and AC_CHECK_TYPES.
extern software (so that the test suite doesn't fail on them).
* acgeneral.m4 (AC_MSG_ERROR, AC_MSG_ERROR_UNQUOTED): Allow an
optional $2: exit status.
* doc/autoconf.texi: Document.
* acspecific.m4 (AC_PROG_CC_WORKS, PROG_CXX_WORKS,
AC_PROG_F77_WORKS): Exit 77 if the compiler does not work.
A test suite will be introduced which tries to run all the
specific macros, but hasbeen'd macro make configure die with bad
exit status. So we wish to distinguish live macros from defunct
macros at the moment they are AC_DEFUN'd, not in their body. Hm,
defunct, defunct... Hey! That's a good name!
* acgeneral.m4 (AC_DEFUNCT): New macro, comparable to AC_DEFUN,
but for macros which are no longer defined. Replaces AC_HASBEEN.
(AC_HASBEEN): Defunct. Well, removed in fact.
(AC_HAVE_LIBRARY): Don't use AC_DEFUN and AC_HASBEEN, just
AC_DEFUNCT.
* acspecific.m4 (AC_UNISTD_H, AC_USG, AC_MEMORY_H, AC_DIR_HEADER,
AC_INT_16_BITS, AC_LONG_64_BITS): Likewise.
(AC_XENIX_DIR): It was defunct even before I declared it was: was
depending upon AC_DIR_HEADER which is defunct. So AC_DEFUNCT'ed
now.
(AC_DYNIX_SEQ, AC_IRIX_SUN, AC_SCO_INTL): While we're here, you
too are defunct now.
* autoconf.texi (Obsolete Macros): Replace the documentation of
AC_HASBEEN with that of AC_DEFUNCT.
Be kind to Automake: list the arguments of selected macros
(for instance AC_SUBST will list each variable which may be
substitued).
* autoconf.sh (--trace, --output): New options.
Implement tracing of macros.
trap also on 0, so that there is no need to rm here and there.
* autoconf.texi (Output): Document --trace and --output.
Clean up the macros for testing members of aggregates.
* acgeneral.m4 (AC_CHECK_MEMBER): FATAL if $1 has no dot in it.
Use AC_INCLUDE_DEFAULTS.
(AC_C_STRUCT_MEMBER): Removed.
* acspecific.m4 (AC_STRUCT_TIMEZONE): Adapted to AC_CHECK_MEMBERS.
(AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Adapted to
AC_CHECK_MEMBERS and obsoleted.
(AC_STRUCT_ST_BLOCKS): Adapted to AC_CHECK_MEMBERS.
* autoconf.texi (AC_STRUCT_ST_BLKSIZE, HAVE_STRUCT_STAT_ST_RDEV):
Explain they are obsoleted, and how to migrate.
(AC_STRUCT_ST_BLOCKS, AC_STRUCT_TIMEZONE): Explain that the
AC_DEFINE changed (but the former #defines remain defined
currently).
(AC_C_STRUCT_MEMBER): Removed, replaced by the definitions of
AC_CHECK_MEMBER and AC_CHECK_MEMBERS.
Install a uniform set of default includes.
* acgeneral.m4 (AC_INCLUDES_DEFAULT): New macro. Expands in its
argument if non empty, otherwise a default list of includes.
(AC_CHECK_DECL, AC_CHECK_TYPE_INTERNAL): Use AC_INCLUDES_DEFAULT.
* autoconf.texi: Adjusted.
Fix a bit of the brokenness of AC_CHECK_TYPE.
* acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): New macro, inspired from
the former AC_CHECK_TYPE. This macro is exactly the one that
ought to be named AC_CHECK_TYPE: it just checks, and executes user
actions. In the future, this macro ought to be renamed
AC_CHECK_TYPE.
There is a big difference with the former AC_CHECK_TYPE: instead
of grepping in the headers, it tries to compile a variable
declaration. This is both safer, slower, and better, since now we
can check for compiler types (e.g., unsigned long long).
(AC_CHECK_TYPES): The looping and AC_DEFINEing version of the
previous macro. Uses m4 loops.
(AC_CHECK_TYPE): Reimplemented on top of AC_CHECK_TYPE_INTERNAL.
* autoheader.m4 (AH_CHECK_TYPE, AH_CHECK_TYPES): New macros,
hooked.
* autoconf.texi (@ovar): New macro, for optional variables.
(Generic Typedefs): Document AC_CHECK_TYPES.
* autoheader.texi: (AH_CHECK_TYPE, AH_CHECK_TYPES): New macros.
(Epilogue): Hooks them.
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_.
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.
* 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.
1999-10-05 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_PATH_TOOL): New macro.
* autoconf.texi (Generic Programs): Document.
1999-10-02 Akim Demaille <akim@epita.fr>
AC_DIR_HEADERS is hasbeen'ed.
* acspecific.m4 (AC_DIR_HEADER): Raised from obsolete to hasbeen.
* acspecific.m4 (AC_CHECK_HEADERS_DIRENT, AC_CHECK_HEADER_DIRENT):
Removed, were used only by AC_DIR_HEADER and were not documented.
* autoheader.m4: Remove the hooks for AC_CHECK_HEADERS_DIRENT.
* autoconf.texi (Particular Headers): Removed the documentation of
AC_DIR_HEADER.
* autoconf.texi (Environment Variables): Remove the very last
traces of documentation of --env-VAR.
1999-10-02 Akim Demaille <akim@epita.fr>
Remove hasbeen'ed macros from the documentation.
* autoconf.texi (Obsolete Macros): Document AC_HASBEEN.
* autoconf.texi (Libraries): Remove the documentation of
AC_HAVE_LIB.
(Particular Headers): likewise for AC_UNISTD_H, AC_MEMORY_H,
AC_USG.
(C Compiler Characteristics): Likewise for AC_INT_16_BITS,
AC_LONG_64_BITS.
1999-10-01 Akim Demaille <akim@epita.fr>
Make the handling of the configuration links (AC_LINK_FILES)
exactly the same as that of configurations files (AC_OUTPUT_FILES)
and headers (AC_CONFIG_HEADERS). As a result, it is sane to run
./config.status src/libmy_lib
or
CONFIG_LINKS=src/lib_mylib:lib/lib_mylib ./config.status
* acgeneral.m4 (AC_LINK_FILES): Use AC_FATAL to diagnose bad
number of argument.
Obsoleted (but implemented) in favor of AC_CONFIG_LINKS.
* acgeneral.m4 (AC_CONFIG_LINKS): New macro. Takes space
separated list of DEST:SOURCES arguments.
* acgeneral.m4 (AC_OUTPUT_LINKS): Adapted to the new scheme of
AC_LIST_LINKS.
* autoconf.texi (Output, AC_OUTPUT): Mention AC_CONFIG_LINKS.
(Invoking config.status): Mention CONFIG_LINKS.
(Using System Type): Document AC_CONFIG_LINKS. Explicit the
obsoleteness of AC_LINK_FILES.
1999-09-28 Akim Demaille <akim@epita.fr>
* acgeneral.m4: Spell checked.
* autoconf.texi: Likewise.
1999-09-28 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_NEED_DECLS): Change the actions for
`if-(not-)found' to `if-(not-)needed.
Define NEED_DECL_foo, instead of NEED_foo_DECL.
* autoheader.sh (decls): Reflect this.
* autoconf.texi (Generic Declarations): Update.
1999-09-27 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_CHECK_DECL): Renamed as...
(AC_NEED_DECL): This.
(AC_CHECK_DECLS): Renamed as...
(AC_NEED_DECLS): This.
(AC_NEED_DECL): Include <stdio.h>, <memory.h>, <string.h>,
<strings.h>, <stdlib.h>, <stddef.h>, and <unistd.h>.
* autoconf.texi (Generic Declarations): Updated.
1999-09-26 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_PATH_PROG): Use a single case statement for
Unix and DOS absolute paths.
* acgeneral.m4 (AC_CHECK_SIZEOF): Fix a typo.
Allow a third default argument: extra headers.
* autoconf.texi (C Compiler Characteristics): Document.
* acgeneral.m4 (AC_CHECK_TYPE): Convert to the AC_VAR_* family.
Allow a third optional argument: extra includes.
* autoconf.texi (Generic Typedefs): Documents.
1999-09-21 Akim Demaille <akim@epita.fr>
* autoconf.texi (Particular Structures): Move documentation of
AC_HEADER_STAT and AC_HEADER_TIME from here...
(Particular Headers): to here.
(Declarations): New section.
(Particular Headers): Move doc of AC_DECL_SYS_SIGLIST from here...
(Particular Declarations): to here.
1999-09-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* acgeneral.m4 (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): New
macros.
* autoconf.texi (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS):
Document.
* autoheader.m4: Add support for AC_CHECK_FUNC_DECLS.
* autoheader.sh: Likewise.
1999-09-14 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* acgeneral.m4 (AC_INCLUDE): New macro.
* autoconf.texi: Document it.
* acgeneral.m4 (Configuration): Accept --env-VAR=VALUE and
VAR=value.
* autoconf.texi, install.texi: Document it.
* configure: Rebuilt.
1999-09-14 Akim Demaille <akim@epita.fr>
* autoconf.texi (Pretty Help Strings): Updated to reflect the
changes.
1999-09-13 Akim Demaille <akim@epita.fr>
* autoconf.texi: Update the direntry for more modern Texinfos.
Add pointer to configure and config.status.
Remove the dots from the menus: horizontal space is precious.
(Invoking config.status): More traditional presentation of the options.
1999-08-22 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* autoconf.texi (Particular Programs): Document new optional
argument to AC_PROG_CC, AC_PROG_CXX and AC_PROG_F77. Document
additions to the Fortran 77 compiler search list.
1999-06-02 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* autoconf.texi (Pretty Help Strings): Document and regenerate the
indices.
* acgeneral.m4 (AC_HELP_STRING): New macro.
1999-05-30 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* autoconf.texi (Fortran 77 Compiler Characteristics): Document
new AC_F77_NAME_MANGLING macro.
1999-05-30 Steven G. Johnson <stevenj@alum.mit.edu>
* autoconf.texi (Fortran 77 Compiler Characteristics): Document
new AC_F77_FUNC_WRAPPER macro.
* autoconf.texi (AC_FUNC_SETVBUF): Do not mention which systems
might have their setvbuf() arguments reordered. It's difficult to
accurately determine and is not essential. Fix for autoconf/7.
* 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.
* autoconf.texi (System Services): Explain the semantics of the
AC_SYS_RESTARTABLE_SYSCALLS macro in greater detail. Suggested by
Franc,ois Pinard <pinard@iro.umontreal.ca>.