diff --git a/NEWS b/NEWS index fb929f5..699f2af 100644 --- a/NEWS +++ b/NEWS @@ -1,28 +1,179 @@ +New in 1.11a: + +* Obsolete features removed: + + - Support for automatic de-ANSI-fication has been removed. + + - 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 deprecated options `--output-dir', `--Werror' and `--Wno-error' + have been removed. + +* New targets: + + - New `cscope' target to build a cscope database for the source tree. + +* Changes to Automake-generated testsuite harnesses: + + - 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 _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 `_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. + +* Miscellaneous changes: + + - The `dist' and `dist-all' targets now can run compressors in parallel. + + - 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. + + - For programs and libraries, automake now detect EXTRA_foo_DEPENDENCIES + and adds them to the normal list of dependencies, but without + overwriting the foo_DEPENDENCIES variable, which is normally computed + by automake. + + - C source and header files derived from non-distributed Yacc sources + are now removed by "make clean", not only by "make maintainer-clean". + + - 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.11a: + + - Various minor bugfixes. + +* 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. + +* 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. + + New in 1.11.2a: * WARNING: Future backward-incompatibilities! - - The obsolescent AM_WITH_REGEX macro has been deprecated (since the - GNU rx library has been decommissioned), and will be removed in the - next major Automake release (1.12). + - The obsolescent AM_WITH_REGEX macro has been deprecated, since the + GNU rx library has been decommissioned. - The `lzma' compression format for distribution archives has been - deprecated in favor of `xz' and `lzip', and will be removed in the - next major Automake release (1.12). + deprecated in favor of `xz' and `lzip'. - The `--acdir' option of aclocal is deprecated, and will probably be - removed in the next major Automake release (1.12). + removed in the next major Automake release (1.12). [FIXME] - 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.12). - - - The Automake support for automatic de-ANSI-fication will be removed - in the next major Automake release (1.12). - - - Starting from the next Automake release (1.12), warnings in the - `extra-portability' category will be enabled by `-Wall' (right now, - one has to use `-Wextra-portability' explicitly). + next Automake release (1.12). [FIXME] * Miscellaneous changes: @@ -71,8 +222,7 @@ New in 1.11.2: * Miscellaneous changes: - The Automake support for automatic de-ANSI-fication has been - deprecated. I will probably be removed in the next major Automake - release (1.12). + deprecated. - The `lzma' compression scheme and associated automake option `dist-lzma' is obsoleted by `xz' and `dist-xz' due to upstream changes.