Autotools Book Review
Prior to reading this book by author John Calcote, I was in the Autotools hater camp. I never took the time to learn the toolset's intricacies and in John's words, found myself "fighting the system". Has the book made me an Autotools believer? Read on to find out.The book begins with an introduction to the GNU Autotools packages and the systems it runs on best (POSIX systems like Linux/Unix, Mac OSX with caveats, and for the techno-masocist, Windows with Cygwin - maybe) and the native languages supported (C, C++, Objective C, Fortran, Fortran 77 and Erlang, with partial support for other languages like Java), followed by a chapter on open source software project structure and organization via the GNU Coding Standards (GCS) and the Filesystem Hierarchy Standard(FHS). The next series of chapters dive into the actual utilization of Autotools, from creating project configuration scripts, Autoconf Makefil.in templates and Automake Makefile.am files. Chapters 6 and 7 cover Libtool for abstracting shared library generation functionality, as well as library versioning and runtime dynamic module management. The next two chapters use Novell's open source FLAIM project (of which the author is the project administrator) to demonstrate how to move a manually managed system to an "autoconfiscated" one. Chapter 10 discusses the M4 macro processor as it applies to Autoconf so as to learn how to write your own Autoconf macros. Finally, the book concludes with a chapter on various tips and tricks such as cross-compiling and determining which dependencies should accompany your project's source packages.
The book has plenty of variable reference tables, command line input/output examples and switches, Bourne shell scripts, Macro printouts, best practice recommendations and honest recognition of the passion that developers have about their tools. This refreshing approach shows how the author is in tune with the real world practices and curmudgeons who are resistant to change. Source code listings can be downloaded from the book's website as well as updates and sample chapter PDF's.
So will I start using Autotools more frequently as a result of reading the book? Probably not, but at least now I understand the advantages of what Autotools bring to the developer toolbox. And who knows, perhaps when the next big C-based *nix project hits, Autotools will be on the list of open source build management tools to consider employing.
Title: Autotools Author: John Calcote Publisher: No Starch Press ISBN: 978-1-59327-206-7 Pages: 360 Price: $44.95 print + Ebook, $22.95 Ebook