Merge branch 'maint'
[platform/upstream/automake.git] / NEWS
diff --git a/NEWS b/NEWS
index 54acc7a..59b86ea 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,10 +16,13 @@ New in 1.13:
     option) has been removed.  See discussion about automake bug#11034
     for more background.
 
-  - The automake-provided $(mkdir_p) make variable, @mkdir_p@ configure
-    time substitution and AM_PROG_MKDIR m4 macro have been removed.  They
-    had been obsolete since automake 1.10, and actively deprecated since
-    Automake 1.12.1.
+  - The automake-provided '@mkdir_p@' configure substitution and
+    AM_PROG_MKDIR m4 macro have been removed.  They had been obsolete
+    since automake 1.10, and actively deprecated since Automake 1.12.1.
+    However, to maintain a degree of backward-compatibility, the make
+    variable '$(mkdir_p)' is still defined (now simple as an alias to
+    '$(MKDIR_P)').  It will probably be removed in future major versions
+    of Automake (probably 1.14).
 
   - The deprecated aclocal option '--acdir' has been removed.  You
     should use the options '--automake-acdir' and '--system-acdir'
@@ -41,6 +44,30 @@ New in 1.13:
 
   - All the "old alias" macros in 'm4/obsolete.m4' have been removed.
 
+* 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
@@ -48,6 +75,13 @@ New in 1.13:
     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
@@ -62,7 +96,7 @@ New in 1.13:
 * Texinfo Support:
 
   - 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
+    '--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.
 
@@ -81,9 +115,31 @@ New in 1.13:
     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.
+
+* Improvements to aclocal and related rebuilds rules:
+
+  - The Autoconf-provided macro AC_CONFIG_MACRO_DIR is now traced by
+    aclocal, and can be used to declare the local m4 include directory.
+    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.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-New in 1.12.2:
+New in 1.12.3:
 
 * WARNING: Future backward-incompatibilities!
 
@@ -104,13 +160,49 @@ New in 1.12.2:
     option.
 
   - 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).
+    AM_INIT_AUTOMAKE macro is deprecated, and will be removed in the
+    next major Automake version (1.13).
 
   - 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 'missing' script will not try anymore 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.
+
+* 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.
+
+  - 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:
+
+  - Instead of renaming only self-references of files (typically for
+    #lines), ylwrap now also renames references to the other generated
+    files.  This fixes support for GLR and C++ parsers from Bison (PR
+    automake/491 and automake bug#7648): 'parser.c' now properly
+    #includes 'parser.h' instead of 'y.tab.h'.
+
+  - Generated files unknown to ylwrap are now preserved.  This fixes
+    C++ support for Bison (automake bug#7648): location.hh and the
+    like are no longer discarded.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 1.12.2:
+
 * Warnings and deprecations:
 
   - Automake now issues a warning (in the 'portability' category) if
@@ -140,6 +232,31 @@ New in 1.12.2:
     to a shell conditional that can be used in recipes to know whether
     make is being run in silent or verbose mode.
 
+Bugs fixed in 1.12.2:
+
+* SECURITY VULNERABILITIES!
+
+  - The 'distcheck' recipe no longer grants temporary world-write
+    permissions on the extracted distdir.  Even if such rights were
+    only granted for a vanishingly small time window, the implied
+    race condition proved to be enough to allow a local attacker
+    to run arbitrary code with the privileges of the user running
+    "make distcheck".  This is CVE-2012-3386.
+
+* Long-standing bugs:
+
+  - The "recheck" targets behaves better in the face of build failures
+    related to previously failed tests.  For example, if a test is a
+    compiled program that must be rerun by "make recheck", and its
+    compilation fails, it will still be rerun by further "make recheck"
+    invocations.  See automake bug#11791.
+
+* Bugs introduced by 1.12.1:
+
+  - Automake provides once again the '$(mkdir_p)' make variable and the
+    '@mkdir_p@' substitution (both as simple aliases for '$(MKDIR_P)'),
+    for better backward-compatibility.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.12.1:
@@ -163,7 +280,7 @@ New in 1.12.1:
   - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
     variable, @mkdir_p@ configure-time substitution and AM_PROG_MKDIR
     m4 macro are deprecated, eliciting a warning in the 'obsolete'
-    category.  They will be removed in the next major version (1.13).
+    category.
 
 * Miscellaneous changes: