Autotools

Autotools is a build system used commonly in open source projects.

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.

Example ebuild code using autotools.eclass

The eautoreconf function, similarly to autoreconf -vi, regenerates and template files used by autotools. It automatically detects use of the following tools and calls necessary autoreconfiguration commands for them:
 * autoconf,
 * automake,
 * libtool,
 * gettext,
 * glib-gettext,
 * intltool,
 * gtk-doc,
 * gnome-doc.

It also detects the use of AC_CONFIG_SUBDIRS and performs the recursive autoreconfiguration in that case.

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

Right now, autotools-utils.eclass handles:
 * intelligent removal of unnecessary files,
 * automatic handling of IUSE=static-libs,
 * out-of-source builds,
 * handling PATCHES, DOCS, HTML_DOCS and applying user patches (alike base.eclass),
 * wrapping autotools.eclass in order to perform autoreconfiguration (either on request or when user patches require that),
 * wrapping libtool.eclass for the elibtoolize call.

Example ebuild using autotools-utils.eclass

libtool.eclass
The libtool.eclass 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.