Autotools

Autotools is a build system used commonly in open source projects. Although it is common, not every developer enjoys using autotools. Some projects have attempted to avoid the build system.

Gentoo development
The following sections explain eclasses related to autotools.

autotools.eclass
autotools eclass provides functions and dependencies necessary to reconfigure (bootstrap) autotools files in packages. These are usually used in live ebuilds and when applying patches to or  files.

The eautoreconf function, similarly to, regenerates and template files used by autotools. It automatically detects use of the following tools and calls necessary auto-reconfiguration commands for them:


 * autoconf,
 * automake,
 * libtool,
 * gettext,
 * glib-gettext,
 * intltool,
 * gtk-doc,
 * gnome-doc.

It also detects the use of the AC_CONFIG_SUBDIRS variable and performs the recursive auto-reconfiguration in that case.

autotools-utils.eclass
The is meant to provide an extensive support for autotools build system features in ebuilds, in a syntax similar to.

Right now, handles:


 * Intelligent removal of unnecessary files,
 * Automatic handling of ,
 * Out-of-source builds,
 * Handling PATCHES, DOCS , HTML_DOCS variables and applying user patches (alike ),
 * Wrapping in order to perform auto-reconfiguration (either on request or when user patches require that),
 * Wrapping for the elibtoolize call.

libtool.eclass
The is an eclass providing means to apply Gentoo-specific patches and fixes to libtool used in package build system without the need for regenerating build system completely.