Cyclic autoconf/automake page
Autoconf and automake are packages which help you write software which can be compiled on a wide variety of operating systems, especially unix-like systems. Although they can be used separately, they are all on this page because they are often used together. Cyclic does not (yet at least) offer support contracts for autoconf or automake. We are open to discussing doing so.
Autoconf Summary
Autoconf is a package which allows you to generate a configure script which will test whether the system on which a program is being compiled supports various features. Only people who want to modify the autoconf setup need a copy of autoconf; people who merely want to build the software need only the usual tools (Bourne shell and the usual unix utilities).
Because it has successfully handled portability for a wide variety of programs, particularly GNU programs, autoconf is a demonstrated way to handle quite a wide variety of unix operating systems.
Probably its biggest weakness is that it is very flexible. If you aren't careful, it is easy to write fragile and needlessly complicated tests, or cause other problems like making decisions at build time which would better be made at run time.
Automake summary
Automake is a tool for generating makefiles from a more concise description. It is particularly suited to generating makefiles which implement the GNU makefile standards. Only people who want to modify the automake setup need a copy of automake; people who merely want to build the software need only the usual tools (Bourne shell, make, and the usual unix utilities).
One interesting future direction for automake would be to make it capable of generating makefiles which are quite different from unix makefiles, such as Visual C++ projects or VMS MMS makefiles. The idea is that the concise description which serves as input to automake is sufficiently high level that this might be feasible. As far as we know, noone has done much with this idea, however.
Libtool Summary
Libtool is a package for generating shared libraries on a variety of unix systems. If your program doesn't contain shared libraries, you don't need it, but if you need it, you probably need it bad.
Mailing lists
The "automake" list can be used to discuss automake, autoconf, and related tools (e.g. libtool). The discussion can range from simple "how-to" questions up to patches and configuration philosophy. To subscribe send mail to automake-request@gnu.org. Traffic has been less than one message per day.
Autoconf in particular is also often discussed on the bug-gnu-utils mailing list, which covers a wide variety of GNU tools in addition to autoconf. To subscribe send mail to bug-gnu-utils-request@gnu.org. Traffic has been something like a dozen messages a day.
Downloading automake, autoconf, and libtool
I suppose we need to make an explicit disclaimer that the distributions listed below are not supported by Cyclic. In most cases we are just redistributing or linking to a distribution provided by someone else, and didn't even help write any of it.
Note that autoconf 2.12 generates configure scripts which will sometimes fail to function on HPUX (details on this problem). If you wish to generate configure scripts which are portable to HPUX, either stick with autoconf 2.10 or apply the patch which is on the "details" page just mentioned. You can download autoconf from the usual GNU FTP sites. This patch is also included in the version of autoconf on the Cyclic CD-ROM, and in the Cygnus CVS sources.
You can download released automake versions from the usual GNU FTP sites. Unreleased versions are at ftp://ftp.cygnus.com/pub/tromey/.
Download libtool from the libtool web site mentioned below.
Projects using Autoconf
For more information
There is a packaged version of autoconf as part of Cyclic Gallery for Linux, both on CD-ROM and for download. This package contains the HPUX patch mentioned above.
There are archives of the automake mailing list on the web.
Cygnus has pages for autoconf and automake including anonymous CVS access to their development versions of those tools.
There is an archive of contributed autoconf macros. Contains lots of autoconf tests for operating system features you might be able to use or look at for inspiration.
Eleftherios Gkioulekas has a nice autoconf page including a tutorial and links to additional autoconf pages.
The paper "Autoconfiscating Amd: Automatic Software Configuration of the Berkeley Automounter" contains a nice discussion of why one would convert a software package to autoconf, automake, and libtool, issues that came up when they did it, and more.
Development of autoconf, automake and libtool
T. E. Dickey has done a certain amount of work on autoconf. Here is T.E.Dickey's autoconf page.
Automake is maintained by Tom Tromey and libtool by Gordon Matzigkeit.

![[ Valid XHTML 1.0! ]](/branding/w3c-valid-xhtml10-44x16.png)
![[ Valid CSS! ]](/branding/w3c-valid-css-44x16.png)
