[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Automake 1.13 released
GNU Automake 1.13 released
Fri, 28 Dec 2012 18:34:12 +0100
-----BEGIN PGP SIGNED MESSAGE-----
We are pleased to announce the GNU Automake 1.13 major release.
This release brings several changes, a couple of bug-fixes, and some
backward incompatibilities over the 1.12.x series.
The detailed list of changes since the previous version, as described
in the NEWS file, is given below. Here is a quick summary of the most
+ Autoconf >= 2.65 and Texinfo >= 4.9 are now required.
+ Support for the "Cygnus-style" trees has been removed (bug#11034).
+ Elisp byte-compilation recipes have been overhauled, for better
support of VPATH and subdir builds, and improved concurrency.
+ The parallel testsuite harness (previously only enabled by the
'parallel-tests' option) is now the default.
+ The user can now define his own recursive targets, with the help
of the new 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
+ Semantics of the 'missing' script have been radically altered: it
no longer tries to update the timestamp of out-of-date files that
require a maintainer-specific tool to be remade, but just gives
clearer and useful warnings than a "program not found" diagnostic.
+ Macros AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS can now be
used to declare the local m4 include directories. Accordingly,
the special make variable ACLOCAL_AMFLAGS will become deprecated
in future releases, and you should start moving away from it ASAP.
Please report bugs and problems to <address@hidden>, and send
general comments and feedback to <address@hidden>.
Thanks to everyone who has reported problems, contributed patches,
and helped testing Automake!
New in 1.13:
* WARNING: Future backward-incompatibilities!
- Automake 1.14 will likely require Autoconf 2.70 or later (which is
still unreleased at the moment of writing, but is planned to be
released before Automake 1.14 is).
- Automake 1.14 will likely drop support for the long-deprecated
'configure.in' name for the Autoconf input file. You are advised
to use the recommended name 'configure.ac' instead.
- The long-obsolete (since automake 1.10) AM_PROG_MKDIR m4 macro will
be removed in Automake 1.14. The $(mkdir_p) make variable and the
@mkdir_p@ substitution will still remain available (as aliases of
$(MKDIR_P)) for the moment, for better backward compatibility; but
you are advised to stop using ASAP.
- The ACLOCAL_AMFLAGS special make variable will be fully deprecated
in Automake 1.14 (where it will raise warnings in the "obsolete"
category). You are advised to start relying on the new Automake
support for AC_CONFIG_MACRO_DIRS instead (which is introduced with
this release; see below for more information).
- Support for IRIX and the SGI C/C++ compilers will be removed in
Automake 1.14: they have seen their last release in 2006, and SGI
is expected to retire support from them in December 2013; see
- Future versions of Automake might remove support for MS-DOS and
Windows 95/98/ME (support for them was offered by relying on the
DJGPP project). Note however that both Cygwin and MSYS/MinGW on
modern Windows versions will continue to be fully supported.
- Support for the long-deprecated INCLUDES variable will be removed
altogether in Automake 1.14. The AM_CPPFLAGS variable should be
- Automake-provided scripts and makefile recipes might (finally!)
start assuming a POSIX shell in Automake 1.14.
- Starting from Automake 1.14, third-party m4 files located in the
system-wide aclocal directory, as well as in any directory listed
in the ACLOCAL_PATH environment variable, will take precedence
over "built-in" Automake macros. For example (assuming Automake
is installed in the /usr/local hierarchy), a definition of the
AM_PROG_VALAC macro found in '/usr/local/share/aclocal/my-vala.m4'
should take precedence over the same-named automake-provided macro
(defined in '/usr/local/share/aclocal-1.14/vala.m4').
* Bugs fixed:
- ylwrap renames properly header guards in generated header files
(*.h), instead of leaving Y_TAB_H.
- ylwrap now also converts header guards in implementation files
(*.c). Because ylwrap failed to rename properly #include in the
implementation files, current versions of Bison (e.g., 2.7)
duplicate the generated header file in the implementation file.
The header guard then protects the implementation file from
duplicate definitions from the header file.
* Version requirements:
- Autoconf 2.65 or greater is now required.
- The rules to build PDF and DVI output from Texinfo input now
require Texinfo 4.9 or later.
* Obsolete features:
- Support for the "Cygnus-style" trees (once enabled by the 'cygnus'
option) has been removed. See discussion about automake bug#11034
for more background: <http://debbugs.gnu.org/11034>.
- The deprecated aclocal option '--acdir' has been removed. You
should use the options '--automake-acdir' and '--system-acdir'
instead (which have been introduced in Automake 1.11.2).
- The following long-obsolete m4 macros have been removed:
AM_PROG_CC_STDC: superseded by AC_PROG_CC since October 2002
fp_PROG_CC_STDC: broken alias for AM_PROG_CC_STDC
fp_WITH_DMALLOC: old alias for AM_WITH_DMALLOC
AM_CONFIG_HEADER: superseded by AC_CONFIG_HEADERS since July 2002
ud_PATH_LISPDIR: old alias for AM_PATH_LISPDIR
jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE
ud_GNU_GETTEXT: old alias for AM_GNU_GETTEXT
gm_PROG_LIBTOOL: old alias for AC_PROG_LIBTOOL
fp_C_PROTOTYPES: old alias for AM_C_PROTOTYPES (which was part
of the now-removed automatic de-ANSI-fication
support of Automake)
- All the "old alias" macros in 'm4/obsolete.m4' have been removed.
- Use of the long-deprecated two- and three-arguments invocation forms
of the AM_INIT_AUTOMAKE is no longer documented. It's still supported
though (albeit with a warning in the 'obsolete' category), to cater
for people who want to define the version number for their package
dynamically (e.g., from the current VCS revision). We'll have to
continue this support until Autoconf itself is fixed to allow better
support for such dynamic version numbers.
* Elisp byte-compilation:
- The byte compilation of '.el' files into '.elc' files is now done
with a suffix rule. This has simplified the compilation process, and
more importantly made it less brittle. The downside is that emacs is
now invoked once for each '.el' files, which cause some noticeable
slowdowns. These should however be mitigated on multicore machines
(which are becoming the norm today) if concurrent make ("make -j")
- Elisp files placed in a subdirectory are now byte-compiled to '.elc'
files in the same subdirectory; for example, byte-compiling of file
'sub/foo.el' file will result in 'sub/foo.elc' rather than in
'foo.elc'. This behaviour is backward-incompatible with older
Automake versions, but it is more natural and more sane. See also
- The Emacs invocation performing byte-compilation of '.el' files honors
the $(AM_ELCFLAGS) and $(ELCFLAGS) variables; as typical, the former
one is developer-reserved and the latter one user-reserved.
- The 'elisp-comp' script, once provided by Automake, has been rendered
obsoleted by the just-described changes, and thus removed.
* Changes to Automake-generated testsuite harnesses:
- The parallel testsuite harness (previously only enabled by the
'parallel-tests' option) is the default one; the older serial
testsuite harness will still be available through the use of the
'serial-tests' option (introduced in Automake 1.12).
- The 'color-tests' option is now unconditionally activated by default.
In particular, this means that testsuite output is now colorized by
default if the attached terminal seems to support ANSI escapes, and
that the user can force output colorization by setting the variable
AM_COLOR_TESTS to "always". The 'color-tests' is still recognized
for backward-compatibility, although it's a handled as a no-op now.
* Silent rules support:
- Support for silent rules is now always active in Automake-generated
Makefiles. So, although the verbose output is still the default,
the user can now always use "./configure --enable-silent-rules" or
"make V=0" to enable quieter output in the package he's building.
- The 'silent-rules' option has now become a no-op, preserved for
backward-compatibility only. In particular, its use no longer
disables the warnings in the 'portability-recursive' category.
* Texinfo Support:
- The rules to build PDF and DVI files from Texinfo input now require
Texinfo 4.9 or later.
- The rules to build PDF and DVI files from Texinfo input now use the
'--build-dir' option, to keep the auxiliary files used by texi2dvi
and texi2pdf around without cluttering the build directory, and to
make it possible to run the "dvi" and "pdf" recipes in parallel.
* Automatic remake rules and 'missing' script:
- The 'missing' script no longer tries to update the timestamp of
out-of-date files that require a maintainer-specific tool to be
remade, in case the user lacks such a tool (or has a too-old version
of it). It just gives a useful warning, and in some cases also a
tip about how to obtain such a tool.
- The missing script has thus become useless as a (poor) way to work
around the sketched-timestamps issues that can happen for projects
that keep generated files committed in their VCS repository. Such
projects are now encouraged to write a custom "fix-timestamps.sh"
script to avoid such issues; a simple example is provided in the
"CVS and generated files" chapter of the automake manual.
* Recursive targets:
- The user can now define his own recursive targets that recurse
in the directories specified in $(SUBDIRS). This can be done by
specifying the name of such targets in invocations of the new
'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
- Any failure in the recipe of the "tags", "ctags", "cscope" or
"cscopelist" targets in a subdirectory is now propagated to the
top-level make invocation.
- Tags are correctly computed also for files in _SOURCES variables that
only list files with non-standard suffixes (see automake bug#12372).
* Improvements to aclocal and related rebuilds rules:
- Autoconf-provided macros AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS
are now traced by aclocal, and can be used to declare the local m4
include directories. Formerly, one had to specify it with an explicit
'-I' option to the 'aclocal' invocation.
- The special make variable ACLOCAL_AMFLAGS is deprecated; future
Automake versions will warn about its use, and later version will
remove support for it altogether.
* The depcomp script:
- Dropped support for libtool 1.4.
- Various internal refactorings. They should cause no visible change,
but the chance for regression is there anyway, so please report any
unexpected or suspicious behaviour.
- Support for pre-8.0 versions of the Intel C Compiler has been dropped.
This should cause no problem, since icc 8.0 has been released in
December 2003 -- almost nine years ago.
- Support for tcc (the Tiny C Compiler) has been improved, and is now
handled through a dedicated 'tcc' mode.
* The ylwrap script:
- ylwrap generates header guards with a single '_' for series of non
alphabetic characters, instead of several. This is what Bison >=
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
-----END PGP SIGNATURE-----
|[Prev in Thread]
||[Next in Thread]|
- GNU Automake 1.13 released,
Stefano Lattarini <=