Akim Demaille [Wed, 9 Feb 2000 17:47:47 +0000 (17:47 +0000)]
AU_ glue code for AC_OUTPUT with arguments.
* 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.
Akim Demaille [Wed, 9 Feb 2000 17:42:53 +0000 (17:42 +0000)]
AU_ glue code for AC_OUTPUT_COMMANDS.
* 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.
Akim Demaille [Wed, 9 Feb 2000 17:01:44 +0000 (17:01 +0000)]
Extend the concept of `INIT-CMDS' to the AC_CONFIG_FOOS.
* 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.
Akim Demaille [Wed, 9 Feb 2000 11:59:24 +0000 (11:59 +0000)]
* libm4.m4 (m4_sign, m4_cmp, m4_list_cmp): New macros.
* 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.
Akim Demaille [Tue, 8 Feb 2000 13:55:52 +0000 (13:55 +0000)]
* acgeneral.m4 (AC_PROVIDE): Use `m4_define', not `define'.
Because of the namespace machinery this change makes `autoconf'
about four times faster on complex `configure.in's.
Akim Demaille [Tue, 8 Feb 2000 13:54:48 +0000 (13:54 +0000)]
Open the access to AH_ to users.
* autoheader.m4 (autoheader::AH_DEFUN): New macro.
* tests/tools.m4: New file, in charge of testing the scripts.
All the dependencies adapted.
* tests/actest.m4 (autoheader::AC_TATOOINE): New macro, used while
testing autoheader.
* tests/atspecific.m4: Create config.hin instead of config.h.in.
Akim Demaille [Tue, 8 Feb 2000 13:51:55 +0000 (13:51 +0000)]
* acgeneral.m4 (AC_CONFIG_UNIQUE): Strip the `:foo.in' part
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.
Akim Demaille [Tue, 8 Feb 2000 13:43:58 +0000 (13:43 +0000)]
* libm4.m4 (m4_namespace_push, m4_namespace_pop): Use the private
macros to be robust to name space changes.
(m4_popdef, m4_pushdef): New private macros.
Akim Demaille [Tue, 8 Feb 2000 13:42:51 +0000 (13:42 +0000)]
Let the doc catch up.
* 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.
Akim Demaille [Tue, 8 Feb 2000 13:41:51 +0000 (13:41 +0000)]
* acgeneral.m4 (AC_OUTPUT_HEADERS): Don't use `break' to exit the
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.
Akim Demaille [Tue, 8 Feb 2000 13:40:26 +0000 (13:40 +0000)]
* doc/autoconf.texi (Configuration Commands): New section, for
AC_CONFIG_COMMANDS.
Move the definition of AC_OUTPUT_COMMANDS here.
(Configuration Links): New section, for AC_CONFIG_LINKS and
AC_LINK_FILES.
(Configuration Files): New section, for AC_CONFIG_FILES.
(Globally) Promote AC_CONFIG_HEADERS over AC_CONFIG_HEADER.
(Using System Type): Don't document AC_CONFIG_LINKS and
AC_LINK_FILES.
(Invoking config.status): Mention CONFIG_COMMANDS.
Document --file and --header.
Talk first of the newest interface of config.status.
Akim Demaille [Tue, 8 Feb 2000 13:38:45 +0000 (13:38 +0000)]
Introduce a concept index, and update a bit the documentation.
* 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.
Akim Demaille [Tue, 8 Feb 2000 13:25:49 +0000 (13:25 +0000)]
Revamp the autoupdate/AC_OBSOLETE chain. All the details are
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'.
Akim Demaille [Tue, 8 Feb 2000 13:16:01 +0000 (13:16 +0000)]
Clean up some m4 files.
* acoldnames.m4: Use `#', not `dnl'.
Don't spread `dnl' everywhere, anyway, we are in a divert(-1).
* autoconf.m4: Likewise.
* autoheader.m4: Likewise.
Akim Demaille [Tue, 8 Feb 2000 13:11:21 +0000 (13:11 +0000)]
Improve support of name spaces in libm4. Put the m4 builtins
in the `libm4' name space.
* libm4 (m4_changequote, m4_define, m4_defn, m4_dnl, m4_indir,
m4_undefine): Private copies in the global name space. Used by
the name space mechanisms.
(m4_namespace_register): New macro.
(m4_namespace_define): Use it.
(builtin, changequote, defn, dnl, esyscmd, ifdef, ifelse, indir,
patsubst, popdef, pushdef, regexp, undefine, syscmd, sysval): Put
in the `libm4' name space.
(m4_disable, m4_enable): Use the private m4_indir, otherwise once
`libm4' closed, there is no `indir' available, and therefore no
means to reopen a name space.
Akim Demaille [Tue, 8 Feb 2000 12:43:47 +0000 (12:43 +0000)]
* libm4.m4 (m4_namespace_define): Fix a bug: `m4_namespace'
instead of `$1'.
Simplify some excess in quoting.
Use NAMESPACE::MACRONAME instead of `m4_defn(NAMESPACE,
MACRONAME)'.
Akim Demaille [Tue, 8 Feb 2000 11:46:51 +0000 (11:46 +0000)]
Adapt autoheader to use libm4's namespaces.
* autoheader.m4 (AH_HOOK): Removed.
(AH_DEFUN): Define in the `autoheader' name space.
Use only AH_DEFUN to define macros in this file.
(epilogue): No longer run the `AH_HOOKS', enter the `autoheader'
name space.
Akim Demaille [Tue, 8 Feb 2000 11:39:46 +0000 (11:39 +0000)]
Clean up a bit the user interface.
* 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.
Akim Demaille [Tue, 8 Feb 2000 11:20:57 +0000 (11:20 +0000)]
Introduce name spaces in libm4.
* libm4.m4 (m4_namespace_push, m4_namespace_pop,
m4_namespace_define, define, m4_disable, m4_enable, m4_rename):
New macros.
(_m4_foreach, _m4_for, m4_wrap): Use m4_define for temporaries.
(m4_split): Don't mess with the quotes.
Akim Demaille [Tue, 8 Feb 2000 11:15:59 +0000 (11:15 +0000)]
* doc/autoconf.texi (Introduction): m4 1.4 is now required.
(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.
Akim Demaille [Tue, 8 Feb 2000 11:06:23 +0000 (11:06 +0000)]
* acgeneral.m4 (AC_PRO): Use AC_PROVIDE instead of defining
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.
Akim Demaille [Tue, 8 Feb 2000 10:59:38 +0000 (10:59 +0000)]
* acgeneral.m4 (ac_includes_default): Don't use simple quotes, but
doubles quotes if you want to use -continuation lines: this is
not recognized by MIPS' sh.
Akim Demaille [Tue, 8 Feb 2000 09:54:19 +0000 (09:54 +0000)]
Promote AC_LANG_CASE.
* 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?!?).
Akim Demaille [Tue, 8 Feb 2000 09:34:19 +0000 (09:34 +0000)]
Use the style we promote.
* 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.
Akim Demaille [Tue, 8 Feb 2000 09:19:18 +0000 (09:19 +0000)]
It seems quite delicate to have AC_INCLUDES_DEFAULT insert the
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.
Akim Demaille [Mon, 7 Feb 2000 17:28:43 +0000 (17:28 +0000)]
AC_CHECK_SIZEOF: Fix a bug, use standard default headers, and
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.
Akim Demaille [Mon, 7 Feb 2000 16:52:09 +0000 (16:52 +0000)]
* acgeneral.m4 (AC_CHECK_TYPE_INTERNAL): Instead of defining an
unused pointer to the type $1, use
if (($1 *) 0) return 0;
to avoid warnings from the compiler.
From Paul Eggert.
Akim Demaille [Mon, 7 Feb 2000 16:42:15 +0000 (16:42 +0000)]
* tests/atspecific.m4: New file, for AT macros specific to
Autoconf testing.
* tests/suite.m4 (AT_TEST_MACRO): Moved to
* tests/atspecific.m4 (AT_TEST_MACRO): here.
* tests/syntax.m4 (TEST_MACRO): Moved to
* tests/atspecific.m4 (TEST_MACRO): here. Don't test /^AC_INIT/,
nor /^AC_PROG_(CC|CXX|F77)_(GNU|WORKS)$/: they are already
tried elsewhere.
* tests/Makefile.am: Adjusted.
Akim Demaille [Mon, 7 Feb 2000 15:39:16 +0000 (15:39 +0000)]
* acspecific.m4 (AC_C_INLINE): Proceed as for AC_C_CONST:
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.
Akim Demaille [Mon, 7 Feb 2000 14:53:49 +0000 (14:53 +0000)]
* acspecific.m4 (AC_C_CONST): Don't changequote, there is no need
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.
Akim Demaille [Mon, 7 Feb 2000 14:22:37 +0000 (14:22 +0000)]
* tests/atgeneral.m4: Updated.
(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.
Akim Demaille [Mon, 7 Feb 2000 13:25:35 +0000 (13:25 +0000)]
Test that the macros respect the user variable name space.
* 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.
Akim Demaille [Mon, 7 Feb 2000 12:10:37 +0000 (12:10 +0000)]
* acgeneral.m4(AC_CONFIG_PRE_COMMANDS, AC_CONFIG_POST_COMMANDS):
Renamed AC_CONFIG_COMMANDS_PRE, AC_CONFIG_COMMANDS_POST. All
dependencies changed.
From Jim Meyering.
Akim Demaille [Mon, 7 Feb 2000 11:54:29 +0000 (11:54 +0000)]
Start a new series of tests which check the semantics.
* 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.
Akim Demaille [Fri, 4 Feb 2000 14:02:57 +0000 (14:02 +0000)]
* tests/syntax.m4: Test AC_CHECK_SIZEOF.
* tests/Makefile.am (CLEANFILES, DISTCLEANFILES): Adjusted.
(macros.m4): Use tmp dest files ($@-t), not directly `$@'.
Akim Demaille [Fri, 4 Feb 2000 13:37:47 +0000 (13:37 +0000)]
Hide AH_HOOK behind AH_DEFUN.
* 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.
Akim Demaille [Fri, 4 Feb 2000 12:44:56 +0000 (12:44 +0000)]
Run the `syntax' test on acgeneral macros too.
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.
Akim Demaille [Fri, 4 Feb 2000 10:23:15 +0000 (10:23 +0000)]
Check that the AC_DEFINEs from acspecific.m4 do have a template.
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).
Akim Demaille [Sat, 29 Jan 2000 12:18:40 +0000 (12:18 +0000)]
1999-11-11 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Sat, 29 Jan 2000 11:46:21 +0000 (11:46 +0000)]
1999-11-10 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Sat, 29 Jan 2000 09:54:27 +0000 (09:54 +0000)]
1999-11-10 Akim Demaille <akim@epita.fr>
Make autoconf support --install.
* autoconf.sh (task install): New task. Extract the set of
auxiliary m4 files a configure.in depends upon. Install links
from library files to the local dir so that the packages depends
only on local extensions. Check that the user includes exactly
the files she needs.
Akim Demaille [Sat, 29 Jan 2000 09:51:17 +0000 (09:51 +0000)]
1999-11-10 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Sat, 29 Jan 2000 09:46:28 +0000 (09:46 +0000)]
1999-11-10 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Sat, 29 Jan 2000 09:34:26 +0000 (09:34 +0000)]
1999-11-10 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Sat, 29 Jan 2000 09:22:53 +0000 (09:22 +0000)]
1999-11-01 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Fri, 28 Jan 2000 16:05:48 +0000 (16:05 +0000)]
1999-11-01 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Fri, 28 Jan 2000 15:23:37 +0000 (15:23 +0000)]
1999-11-01 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Fri, 28 Jan 2000 10:41:47 +0000 (10:41 +0000)]
1999-11-01 Akim Demaille <akim@epita.fr>
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.
Akim Demaille [Wed, 26 Jan 2000 12:38:31 +0000 (12:38 +0000)]
1999-11-01 Akim Demaille <akim@epita.fr>
Update autoupdate.
* acoldnames.m4: Sort the two sections.
* acoldnames.m4 (AM_CYGWIN32, AM_EXEEXT, AM_FUNC_FNMATCH,
AM_FUNC_MKTIME, AM_PROG_LIBTOOL, AM_MINGW32, AM_PROG_INSTALL,
fp_FUNC_FNMATCH): Added their new names.