waf - The meta build system

http://code.google.com/p/waf/
Pythonで書かれたビルドツール。

Waf is a Python-based framework for configuring, compiling and installing applications. Here are perhaps the most important features of Waf:

  • Automatic build order: the build order is computed from input and output files, among others
  • Automatic dependencies: tasks to execute are detected by hashing files and commands
  • Performance: tasks are executed in parallel automatically, the startup time is meant to be fast (separation between configuration and build)
  • Flexibility: new commands and tasks can be added very easily through subclassing, bottlenecks for specific builds can be eliminated through dynamic method replacement
  • Extensibility: though many programming languages and compilers are already supported by default, many others are available as extensions
  • IDE support: Eclipse, Visual Studio and Xcode project generators (waflib/extras/)
  • Documentation: the application is based on a robust model documented in The Waf book and in the API docs
  • Python portability: cPython 2.4 to 3.2, PyPy, Jython 2.5, IronPython (Python 2.3 if subprocess.py is included)