automake-history: Timeline

 
 1 Timeline
 **********
 
 1994-09-19 First CVS commit.
 
      If we can trust the CVS repository, David J. MacKenzie (djm)
      started working on Automake (or AutoMake, as it was spelt then)
      this Monday.
 
      The first version of the 'automake' script looks as follows.
 
           #!/bin/sh
 
           status=0
 
           for makefile
           do
             if test ! -f ${makefile}.am; then
               echo "automake: ${makefile}.am: No such honkin' file"
               status=1
               continue
             fi
 
             exec 4> ${makefile}.in
 
           done
 
      From this you can already see that Automake will be about reading
      '*.am' file and producing '*.in' files.  You cannot see anything
      else, but if you also know that David is the one who created
      Autoconf two years before you can guess the rest.
 
      Several commits follow, and by the end of the day Automake is
      reported to work for GNU fileutils and GNU m4.
 
      The modus operandi is the one that is still used today: variable
      assignments in 'Makefile.am' files trigger injections of precanned
      'Makefile' fragments into the generated 'Makefile.in'.  The use of
      'Makefile' fragments was inspired by the 4.4BSD 'make' and include
      files, however Automake aims to be portable and to conform to the
      GNU standards for 'Makefile' variables and targets.
 
      At this point, the most recent release of Autoconf is version 1.11,
      and David is preparing to release Autoconf 2.0 in late October.  As
      a matter of fact, he will barely touch Automake after September.
 
 1994-11-05 David MacKenzie's last commit.
 
      At this point Automake is a 200 line portable shell script, plus
      332 lines of 'Makefile' fragments.  In the 'README', David states
      his ambivalence between "portable shell" and "more appropriate
      language":
 
           I wrote it keeping in mind the possibility of it becoming an
           Autoconf macro, so it would run at configure-time.  That would
           slow configuration down a bit, but allow users to modify the
           Makefile.am without needing to fetch the AutoMake package.
           And, the Makefile.in files wouldn't need to be distributed.
           But all of AutoMake would.  So I might reimplement AutoMake in
           Perl, m4, or some other more appropriate language.
 
      Automake is described as "an experimental Makefile generator".
      There is no documentation.  Adventurous users are referred to the
      examples and patches needed to use Automake with GNU m4 1.3,
      fileutils 3.9, time 1.6, and development versions of find and
      indent.
 
      These examples seem to have been lost.  However at the time of
      writing (10 years later in September, 2004) the FSF still
      distributes a package that uses this version of Automake: check out
      GNU termutils 2.0.
 
 1995-11-12 Tom Tromey's first commit.
 
      After one year of inactivity, Tom Tromey takes over the package.
      Tom was working on GNU cpio back then, and doing this just for fun,
      having trouble finding a project to contribute to.  So while
      hacking he wanted to bring the 'Makefile.in' up to GNU standards.
      This was hard, and one day he saw Automake on
      <ftp://alpha.gnu.org/>, grabbed it and tried it out.
 
      Tom didn't talk to djm about it until later, just to make sure he
      didn't mind if he made a release.  He did a bunch of early releases
      to the Gnits folks.
 
      Gnits was (and still is) totally informal, just a few GNU friends
      who François Pinard knew, who were all interested in making a
      common infrastructure for GNU projects, and shared a similar
      outlook on how to do it.  So they were able to make some progress.
      It came along with Autoconf and extensions thereof, and then
      Automake from David and Tom (who were both gnitsians).  One of
      their ideas was to write a document paralleling the GNU standards,
      that was more strict in some ways and more detailed.  They never
      finished the GNITS standards, but the ideas mostly made their way
      into Automake.
 
 1995-11-23 Automake 0.20
 
      Besides introducing automatic dependency tracking (⇒Dependency
      Tracking Evolution), this version also supplies a 9-page manual.
 
      At this time 'aclocal' and 'AM_INIT_AUTOMAKE' did not exist, so
      many things had to be done by hand.  For instance, here is what a
      configure.in (this is the former name of the 'configure.ac' we use
      today) must contain in order to use Automake 0.20:
 
           PACKAGE=cpio
           VERSION=2.3.911
           AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
           AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
           AC_SUBST(PACKAGE)
           AC_SUBST(VERSION)
           AC_ARG_PROGRAM
           AC_PROG_INSTALL
 
      (Today all of the above is achieved by 'AC_INIT' and
      'AM_INIT_AUTOMAKE'.)
 
      Here is how programs are specified in 'Makefile.am':
 
           PROGRAMS = hello
           hello_SOURCES = hello.c
 
      This looks pretty much like what we do today, except the 'PROGRAMS'
      variable has no directory prefix specifying where 'hello' should be
      installed: all programs are installed in '$(bindir)'.
      'LIBPROGRAMS' can be used to specify programs that must be built
      but not installed (it is called 'noinst_PROGRAMS' nowadays).
 
      Programs can be built conditionally using 'AC_SUBST'itutions:
 
           PROGRAMS = @progs@
           AM_PROGRAMS = foo bar baz
 
      ('AM_PROGRAMS' has since then been renamed to 'EXTRA_PROGRAMS'.)
 
      Similarly scripts, static libraries, and data can be built and
      installed using the 'LIBRARIES', 'SCRIPTS', and 'DATA' variables.
      However 'LIBRARIES' were treated a bit specially in that Automake
      did automatically supply the 'lib' and '.a' prefixes.  Therefore to
      build 'libcpio.a', one had to write
 
           LIBRARIES = cpio
           cpio_SOURCES = ...
 
      Extra files to distribute must be listed in 'DIST_OTHER' (the
      ancestor of 'EXTRA_DIST').  Also extra directories that are to be
      distributed should appear in 'DIST_SUBDIRS', but the manual
      describes this as a temporary ugly hack (today extra directories
      should also be listed in 'EXTRA_DIST', and 'DIST_SUBDIRS' is used
      for another purpose, ⇒Conditional Subdirectories
      (automake)Conditional Subdirectories.).
 
 1995-11-26 Automake 0.21
 
      In less time than it takes to cook a frozen pizza, Tom rewrites
      Automake using Perl.  At this time Perl 5 is only one year old, and
      Perl 4.036 is in use at many sites.  Supporting several Perl
      versions has been a source of problems through the whole history of
      Automake.
 
      If you never used Perl 4, imagine Perl 5 without objects, without
      'my' variables (only dynamically scoped 'local' variables), without
      function prototypes, with function calls that needs to be prefixed
      with '&', etc.  Traces of this old style can still be found in
      today's 'automake'.
 
 1995-11-28 Automake 0.22
 1995-11-29 Automake 0.23
 
      Bug fixes.
 
 1995-12-08 Automake 0.24
 1995-12-10 Automake 0.25
 
      Releases are raining.  0.24 introduces the uniform naming scheme we
      use today, i.e., 'bin_PROGRAMS' instead of 'PROGRAMS',
      'noinst_LIBRARIES' instead of 'LIBLIBRARIES', etc.  (However
      'EXTRA_PROGRAMS' does not exist yet, 'AM_PROGRAMS' is still in use;
      and 'TEXINFOS' and 'MANS' still have no directory prefixes.)
      Adding support for prefixes like that was one of the major ideas in
      'automake'; it has lasted pretty well.
 
      AutoMake is renamed to Automake (Tom seems to recall it was
      François Pinard's doing).
 
      0.25 fixes a Perl 4 portability bug.
 
 1995-12-18 Jim Meyering starts using Automake in GNU Textutils.
 1995-12-31 François Pinard starts using Automake in GNU tar.
 
 1996-01-03 Automake 0.26
 1996-01-03 Automake 0.27
 
      Of the many changes and suggestions sent by François Pinard and
      included in 0.26, perhaps the most important is the advice that to
      ease customization a user rule or variable definition should always
      override an Automake rule or definition.
 
      Gordon Matzigkeit and Jim Meyering are two other early contributors
      that have been sending fixes.
 
      0.27 fixes yet another Perl 4 portability bug.
 
 1996-01-13 Automake 0.28
 
      Automake starts scanning 'configure.in' for 'LIBOBJS' support.
      This is an important step because until this version Automake only
      knew about the 'Makefile.am's it processed.  'configure.in' was
      Autoconf's world and the link between Autoconf and Automake had to
      be done by the 'Makefile.am' author.  For instance, if 'config.h'
      was generated by 'configure', it was the package maintainer's
      responsibility to define the 'CONFIG_HEADER' variable in each
      'Makefile.am'.
 
      Succeeding releases will rely more and more on scanning
      'configure.in' to better automate the Autoconf integration.
 
      0.28 also introduces the 'AUTOMAKE_OPTIONS' variable and the
      '--gnu' and '--gnits' options, the latter being stricter.
 
 1996-02-07 Automake 0.29
 
      Thanks to 'configure.in' scanning, 'CONFIG_HEADER' is gone, and
      rebuild rules for 'configure'-generated file are automatically
      output.
 
      'TEXINFOS' and 'MANS' converted to the uniform naming scheme.
 
 1996-02-24 Automake 0.30
 
      The test suite is born.  It contains 9 tests.  From now on test
      cases will be added pretty regularly (⇒Releases), and this
      proved to be really helpful later on.
 
      'EXTRA_PROGRAMS' finally replaces 'AM_PROGRAMS'.
 
      All the third-party Autoconf macros, written mostly by François
      Pinard (and later Jim Meyering), are distributed in Automake's
      hand-written 'aclocal.m4' file.  Package maintainers are expected
      to extract the necessary macros from this file.  (In previous
      versions you had to copy and paste them from the manual...)
 
 1996-03-11 Automake 0.31
 
      The test suite in 0.30 was run via a long 'check-local' rule.  Upon
      Ulrich Drepper's suggestion, 0.31 makes it an Automake rule output
      whenever the 'TESTS' variable is defined.
 
      'DIST_OTHER' is renamed to 'EXTRA_DIST', and the 'check_' prefix is
      introduced.  The syntax is now the same as today.
 
 1996-03-15 Gordon Matzigkeit starts writing libtool.
 
 1996-04-27 Automake 0.32
 
      '-hook' targets are introduced; an idea from Dieter Baron.
 
      '*.info' files, which were output in the build directory are now
      built in the source directory, because they are distributed.  It
      seems these files like to move back and forth as that will happen
      again in future versions.
 
 1996-05-18 Automake 0.33
 
      Gord Matzigkeit's main two contributions:
 
         * very preliminary libtool support
         * the distcheck rule
 
      Although they were very basic at this point, these are probably
      among the top features for Automake today.
 
      Jim Meyering also provides the infamous 'jm_MAINTAINER_MODE', since
      then renamed to 'AM_MAINTAINER_MODE' and abandoned by its author
      (⇒maintainer-mode (automake)maintainer-mode.).
 
 1996-05-28 Automake 1.0
 
      After only six months of heavy development, the 'automake' script
      is 3134 lines long, plus 973 lines of 'Makefile' fragments.  The
      package has 30 pages of documentation, and 38 test cases.
      'aclocal.m4' contains 4 macros.
 
      From now on and until version 1.4, new releases will occur at a
      rate of about one a year.  1.1 did not exist, actually 1.1b to 1.1p
      have been the name of beta releases for 1.2.  This is the first
      time Automake uses suffix letters to designate beta releases, a
      habit that lasts.
 
 1996-10-10 Kevin Dalley packages Automake 1.0 for Debian GNU/Linux.
 
 1996-11-26 David J. MacKenzie releases Autoconf 2.12.
 
      Between June and October, the Autoconf development is almost
      stalled.  Roland McGrath has been working at the beginning of the
      year.  David comes back in November to release 2.12, but he won't
      touch Autoconf anymore after this year, and Autoconf then really
      stagnates.  The desolate Autoconf 'ChangeLog' for 1997 lists only 7
      commits.
 
 1997-02-28 <automake@gnu.ai.mit.edu> list alive
 
      The mailing list is announced as follows:
           I've created the "automake" mailing list.  It is
           "automake@gnu.ai.mit.edu".  Administrivia, as always, to
           automake-request@gnu.ai.mit.edu.
 
           The charter of this list is discussion of automake, autoconf, and
           other configuration/portability tools (e.g., libtool).  It is expected
           that discussion will range from pleas for help all the way up to
           patches.
 
           This list is archived on the FSF machines.  Offhand I don't know if
           you can get the archive without an account there.
 
           This list is open to anybody who wants to join.  Tell all your
           friends!
           -- Tom Tromey
 
      Before that people were discussing Automake privately, on the Gnits
      mailing list (which is not public either), and less frequently on
      'gnu.misc.discuss'.
 
      'gnu.ai.mit.edu' is now 'gnu.org', in case you never noticed.  The
      archives of the early years of the 'automake@gnu.org' list have
      been lost, so today it is almost impossible to find traces of
      discussions that occurred before 1999.  This has been annoying more
      than once, as such discussions can be useful to understand the
      rationale behind a piece of uncommented code that was introduced
      back then.
 
 1997-06-22 Automake 1.2
 
      Automake developments continues, and more and more new Autoconf
      macros are required.  Distributing them in 'aclocal.m4' and
      requiring people to browse this file to extract the relevant macros
      becomes uncomfortable.  Ideally, some of them should be contributed
      to Autoconf so that they can be used directly, however Autoconf is
      currently inactive.  Automake 1.2 consequently introduces 'aclocal'
      ('aclocal' was actually started on 1996-07-28), a tool that
      automatically constructs an 'aclocal.m4' file from a repository of
      third-party macros.  Because Autoconf has stalled, Automake also
      becomes a kind of repository for such third-party macros, even
      macros completely unrelated to Automake (for instance macros that
      fix broken Autoconf macros).
 
      The 1.2 release contains 20 macros, including the
      'AM_INIT_AUTOMAKE' macro that simplifies the creation of
      'configure.in'.
 
      Libtool is fully supported using '*_LTLIBRARIES'.
 
      The missing script is introduced by François Pinard; it is meant to
      be a better solution than 'AM_MAINTAINER_MODE' (⇒
      maintainer-mode (automake)maintainer-mode.).
 
      Conditionals support was implemented by Ian Lance Taylor.  At the
      time, Tom and Ian were working on an internal project at Cygnus.
      They were using ILU, which is pretty similar to CORBA.  They wanted
      to integrate ILU into their build, which was all 'configure'-based,
      and Ian thought that adding conditionals to 'automake' was simpler
      than doing all the work in 'configure' (which was the standard at
      the time).  So this was actually funded by Cygnus.
 
      This very useful but tricky feature will take a lot of time to
      stabilize.  (At the time this text is written, there are still
      primaries that have not been updated to support conditional
      definitions in Automake 1.9.)
 
      The 'automake' script has almost doubled: 6089 lines of Perl, plus
      1294 lines of 'Makefile' fragments.
 
 1997-07-08 Gordon Matzigkeit releases Libtool 1.0.
 
 1998-04-05 Automake 1.3
 
      This is a small advance compared to 1.2.  It adds support for
      assembly, and preliminary support for Java.
 
      Perl 5.004_04 is out, but fixes to support Perl 4 are still
      regularly submitted whenever Automake breaks it.
 
 1998-09-06 'sourceware.cygnus.com' is on-line.
 
      Sourceware was setup by Jason Molenda to host open source projects.
 
 1998-09-19 Automake CVS repository moved to 'sourceware.cygnus.com'
 1998-10-26 'sourceware.cygnus.com' announces it hosts Automake:
      Automake is now hosted on 'sourceware.cygnus.com'.  It has a
      publicly accessible CVS repository.  This CVS repository is a copy
      of the one Tom was using on his machine, which in turn is based on
      a copy of the CVS repository of David MacKenzie.  This is why we
      still have to full source history.  (Automake was on Sourceware
      until 2007-10-29, when it moved to a git repository on
      'savannah.gnu.org', but the Sourceware host had been renamed to
      'sources.redhat.com'.)
 
      The oldest file in the administrative directory of the CVS
      repository that was created on Sourceware is dated 1998-09-19,
      while the announcement that 'automake' and 'autoconf' had joined
      'sourceware' was made on 1998-10-26.  They were among the first
      projects to be hosted there.
 
      The heedful reader will have noticed Automake was exactly 4 years
      old on 1998-09-19.
 
 1999-01-05 Ben Elliston releases Autoconf 2.13.
 
 1999-01-14 Automake 1.4
 
      This release adds support for Fortran 77 and for the 'include'
      statement.  Also, '+=' assignments are introduced, but it is still
      quite easy to fool Automake when mixing this with conditionals.
 
      These two releases, Automake 1.4 and Autoconf 2.13 make a duo that
      will be used together for years.
 
      'automake' is 7228 lines, plus 1591 lines of Makefile fragment, 20
      macros (some 1.3 macros were finally contributed back to Autoconf),
      197 test cases, and 51 pages of documentation.
 
 1999-03-27 The 'user-dep-branch' is created on the CVS repository.
 
      This implements a new dependency tracking schemed that should be
      able to handle automatic dependency tracking using any compiler
      (not just gcc) and any make (not just GNU 'make').  In addition,
      the new scheme should be more reliable than the old one, as
      dependencies are generated on the end user's machine.  Alexandre
      Oliva creates depcomp for this purpose.
 
      ⇒Dependency Tracking Evolution, for more details about the
      evolution of automatic dependency tracking in Automake.
 
 1999-11-21 The 'user-dep-branch' is merged into the main trunk.
 
      This was a huge problem since we also had patches going in on the
      trunk.  The merge took a long time and was very painful.
 
 2000-05-10
 
      Since September 1999 and until 2003, Akim Demaille will be
      zealously revamping Autoconf.
 
           I think the next release should be called "3.0".
           Let's face it: you've basically rewritten autoconf.
           Every weekend there are 30 new patches.
           I don't see how we could call this "2.15" with a straight
           face.
           - Tom Tromey on <autoconf@gnu.org>
 
      Actually Akim works like a submarine: he will pile up patches while
      he works off-line during the weekend, and flush them in batch when
      he resurfaces on Monday.
 
 2001-01-24
 
      On this Wednesday, Autoconf 2.49c, the last beta before Autoconf
      2.50 is out, and Akim has to find something to do during his
      week-end :)
 
 2001-01-28
 
      Akim sends a batch of 14 patches to <automake@gnu.org>.
 
           Aiieeee!  I was dreading the day that the Demaillator turned
           his sights on automake... and now it has arrived!  - Tom
           Tromey
 
      It's only the beginning: in two months he will send 192 patches.
      Then he would slow down so Tom can catch up and review all this.
      Initially Tom actually read all of these patches, then he probably
      trustingly answered OK to most of them, and finally gave up and let
      Akim apply whatever he wanted.  There was no way to keep up with
      that patch rate.
 
           Anyway the patch below won't apply since it predates Akim's
           sourcequake; I have yet to figure where the relevant passage
           has been moved :) - Alexandre Duret-Lutz
 
      All of these patches were sent to and discussed on
      <automake@gnu.org>, so subscribed users were literally drowning in
      technical mails.  Eventually, the <automake-patches@gnu.org>
      mailing list was created in May.
 
      Year after year, Automake had drifted away from its initial design:
      construct 'Makefile.in' by assembling various 'Makefile' fragments.
      In 1.4, lots of 'Makefile' rules are being emitted at various
      places in the 'automake' script itself; this does not help ensuring
      a consistent treatment of these rules (for instance making sure
      that user-defined rules override Automake's own rules).  One of
      Akim's goal was moving all of these hard-coded rules to separate
      'Makefile' fragments, so the logic could be centralized in a
      'Makefile' fragment processor.
 
      Another significant contribution of Akim is the interface with the
      "trace" feature of Autoconf.  The way to scan 'configure.in' at
      this time was to read the file and grep the various macro of
      interest to Automake.  Doing so could break in many unexpected
      ways; 'automake' could miss some definition (for instance
      'AC_SUBST([$1], [$2])' where the arguments are known only when M4
      is run), or conversely it could detect some macro that was not
      expanded (because it is called conditionally).  In the CVS version
      of Autoconf, Akim had implemented the '--trace' option, which
      provides accurate information about where macros are actually
      called and with what arguments.  Akim will equip Automake with a
      second 'configure.in' scanner that uses this '--trace' interface.
      Since it was not sensible to drop the Autoconf 2.13 compatibility
      yet, this experimental scanner was only used when an environment
      variable was set, the traditional grep-scanner being still the
      default.
 
 2001-04-25 Gary V. Vaughan releases Libtool 1.4
 
      It has been more than two years since Automake 1.4, CVS Automake
      has suffered lot's of heavy changes and still is not ready for
      release.  Libtool 1.4 had to be distributed with a patch against
      Automake 1.4.
 
 2001-05-08 Automake 1.4-p1
 2001-05-24 Automake 1.4-p2
 
      Gary V. Vaughan, the principal Libtool maintainer, makes a "patch
      release" of Automake:
 
           The main purpose of this release is to have a stable automake
           which is compatible with the latest stable libtool.
 
      The release also contains obvious fixes for bugs in Automake 1.4,
      some of which were reported almost monthly.
 
 2001-05-21 Akim Demaille releases Autoconf 2.50
 
 2001-06-07 Automake 1.4-p3
 2001-06-10 Automake 1.4-p4
 2001-07-15 Automake 1.4-p5
 
      Gary continues his patch-release series.  These also add support
      for some new Autoconf 2.50 idioms.  Essentially, Autoconf now
      advocates 'configure.ac' over 'configure.in', and it introduces a
      new syntax for 'AC_OUTPUT'ing files.
 
 2001-08-23 Automake 1.5
 
      A major and long-awaited release, that comes more than two years
      after 1.4.  It brings many changes, among which:
         * The new dependency tracking scheme that uses 'depcomp'.  Aside
           from the improvement on the dependency tracking itself (⇒
           Dependency Tracking Evolution), this also streamlines the
           use of 'automake'-generated 'Makefile.in's as the
           'Makefile.in's used during development are now the same as
           those used in distributions.  Before that the 'Makefile.in's
           generated for maintainers required GNU 'make' and GCC, they
           were different from the portable 'Makefile' generated for
           distribution; this was causing some confusion.
 
         * Support for per-target compilation flags.
 
         * Support for reference to files in subdirectories in most
           'Makefile.am' variables.
 
         * Introduction of the 'dist_', 'nodist_', and 'nobase_'
           prefixes.
         * Perl 4 support is finally dropped.
 
      1.5 did break several packages that worked with 1.4.  Enough so
      that Linux distributions could not easily install the new Automake
      version without breaking many of the packages for which they had to
      run 'automake'.
 
      Some of these breakages were effectively bugs that would eventually
      be fixed in the next release.  However, a lot of damage was caused
      by some changes made deliberately to render Automake stricter on
      some setup we did consider bogus.  For instance, 'make distcheck'
      was improved to check that 'make uninstall' did remove all the
      files 'make install' installed, that 'make distclean' did not omit
      some file, and that a VPATH build would work even if the source
      directory was read-only.  Similarly, Automake now rejects multiple
      definitions of the same variable (because that would mix very badly
      with conditionals), and '+=' assignments with no previous
      definition.  Because these changes all occurred suddenly after 1.4
      had been established for more than two years, it hurt users.
 
      To make matter worse, meanwhile Autoconf (now at version 2.52) was
      facing similar troubles, for similar reasons.
 
 2002-03-05 Automake 1.6
 
      This release introduced versioned installation (⇒API
      Versioning (automake)API Versioning.).  This was mainly pushed by
      Havoc Pennington, taking the GNOME source tree as motive: due to
      incompatibilities between the autotools it's impossible for the
      GNOME packages to switch to Autoconf 2.53 and Automake 1.5 all at
      once, so they are currently stuck with Autoconf 2.13 and Automake
      1.4.
 
      The idea was to call this version 'automake-1.6', call all its
      bug-fix versions identically, and switch to 'automake-1.7' for the
      next release that adds new features or changes some rules.  This
      scheme implies maintaining a bug-fix branch in addition to the
      development trunk, which means more work from the maintainer, but
      providing regular bug-fix releases proved to be really worthwhile.
 
      Like 1.5, 1.6 also introduced a bunch of incompatibilities,
      intentional or not.  Perhaps the more annoying was the dependence
      on the newly released Autoconf 2.53.  Autoconf seemed to have
      stabilized enough since its explosive 2.50 release and included
      changes required to fix some bugs in Automake.  In order to upgrade
      to Automake 1.6, people now had to upgrade Autoconf too; for some
      packages it was no picnic.
 
      While versioned installation helped people to upgrade, it also
      unfortunately allowed people not to upgrade.  At the time of
      writing, some Linux distributions are shipping packages for
      Automake 1.4, 1.5, 1.6, 1.7, 1.8, and 1.9.  Most of these still
      install 1.4 by default.  Some distribution also call 1.4 the
      "stable" version, and present "1.9" as the development version;
      this does not really makes sense since 1.9 is way more solid than
      1.4.  All this does not help the newcomer.
 
 2002-04-11 Automake 1.6.1
 
      1.6, and the upcoming 1.4-p6 release were the last release by Tom.
      This one and those following will be handled by Alexandre
      Duret-Lutz.  Tom is still around, and will be there until about
      1.7, but his interest into Automake is drifting away towards
      projects like 'gcj'.
 
      Alexandre has been using Automake since 2000, and started to
      contribute mostly on Akim's incitement (Akim and Alexandre have
      been working in the same room from 1999 to 2002).  In 2001 and 2002
      he had a lot of free time to enjoy hacking Automake.
 
 2002-06-14 Automake 1.6.2
 
 2002-07-28 Automake 1.6.3
 2002-07-28 Automake 1.4-p6
 
      Two releases on the same day.  1.6.3 is a bug-fix release.
 
      Tom Tromey backported the versioned installation mechanism on the
      1.4 branch, so that Automake 1.6.x and Automake 1.4-p6 could be
      installed side by side.  Another request from the GNOME folks.
 
 2002-09-25 Automake 1.7
 
      This release switches to the new 'configure.ac' scanner Akim was
      experimenting in 1.5.
 
 2002-10-16 Automake 1.7.1
 2002-12-06 Automake 1.7.2
 2003-02-20 Automake 1.7.3
 2003-04-23 Automake 1.7.4
 2003-05-18 Automake 1.7.5
 2003-07-10 Automake 1.7.6
 2003-09-07 Automake 1.7.7
 2003-10-07 Automake 1.7.8
 
      Many bug-fix releases.  1.7 lasted because the development version
      (upcoming 1.8) was suffering some major internal revamping.
 
 2003-10-26 Automake on screen
 
      Episode 49, 'Repercussions', in the third season of the 'Alias' TV
      show is first aired.
 
      Marshall, one of the characters, is working on a computer virus
      that he has to modify before it gets into the wrong hands or
      something like that.  The screenshots you see do not show any
      program code, they show a 'Makefile.in' generated by automake...
 
 2003-11-09 Automake 1.7.9
 
 2003-12-10 Automake 1.8
 
      The most striking update is probably that of 'aclocal'.
 
      'aclocal' now uses 'm4_include' in the produced 'aclocal.m4' when
      the included macros are already distributed with the package (an
      idiom used in many packages), which reduces code duplication.  Many
      people liked that, but in fact this change was really introduced to
      fix a bug in rebuild rules: 'Makefile.in' must be rebuilt whenever
      a dependency of 'configure' changes, but all the 'm4' files
      included in 'aclocal.m4' where unknown from 'automake'.  Now
      'automake' can just trace the 'm4_include's to discover the
      dependencies.
 
      'aclocal' also starts using the '--trace' Autoconf option in order
      to discover used macros more accurately.  This will turn out to be
      very tricky (later releases will improve this) as people had
      devised many ways to cope with the limitation of previous 'aclocal'
      versions, notably using handwritten 'm4_include's: 'aclocal' must
      make sure not to redefine a rule that is already included by such
      statement.
 
      Automake also has seen its guts rewritten.  Although this rewriting
      took a lot of efforts, it is only apparent to the users in that
      some constructions previously disallowed by the implementation now
      work nicely.  Conditionals, Locations, Variable and Rule
      definitions, Options: these items on which Automake works have been
      rewritten as separate Perl modules, and documented.
 
 2004-01-11 Automake 1.8.1
 2004-01-12 Automake 1.8.2
 2004-03-07 Automake 1.8.3
 2004-04-25 Automake 1.8.4
 2004-05-16 Automake 1.8.5
 
 2004-07-28 Automake 1.9
 
      This release tries to simplify the compilation rules it outputs to
      reduce the size of the Makefile.  The complaint initially come from
      the libgcj developers.  Their 'Makefile.in' generated with Automake
      1.4 and custom build rules (1.4 did not support compiled Java) is
      250KB.  The one generated by 1.8 was over 9MB!  1.9 gets it down to
      1.2MB.
 
      Aside from this it contains mainly minor changes and bug-fixes.
 
 2004-08-11 Automake 1.9.1
 2004-09-19 Automake 1.9.2
 
      Automake has ten years.  This chapter of the manual was initially
      written for this occasion.
 
 2007-10-29 Automake repository moves to 'savannah.gnu.org'
      and uses git as primary repository.