[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Automake 1.11b test release
From: |
Stefano Lattarini |
Subject: |
Automake 1.11b test release |
Date: |
Wed, 11 Apr 2012 19:02:19 +0200 |
We are pleased to announce the Automake 1.11b test release.
This is a major release with several important changes and various new
features. It comes almost three years after the latest major release
(1.11), so we would particularly appreciate any extra testing before
the Automake 1.12 stable release is finally published, which is planned
to happen in two weeks (by April 25).
The tarballs for this beta release can be download here:
ftp://alpha.gnu.org/gnu/automake/automake-1.11b.tar.gz
ftp://alpha.gnu.org/gnu/automake/automake-1.11b.tar.xz
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!
-*-*-
The most important new feature in this release is certainly the support for
the TAP testing protocol in the Automake-generated testsuite harnesses (the
use of which currently still requires some manual intervention by the
developer to be correctly set up, unfortunately).
There is also at least one long-awaited bug fix: now, any explicit enabling
or disabling of a warning category should always take precedence over the
list of warning categories implied by the strictness mode. For example, a
setting like:
AUTOMAKE_OPTIONS = -Wall --foreign
will cause the warnings in category 'portability' to be enabled, even
if those warnings are by default disabled in 'foreign' strictness. This
wasn't the case for older Automake versions.
Below you can read the detailed list of changes since Automake 1.11.4, as
summarized by the NEWS file.
-*-*-
New in 1.11b:
* WARNING: Future backward-incompatibilities!
- Starting from the next major Automake version (1.13), the rules to
build pdf, ps and dvi output from Texinfo input will use the '--tidy'
option by default. Since such an option was introduced in Texinfo
4.9, this means that Makefiles generated by future Automake versions
will require at least that version of Texinfo.
- Starting from the next major Automake version (1.13), the parallel
testsuite harness (previously only enabled by the 'parallel-tests'
option) will become the default one; the older serial testsuite
harness will still be available through the use of the 'serial-tests'
option.
- The following long-obsolete m4 macros will be removed in the
next major Automake version (1.13):
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' will be removed in
the next major Automake version (1.13).
- Support for the "Cygnus-style" trees (enabled by the 'cygnus' option)
will be deprecated in the next minor version of Automake (1.12.1) and
removed in the next major version (1.13).
- Support for the two- and three-arguments invocation forms of the
AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
of Automake (1.12.1) and removed in the next major version (1.13).
- The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
all be deprecated in the next minor version of Automake (1.12.1)
and removed in the next major version (1.13).
- The '--acdir' option of aclocal is deprecated, and will probably
be removed in the next major Automake release (1.13). You should
use the options '--automake-acdir' and '--system-acdir' instead
(which have been introduced in Automake 1.11.2).
- The exact order in which the directories in the aclocal macro
search path are looked up is probably going to be changed in the
next Automake release (1.13).
* Obsolete features removed:
- The never documented nor truly used script 'acinstall' has been
removed.
- Support for automatic de-ANSI-fication has been removed.
- The support for the "obscure" multilib feature has been removed
from Automake core (but remains available in the 'contrib/'
directory of the Automake distribution).
- Support for ".log -> .html" conversion and the check-html and
recheck-html targets has been removed from Automake core (but
remains available in the 'contrib/' directory of the Automake
distribution).
- The deprecated 'lzma' compression format for distribution archives
has been removed, in favor of 'xz' and 'lzip'.
- The obsolete AM_WITH_REGEX macro has been removed.
- The long-deprecated options '--output-dir', '--Werror' and
'--Wno-error' have been removed.
- The chapter on the history of Automake has been moved out of the
reference manual, into a new dedicated Texinfo file.
* New targets:
- New 'cscope' target to build a cscope database for the source tree.
* Changes to Automake-generated testsuite harnesses:
- The new automake option 'serial-tests' has been introduced. It can
be used to explicitly instruct automake to use the older serial
testsuite harness. This is still the default at the moment, but it
might change in future versions.
- Test scripts that exit with status 99 to signal an "hard error" (e.g.,
and unexpected or internal error, or a failure to set up the test case
scenario) have their outcome reported as an 'ERROR' now. Previous
versions of automake reported such an outcome as a 'FAIL' (the only
difference with normal failures being that hard errors were counted
as failures even when the test originating them was listed in
XFAIL_TESTS).
- The testsuite summary displayed by the parallel-test harness has a
completely new format, that always list the numbers of passed, failed,
xfailed, xpassed, skipped and errored tests, even when these numbers
are zero (but using smart coloring when the color-tests option is in
effect).
- The default testsuite driver offered by the 'parallel-tests' option is
now implemented (partly at least) with the help of automake-provided
auxiliary scripts (e.g., 'test-driver'), instead of relying entirely
on code in the generated Makefile.in.
This has two noteworthy implications. The first one is that projects
using the 'parallel-tests' option should now either run automake with
the '--add-missing' option, or manually copy the 'test-driver' script
into their tree. The second, and more important, implication is that
now, when the 'parallel-tests' option is in use, TESTS_ENVIRONMENT can
not be used anymore to define a test runner, and the command specified
in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable
program or script. For example, this is still a valid usage (albeit
a little contorted):
TESTS_ENVIRONMENT = \
if test -n '$(STRICT_TESTS)'; then \
maybe_errexit='-e'; \
else \
maybe_errexit=''; \
fi;
LOG_COMPILER = $(SHELL) $$maybe_errexit
while this is not anymore:
TESTS_ENVIRONMENT = \
$(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'`
neither is this:
TESTS_ENVIRONMENT = \
run_with_perl_or_shell () \
{ \
if grep -q '^#!.*perl' $$1; then
$(PERL) $$1; \
else \
$(SHELL) $$1; \
fi; \
}
LOG_COMPILER = run_with_per_or_shell
- The package authors can now use customary testsuite drivers within
the framework provided by the 'parallel-tests' testsuite harness.
Consistently with the existing syntax, this can be done by defining
special makefile variables 'LOG_DRIVER' and '<ext>_LOG_DRIVER'.
- A new developer-reserved variable 'AM_TESTS_FD_REDIRECT' can be used
to redirect/define file descriptors used by the test scripts.
- The parallel-tests harness generates now, in addition the '.log' files
holding the output produced by the test scripts, a new set of '.trs'
files, holding "metadata" derived by the execution of the test scripts;
among such metadata are the outcomes of the test cases run by a script.
- Initial and still experimental support for the TAP test protocol is
now provided.
* Changes to Yacc and Lex support:
- C source and header files derived from non-distributed Yacc and/or
Lex sources are now removed by a simple "make clean" (while they were
previously removed only by "make maintainer-clean").
- Slightly backward-incompatible change, relevant only for use of Yacc
with C++: the extensions of the header files produced by the Yacc
rules are now modelled after the extension of the corresponding
sources. For example, yacc files named "foo.y++" and "bar.yy" will
produce header files named "foo.h++" and "bar.hh" respectively, where
they would have previously produced header files named simply "foo.h"
and "bar.h". This change offers better compatibility with 'bison -o'.
* Miscellaneous changes:
- The build system of Automake itself now avoids the use of make
recursion as much as possible.
- Automake now prefers to quote 'like this' or "like this", rather
than `like this', in diagnostic message and generated Makefiles,
to accommodate the new GNU Coding Standards recommendations.
- Automake has a new option '--print-libdir' that prints the path of the
directory containing the Automake-provided scripts and data files.
- The 'dist' and 'dist-all' targets now can run compressors in parallel.
- The rules to create pdf, dvi and ps output from Texinfo files now
works better with modern 'texi2dvi' script, by explicitly passing
it the '--clean' option to ensure stray auxiliary files are not
left to clutter the build directory.
- Automake can now generate silenced rules for texinfo outputs.
- Some auxiliary files that are automatically distributed by Automake
(e.g., 'install-sh', or the 'depcomp' script for packages compiling
C sources) might now be listed in the DIST_COMMON variable in many
Makefile.in files, rather than in the top-level one.
- Messages of types warning or error from 'automake' and 'aclocal'
are now prefixed with the respective type, and presence of -Werror
is noted.
- Automake's early configure-time sanity check now tries to avoid
sleeping for a second, which slowed down cached configure runs
noticeably. In that case, it will check back at the end of the
configure script to ensure that at least one second has passed, to
avoid time stamp issues with makefile rules rerunning autotools
programs.
- The warnings in the category 'extra-portability' are now enabled by
'-Wall'. In previous versions, one has to use '-Wextra-portability'
to enable them.
Bugs fixed in 1.11b:
- Various minor bugfixes for recent or long-standing bugs.
* Bugs introduced by 1.11:
- The AM_COND_IF macro also works if the shell expression for the
conditional is no longer valid for the condition.
- The automake-provided parallel testsuite harness does not fail anymore
with BSD make used in parallel mode when there are test scripts in a
subdirectory, like in:
TESTS = sub/foo.test sub/bar.test
* Long-standing bugs:
- Automake's own build system finally have a real "installcheck" target.
- Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are
now automatically distributed also if the directory of the auxiliary
files coincides with the top-level directory.
- Automake now detects the presence of the '-d' flag in the various
'*YFLAGS' variables even when their definitions involve indirections
through other variables, such as in:
foo_opts = -d
AM_YFLAGS = $(foo_opts)
- Automake now complains if a '*YFLAGS' variable has any conditional
content, not only a conditional definition.
- Explicit enabling and/or disabling of Automake warning categories
through the '-W...' options now always takes precedence over the
implicit warning level implied by Automake strictness (foreign, gnu
or gnits), regardless of the order in which such strictness and
warning flags appear. For example, a setting like:
AUTOMAKE_OPTIONS = -Wall --foreign
will cause the warnings in category 'portability' to be enabled, even
if those warnings are by default disabled in 'foreign' strictness.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Automake 1.11b test release,
Stefano Lattarini <=