Reported by Jim Meyering.
* autoheader.sh: Trace AC_DEFINE and AC_DEFINE_UNQUOTED to build
the list of $syms which are defined.
* tests/tools.m4 (autoheader): New test.
Use `#' to denote Autoconf comments, not `dnl'.
Put a few `' here and there to avoid misfontification and
misindentation.
Use your base name when reporting errors.
(parse_args::usage): Use $0, use the same order as the other
executables.
(parse_args): Don't dump `--help' on cmd line errors.
* acgeneral.m4 (_AC_INIT_PARSE_ARGS): Stop global double quoting,
failed experiment.
Merge all the var=val AC_SUBST(var) into AC_SUBST(var, val).
(AC_SUBST): Implement support for 2nd arg.
* doc/autoconf.texi (Setting Output Variables): Adjust.
2.5.1 only the last one is honored:
> echo "foonbar" | egrep -e 'foo' -e 'bar'
bar
> echo "foonbar" | egrep -e 'bar' -e 'foo'
foo
Reported by Nicolas Joly.
An alternative would have to use `sed', unfortunately alternation
is not portable.
* tests/actest.m4 (join): New macro.
(AC_ENV_SAVE): Join the egrep patterns into a single big one.
* tests/Makefile.am (EGREP_EXCLUDE): Rename as FILTER_MACROS.
Join the egrep patterns into a single big one.
Some CVS tricks were used so that history is kept in both the top
directory, and in doc/.
* doc/Makefile.am: New file.
* Makefile.am: Adjusted.
* configure.in: Adjusted.
* autoconf.texi: Moved from here to...
* doc/autoconf.texi: here.
* make-stdts.texi: Likewise.
* install.texi: Likewise.
* texinfo.tex: Likewise.
Reported by Franc,ois Pinard and Rainer Orth.
* autoreconf.sh: Removed spurious `;;'.
Formatting changes.
* tests/tools.m4 (Syntax of the scripts): Run `sh -n' on all the
shell scripts.
From Jim Meyering.
* autoheader.sh (usage): The usage is to use $0 here.
(ah_base): Be in TMPDIR.
Install the `trap' before creating the first tmp file.
Also trap on 0.
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'.
* 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.
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.
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.
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.
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.
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.
Create man pages for the executables.
* Makefile.am (SUBDIRS): Add `man' and prepend `.' so that
executables be built before help2man is run.
* configure.in (AC_OUTPUT): Add man/Makefile.
AC_MSG_ERROR, not AC_ERROR.
Check for missing help2man.
* man/Makefile.am: New file.
* man/autoconf.x: Likewise.
* man/autoreconf.x: Likewise.
* man/autoheader.x: Likewise.
* man/autoscan.x: Likewise.
* man/autoupdate.x: Likewise.
* man/ifnames.x: Likewise.
* man/common.x: Likewise.