I've just uploaded Autoconf 2.52b (for Autoconf 2.52a was broken, of
course...).
It might seem a bit premature, but recently there have been dramatical
changes in Autoconf:
1. The package layout has completely changed
This is in order to make some room for future M4 packages, such as
M4sh, and Autotest.
Alexandre, I think we are ready to integrate Ad'Hoc into the
Autom4te framework now.
2. Everything is on top of autom4te, which is a Perl 5.5 script.
The rationale for its inception is that in a near future traces
will be much more used than they used to be: yet autoheader uses
them to produce config.h.in, autoscan uses them to check the
completeness of configure.ac. And Automake 1.6 is expected to
depend upon traces too. Given that autoconf is extremely slow,
since traces can be produced at the same time as configure is
output, the basic idea was caching the traces, and use the cache
whenever possible. A simple example should demonstrate the point:
fileutils-4.1 % time autoconf2.50; time autoheader2.50
autoconf2.50 20,65s user 1,35s system 78% cpu 27,876 total
autoheader2.50 21,40s user 2,23s system 75% cpu 31,483 total
fileutils-4.1 % time autoconf; time autoheader
autoconf 21,49s user 1,21s system 88% cpu 25,785 total
autoheader 3,27s user 1,44s system 88% cpu 5,308 total
and I'm pretty sure we can do better. Now imagine you'd have to
suffer from the same duration with each automake run...
Basically you can consider 2.52b is nothing but 2.52 atop autom4te.
But it requires extensive testing (aka, ``use it at your own risks'' :).
I've been using it for a while, and seems to behaves properly.
Please, as usual, torture it.
Enjoy!
ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52b.tar.gz (852 kB)
ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52b.tar.bz2 (638 kB)
Here are the MD5 and SHA1 signatures for the compressed tar files:
cc2f08159fc893ee7c524940b314926e autoconf-2.52b.tar.gz
6db0610ad4e39187f5f1925eed223ebc autoconf-2.52b.tar.bz2
42c7a907ca69f719180c653fa07e896e1afb81a9 autoconf-2.52b.tar.gz
dc3c3d5ba4eef73a61e63e6544a478b6aadbeb6e autoconf-2.52b.tar.bz2
NEWS:
** Requirements
Perl 5.005 is now required to run Autoconf.
** autom4te
New executable, used by the Autoconf suite to cache and speed up
some processing.
ChangeLog entries:
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
Version 2.52b.
* lib/Autom4te/Makefile.am (perllibdir): s/Autoconf/Autom4te/.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
Version 2.52a.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* lib/Autom4te/General.pm: Use `carp' and `croak', not `warn' and
`die'.
(&END): New.
* bin/autoconf.in, bin/autom4te.in, bin/autoupdate.in: Remove your
`END', as `Autom4te::General::END' will be triggered.
* bin/autoupdate.in, bin/autoscan.in: Improve error messages accuracy.
* bin/autoupdate.in (File::Compare, File::Copy): Use them instead of
system to run `mv', `rm', and `cmp'.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* lib/Autom4te/General.pm (&unique): New.
* bin/autoscan.in (&output): Use it to issue trace requests once.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* lib/Autom4te/General.pm: New.
* bin/autom4te.in (Autom4te::General): Use it.
($me, $tmp, $verbose, $debug, &mktmpdir, &verbose, &xsystem)
(&find_configure_ac, &find_slave): Remove.
* bin/autoscan.in: Likewise.
* bin/autoupdate.in: Likewise.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* autoconf.in, autom4te.in, autoscan.in, ifnames.in,
* autoheader.in, autoreconf.in, autoupdate.in: Move to...
* bin: here, new directory.
* lib/Autoconf: Rename as...
* lib/Autom4te: this, to please case insensitive junkie OSes.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* autom4te.in ($m4): Handle the --nesting-limit.
* autoconf.in (M4): Remove.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* autoconf.in ($AWK): Remove, no longer used.
* test/tools.at: Use AT_CHECK_AUTOCONF.
(AWK portability): Remove, for autoconf no longer uses AWK.
(Syntax of the Perl scripts): New.
* configure.ac: autoconf no longer needs an AWK with a good
regexp engine.
Use a static test on AC_PACKAGE_VERSION.
* autom4te.in (&up_to_date_p): Output depends on the arguments.
* lib/autoconf/Makefile.am: Ship version.m4, maintainer file.
* tests/atconfig.in (PERL): New.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* lib/autoconf/lang.m4 (AC_LANG(C), AC_LANG_C, _AC_LANG_ABBREV(C))
(AC_LANG(C++), AC_LANG_CPLUSPLUS, _AC_LANG_ABBREV(C++))
(AC_LANG_SOURCE(C), AC_LANG_PROGRAM(C), AC_LANG_CALL(C))
(AC_LANG_FUNC_LINK_TRY(C), AC_LANG_BOOL_COMPILE_TRY(C))
(AC_LANG_INT_SAVE(C), _AC_ARG_VAR_CPPFLAGS, _AC_ARG_VAR_LDFLAGS)
(AC_LANG_PREPROC(C), _AC_PROG_PREPROC_WORKS_IFELSE, AC_PROG_CPP)
(AC_LANG_COMPILER(C), ac_cv_prog_gcc, AC_PROG_CC, _AC_PROG_CC_G)
(AC_PROG_GCC_TRADITIONAL, AC_PROG_CC_C_O, AC_LANG_PREPROC(C++))
(AC_PROG_CXXCPP, AC_LANG_COMPILER(C++), ac_cv_prog_gxx)
(AC_PROG_CXX, _AC_PROG_CXX_G, _AC_PROG_CXX_EXIT_DECLARATION)
(AC_PROG_CC_STDC, AC_C_CROSS, AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE)
(AC_C_BIGENDIAN, AC_C_INLINE, AC_C_CONST, AC_C_VOLATILE)
(AC_C_STRINGIZE, AC_C_PROTOTYPES): Move to...
* lib/autoconf/c.m4: here, new file.
* lib/autoconf/lang.m4 (AC_LANG(Fortran 77), AC_LANG_FORTRAN77)
(_AC_LANG_ABBREV(Fortran 77), AC_LANG_SOURCE(Fortran 77))
(AC_LANG_PROGRAM(Fortran 77), AC_LANG_CALL(Fortran 77))
(AC_LANG_PREPROC(Fortran 77), AC_LANG_COMPILER(Fortran 77))
(ac_cv_prog_g77, AC_PROG_F77, _AC_PROG_F77_G, AC_PROG_F77_C_O)
(_AC_PROG_F77_V_OUTPUT, _AC_PROG_F77_V, AC_F77_LIBRARY_LDFLAGS)
(AC_F77_DUMMY_MAIN, _AC_LANG_PROGRAM_C_F77_HOOKS, AC_F77_MAIN)
(_AC_F77_NAME_MANGLING, AC_F77_NAME_MANGLING, AC_F77_WRAPPERS)
(AC_F77_FUNC): Move to...
* lib/autoconf/fortran.m4: here, new file.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* acfunctions.m4: Rename as...
* lib/autoconf/functions.m4: this.
* acgeneral.m4: Rename as...
* lib/autoconf/general.m4: this.
* acheaders.m4: Rename as...
* lib/autoconf/headers.m4: this.
* aclang.m4: Rename as...
* lib/autoconf/lang.m4: this.
* acoldnames.m4: Rename as...
* lib/autoconf/oldnames.m4: this.
* acspecific.m4: Rename as...
* lib/autoconf/specific.m4: this.
* actypes.m4: Rename as...
* lib/autoconf/types.m4: this.
* autoconf.m4: Rename as...
* lib/autoconf/autoconf.m4: this.
* m4sugar.m4: Rename as...
* lib/m4sugar/m4sugar.m4: this.
* m4sh.m4: Rename as...
* lib/m4sugar/m4sh.m4: this.
* tests/atgeneral.m4: Rename as...
* lib/autotest/general.m4: this.
* acfunctions: Rename as...
* lib/autoscan/functions: this.
* acheaders: Rename as...
* lib/autoscan/headers: this.
* acidentifiers: Rename as...
* lib/autoscan/identifiers: this.
* aclibraries: Rename as...
* lib/autoscan/libraries: this.
* acmakevars: Rename as...
* lib/autoscan/makevars: this.
* acprograms: Rename as...
* lib/autoscan/programs: this.
2001-08-01 Akim Demaille <[EMAIL PROTECTED]>
* doc/autoconf.texi: Moving/deleting open files is not portable.
Portability issues for `.' (source), and more information about sed.
2001-07-25 Steven G. Johnson <[EMAIL PROTECTED]>
* aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Ignore -libmil (on Solaris),
which has a special meaning and is not a reference to libibmil.a.
Reported by Matteo Frigo.
2001-07-25 Pavel Roskin <[EMAIL PROTECTED]>
* autom4te.in (mktmpdir): Strip trailing newline from mktemp
output.
2001-07-25 Akim Demaille <[EMAIL PROTECTED]>
* autoconf.in: Try to define the variables before using them.
* autom4te.in ($perllibdir): Use `$autom4te_perllibdir' as envvar
instead of `$perllibdir'.
* tests/atconfig.in ($autom4te_perllibdir): Export it.
2001-07-25 Akim Demaille <[EMAIL PROTECTED]>
* autoconf.in (ac_LF_and_DOT): Remove, unused.
2001-07-24 Akim Demaille <[EMAIL PROTECTED]>
Let autoconf use autom4te for traces.
* autoconf.in ($task, task trace): Remove, merely pass --trace to
autom4te.
* autoheader.in: Don't pass `-' to autoconf, rather, a tmp file.
(Because I found no way for autom4te to accept `-').
* autom4te.in (&Request::request): Beware of M4 builtins.
(END): Don't try to remove the content of an empty dir.
(&parse_args): Default is `$f:$l:$n:$%', not `$f:$l:$n:$*'.
(&handle_output): Set a default value to `$forbidden'.
* autoupdate.in (&verbose, &xsystem): New, from autom4te.in.
($autoconf): Pass --debug and --verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Clean up autom4te's
cache.
2001-07-24 Akim Demaille <[EMAIL PROTECTED]>
Let autoconf use autom4te to create configure.
* autoconf.in ($automate): New var.
(task script): Use autom4te.
* autom4te.in (File::Spec): Use it.
(&find_file): New.
(&parse_args): --warning is -W, not -w.
Find the top level files.
(&handle_m4): Pass the warnings flags.
Don't report verbosely m4's failures, unless requested.
(&handle_output): Don't complain for forbidden tokens in comments.
Be sure to report all the forbidden tokens within a single line.
(&trace_format_to_m4): Preserve `$_'.
(&handle_traces): Sort the output macros.
(&up_to_date_p): Find the files before trying to get its time stamp.
2001-07-24 Akim Demaille <[EMAIL PROTECTED]>
* Makefile.am: Ship, build and install Autom4te.
(SUBDIRS): Add lib.
* lib/Autoconf/Struct.pm: New, from Automake 1.5.
* configure.in: Require Perl.
* man/autom4te.in: New.
2001-07-19 Paul Eggert <[EMAIL PROTECTED]>
* doc/autoconf.texi (Cache Checkpointing): Use AC_MSG_ERROR in
example, rather than (exit 1); exit (which isn't portable).