Autoconf, Automake, and Libtool: Configure Development

| ## 2.3 Configure Development The Cygnus ``configure'` script and the original GCC ``configure'` script both had to be updated for each new Unix variant they supported. This meant that packages which used them were continually out of date as new Unix variants appeared. It was not hard for the developer to add support for a new system variant; however, it was not something which package users could easily do themselves. The same was true of Imake as it was commonly used. While it was possible for a user to build and configure Imake for a particular system, it was not commonly done. In practice, packages such as the X window system which use Imake are shipped with configuration information detailed for specific Unix variants. Because Metaconfig and Autoconf used feature tests, the scripts they generated were often able to work correctly on new Unix variants without modification. This made them more flexible and easier to work with over time, and led to the wide adoption of Autoconf. In 1994, David MacKenzie extended Autoconf to incorporate the features of the Cygnus ``configure'` script and the original GCC ``configure'` script. This included support for using system specified header file and makefile fragments, and support for cross-compilation. GCC has since been converted to use Autoconf, eliminating the GCC ``configure'` script. Most programs which use the Cygnus ``configure'` script have also been converted, and no new programs are being written to use the Cygnus ``configure'` script. The `metaconfig` program is still used today to configure Perl and a few other programs. `imake` is still used to configure the X window system. However, these tools are not generally used for new packages.

This document was generated by Gary V. Vaughan on May, 24 2001 using texi2html