-New in 1.11.0a:
+New in 1.11a:
+
+* Obsolete features 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 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 <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:
-* WARNING: Future backward-incompatibilities!
+ - 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 "make maintainer-clean").
- - The support for the "obscure" multilib feature has been deprecated,
- and will be moved out of the automake core in the next major Automake
- release (1.12).
+ - 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 extension of the sources corresponding
+ sources. For example, yacc files named "foo.y++" and "bar.yy" will
+ produce header files named respectively "foo.h++" and "bar.hh", where
+ they would have previously produced header files named simply "foo.h"
+ and "bar.h". This change offers better compatibility with `bison -o'.
- - The support for ".log -> .html" conversion and the check-html and
- recheck-html targets will be removed in the next major Automake
- release (1.12).
+ - C source and header files derived from non-distributed Yacc sources
+ are now removed by "make clean", not only by "make maintainer-clean".
- - 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).
+* Miscellaneous changes:
- - The Automake support for automatic de-ANSI-fication will be removed in
- the next major Automake release (1.12).
+ - The `dist' and `dist-all' targets now can run compressors in parallel.
- - The `--acdir' option of aclocal is deprecated, and will probably be
- removed in the next major Automake release (1.12).
+ - Automake can now generate silenced rules for texinfo outputs.
- - 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).
+ - 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.
- - 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).
+ - Messages of types warning or error from `automake' and `aclocal'
+ are now prefixed with the respective type, and presence of -Werror
+ is noted.
-* Changes to aclocal:
+ - 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 `--acdir' option is deprecated. Now you should use the new options
- `--automake-acdir' and `--system-acdir' instead.
+ - 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.
- - The `ACLOCAL_PATH' environment variable is now interpreted as a
- colon-separated list of additional directories to search after the
- automake internal acdir (by default ${prefix}/share/aclocal-APIVERSION)
- and before the system acdir (by default ${prefix}/share/aclocal).
+ - 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.
+
+\f
+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.
+
+ - The `lzma' compression format for distribution archives has been
+ 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). [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). [FIXME]
* Miscellaneous changes:
- The last relics of Python 1.5 support have been removed from the
AM_PATH_PYTHON macro.
+Bugs fixed in 1.11.2a:
+
+* Long-standing bugs:
+
+ - The "deleted header file problem" for *.am files is avoided by stub
+ rules. This allows `make' to trigger a rerun of `automake' also if
+ some previously needed `.am' file has been removed.
+
+ - The `silent-rules' option now generates working makefiles even
+ for the uncommon `make' implementations that do not support the
+ nested-variables extension to POSIX 2008. For such `make'
+ implementations, whether a build is silent is determined at
+ configure time, and cannot be overridden at make time with
+ `make V=0' or `make V=1'.
+
+ - Vala support now works better in VPATH setups.
+
+\f
+New in 1.11.2:
+
+* Changes to aclocal:
+
+ - The `--acdir' option is deprecated. Now you should use the new options
+ `--automake-acdir' and `--system-acdir' instead.
+
+ - The `ACLOCAL_PATH' environment variable is now interpreted as a
+ colon-separated list of additional directories to search after the
+ automake internal acdir (by default ${prefix}/share/aclocal-APIVERSION)
+ and before the system acdir (by default ${prefix}/share/aclocal).
+
+* Miscellaneous changes:
+
+ - The Automake support for automatic de-ANSI-fication has been
+ deprecated.
+
- The `lzma' compression scheme and associated automake option `dist-lzma'
is obsoleted by `xz' and `dist-xz' due to upstream changes.
specify a different level via the XZ_OPT and BZIP2 envvars respectively.
E.g., "make dist-xz XZ_OPT=-7" or "make dist-bzip2 BZIP2=-5"
+ - The `compile' script now converts some options for MSVC for a better
+ user experience. Similarly, the new `ar-lib' script wraps Microsoft lib.
+
- The py-compile script now accepts empty arguments passed to the options
`--destdir' and `--basedir', and complains about unrecognized options.
Moreover, a non-option argument or a special `--' argument terminates
user; still, the old Makefile.am files that used to define it will
still continue to work as before.
+ - New macro AM_PROG_AR that looks for an archiver and wraps it in the new
+ 'ar-lib' auxiliary script if the selected archiver is Microsoft lib.
+ This new macro is required for LIBRARIES and LTLIBRARIES when automake
+ is run with -Wextra-portability and -Werror.
+
- When using DejaGnu-based testsuites, the user can extend the `site.exp'
file generated by automake-provided rules by defining the special make
variable `$(EXTRA_DEJAGNU_SITE_CONFIG)'.
the `${infodir}/dir' file, by exporting the new environment variable
`AM_UPDATE_INFO_DIR' to the value "no".
- - For programs and libraries, automake now detects 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.
-
-* Changes to Yacc 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 "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 extension of the sources corresponding
- sources. For example, yacc files named "foo.y++" and "bar.yy" will
- produce header files named respectively "foo.h++" and "bar.hh", where
- they would have previously produced header files named simply "foo.h"
- and "bar.h". This change offers better compatibility with `bison -o'.
-
-Bugs fixed in 1.11.0a:
+Bugs fixed in 1.11.2:
* Bugs introduced by 1.11.2:
* Bugs introduced by 1.11:
- - The parallel-tests harness doesn't trip anymore on sed implementations
- with stricter limits on the length of input lines (problem seen at
- least on Solaris 8).
+ - The parallel-tests driver no longer produces erroneous results with
+ Tru64/OSF 5.1 sh upon unreadable log files.
- - The `parallel-tests' test driver works around a GNU make 3.80 bug with
- trailing white space in the test list (`TESTS = foo $(EMPTY)'), and
- does not report spurious successes when used with concurrent FreeBSD
- make (e.g., "make check -j3").
+ - The `parallel-tests' test driver does not report spurious successes
+ when used with concurrent FreeBSD make (e.g., "make check -j3").
- When the parallel-tests driver is in use, automake now explicitly
rejects invalid entries and conditional contents in TEST_EXTENSIONS,
not used, `make' output no longer contains spurious backslash-only
lines, thus once again matching what Automake did before 1.11.
- - The `silent-rules' option now generates working makefiles even for
- the uncommon `make' implementations that do not support the
- nested-variables extension to POSIX 2008. For such `make'
- implementations, whether a build is silent is determined at
- configure time, and cannot be overridden at make time with
- `make V=0' or `make V=1'.
-
- - The AM_COND_IF macro also works if the shell expression for the conditional
- is no longer valid for the condition.
+ - The AM_COND_IF macro also works if the shell expression for the
+ conditional is no longer valid for the condition.
* Long-standing bugs:
- - Vala support now works better in VPATH setups.
-
- - The "deleted header file problem" for *.am files is avoided by stub
- rules. This allows `make' to trigger a rerun of `automake' also if
- some previously needed `.am' file has been removed.
+ - The order of Yacc and Lex flags is fixed to be consistent with other
+ languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
+ $(LFLAGS), so that the user variables override the developer variables.
- "make distcheck" now correctly complains also when "make uninstall"
leaves one and only one file installed in $(prefix).
- Automake now warns about more primary/directory invalid combinations,
such as "doc_LIBRARIES" or "pkglib_PROGRAMS".
- - On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
- even if the `--prefix' argument pointed outside of a system directory.
- AM_PATH_PYTHON has been fixed to ignore the value returned from python's
- `get_python_lib' function if it points outside the configured prefix,
- unless the `--prefix' argument was either `/usr' or below `/System'.
-
- - The testsuite does not try to change the mode of `ltmain.sh' files from
- a Libtool installation (symlinked to test directories) any more.
-
- - AM_PROG_GCJ uses AC_CHECK_TOOLS to look for `gcj' now, so that prefixed
- tools are preferred in a cross-compile setup.
+ - Rules generated by Automake now try harder to not change any files when
+ `make -n' is invoked. Fixes include compilation of Emacs Lisp, Vala, or
+ Yacc source files and the rule to update config.h.
- Several scripts and the parallel-tests testsuite driver now exit with
the right exit status upon receiving a signal.
- A per-Makefile.am setting of -Werror does not erroneously carry over
to the handling of other Makefile.am files.
- - The order of Yacc and Lex flags is now consistent with that of other
- languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
- $(LFLAGS), so that the user variables override the developer variables.
-
- - Rules generated by Automake now try harder not to change any files when
- `make -n' is invoked. Fixes include compilation of Emacs Lisp, Vala, or
- Yacc source files and the rule to update config.h.
-
- The code for automatic dependency tracking works around a Solaris
make bug triggered by sources containing repeated slashes when the
`subdir-objects' option was used.
- - The parallel-tests driver no longer produces erroneous results with
- Tru64/OSF 5.1 sh upon unreadable log files.
-
- The makedepend and hp depmodes now work better with VPATH builds.
- Java sources specified with check_JAVA are no longer compiled for
"make all", but only for "make check".
- - 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.
-
- An usage like "java_JAVA = foo.java" will now cause Automake to warn
and error out if `javadir' is undefined, instead of silently producing
a broken Makefile.in.
change its behaviour; this has proven to be frail and easy to
regress.
\f
+Bugs fixed in 1.11.1:
+
+ - Lots of minor bugfixes.
+
+* Bugs introduced by 1.11:
+
+ - The `parallel-tests' test driver works around a GNU make 3.80 bug with
+ trailing white space in the test list (`TESTS = foo $(EMPTY)').
+
+* Long standing bugs:
+
+ - On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
+ even if the `--prefix' argument pointed outside of a system directory.
+ AM_PATH_PYTHON has been fixed to ignore the value returned from python's
+ `get_python_lib' function if it points outside the configured prefix,
+ unless the `--prefix' argument was either `/usr' or below `/System'.
+
+ - The testsuite does not try to change the mode of `ltmain.sh' files from
+ a Libtool installation (symlinked to test directories) any more.
+
+ - AM_PROG_GCJ uses AC_CHECK_TOOLS to look for `gcj' now, so that prefixed
+ tools are preferred in a cross-compile setup.
+
+ - The distribution is tarred up with mode 755 now by the `dist*' targets.
+ This fixes a race condition where untrusted users could modify files
+ in the $(PACKAGE)-$(VERSION) distdir before packing if the toplevel
+ build directory was world-searchable. This is CVE-2009-4029.
+\f
New in 1.11:
* Version requirements: