Monday, July 18, 2011

Understanding the structure of a GNU Autotools project

How many times would most of the people using this have downloaded a project built with GNU Autotools and tried to build it following the INSTALL instructions and have been very contended finding success. Nearly half of them would have not needed to know anymore than that and half of the remaining would have got no time/energy to go any further. I am one person transitioning from this nearly 25% of pathetic developers to the other nearly 25% of happier developers.

To get an understanding of what all a project build with GNU Autotools comprises and to respect the presence of each and every file in a source directory, initially and intermediary to configure and build steps I seeked an Autotools reference. For a pictorial remembrance, I roughly sketched a flow graph (which is partially complete with only the most important files and processes which I need to know for now)
For more comprehensive details The Goat Book is an excellent reference (huge and to be taken in as need arises). Thank you Bharath for suggesting this book to me! :)

Edit1: Unwilling to update the diagram above. Refer to http://sourceware.org/autobook/autobook/autobook_276.html#SEC276 for precisely defined ones. Amazing resource.