[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

26. Upgrading a Package to a Newer Automake Version

Automake maintains three kind of files in a package.

`aclocal.m4' is generated by aclocal and contains some Automake-supplied M4 macros. Auxiliary tools are installed by `automake --add-missing' when needed. `Makefile.in's are built from `Makefile.am' by automake, and rely on the definitions of the M4 macros put in `aclocal.m4' as well as the behavior of the auxiliary tools installed.

Because all these files are closely related, it is important to regenerate all of them when upgrading to a newer Automake release. The usual way to do that is

 
aclocal # with any option needed (such a -I m4)
autoconf
automake --add-missing --force-missing

or more conveniently:

 
autoreconf -vfi

The use of `--force-missing' ensures that auxiliary tools will be overridden by new versions (see section Creating a `Makefile.in').

It is important to regenerate all these files each time Automake is upgraded, even between bug fixes releases. For instance, it is not unusual for a bug fix to involve changes to both the rules generated in `Makefile.in' and the supporting M4 macros copied to `aclocal.m4'.

Presently automake is able to diagnose situations where `aclocal.m4' has been generated with another version of aclocal. However it never checks whether auxiliary scripts are up-to-date. In other words, automake will tell you when aclocal needs to be rerun, but it will never diagnose a missing `--force-missing'.

Before upgrading to a new major release, it is a good idea to read the file `NEWS'. This file lists all changes between releases: new features, obsolete constructs, known incompatibilities, and workarounds.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on July, 20 2009 using texi2html 1.76.