---

Release Digest: GNU, August 12, 2004

GNU Automake 1.9.1

We’re pleased to announce the release of Automake 1.9.1.

Automake is a tool for automatically generating `Makefile.in’s
suitable for use with Autoconf, compliant with the GNU Makefile
standards, and portable to various make implementations.

Automake 1.9 was released on 2004-07-28 and was not announced
here to give us a chance to fix regressions before more people use
it; however no regression have been reported over the last two
weeks.

Automake 1.9.1, released on 2004-08-11, simply fixes three
longstanding bugs.

The list of changes since 1.8.5 are appended.

You can find the new release here:

ftp://ftp.gnu.org/gnu/automake/automake-1.9.1.tar.gz

ftp://ftp.gnu.org/gnu/automake/automake-1.9.1.tar.gz.sig

ftp://ftp.gnu.org/gnu/automake/automake-1.9.1.tar.bz2

ftp://ftp.gnu.org/gnu/automake/automake-1.9.1.tar.bz2.sig

ftp://sources.redhat.com/pub/automake/automake-1.9.1.tar.gz

ftp://sources.redhat.com/pub/automake/automake-1.9.1.tar.gz.sig

ftp://sources.redhat.com/pub/automake/automake-1.9.1.tar.bz2

ftp://sources.redhat.com/pub/automake/automake-1.9.1.tar.bz2.sig

Soon it will also appear on the sources and GNU mirrors listed
here:

http://www.gnu.org/order/ftp.html

http://sources.redhat.com/mirrors.html

Finally, here are the MD5 checksums:

eb65202d00d498c8b0729110ee2d4d51 automake-1.9.1.tar.gz
65143af82931c2c4d703d3a17c1c9d15 automake-1.9.1.tar.bz2

Please report bugs to <bug-automake@gnu.org>.

Bugs fixed in 1.9.1:

This release fixes three longstanding bugs.

  • Adjust #line directives in `parser.h’ (when ylwrap is not
    used). (PR/432)
  • Fix definition of YLWRAP when ylwrap is installed in a default
    aux directory found in a parent package.
  • Properly recognize AC_CANONICAL_BUILD and
    AC_CANONICAL_TARGET.

New in 1.9:

  • Makefile.in bloat reduction:
    • Inference rules are used to compile sources in subdirectories
      when the `subdir-objects’ option is used and no per-target flags
      are used. This should reduce the size of some projects a lot,
      because Automake used to output an explicit rule for each such
      object in the past.
    • Automake no longer outputs three rules (.o, .obj, .lo) for each
      object that must be built with explicit rules. It just outputs the
      rules required to build the kind of object considered: either the
      two .o and .obj rules for usual objects, or the .lo rule for
      libtool objects.
  • Change to Libtool support:
    • Libtool tags are used with libtool versions that support them.
      (I.e., with Libtool 1.5 or greater.)
    • Automake is now able to handle setups where a libtool library
      is conditionally installed in different directories, as in
      if COND
        lib_LTLIBRARIES = liba.la
      else
        pkglib_LTLIBRARIES = liba.la
      endif
      liba_la_SOURCES = ...
  • Changes to aclocal:
    • aclocal now ensures that AC_DEFUNs and AU_DEFUNs it discovers
      are really evaluated, before it decides to include them in
      aclocal.m4. This solves nasty problems with conditional
      redefinitions of Autoconf macros in /usr/share/aclocal/*.m4 files
      causing extraneous *.m4 files to be included in any project using
      these macros. (Calls to AC_PROG_EGREP causing libtool.m4 to be
      included is the most famous instance of this bug.)
    • Do not complain about missing conditionally AC_REQUIREd macros
      that are not actually used. In 1.8.x aclocal would correctly
      determine which of these macros were really needed (and include
      only these in the package); unfortunately it would also require all
      of them to be present in order to run. This created situations were
      aclocal would not work on a tarball distributing all the macros it
      uses. For instance running aclocal on a project containing only the
      subset of the Gettext macros in use by the project did not work,
      because gettext conditionally requires other macros.
  • Portability improvements:
    • Tar format can be chosen with the new options tar-v7,
      tar-ustar, and tar-pax. The new option filename-length-max=99 helps
      diagnosing filenames that are too long for tar-v7. (PR/414)
    • Variables aumented with `+=’ are now automatically flattened
      (i.e., trailing backslashes removed) and then wrapped around 80
      colummns (adding trailing backslashes). In previous versions, a
      long series of VAR += value1 VAR += value2 VAR += value3 … would
      result in a single-line definition of VAR that could possibly
      exceed the maximum line length of some make implementations.

Non-augmented variables are still output as they are defined in
the Makefile.am.

  • Miscellaneous:
    • Support Fortran 90/95 with the new “fc” and “ppfc” languages.
      Works the same as the old Fortran 77 implementation; just replace
      F77 with FC everywhere (exception: FFLAGS becomes FCFLAGS).
      Requires a version of autoconf which provides AC_PROG_FC
      (>=2.59).
    • Support for conditional _LISP.
    • Support for conditional -hook and -local rules (PR/428).
    • Diagnose AC_CONFIG_AUX_DIR calls following AM_INIT_AUTOMAKE.
      (PR/49)
    • Automake will not write any Makefile.ins after the first error
      it encounters. The previous Makefile.ins (if any) will be left in
      place. (Warnings will not prevent output, but remember they can be
      turned into errors with -Werror.)
    • The restriction that SUBDIRS must contain direct children is
      gone. Do not abuse.
    • The manual tells more about SUBDIRS vs. DIST_SUBDIRS. It also
      gives an example of nested packages using AC_CONFIG_SUBDIRS.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis