As a sysadmin I used to take a lot about the process of building applications for granted. Now that I’ve “graduated” into enterprise architecture that’s often hard to do. Autoconf is one little utility that was true for.
From the Introduction:
Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls.
Autoconf is one part of the GNU build system. Other pieces include Automake, Gnulib, and Libtool. At the end of the day, of course, everything winds up at the business end of a make command. The work done by autoconf is in large part responsible for a successful build using make.
The Manual for autoconf is a big document in any of its many formats (392 pages in the PDF version). That’s a lot of information. Unlike much of the documentation in the open source world, it’s actually quite well written, clear and contains a good number of examples. The nice thing about it is that, probably more than many other manuals, the one for autoconf provides a very thorough understanding of the software build process — which can be invaluable for those times when things go wrong.