Chapter 5. Building Software


this chapter discusses how software products are built from their source files. The first half of the chapter describes what a build tool is and what you might want a build tool to do. The second half compares six of the most commonly used build tools: shell scripts and batch files, make, GNU Autotools, Ant, Jam, and SCons.

One solid study, not written by a consultant working for a company that sells a build tool, suggests that between 10% and 30% of the time spent working on many complex software projects is spent wrestling with the build tool, waiting for slow builds, or investigating phantom bugs due to inconsistent builds.[1] That's a substantial amount of time! Whether you believe the figures or not, frustrating experiences with a build tool can certainly make any project far less productive. Conversely, a good build tool can fade into the background and let you get on with writing code.

[1] G. Kumfert and T. Epperly, "Software in the DOE: The Hidden Overhead of `The Build,'" Lawrence Livermore National Laboratory technical report, available at http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=15005938 (2002).

The purpose of this chapter is to help you choose and use an appropriate build tool for your project. If that choice has already been made, then the examples and references for each build tool should help you use the build tool better. If you are using a build tool that isn't described here, then the general observations about builds should still be useful.



Practical Development Environments
Practical Development Environments
ISBN: 0596007965
EAN: 2147483647
Year: 2004
Pages: 150

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net