Autotools

From Gentoo Wiki
Jump to: navigation, search
Resources

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 this build system.[1]

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

CODE Example ebuild code using autotools.eclass
inherit autotools

src_prepare() {
   default
   eautoreconf
}

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 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.

libtool.eclass

Note
You don't usually need to use libtool.eclass yourself. It is called by default in eautoreconf.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.

See also

External resources

References