Merge branch 'maint'
[platform/upstream/automake.git] / NEWS
diff --git a/NEWS b/NEWS
index f682bf5..59b86ea 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,30 +1,34 @@
-New in 1.12.2:
+New in 1.13:
 
-* WARNING: Future backward-incompatibilities!
+* Version requirements:
 
-  - Starting from either the next minor version (1.12.2) or the next major
-    version (1.13), Automake will start warning if 'configure.in' is used
-    instead of 'configure.ac' as the Autoconf input.  Future versions of
-    Automake will drop support for 'configure.in' altogether.
+  - Autoconf 2.65 or greater is 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
+    requires 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 '--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.
+* Obsolete features removed:
 
-  - 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.
+  - Use of the long-deprecated two- and three-arguments invocation forms
+    of the AM_INIT_AUTOMAKE is not supported anymore.
+
+  - 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 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'
+    instead (which have been introduced in Automake 1.11.2).
 
-  - The following long-obsolete m4 macros will be removed in the
-    next major Automake version (1.13):
+  - 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
@@ -38,22 +42,221 @@ New in 1.12.2:
                           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.
 
-  - 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).
+* 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.
+
+  - The 'silent-rules' option has now become a no-op, preserved for
+    backward-compatibility only.  In particular, its use does not disable
+    the warnings in the 'portability-recursive' category anymore.
+
+* 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
+    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 does 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).  It just give 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.
+
+  - 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.3:
+
+* 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.
 
-  - 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).
+  - 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.
+
+  - 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 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
+    'configure.in' is used instead of 'configure.ac' as the Autoconf
+    input file.  Such a warning will also be present in the next
+    Autoconf version (2.70).
+
+* Cleaning rules:
+
+  - Recursive cleaning rules descends into the $(SUBDIRS) in the natural
+    order (as done by the other recursive rules), rather than in the
+    inverse order.  They used to do that in order to work a round a
+    limitation in an older implementation of the automatic dependency
+    tracking support, but that limitation had been lifted years ago
+    already, when the automatic dependency tracking based on side-effects
+    of compilation had been introduced.
+
+  - Cleaning rules for compiled objects (both "plain" and libtool) work
+    better when subdir objects are involved, not triggering a distinct
+    'rm' invocation for each such object.  They do so by removing *any*
+    compiled object file that is in the same directory of a subdir
+    object.  See automake bug#10697.
+
+* Silent rules support:
+
+  - A new predefined $(AM_V_P) make variable is provided; it expands
+    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:
@@ -77,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:
 
@@ -1626,7 +1829,7 @@ New in 1.8:
     rule for this target.  Running `automake -Woverride' will diagnose
     all such overriding definitions.
 
-    It should be noted that almost all these targets support a *-local
+    It should be noted that almost all of these targets support a *-local
     variant that is meant to supplement the automake-defined rule
     (See node `Extending' in the manual).  The above rule should
     be rewritten as