Haoyu Tan’s code library. Contribute to haoyutan/codelib development by creating an account on GitHub. Autotools: a practitioner’s guide to Autoconf, Automake and Libtool. by John Calcote – Chapter 1: A brief introduction to the GNU Autotools. by John . There are few people who would deny that Autoconf, Automake and Libtool have revolutionized the free software world. While there are many thousands of.

Author: Gazil Tuzilkree
Country: Egypt
Language: English (Spanish)
Genre: History
Published (Last): 1 March 2008
Pages: 438
PDF File Size: 6.18 Mb
ePub File Size: 2.97 Mb
ISBN: 194-2-52584-737-5
Downloads: 42765
Price: Free* [*Free Regsitration Required]
Uploader: Mazushura

Existing GNU documentation is more often reference material than solution-oriented instruction. I’ve left a LOT of details out of this book, because my purpose is to quickly get you up to speed on understanding and using the Autotools. I recommend you start with this book.

Publishers believe that free software developers tend to disdain written documentation–perhaps they’re right. Had there been other books on the topic, I would have snatched them all up immediately, rather than spend hours–even days sometimes–trying to get the Autotools to do something I could have done in a makefile in a few minutes.

You’ll still need to handle the operation experience, of course, but Autotools can provide a great multi-platform build and installation experience–with far less effort on your part. The most widely adopted approach from the earliest days of the open source movement was to make the package build process as simple as possible for the end user, such that she could perform a few well-known steps and have your package cleanly installed on her system.

Let me give you another analogy: The details will become clear later. They don’t write many Autoconf input scripts, but they do patch a lot of them.

This book is written for the open source software package maintainer. If only 10 percent of those are still active, that’s still 20, live projects. These people are in a class of engineers by themselves. Given the nature of the question, I’d say the OP believes that the entirety of each parameter is contained within the brackets, so this assumption is not at all improbable.

The initial reading will reduce the frustration of this exercise to something bearable.

Autotools: a practitioner’s guide to Autoconf, Automake and Libtool

Above all, remember why you’re doing this–because you want your end-user’s experience with your package to be as delightful as possible. How wrong I praxtitioner. Free software may be published in binary form. How do you become such an expert? I struggled the entire semester with little progress.


The Autotools were designed to create configure scripts and makefiles that work correctly and provide significant chunks of valuable end-user functionality under most circumstances, and on most systems–even systems not initially considered or even known about by the package maintainer.

It presents some fundamental tenets upon practifioner the design of each of the Autotools is based. You can instead use practiyioner to ignore the trailing whitespace, provided the closing paren is in column 1.

I could have shoe-horned this information into more or less appropriate locations in the preceding chapters. To drive my point home, I’ll wager that you’ll never see a Linux distribution packager spouting hateful sentiment on the Autotools mailing lists.

In the early ‘s I was working on the final stages of my bachelor’s degree in computer science at Brigham Young University. Does the OP understand the concept of quoting as it relates to m4 or to Autoconf? What to do, what to do I’m purposely not using the terms “free software” or “proprietary software that’s free”. Does the original poster OP even know what m4 is? In fairness to the authors, they have maintained an online version through February of It’s very easy to type make –but that’s practitionr the problem.

Another problem is seen in the final response where the OP is told, ” Do you have any idea of the number of build-breaking differences there are between existing systems today?

With these concepts, you’ll be prepared to understand some of the most fundamental rationale behind architectural decisions made by the Autotools developers. This chapter describes the interaction between these packages, and the files consumed by and generated by each one.

Here are some of ppractitioner problems with the response to this request: Alright, suppose he does; either way, he’s clearly not an m4 expert or he wouldn’t have needed help with this issue to begin with. I’ve been told by publishers that there is simply no market for such a book.


Auyotools that’s the case, then this response made no sense to him whatsoever. This book attempts to alleviate some of the confusion and reduce the existing learning curve by presenting the Autotools in a manner conducive to an open source beginner learning how to use them.

Autotools: a practitioner’s guide to Autoconf, Automake and Libtool

This chapter also goes into detail on the Oractitioner coding standards and the Filesystem Hierarchy Standard documents, both of which have played vital roles in the design of the Autotools. Oh, yes–you can write object-oriented software in C. Second, I didn’t want to reduce the importance atotools these items by slipping them in somewhere. More to the point however, a solid understanding of the basic functionality of sedm4shell script and other utilities is critical to understanding the proper use of the Autotools.

If 80 percent of those are Linux or Unix based packages, that’s 16, free software packages that might use the Autotools. They’re free, and links are provided in the References section of this book, but they’re easy to find with a simple internet query. The problem crops up when the package doesn’t build successfully, because of some unanticipated difference between the user’s system and the developer’s system.

The use of the term “open practjtioner is critical in this context. The purpose of the Autotools is not to make life simpler for the package maintainer although it really does in the long run. But you are required to manage all of the details yourself. The project is built on principles taken from these two documents.

Chapter 6 takes an existing complex open source project FLAIM through the process of converting from a hand-coded build system to an Autotools build system, from start to finish. In fact, one editor told me that he himself practitionwr tried unsuccessfully to entice authors to write this book a few years ago. My hope is that by enumerating them within their own chapter, they become more accessible to you.