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: Daijinn Gror
Country: India
Language: English (Spanish)
Genre: Medical
Published (Last): 24 June 2006
Pages: 11
PDF File Size: 20.85 Mb
ePub File Size: 10.29 Mb
ISBN: 128-6-71272-725-3
Downloads: 44757
Price: Free* [*Free Regsitration Required]
Uploader: Migrel

Finally, instrument some of your own projects with the Autotools. It’s a great reference, but a terrible tutorial. I’ve organized it in the best way I know how to help you get your head around the functionality provided by the Autotools. This process should help you to understand how you might “autoconfiscate” one of your own existing complex projects.

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

Does the original poster OP even know what m4 is? The most basic single-line Makefile. Publishers believe that free software developers tend to disdain written documentation–perhaps they’re right.

There are nearlyfree software projects on sourceforge. It presents some fundamental tenets upon which the design of each of the Autotools is based. But you are required to manage all of the details yourself.

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. With these concepts, you’ll be prepared to understand some of the most gujde rationale behind architectural decisions made by the Autotools developers.

For example, here’s a message I came across a few days ago while Guode was perusing the Autoconf mailing list:.

This book is written for the open source software package maintainer. What to do, what to do 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. I chose not to do this for two reasons: Perhaps he’s always simply copied one configure.


Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved. I’ve learned a lot about free software maintenance and development–most of it, unfortunately, by trial and error.

As a side benefit, the GNU manuals for the Autotools should begin to make a lot more sense to you. Free software may be published in binary form.

I recommend you start with this book. I’m talking about the shear volume of information that is assumed to be understood by the reader. 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.

Not because mailing list posters don’t read the archives although I’ll admit that they probably don’t often do sobut rather because this problem can rear its ugly head in many different ways, none of which look remotely related to each other in the eyes of the uninitiated.

Let me give you another analogy: This chapter also goes into detail on the GNU coding standards and the Filesystem Hierarchy Standard documents, both of which have played vital roles in the design of the Autotools. Interestingly, books on Perl sell like Perl’s going out of style–which is actually somewhat true these days–and yet people are still buying enough Perl books to keep their publishers happy.

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

I recommend that you give this chapter a quick read to start with, and then come back to it later, after you’ve read the rest of this book. Existing GNU documentation is more often reference material than solution-oriented instruction. I could have shoe-horned this information into more or less appropriate locations in the preceding chapters. The Goat Book is written in a very non-linear fashion, so it’s difficult to learn anything from it.

You need a solid understanding of the tools upon which the Autotools are built in order to become proficient with the Autotools themselves. Dozens of changes were made incrementally over a period of years, until the script would work properly on most systems anyone cared about. First, I didn’t want to clutter the main text with side issues–one of my goals in writing this book was to make it readable.


Doing is by far the best way to learn. Appendix A provides an overview of those features of the M4 macro processor that are relevant to obtaining a solid understanding of Autoconf. Each of those packages has at least one maintainer–often two or three. As each recipe is mastered, the reader makes small intuitive leaps–I call them minor epiphanies. I’m purposely not using the terms “free software” or “proprietary software that’s free”.

Hand-coded configure scripts helped, but they weren’t the final answer. They fixed about 65 percent of the problems resulting from system configuration differences–and they were a pain in the neck to write properly.

In each case, I’ve provided a graphic depiction of the flow of data from hand-coded input files, to final output files. The advantages should be clear.

What we need is a cookbook-style approach, covering real problems found in real projects. Let’s analyze this picture: 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. You do it by creating a user build, installation and operation experience that shines. All of this explains why there are ten books on the shelf with animal pictures on the cover for perl, but literally nothing for free software developers. The Goat Book does cover the m4 macro processor in great detail, but it’s not clear to the uninitiated that one uatotools do well to start with Chapter Chapter 2 covers free software project structure and organization.