X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=bdafaedddfcffd85182cae153134deea493021ed;hb=c010d62f6e5d48cc8fbd0a51e3e16d1b474f8a54;hp=0d4780488b3e1bc7ad761d5843f9f1f249997916;hpb=e3f7885c0c9e686762d5dd0470dc93eb0f7aca06;p=platform%2Fupstream%2Fautomake.git diff --git a/NEWS b/NEWS index 0d47804..bdafaed 100644 --- a/NEWS +++ b/NEWS @@ -1,35 +1,84 @@ -New in 1.12.3: +New in 1.13: * WARNING: Future backward-incompatibilities! - - Future versions of Automake 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. + - 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.13. The $(mkdir_p) make variable and the + 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. + $(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 + for + more information. + + - 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 + used instead. + + - 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. - - Autoconf 2.65 or later will be required by the next major Automake - version (1.13). Until now, Automake has required Autoconf version - 2.62 or later. + - The rules to build PDF and DVI output from Texinfo input now + require Texinfo 4.9 or later. - - Starting from the next major Automake version (1.13), the rules - to build pdf, ps and dvi output from Texinfo input will use the - '--build-dir' option by default. Since such an option was only - introduced in Texinfo 4.9, this means that Makefiles generated by - future Automake versions will require at least that version of - Texinfo. +* Obsolete features: - - 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. + - Support for the "Cygnus-style" trees (once enabled by the 'cygnus' + option) has been removed. See discussion about automake bug#11034 + for more background: . - - The following long-obsolete m4 macros will be removed in the - next major Automake version (1.13): + - 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 @@ -43,37 +92,248 @@ New in 1.12.3: 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). + - 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") + is used. + + - 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 + automake bug#7441. + + - 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. - - Support for the two- and three-arguments invocation forms of the - AM_INIT_AUTOMAKE macro is deprecated, and will be removed in the - next major Automake version (1.13). + - 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. - - 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). +* Texinfo Support: - - 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). + - The rules to build PDF and DVI files from Texinfo input now require + Texinfo 4.9 or later. - - The 'missing' script will not try anymore to update the timestamp - of out-of-date files that require a maintainer-specific tool to be + - 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). In fact, starting from Automake 1.13, all it'll do will be - giving more useful warnings than a bare "command not found" from a - make recipe would. + 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. + +* Tags: + + - 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 >= + 2.5.1 does. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Bugs fixed in 1.12.6: + +* Python-related bugs: + + - The default installation location for python modules has been improved + for Python 3 on Debian and Ubuntu systems, changing from: + + ${prefix}/lib/python3/dist-packages + + to + + ${prefix}/lib/python3.x/site-packages + + This change should ensure modules installed using the default ${prefix} + "/usr/local" are found by default by system python 3.x installations. + See automake bug#10227. + + - Python byte-compilation supports the new layout mandated by PEP-3147, + with its __pycache__ directory (automake bug#8847). + +* Build system issues: + + - The maintainer rebuild rules for Makefiles and aclocal.m4 in + Automake's own build system works correctly again (bug introduced + in Automake 1.12.5). + +* Testsuite issues: + + - The Vala-related tests has been changed to adjust to the removal of + the 'posix' profile in the valac compiler. See automake bug#12934 + a.k.a. bug#12522. + + - Some spurious testsuite failures related to older tools and systems + have been fixed. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 1.12.5: + +* Vala support: + + - The AM_PROG_VALAC macro has been enhanced to takes two further + optional arguments; it's signature now being + + AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], + [ACTION-IF-NOT-FOUND]) + + - By default, AM_PROG_VALAC no longer aborts the configure invocation + if the Vala compiler found is too old, but simply prints a warning + messages (as it did when the Vala compiler was not found). This + should avoid unnecessary difficulties for end users that just want + to compile the unmodified, distributed Vala-generated C sources, + but happens to have an old Vala compiler in their PATH. This fixes + automake bug#12688. + + - If no proper Vala compiler is found at configure runtime, AM_PROG_VALAC + will set the AC_SUBST'd variable 'VALAC' to 'valac' rather than to ':'. + This is a better default, because with it a triggered makefile rule + invoking a Vala compilation will clearly fail with an informative error + message like "valac: command not found", rather than silently, with + the error possibly going unnoticed or triggering harder-to-diagnose + fallout failures in later steps. + +* Miscellaneous changes: + + - automake and aclocal no longer honours the 'perllibdir' environment + variable. That had always been intended only as an hack required in + the testsuite, not meant for any use beyond that. + +Bugs fixed in 1.12.5: + +* Long-standing bugs: + + - Automake no longer generates spurious remake rules invoking autoheader + to regenerate the template corresponding to header files specified after + the first one in AC_CONFIG_HEADERS (automake bug#12495). + + - When wrapping Microsoft tools, the 'compile' script falls back to + finding classic 'libname.a' style libraries when 'name.lib' and + 'name.dll.lib' aren't available. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 1.12.4: + +* Warnings and deprecations: + + - Warnings in the 'obsolete' category are enabled by default both in + automake and aclocal. + +* Miscellaneous changes: + + - Some testsuite weaknesses and spurious failures have been fixed. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 1.12.3: * Miscellaneous changes: - - The '.m4' files provided by Automake does not define serial numbers - anymore. This should cause no difference in the behaviour of aclocal - though. + - The '.m4' files provided by Automake no longer define serial numbers. + This should cause no difference in the behaviour of aclocal though. - Some testsuite weaknesses and spurious failures have been fixed. + - There is initial support for automatic dependency tracking with the + Portland Group C/C++ compilers, thanks to the new new depmode 'pgcc'. + Bugs fixed in 1.12.3: * Long-standing bugs: @@ -159,8 +419,8 @@ New in 1.12.1: - Use of the long-deprecated two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro now elicits a warning in the 'obsolete' - category. Starting from the next major Automake release (1.13), such - usages won't be allowed anymore. + category. Starting from some future major Automake release (likely + post-1.13), such usages will no longer be allowed. - Support for the "Cygnus-style" trees (enabled by the 'cygnus' option) is now deprecated (its use triggers a warning in the 'obsolete' category). @@ -174,13 +434,12 @@ New in 1.12.1: * Miscellaneous changes: - The Automake test cases now require a proper POSIX-conforming shell. - Older non-POSIX Bourne shells (like Solaris 10 /bin/sh) won't be - accepted anymore. In most cases, the user shouldn't have to specify - such POSIX shell explicitly, since it will be looked up at configure - time. Still, when this lookup fails, or when the user wants to - override its conclusion, the variable 'AM_TEST_RUNNER_SHELL' can be - used (pointing to the shell that will be used to run the Automake - test cases). + Older non-POSIX Bourne shells (like Solaris 10 /bin/sh) will no longer + be accepted. In most cases, the user shouldn't have to specify such + POSIX shell explicitly, since it will be looked up at configure time. + Still, when this lookup fails, or when the user wants to override its + conclusion, the variable 'AM_TEST_RUNNER_SHELL' can be used (pointing + to the shell that will be used to run the Automake test cases). Bugs fixed in 1.12.1: @@ -286,7 +545,7 @@ New in 1.12: 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 + no longer be used 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): @@ -299,7 +558,7 @@ New in 1.12: fi; LOG_COMPILER = $(SHELL) $$maybe_errexit - while this is not anymore: + OTOH, this is no longer a valid usage: TESTS_ENVIRONMENT = \ $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'` @@ -400,9 +659,9 @@ Bugs fixed in 1.12: - 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: + - The automake-provided parallel testsuite harness no longer fails + with BSD make used in parallel mode when there are test scripts in + a subdirectory, like in: TESTS = sub/foo.test sub/bar.test @@ -477,7 +736,7 @@ Bugs fixed in 1.11.4: * Bugs introduced by 1.11.2: - A definition of 'noinst_PYTHON' before 'python_PYTHON' (or similar) - don't cause spurious failures upon "make install" anymore. + no longer cause spurious failures upon "make install". - The user can now instruct the 'uninstall-info' rule not to update the '${infodir}/dir' file by exporting the environment variable @@ -495,9 +754,9 @@ Bugs fixed in 1.11.4: '-I' is non-existent, aclocal will now create it before trying to copy files in it. - - An empty declaration of a "foo_PRIMARY" don't cause anymore the - generated install rules to create an empty $(foodir) directory; - for example, if Makefile.am contains something like: + - An empty declaration of a "foo_PRIMARY" no longer cause the generated + install rules to create an empty $(foodir) directory; for example, if + Makefile.am contains something like: pkglibexec_SCRIPTS = if FALSE @@ -515,15 +774,15 @@ New in 1.11.3: - Automake's own build system is more silent by default, making use of the 'silent-rules' option. - - The master copy of the `gnupload' script is now maintained in gnulib, + - The master copy of the 'gnupload' script is now maintained in gnulib, not in automake. - - The `missing' script doesn't try to wrap calls to `tar' anymore. + - The 'missing' script no longer tries to wrap calls to 'tar'. - - "make dist" doesn't wrap `tar' invocations with the `missing' script - anymore. Similarly, the obsolescent variable `$(AMTAR)' (which you - shouldn't be using BTW ;-) does not invoke the missing script anymore - to wrap tar, but simply invokes the `tar' program itself. + - "make dist" no longer wraps 'tar' invocations with the 'missing' + script. Similarly, the obsolescent variable '$(AMTAR)' (which you + shouldn't be using BTW ;-) no longer invokes the 'missing' script + to wrap tar, but simply invokes the 'tar' program itself. - "make dist" can now create lzip-compressed tarballs. @@ -549,24 +808,24 @@ Bugs fixed in 1.11.3: * Bugs introduced by 1.11.2: - Automake now correctly recognizes the prefix/primary combination - `pkglibexec_SCRIPTS' as valid. + 'pkglibexec_SCRIPTS' as valid. - - The parallel-tests harness doesn't trip anymore on sed implementations + - The parallel-tests harness no longer trips on sed implementations with stricter limits on the length of input lines (problem seen at least on Solaris 8). * 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. + 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' + - 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'. + "make V=0" or "make V=1". - Vala support now works better in VPATH setups.