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 compatibility: cPython 2.4 to 3.4, Jython 2.5, IronPython,
    and Pypy

Homepage:
https://waf.io/
