[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Automake 1.13 released

From: Stefano Lattarini
Subject: GNU Automake 1.13 released
Date: Fri, 28 Dec 2012 18:34:12 +0100

Hash: SHA1

We are pleased to announce the GNU Automake 1.13 major release.

This release brings several changes, a couple of bug-fixes, and some
backward incompatibilities over the 1.12.x series.

The detailed list of changes since the previous version, as described
in the NEWS file, is given below.  Here is a quick summary of the most
important changes:

 + Autoconf >= 2.65 and Texinfo >= 4.9 are now required.

 + Support for the "Cygnus-style" trees has been removed (bug#11034).

 + Elisp byte-compilation recipes have been overhauled, for better
   support of VPATH and subdir builds, and improved concurrency.

 + The parallel testsuite harness (previously only enabled by the
   'parallel-tests' option) is now the default.

 + The user can now define his own recursive targets, with the help
   of the new 'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.

 + Semantics of the 'missing' script have been radically altered: it
   no longer tries to update the timestamp of out-of-date files that
   require a maintainer-specific tool to be remade, but just gives
   clearer and useful warnings than a "program not found" diagnostic.

   used to declare the local m4 include directories.  Accordingly,
   the special make variable ACLOCAL_AMFLAGS will become deprecated
   in future releases, and you should start moving away from it ASAP.

Download here:

Please report bugs and problems to <address@hidden>, and send
general comments and feedback to <address@hidden>.

Thanks to everyone who has reported problems, contributed patches,
and helped testing Automake!

- -*-*-*-

New in 1.13:

* WARNING: Future backward-incompatibilities!

  - 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
    '' name for the Autoconf input file.  You are advised
    to use the recommended name '' instead.

  - The long-obsolete (since automake 1.10) AM_PROG_MKDIR m4 macro will
    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; 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.

  - The rules to build PDF and DVI output from Texinfo input now
    require Texinfo 4.9 or later.

* Obsolete features:

  - 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 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
      fp_WITH_DMALLOC:    old alias for AM_WITH_DMALLOC
      AM_CONFIG_HEADER:   superseded by AC_CONFIG_HEADERS since July 2002
      ud_PATH_LISPDIR:    old alias for AM_PATH_LISPDIR
      ud_GNU_GETTEXT:     old alias for AM_GNU_GETTEXT
      gm_PROG_LIBTOOL:    old alias for AC_PROG_LIBTOOL
      fp_C_PROTOTYPES:    old alias for AM_C_PROTOTYPES (which was part
                          of the now-removed automatic de-ANSI-fication
                          support of Automake)

  - 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.

  - 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.

* Texinfo Support:

  - The rules to build PDF and DVI files from Texinfo input now require
    Texinfo 4.9 or later.

  - 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).  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 ""
    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

* 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.
Version: GnuPG v1.4.12 (GNU/Linux)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]