Software Build Systems: Principles and Experience (repost)

Posted By: interes
Software Build Systems: Principles and Experience (repost)

Peter Smith, "Software Build Systems: Principles and Experience"
2011 | ISBN-10: 0321717287 | 624 pages | PDF | 8,2 MB

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 build system concepts, including source trees, build tools, and compilation tools

• 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 software for installation on your target machine

• Best practices for managing complex version-control systems, 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.