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: Akikinos Dikora
Country: Cape Verde
Language: English (Spanish)
Genre: Spiritual
Published (Last): 12 April 2014
Pages: 83
PDF File Size: 3.1 Mb
ePub File Size: 12.56 Mb
ISBN: 845-2-36198-272-5
Downloads: 77715
Price: Free* [*Free Regsitration Required]
Uploader: Dazahn

But end-users are not developers, so most of them won’t know how to properly build your package.

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

Free software may be published in binary form. Hand-coded configure scripts helped, but they weren’t the final answer. But don’t stop there.

If you get your head screwed on straight about the primary purpose of the Autotools, then hate quickly turns into respect–and even appreciation.

Don’t worry if you feel overwhelmed after reading Chapter 1. The same concept applies to understanding the Autotools.

Most packages are built using makefiles, and the make utility is as pervasive a tool as anything else that’s available. Another problem is seen in the final response where the OP is told, ” Proprietary software may be given away.

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 use of the term “open source” is autotopls in this context. 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 autogools could perform a few well-known steps and have your package cleanly installed on her system.

The most basic single-line Makefile. How do you become such an expert? The example provided by this chapter will use the concepts presented in previous chapters to take it from the original hand-coded makefiles to a complete Autotools project, implementing all of the features provided by the original build system. I could have shoe-horned this information into more or less appropriate locations in the preceding chapters. Chapter 1 presents a general overview of the packages that are considered part of the GNU Autotools.

Neither do I, but there is a handful guife developers in the world who know a large percentage of these differences.

Finally, instrument some of your own projects with the Autotools. In fairness to the authors, they have maintained an online version through February of The purpose of the Autotools is not to make life simpler for the package maintainer although it really does in the long run.

I’m talking about the shear volume of information that is assumed to be understood by the reader. In each case, I’ve provided a graphic depiction of the flow of data from hand-coded input files, to autotoole output files. It presents some fundamental tenets upon which the design of each of the Autotools is based.


I’ve been in this industry for 25 years, and I’ve worked with free software for quite some time now. You need a solid understanding of the tools upon which the Autotools are built in order to become proficient with the Autotools themselves.

You’d think it wouldn’t have made that much difference, but it really does. If that’s the case, then this response made no sense to him whatsoever. In fact, one editor told me that he himself had tried unsuccessfully to entice authors to write this book a few years ago.

Take sedfor example: 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.

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

This chapter describes the interaction between these packages, and the files consumed by and generated by each one. You do it by creating a user build, installation and operation experience that shines. Let me give you another analogy: