Autoconf

About Autoconf

Autoconf is a GPLv2-licensed package of macros that produces a shell script "configure" to generate a Makefile and config header for a project. The configuration scripts produced by Autoconf are self-contained, so the users of your project do not need Autoconf, M4, or perl to run configure.

By the time you read this, it is possible that the latest version has been updated. You may want to use a newer version, but it's possible a newer version might not work the same way. To ensure a positive outcome, don't upgrade unless you have a good reason to, or if the Autoconf folks recommend you to do so on their website.

Prerequisites

Autoconf requires M4 and perl

Downloading Autoconf

As I write this, the latest version of Autoconf is 2.64. You can download this, or another version, at http://ftp.gnu.org/gnu/autoconf/. Assuming you want to install version 2.64: download autoconf-2.64.tar.gz; put this into a temporary folder, such as /tmp/autoconf, and follow the rest of these instructions to install it.

For example: downloading Autoconf using wget:
$ mkdir /tmp/autoconf
$ cd /tmp/autoconf
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.gz

Installing Autoconf

Extract Autoconf
$ cd /tmp/autoconf
$ gzip -dc < autoconf-2.64.tar.gz | tar -xf -
$ cd autoconf-2.64
Build Autoconf
$ ./configure --prefix=/usr
$ make
Install Autoconf (must be root user)
# make install

Files

This version of Autoconf, when installed, produces the following files: (assuming --prefix=/usr)

Autoconf Scripts
/usr/bin/autoconf
/usr/bin/autoheader
/usr/bin/autom4te
/usr/bin/autoreconf
/usr/bin/autoscan
/usr/bin/autoupdate
/usr/bin/ifnames
Autoconf Documentation
/usr/share/info/autoconf.info
/usr/share/info/standards.info
/usr/share/man/man1/autoconf.1
/usr/share/man/man1/autoheader.1
/usr/share/man/man1/autom4te.1
/usr/share/man/man1/autoreconf.1
/usr/share/man/man1/autoscan.1
/usr/share/man/man1/autoupdate.1
/usr/share/man/man1/config.guess.1
/usr/share/man/man1/config.sub.1
/usr/share/man/man1/ifnames.1
Other Files
/usr/share/autoconf/*
/usr/share/emacs/site-lisp/*

Feedback

I personally dislike outdated documentation. If anything here seems wrong, or perhaps did not work for you, please email me (jay@petio.org) and tell me so I can update it. Thanks!