Autotools: A Practitioner's Guide to GNU Autoconf, Automake, and Libtool, 2nd Edition

  • 10h 57m
  • John Calcote
  • No Starch Press
  • 2020

The long awaited update to the practitioner's guide to GNU Autoconf, Automake, and Libtool

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!

About the Author

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.

In this Book

  • Foreword for the Second Edition
  • Foreword for the First Edition
  • Introduction
  • An End User's Perspective on the GNU Autotools
  • A Brief Introduction to the GNU Autotools
  • Understanding the GNU Coding Standards
  • Configuring Your Project with Autoconf
  • More Fun with Autoconf—Configuring User Options
  • Automatic Makefiles with Automake
  • Building Libraries with Libtool
  • Library Interface Versioning and Runtime Dynamic Linking
  • Unit and Integration Testing with Autotest
  • Finding Build Dependencies with PKG-Config
  • Internationalization
  • Localization
  • Maximum Portability with Gnulib
  • Flaim—An Autotools Example
  • Flaim Part II—Pushing the Envelope
  • Using the M4 Macro Processor with Autoconf
  • Using the Autotools with Windows
  • A Catalog of Tips and Reusable Solutions for Creating Great Projects
  • Resources