Introduction to Autoconf

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.

Producing configuration scripts using Autoconf requires GNU M4. You should install GNU M4 (at least version 1.4.6, although 1.4.13 or later is recommended) before configuring Autoconf, so that Autoconf's configure script can find it. The configuration scripts produced by Autoconf are self-contained, so their users do not need to have Autoconf (or GNU M4).

Downloading Autoconf

GNU Autoconf releases can be found on [via http] and [via FTP]. It can also be found on one of our FTP mirrors. Please use a mirror if possible.

Third party macros can be downloaded from the Autoconf Macro Archive.

Alpha/beta releases of Autoconf can be found in, and the latest development sources for Autoconf can always be fetched through git, using either of:

git clone git://
git clone

You can also view the git tree on the web.

DO NOT use Autoconf sources from these locations for production use.


Autoconf documentation can be found in several formats at You may also find more information about Autoconf by looking at your local documentation. For example, you might try looking in /usr/share/doc/autoconf/, or use info autoconf at the shell prompt.

Mailing Lists

Autoconf has several moderated mailing lists, each with an archive.

For general Autoconf discussions, use <> (archives).

Development of Autoconf, and GNU in general, is a volunteer effort, and your contribution would be welcome. For general information, please read How to help GNU. If you'd like to get involved with Autoconf, it's a good idea to join this general list.

If you have a patch for a bug in Autoconf that hasn't yet been fixed in the latest git sources of Autoconf, please send the patch (made for the current git sources, not the released sources) to <> (archives).

All commits to the repository are automatically mailed to <> (archives and subscription).

You can subscribe to any GNU mailing list via the web as described below. Or you can send an empty mail with a Subject: header line of just "subscribe" to the relevant -request list. For example, to subscribe yourself to the bug-autoconf list, you would send mail to <> with no body and a Subject: header line of just "subscribe".


The low-volume mailing list autotools-announce contains all announcements about Autoconf and a few other related projects. Important announcements about Autoconf and most other GNU Software in general are also made on the info-gnu list.

Related Software

Autoconf is often used together with the following software systems:

Report a Bug

If you think you have found a bug in GNU Autoconf, then please post as complete a report as possible to the Autoconf bug tracker on Savannah. Mail to <> is also accepted, but currently causes extra work for the maintainers. An easy way to collect all the required information, such as platform and compiler, is to run make check, and include the resulting file tests/testsuite.log to your report. Disagreements between the manual and the code are also bugs.


GNU Autoconf is maintained by several developers, including Paul Eggert and Eric Blake <>. Contributors, and consolidated development information, are listed on the Savannah page.

Autoconf Humor

For a more light-hearted look at Autoconf, you may be interested in these alternate renderings of prior versions of this web page.

You may also be interested in this bug report, asking why Autoconf bothers to mark generated scripts as readable.