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

  • 7h 32m
  • John Calcote
  • No Starch Press
  • 2010

The GNU Autotools make it easy for developers to create software that is portable across many UNIX-like operating systems. Thousands of open source software packages use the Autotools, but the learning curve is unfortunately steep, and it can be difficult for a beginner to find anything more than basic reference material on using the powerful software suite.

In Autotools, author John Calcote begins with an overview of high-level concepts; then tackles more advanced topics, like using the M4 macro processor with Autoconf, extending the Automake framework, and building Java and C# sources.

You'll 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

Autotools also includes a variety of complete projects that you're encouraged to work through to gain a real-world sense of how to become an Autotools practitioner. For example, you'll turn the FLAIM and Jupiter projects' hand-coded, makefile-based build systems into a powerful Autotools-based build system.

About the Author

John Calcote is a Senior Software Engineer at Fusion-io. He's been writing and developing portable networking and system-level software for nearly 20 years and is active in developing, debugging, and analyzing diverse open source software packages. He is currently a project administrator of the OpenSLP, OpenXDAS, and DNX projects (open source software available at sourceforge.net), as well as the Novell-sponsored FLAIM database project (open source software available at developer.novell.com).

In this Book

  • Autotools—A Practitioner’s Guide to GNU Autoconf, Automake, and Libtool
  • 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
  • Flaim: An Autotools Example
  • Flaim Part II: Pushing the Envelope
  • Using the M4 Macro Processor with Autoconf
  • A Catalog of Tips and Reusable Solutions for Creating Great Projects
SHOW MORE
FREE ACCESS