Autotools

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

= 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 configure.ac or Makefile.am files.

Example ebuild code using autotools.eclass

The eautoreconf function, similarly to autoreconf -vi, regenerates configure 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 .la files,
 * automatic handling of IUSE=static-libs,
 * out-of-source builds,
 * wrapping base.eclass to handle PATCHES, DOCS, HTML_DOCS and apply user patches,
 * 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.