Autotools, 2nd Edition

Autotools, 2nd Edition

A Practitioner's Guide to GNU Autoconf, Automake, and Libtool
by John Calcote
November 2019, 584 pp.

Look Inside!

Autotools, Second EditionAutotools, Second EditionAutotools, Second EditionAutotools, Second Edition

Download Chapter 2: A Brief Introduction to the GNU Autotools

The GNU Autotools make it easy for developers to create software that is portable across many Unix-like operating systems, and even Windows. Although the Autotools are used by thousands of open source software packages, they have a notoriously steep learning curve.

Autotools is the first book to offer programmers a tutorial-based guide to the GNU build system. Author John Calcote begins with an overview of high-level concepts and a hands-on tour of the philosophy and design of the Autotools. He then tackles more advanced details, like using the M4 macro processor with Autoconf, extending the framework provided by Automake, and building Java and C# sources. He concludes with solutions to frequent problems encountered by Autotools users.

This thoroughly revised second edition has been updated to cover the latest versions of the Autotools. It includes five new chapters on topics like pkg-config, unit and integration testing with Autotest, internationalizing with GNU tools, the portability of gnulib, and using the Autotools with Windows. As with the first edition, you'll focus on two projects: Jupiter, a simple “Hello, world!” program, and FLAIM, an existing, complex open source effort containing four separate but interdependent projects. Follow along as the author takes Jupiter’s build system from a basic makefile to a full-fledged Autotools project, and then as he converts the FLAIM projects from complex, hand-coded makefiles to the powerful and flexible GNU build system.

Learn how to:

  • Master the Autotools build system to maximize your software’s portability
  • Generate Autoconf configuration scripts to simplify the compilation process
  • Produce portable makefiles with Automake
  • Build cross-platform software libraries with Libtool
  • Write your own Autoconf macros

This detailed introduction to the GNU Autotools is indispensable for developers and programmers looking to gain a deeper understanding of this complex suite of tools. Stop fighting against the system and make sense of it all with the second edition of Autotools!

Author Bio 

John Calcote is currently a senior software engineer at, a software company specializing in cloud data management. He has been writing portable networking and storage software for over 25 years and is active in developing, debugging, and analyzing diverse open-source software packages.

Table of contents 


Chapter 1: An End User’s Perspective on the GNU Autotools
Chapter 2: A Brief Introduction to the GNU Autotools
Chapter 3: Understanding the GNU Coding Standards
Chapter 4: Configuring Your Project with Autoconf
Chapter 5: More Fun with Autoconf: Configuring User Options
Chapter 6: Automatic Makefiles with Automake
Chapter 7: Building Libraries with Libtool
Chapter 8: Library Interface Versioning and Runtime Dynamic Linking
Chapter 9: Unit Interpretation Testing with Autotest
Chapter 10: Finding Building Dependencies with pkg-config
Chapter 11: Internalization
Chapter 12: Localization
Chapter 13: Maximum Portability with Gnulib
Chapter 14: FLAIM: An Autotools Example
Chapter 15: FLAIM Part II: Pushing the Envelope
Chapter 16: Using the M4 Macro Processor with Autoconf
Chapter 17: Using Autotools with Windows
Chapter 18: A Catalog of Tips and Reusable Solutions for Creating Great Projects

View the detailed Table of Contents
View the Index


"In my opinion you will find no better introduction to this complex subject."
Slashdot (Read More)

“If you’re a newcomer who wants to know how it works behind the scenes in detail, you just have to read it.”
Flameeyes's Weblog (Read More)