Autotools

Autotools (or GNU Autotools; also called the GNU Build System) is a collective name for autoconf, automake, and libtool. Together, they constitute a toolkit used to help create source packages, and compile and install such packages, on a wide variety of Unix-like computer systems.

Autotools is sometimes considered to include additional utilities beyond the "big three" listed above, such as pkg-config or gettext.

Autotools is frequently criticized for being overly complicated and messy. But its flexibility and portability have proven difficult to replicate, so unfortunately there is often no better option available.

Discussion
Autotools uses shell scripting, make, M4, and Perl. Each source package is expected to include the Autotools components necessary to compile and install it, so Autotool does not have to be installed locally in order to use it for these purposes. However, if the included components find a local copy of Autotools, they may decide to use parts of it (with consequences that could be good or bad).

Files
Characteristic filenames used by Autotools include the following: aclocal.m4 AUTHORS ChangeLog compile config.h.in config.guess config.log config.status config.sub configure configure.ac configure.in COPYING COPYING.LESSER COPYING.LIB depcomp INSTALL install-sh libtool libtool.m4 ltmain.sh lt*.m4 Makefile.am Makefile.in missing NEWS README stamp-h stamp-h.in TODO

Related formats

 * Bourne shell script
 * M4
 * Makefile
 * Perl

Links

 * Autoconf
 * Automake
 * GNU Libtool
 * GNU Build System
 * Autoconf
 * Automake
 * GNU Libtool
 * Autotools Mythbuster
 * GNU Autoconf, Automake, and Libtool

Commentary and criticism

 * Stop the autoconf insanity! Why we need a new build system.
 * Autotools must die (Eric Raymond blog post)
 * The GNU Configure and Build System (Ian Lance Taylor blog post)
 * Did you call them autocrap tools? (from archive.org)
 * Why GNU Autotools is not my favorite build system
 * Yes we still needs autotools