manpagez: man pages & more
info automake
Home | html | info | man
[ < ] [ > ]   [ << ] [ 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.


© manpagez.com 2000-2024
Individual documents may contain additional copyright information.