functions, no longer use `&' to call functions as it disables
prototype checking, topological sort so that functions are defined
before being used, and put an Autoconf like nice comment to
describe the functions.
(output): Accept an CONFIGURE_SCAN parameters, and open CONF.
(edit).
* m4sh.m4 (AS_UNAME): Eved out from...
* acgeneral.m4 (_AC_INIT_DEFAULTS): here.
(_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME.
(_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables.
Propagate their use in the executables and the test suite.
* tests/atgeneral.m4 (PATH): Include only absolute paths.
(AT_INIT): Use AS_UNAME.
`0'. Test and fix.
Reported by Assar Westerlund.
* Makefile.am (maintainer-check): New target.
* tests/Makefile.am (maintainer-check, maintainer-check-posix)
(maintainer-check-c++, expr): Likewise.
* configure.in (EXPR): Look for it.
* tests/atgeneral.m4 (AT_CHECK): Propagate $2's default value.
* tests/compile.at (Extensions): New test.
* aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O):
Distinguish files with or without a dot.
* autoreconf.sh: Likewise.
* autoheader.sh: Ditto.
* autoupdate.sh: Similarly.
* doc/autoconf.texi: Adjust.
* tests/atspecific.m4: Be sure to remove configure.in.
Adjust the test suite to use `configure.ac'.
(AC_PROG_CXXCPP, AC_PROG_CPP): Set the current language instead of
just asserting it, since these macros can be called directly.
Reported by Raja R. Harinath.
* autoheader.sh: When loading trace.sh, catch errors and exit with
a decent error message.
* tests/tools.at: Be sure to test autoconf --trace before
autoheader.
(m4_cr_letters, m4_cr_LETTERS, m4_cr_Letters, m4_cr_digits)
(m4_cr_symbols1, m4_cr_symbols2, m4_re_string, m4_re_word)
(m4_init): New macros.
(m4_token_allow): Remove.
* acgeneral.m4: Don't push BODY into the diversion stack.
(AC_PLAIN_SCRIPT): Do it.
Call m4_init, define the Autoconf patterns.
(AC_INIT): Use AC_PLAIN_SCRIPT.
Remove the useless `dnl' (those where the current diversion is
KILL).
* autoconf.sh (m4_common): Fix quotation.
(finalize.awk): Load forbidden.rx and allowed.rx.
Split the line into tokens, and check their validity.
* tests/tools.at (Forbidden tokens): Adjust.
`acconfig.h', `config.h.top', and `config.h.bot'.
Reported by Aharon Robbins.
* doc/autoconf.texi (Making configure Scripts)
(Automatic Remaking, Defining Symbols, Distributing): Forget about
these files.
(acconfig.h): Reword.
Display the old scheme presenting the dependencies between input
and output files.
(Changed File Names): Clarify.
obsolete options to stderr. Adjust list of options. Correct
processing of options. Process options with values separated by
"=" first, so that abbreviations work. Don't accept "=" with
short options.
* autoheader.sh: Likewise.
* autoreconf.sh: Likewise.
* autoupdate.sh: Likewise.
* ifnames.sh: There is no "--verbose" option.
* doc/autoconf.texi: Option "-A" requires an argument.
(autoreconf Invocation): Document "--install", "--symlink",
"--m4dir" and the options passed to Automake.
In fact, rename this option as -A, --autoconf-dir.
* autoconf.sh: Complain when -m, --macrodir is used.
Accept -A, --autoconf-dir.
Use $autoconf_dir instead of $AC_MACRODIR.
Adjust --help.
* autoheader.sh: Likewise.
* autoscan.sh: Likewise.
* autoupdate.sh: Likewise.
Use $optarg.
* autoreconf.sh: Likewise.
* doc/autoconf.texi: Adjust.
* tests: Adjust the test suite.
* acgeneral.m4 (AC_SHELL_DIRNAME): When using m4 the argument
is named `$1' not `$dir'.
When using m4 you ought to quote properly.
When using m4, you should check that there are not too many shell
quotes (inside the macro itself, and where it is called).
When you do this, Autoconf, hm, works better.
$AUTOMAKE and $ACLOCAL.
Pass --verbose to the tools.
Avoid using plenty of variables, just append to existing
variables.
* doc/autoconf.texi: List options in the order --help, --version,
--verbose, --debug, and then specific options.
(AC_INIT): Dispatch your arguments either to _AC_INIT_PACKAGE or
to AC_CONFIG_SRCDIR.
(AU::AC_INIT): New.
* configure.in: Adjust.
Use `#', not `dnl'.
* doc/autoconf.texi (configure.in Layout): Document the new form
of AC_INIT.
Document AC_CONFIG_SRCDIR.
(Obsolete Macros): Document the old one.
.
|
|
/-+ / + )===( U T O U P D A T E I V
// \
=========
_//_ _\_ The ``Eiffel Tower'' Release
* autoupdate.sh: Complete rewrite. See that file for a detailed
explanation. Basically, simulate the name spaces thanks to
`autoconf --trace' and auxiliary files.
No longer use `autoupdate.m4', remove the dependencies.
Synchronize the options and `--help'.
* doc/autoconf.texi (Invoking autoupdate): Humanoupdate.
* autoupdate.m4: Delete.
* tests/Makefile.am (FILTER_MACROS): Add `AC_OUTPUT'.
Since `AC_OUTPUT' is now AU_DEFUN'd, it is extracted for testing,
while it was not before.
* tests/tools.m4 (autoupdate): Re-enable. Adjust the expected
output with the right quotation (yeah!).
Pass `-m $top_srcdir': autoupdate want the `.m4' files, not the
frozen files.
* Makefile.am (nodistpkgdataDATA): Move `acversion.m4' to
(distpkgdataDATA): here, so that all the `.m4' files are in the
source hierarchy, not split across src and build.
* acversion.m4.in: Update to today's standards.
* Makefile.am: Adjust.
^
/ U T O U P D A T E I I I
/===+ / It bells, It whistles...
* autoupdate.sh: Complete rewrite. See that file for a detailed
explanation.
* acgeneral.sh: Don't use AU_DEFINE, but AU_DEFUN.
(AC_OUTPUT_COMMANDS_CNT): Renamed as...
(_AC_OUTPUT_COMMANDS_CNT): this.
* autoheader.sh: No longer try to select the needed paragraphs of
`acconfig.h', just dump everything into `config.h.in'.
Implement support for `--warnings'.
Warn the users that these auxiliary files are obsolete when `-W
obsolete'.
* doc/autoconf.texi (Invoking autoheader): Adjust.
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.