(_AC_OUTPUT_COMMANDS): This. All callers changed.
Disable the verbose message until Automake uses the new features
of `config.status'.
Reported by Jim Meyering.
* acgeneral.m4 (AC_INIT_PARSE_ARGS, getopt loop): Always define
ac_optarg as the rhs of the first `=', not only on `-.*=', so that
`configure var=val' defines ac_optarg=val.
Improve the robustness to shell special characters:
- Use grep when checking that shell variable names are valid.
- Quote the quotes in ac_optarg before `eval var='$ac_optarg''.
- Quote the quotes when building ac_configure_args.
* tests/torture.m4: Test that `./configure foo=bar' works properly.
* 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.
are none.
* acgeneral.m4 (AC_OUTPUT): Don't register $1 to `AC_CONFIG_FILES'
if $1 is empty.
Normalize the names of the sections in `config.status --help'.
* 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.
* acgeneral.m4 (AC_UNGNITS): Renamed as...
(_AC_VERSION_UNLETTER): this. All callers changed.
Implement the scheme proposed by Alexandre Oliva:
Nl -> (N+1).-1.(l#)
(_AC_VERSION_COMPARE): New macro.
(AC_PREREQ): Use it.
yourself, in order to give better error messages.
(AC_CONFIG_IF_MEMBER): Adapted to the above change.
Quote some regexp active characters ([+.*]).
Suggested by Alexandre Oliva.
* 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.
while loops which are breaking conftest.defines and
conftest.undefs into smaller snippets: just use the proper
condition for the while.
Suggested by Alexandre Oliva.
* 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.
given in the prologue of acobsolete.m4.
* acgeneral.m4 (Prologue): Enter the `autoconf' name space.
(AU_DEFUN): New macro.
* autoupdate.m4: New file.
Disable the name spaces `autoconf', and `libm4'. Disable libm4.
* Makefile.am: Tuned to support the changes above.
* autoupdate.sh: Model after autoconf.sh.
Can run on several files at once (for instance m4/*.m4).
Don't touch files that are up to date.
Run m4 on autoupdate.m4f instead of playing with sed.
Use AU_DEFUN.
* acgeneral.m4 (AC_LINK_FILES, AC_ENABLE, AC_WITH): Use AU_DEFUN,
remove the call to AC_OBSOLETE.
* acspecific.m4 (AC_CYGWIN32): Likewise.
* acoldnames.m4: Replaced all the definitions via `define' or
`AC_DEFUN' to use `AU_DEFUN'.
* acoldnames.m4: Use `#', not `dnl'.
Don't spread `dnl' everywhere, anyway, we are in a divert(-1).
* autoconf.m4: Likewise.
* autoheader.m4: Likewise.
output can be problematic with autoupdate.
* acgeneral.m4 (AC_INIT_NOTICE): Output ac_includes_default.
(Default includes section): No longer dump ac_includes_default in
AC_DIVERSION_INIT.
* autoconf.sh: Give your name while reporting errors.
Don't spit --help for errors on arguments.
* autoreconf.sh: Likewise.
* autoheader.sh: Likewise.
More temporary files that one can browse when debugging.
Don't ${var}, just $var.
Don't dump --help when the arguments are invalid.
(config_h): Use the empty value instead of `undefined' to check
that it is defined.
* acspecific.m4: Formatting changes.
yourself. This allows to see everything that is AC_PROVIDEd via
autoconf --trace.
(AC_SPECIALIZE): define'd, not AC_DEFUN'd.
(AC_PROVIDE): Use define with a single arg, instead of an empty $2.
* acgeneral.m4 (AC_TRY_COMPILER, AC_TRY_LINK_FUNC, AC_CHECK_LIB,
AC_TRY_COMPILE, AC_TRY_LINK, AC_TRY_RUN_NATIVE, AC_CHECK_FUNC):
Use AC_LANG_CASE instead of ifelse (AC_LANG, ...).
(AC_TRY_LINK_FUNC): Quote the body the the AC_DEFUN (whoa, how
could this survive so long?!?).
* 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.
default headers in the INIT section of configure: the reason is
that AC_INCLUDES_DEFAULT is called unquoted, and this results in
an un expected behavior. Thanks to Roman V. Shaposhnick for the
details.
The current implementation is not satisfying: the default headers
are defined in the INIT section even if they are not used.
* acgeneral.m4 (Prologue of AC_INCLUDES_DEFAULTS): Dump the
definition of ac_includes_default in the INIT section of
configure.
(AC_INCLUDES_DEFAULTS): Use it.
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.
condition out the test case if __cpluscplus.
Don't document the autoheader template twice, one is enough.
* autoheader.m4 (AC_CONFIG_HEADER): don't hook on this guy, but
on...
(AC_CONFIG_HEADERS), since the former is defined on the latter.
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.
(AT_CASE): new macro.
(AT_CHECK): Use it. Don't changequote for patsubst, there is no
need.
* tests/syntax.m4 (TEST_MACRO): Don't run AC_ARG_VAR.
Reported by Jim Meyering.
Use AT_CASE.
* acgeneral.m4 (AC_CANONICAL_THING): define, not AC_DEFUN.
Don't AC_PROVIDE, there is no need.
When calling `config.sub`, also || exit 1, to catch failures from
config.sub.
* acspecific.m4 (AC_SYS_LONG_FILE_NAMES): Use ac_val, not val.
(AC_EXEEXT): Use ac_file, not file.
* tests/actest.m4: New file, holding extra Autoconf macros used
during the testing.
(AC_ENV_SAVE): New macro, save the sh variables in a file.
* tests/suite.m4 (AT_TEST_MACRO, Generation of configure.in):
include actest.m4, and call twice AC_ENV_SAVE to compare the
variables before and after the macro.
* tests/Makefile.am (macro.m4): Don't test macros that are
required: they will be tested somewhere else.
* 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.
* autoheader.m4 (AH_DEFUN): New macro. Combination of define and
AH_HOOK.
(AC_TRY_RUN, AC_DEFINE, AC_DEFINE_UNQUOTED, AC_CHECK_LIB,
AC_CHECK_HEADERS, AC_CHECK_HEADERS_DIRENT, AC_CHECK_DECLS,
AC_CHECK_FUNCS, AC_CHECK_SIZEOF, AC_PROG_LEX, AC_CHECK_MEMBERS,
AC_CHECK_TYPE, AC_FUNC_ALLOCA, AC_CHECK_TYPES, AC_C_CHAR_UNSIGNED,
AC_AIX, AC_F77_WRAPPERS, AC_CONFIG_HEADER): All the former calls
to define and AH_HOOK in autoheader.m4 are replaced by AH_DEFUN.
Fix the bugs discovered.
* acgeneral.m4 (AC_CANONICAL_THING): Quote the
AC_REQUIRE([AC_CANONICAL_HOST]). Bug triggered by the use of
AC_CANONICAL_BUILD alone in configure.in. Also, quote the
arguments of macros (eg, ifelse([$1]...), not ifelse($1...)).
(m4_case): New macro.
(AC_LINKER_OPTION): Don't clash with user's name space
(s/i/ac_link_opt).
(AC_LIST_MEMBER_OF). You mean AC_FATAL, not AC_MSG_ERROR.
Quote properly the argument.
dnl out the empty lines that result from m4 pure code.
Don't pollute the user name space.
Use AC_SHELL_IFELSE.
(AC_F77_NAME_MANGLING): Don't use `test -o'. There are still
name space problems.
* tests/Makefile.am (macros.m4): Also fetch the macros from
acgeneral.m4.
Fix the discovered bugs.
* tests/atgeneral.m4 (AT_CHECK): Don't just exit 1 when you want
to propagate the failure of a test: exit with the same exit
status, at least to preserve 77 (=ignore).
* tests/syntax.m4 (TEST_MACRO): Run also autoheader. Don't run
this test on all the macros, some just cannot run without
arguments.
* acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): In the if egrep/fi for
#define templates, add a `:' to prevent syntax errors in
config.status when there are no AC_DEFINE performed.
* autoheader.m4 (AH_TEMPLATE): Don't use _AC_SH_QUOTE here, use it
in...
(AH_VERBATIM): here. Now AH_C_UNSIGNED_CHAR is no longer failing
(formerly it would produce a non backslashed backquote, which
made sh choke).
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.
Introduce a new style of testing, independent from DejaGNU.
Introduce the logistics.
* configure.in: Initialize AT, and output tests/atconfig, and
tests/Makefile.
* m4/atconfig.m4: New file.
* m4/Makefile.am: Adjusted.
* aclocal.m4: Include atconfig.m4.
* Makefile.am: Adjusted.
* tests/Makefile.am: New file.
* tests/atgeneral.m4: Likewise.
* tests/atconfig.in: Likewise.
Write tests.
* tests/syntax.m4: New file, in charge of checking the validity of
the sh code produced by the macros defined in acspecific.m4.
acgeneral.m4 is not checked here, because these macros require
arguments.
* tests/suite.m4: New file. Run syntax.m4.
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.
Require GNU m4 1.4 (well 1.3 in fact).
Because we are ready to handle the case where there are no frozen
files, we *have* to pass a -I, which is dangerous in conjunction
with the silent including of `aclocal.m4': you may include things
that were not expected. Since anyway handling pre 1.3 complicates
the task, just require an m4 which supports reloading of frozen
files.
* acspecific.m4 (AC_PROG_GNU_M4): Check for --reload.
* autoconf.sh: Likewise
* autoheader.sh: Likewise.
* configure.in: Explicitly state the m4 version you want.
No need for foo="`bar`", foo=`bar` is fine.
Simplify ${foo} and ${1} into $foo and $1.
* acgeneral.m4 (ac_LF_and_DOT): Remove the double quotes.
* acspecific.m4 (AC_PROG_CC_C_O, AC_PROG_F77_C_O): Likewise.
* autoconf.sh: Likewise.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: Remove all the code and messages related to
AC_MACRODIR, since ifnames is not related to macros in anyway.
New version of AC_INCLUDE, which does not glob, nor rely upon the
shell. Add AC_INCLUDES too. Help tracking multiple inclusions.
* acgeneral.m4 (m4_errprint, m4_warn, m4_fatal): New macros,
variations around errprint.
(m4_include_unique): New macro which registers what are the files
already included, and warns if some are included several times.
(m4_include, m4_sinclude): New macro, using m4_include_unique.
(AC_INCLUDE): Is now just a wrapper of m4_include.
(AC_INIT): Use m4_sinclude, not sinclude.
(_AC_ERRPRINT): Removed, m4_errprint is here!
(AC_WARNING, AC_FATAL): Wrappers of m4_warn and m4_fatal.
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.
* acgeneral.m4 (AC_CONFIG_LINKS): Allow a second argument,
commands to run, as AC_CONFIG_FILES and HEADERS.
(AC_LIST_LINKS_COMMANDS): New growing string. Initialize.
(AC_OUTPUT_LINKS): Use it.
(AC_OUTPUT_FILES, AC_OUTPUT_HEADERS, AC_OUTPUT_LINKS): Don't
pretend to have arguments: you don't depend upon it.
(AC_OUTPUT): Call the previous macros without arguments.
Clean up dead comments/code. Clean up the incompatibilities
between quoted and non quoted _AC_ECHO and the like.
* acgeneral.m4: Remove the comments on the no longer defined AC_TR.
(_AC_SH_QUOTE): Be robust to active symbols.
(_AC_ECHO): Quote properly the argument.
(AC_TRY_RUN): Don't quote [AC_TRY_RUN] in the warning.
* acgeneral.m4 (AC_INIT_NOTICE, AC_INIT_PREPARE, AC_ARG_ENABLE,
AC_ARG_WITH, AC, TRY_COMPILER, AC_TRY_RUN, AC_TRY_CPP,
AC_EGREP_CPP): Use @PND@ instead of [#]: it looses the editors
that try to match the pairs of (), [] etc.
Fix the compatibility of the compiling macros with C++.
* acgeneral.m4 (AC_TRY_COMPILE, AC_TRY_LINK, AC_CHECK_SIZEOF): Use
`int main () {...}', instead of `main () {...}'.
* acspecific.m4 (AC_TYPE_GETGROUPS, AC_FUNC_CLOSEDIR_VOID,
AC_FUNC_FNMATCH, AC_FUNC_GETPGRP, AC_FUNC_SETPGRP, AC_FUNC_VFORK,
AC_FUNC_WAIT3, AC_FUNC_ALLOCA, AC_FUNC_UTIME_NULL,
AC_FUNC_SETVBUF_REVERSED, AC_FUNC_MEMCMP, AC_C_CHAR_UNSIGNED,
AC_C_LONG_DOUBLE, AC_C_BIGENDIAN, AC_SYS_RESTARTABLE_SYSCALLS):
Likewise.
* acspecific.m4 (AC_FUNC_FNMATCH): Call
AC_CHECK_HEADERS(fnmatch.h), and include fnmatch.h in the compiled
code.
* acgeneral.m4 (AC_COMPILE_CHECK, AC_TRY_COMPILE,
AC_TRY_RUN_NATIVE, AC_OUTPUT_CONFIG_STATUS): Use @PND@ instead of
[#]: it looses the editors that try to match the pairs of (), []
etc.
Formatting changes.
* acspecific.m4: Formatting changes.
Allow standard beta version numbers.
* configure.in: Declare version 2.14a.
* acgeneral.m4 (AC_UNGNITS): New macro which transform version
numbers to pure digits (2.14a to 2.14.0.1, 2.15z to 2.15.0.26
etc.).
(AC_PREREQ): Normalize argument and AC_ACVERSION via AC_UNGNITS.
Provide a means to specify commands to run before config.status is
created (and, for symmetry, after it is created).
This is typically needed by Automake so that AC_REPLACEd functions
go through deansification via
LIBOBJS=`echo $LIBOBJS | sed 's/\.o /\$U.o /g;s/\.o$/\$U.o/'`
and/or by Libtool which needs to define LTLIBOBJS and others:
LTLIBOBJS=`echo $LIBOBJS | sed 's/\.o/\.lo/g'`
AC_SUBST(LTLIBOBJS)
* acgeneral.m4 (AC_OUTPUT_PRE_COMMANDS): New growing string.
Initialize.
(AC_OUTPUT_POST_COMMANDS): Likewise.
(AC_CONFIG_PRE_COMMANDS): New macro, grows AC_OUTPUT_PRE_COMMANDS.
(AC_CONFIG_PRE_COMMANDS): Likewise.
(AC_OUTPUT): Run AC_OUTPUT_PRE_COMMANDS before
AC_OUTPUT_CONFIG_STATUS, and AC_OUTPUT_POST_COMMANDS after.
Remove spurious empty lines appearing in configures.
* acgeneral.m4 (AC_CONFIG_UNIQUE): Produce no output. Instead of
fighting with dnl, divert to KILL upon entry, and pop at exit.
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.
* acspecific.m4 (AC_PROG_CXXCPP): Substitute @CXXCPP@ correctly
when $CXXCPP is overridden in the supervisory shell. Contributed
by Michael Schoene <mrs@mlc.de>.
* acgeneral.m4 (AC_LANG_FORTRAN77): Remove [] (i.e. the m4 quotes)
since it was confusing the testsuite. Also make `f77' the default
for FC, otherwise the testsuite fails.
* autoconf.texi (Fortran 77 Compiler Characteristics): Added new
node documenting the new AC_F77_LIBRARY_LDFLAGS macro.
* acspecific.m4 (AC_F77_LIBRARY_LDFLAGS): New macro to determine
the linker flags (e.g. `-L' and `-l') for the Fortran 77 intrinsic
and run-time libraries.
* acspecific.m4 (AC_FUNC_SELECT_ARGTYPES): New macro. Detects the
types of formal arguments to select(). Contributed by Lars Hecking
<lhecking@nmrc.ucc.ie>.
* acconfig.h (SELECT_TYPE_ARG1): Add.
(SELECT_TYPE_ARG234): Likewise.
(SELECT_TYPE_ARG5): Likewise.
* autoconf.texi (Defining Symbols): Documented third argument to
AC_DEFINE.
* autoheader.m4 (AC_DEFINE_UNQUOTED): Generate `verbatim'
assignment if third argument given.
(AC_DEFINE): Likewise.
* acgeneral.m4 (AC_DEFINE): Handle case where $# is 3.
(AC_DEFINE_UNQUOTED): Likewise.
* autoheader.sh: Echo $verbatim if not empty.
* acconfig.h (FC_NO_MINUS_C_MINUS_O): Add to complete the Fortran
77 support.
Tue Sep 8 14:06:04 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* acgeneral.m4: Make the following macros Fortran 77 aware
(i.e. conditionalize whether to `#include "confdefs.h"', etc.):
(AC_TRY_COMPILE)
(AC_TRY_LINK)
(AC_CHECK_LIB)
* acgeneral.m4 (AC_LANG_FORTRAN77): Rename `AC_LANG_FORTRAN' to
`AC_LANG_FORTRAN77'. Change the Fortran 77 language macro from
`FORTRAN' to `FORTRAN77'.
(AC_LANG_RESTORE): Change the Fortran 77 language macro from
`FORTRAN' to `FORTRAN77'
* autoconf.texi: Updated Fortran 77 documentation, particularly
for `AC_TRY_COMPILE', `AC_TRY_LINK' and `AC_CHECK_LIB'.
Thu Sep 3 09:34:39 1998 Matthew D. Langston <langston@SLAC.Stanford.EDU>
* autoconf.texi: Added Fortran 77 documentation.
* acspecific.m4 (AC_PROG_FC): New macro. Determine a Fortran
compiler to use.
(AC_PROG_FC_WORKS): New macro.
(AC_PROG_FC_GNU): New macro.
(AC_PROG_FC_G): New macro.
(AC_PROG_FC_C_O): New macro.
* acgeneral.m4: Add FFLAGS (Fortran 77 flags).
(AC_LANG_FORTRAN): New macro.
(AC_LANG_RESTORE): Make Fortran 77 aware.
(AC_TRY_COMPILER): Make Fortran 77 aware (i.e. conditionalize
whether to `#include "confdefs.h"').
* acgeneral.m4 (AC_VALIDATE_CACHED_SYSTEM_TUPLE): New macro. This
macro can be used to ensure that a configure script will not run
on a second system without removing the cache and re-running
configure. Contributed by Alexandre Oliva <oliva@dcc.unicamp.br>.
* acgeneral.m4 (AC_SEARCH_LIBS): New macro. Searches a series of
libraries for a given function. Contributed by Jim Blandy
<jimb@cygnus.com>.
(AC_TRY_LINK_FUNC): New macro. Again, from Jim.
* acgeneral.m4 (AC_CHECK_PROG): Fix a bug if the supplied path
contains colons. This was observed with some versions of NetBSD
`sh' and some versions of `bash'.
(AC_PATH_PROG): Likewise. Contributed by Tom Yu <tlyu@mit.edu>.
* acspecific.m4 (AC_C_STRINGIZE): New macro to test the
availability of the stringizing operator in the C preprocessor.
Contributed by Arnold Robbins <arnold@gnu.org> on behalf of the
GNU AWK project.
* acconfig.h (HAVE_STRINGIZE): Add for the AC_C_STRINGIZE macro.
* acgeneral.m4 (AC_CHECK_FILE): New macro. Checks for the
existence of a file in the file system (native only).
Contributed by Theodore Y. Ts'o <tytso@mit.edu>.
(AC_CHECK_FILES): Likewise.
* acspecific.m4 (AC_EXEEXT): Correct setting of ac_exeext when
there is no extension.
Mon Jun 1 12:30:39 1998 Ian Lance Taylor <ian@cygnus.com>
* acspecific.m4 (AC_PROG_INSTALL): Likewise.
(AC_PROG_CC): On cygwin32, if neither gcc nor cc
are found, look for cl.
(AC_PROG_CXX): Look for cl after all other choices.
Thu May 28 18:37:36 1998 Ian Lance Taylor <ian@cygnus.com>
Add support for Visual C++:
* acspecific.m4 (AC_PROG_CC): Check whether compiler supports -g
even if it is not gcc.
(AC_PROG_CXX): Likewise.
(AC_PROG_CPP): Try running the compiler with the -nologo option.
(AC_FUNC_ALLOCA): Check for _MSC_VER. Use ac_objext.
(AC_FUNC_MEMCMP): Use ac_objext.
(AC_STRUCT_ST_BLOCKS): Likewise.
(AC_OBJEXT): New macro.
(AC_CYGWIN32, AC_MINGW32, AC_EXEEXT): New macros.
Thu Apr 30 16:29:00 1998 Syd Polk <spolk@cygnus.com>
* acspecific.m4 (SETPGRP_VOID): The test for setpgrp needs
to have unistd.h included or the DEC compiler does not
flag the error that triggers setting the variable.
* acgeneral.m4 (AC_CHECK_PROG): Set IFS to just ":" when searching
through PATH.
(AC_PATH_PROG): Likewise.
Thu May 28 18:37:36 1998 Ian Lance Taylor <ian@cygnus.com>
* acgeneral.m4 (AC_ACVERSION): Bump to 2.12.2.
Add support for Visual C++:
* acgeneral.m4 (ac_exeext, ac_objext): New variables.
(ac_link): Use ac_exeext.
(AC_TRY_COMPILER, AC_TRY_LINK, AC_TRY_RUN_NATIVE): Likewise.
(AC_TRY_CPP): Remove lines from stderr which contain only the name
of the file.
(AC_REPLACE_FUNCS): Use ac_objext.
Fri Oct 3 18:10:39 1997 Ian Lance Taylor <ian@cygnus.com>
* acgeneral.m4 (AC_CACHE_SAVE): Add a grep when checking whether
set quotes correctly, to avoid a cache overflow on HP-UX 9.
Wed Sep 11 15:35:19 1997 Chris Provenzano <proven@cygnus.com>
* acgeneral.m4 : Always set SHELL and substitute SHELL.
When looking for a path for an executable allow the
user to override with an DOS path.
Tue Aug 5 23:00:05 1997 Ian Lance Taylor <ian@cygnus.com>
* acgeneral.m4 (AC_VERSION): Set to 2.12.1.
(AC_CANONICAL_HOST): Use CONFIG_SHELL to run $ac_config_sub and
$ac_config_guess.
(AC_CANONICAL_TARGET, AC_CANONICAL_BUILD): Likewise.
* acspecific.m4 (AC_SYS_LONG_FILE_NAMES): If $TMPDIR names an
existing, writable directory, then test it instead of /tmp, /var/tmp,
and /usr/tmp for long file name support.
* acspecific.m4 (AC_FUNC_GETLOADAVG): Fix name of -lelf cache variable
name in test of it.
(AC_PATH_XTRA): Fix name of -ldnet cache variable name in test of it.