Software Build Systems: Principles and Experience
Addison Wesley Professional
Publication date: February 2011
Digital Book format: PDF (Adobe DRM)
You save: $5.00 (10%)
Inadequate build systems can dramatically impact developer productivity, Bad dependencies, false compile errors, failed software images, slow compilation, and time-wasting manual processes are just some of the byproducts of a subpar build system. In Software Build Systems, software productivity expert Peter Smith shows you how to implement build systems that overcome all these problems, so you can deliver reliable software more rapidly, at lower cost. Smith explains the core principles underlying highly efficient build systems, surveying both system features and usage scenarios. Next, he encapsulates years of experience in creating and maintaining diverse build systems–helping you make well-informed choices about tools and practices, and avoid common traps and pitfalls. Throughout, he shares a wide range of practical examples and lessons from multiple environments, including Java, C++, C, and C#. Coverage includes Mastering high-level build system concepts, including source and object trees, build tools, and compilation tools Understanding what build systems must construct, the input and output files they use, and the role of build variants Comparing five leading build tools: GNU Make, Ant, SCons, CMake, and the Eclipse IDE’s integrated build features Ensuring accurate dependency checking and efficient incremental compilation Using metadata to assist debugging, profiling, and source code documentation Packaging built software for installation on your target machine Managing complex version-control issues that impact the build process Implementing best practices for managing build machines and compilation tools If you’re a developer, this book will illuminate the issues involved in building and maintaining the build system that’s best for your team. If you’re a manager, you’ll discover how to evaluate your team’s build system and improve its effectiveness. And if you’re a build “guru,” you’ll learn how to optimize the performance and scalability of your build system, no matter how demanding your requirements are.