Home

Autotools

Autotools, also known as GNU Autotools, is a collection of build-system tools designed to make software packages portable across Unix-like systems by producing configure scripts and portable Makefiles. The core components are Autoconf, Automake, and Libtool, with auxiliary tools such as aclocal, autoheader, and autoreconf. It enables packages to adapt to different environments by detecting features, libraries, headers, and compilers.

Autoconf generates a configure script from configure.ac (or configure.in) using a library of macros. The script

Typical workflow: writers create configure.ac and Makefile.am, then run aclocal, autoheader (optional), autoconf, and automake to

Strengths include broad portability, mature tooling, and long-standing industry usage. Weaknesses include complexity, verbose generated scripts,

tests
the
system
and
creates
configuration
headers
and
a
Makefile
customized
for
the
host.
Automake
creates
Makefile.in
templates
from
Makefile.am
files
to
standardize
build
targets.
Libtool
provides
a
portable
interface
for
building
and
linking
shared
libraries.
bootstrap.
The
user
executes
./configure
to
probe
the
system
and
produce
a
Makefile,
then
runs
make
and
make
install.
and
a
slower
development
loop
compared
with
modern
alternatives
like
CMake
and
Meson.
Autotools
remains
widely
used
in
the
GNU
project
and
in
many
open-source
packages,
where
its
emphasis
on
portability
and
configurability
continues
to
be
valued,
despite
the
learning
curve
involved
in
maintaining
Autotools-based
builds.