Previous: Numbers, Up: History


20.5 Deuteronomy

A long wish list for major features had accumulated, and the effect of several years of patching by various people had left some residual cruft. In April 1994, while working for Cygnus Support, I began a major revision of Autoconf. I added most of the features of the Cygnus configure that Autoconf had lacked, largely by adapting the relevant parts of Cygnus configure with the help of david zuhn and Ken Raeburn. These features include support for using config.sub, config.guess, --host, and --target; making links to files; and running configure scripts in subdirectories. Adding these features enabled Ken to convert GNU as, and Rob Savoye to convert DejaGNU, to using Autoconf.

I added more features in response to other peoples' requests. Many people had asked for configure scripts to share the results of the checks between runs, because (particularly when configuring a large source tree, like Cygnus does) they were frustratingly slow. Mike Haertel suggested adding site-specific initialization scripts. People distributing software that had to unpack on MS-DOS asked for a way to override the .in extension on the file names, which produced file names like config.h.in containing two dots. Jim Avera did an extensive examination of the problems with quoting in AC_DEFINE and AC_SUBST; his insights led to significant improvements. Richard Stallman asked that compiler output be sent to config.log instead of /dev/null, to help people debug the Emacs configure script.

I made some other changes because of my dissatisfaction with the quality of the program. I made the messages showing results of the checks less ambiguous, always printing a result. I regularized the names of the macros and cleaned up coding style inconsistencies. I added some auxiliary utilities that I had developed to help convert source code packages to use Autoconf. With the help of François Pinard, I made the macros not interrupt each others' messages. (That feature revealed some performance bottlenecks in GNU M4, which he hastily corrected!) I reorganized the documentation around problems people want to solve. And I began a test suite, because experience had shown that Autoconf has a pronounced tendency to regress when we change it.

Again, several alpha testers gave invaluable feedback, especially François Pinard, Jim Meyering, Karl Berry, Rob Savoye, Ken Raeburn, and Mark Eichin.

Finally, version 2.0 was ready. And there was much rejoicing. (And I have free time again. I think. Yeah, right.)