mirror of https://gitlab.com/ita1024/waf.git
b22118a2de
Granting this control allows the avoidance of issues such as accidentally loading the "cython" module from from Cython itself, rather than the "cython" waf tool. Conflicts: waflib/Configure.py waflib/Context.py |
||
---|---|---|
build_system_kit | ||
demos | ||
docs | ||
playground | ||
tests | ||
utils | ||
waflib | ||
zip | ||
.gitignore | ||
ChangeLog | ||
DEVEL | ||
README | ||
README.md | ||
TODO | ||
configure | ||
waf-light | ||
wscript |
README.md
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.5 to 3.4, Jython 2.5, IronPython, and Pypy
Waf is used in particular by innovative companies such as Avalanche Studios and by open-source projects such as the Samba project. Learn more about Waf by reading The Waf Book.
For researchers and build system writers, Waf also provides a framework for creating custom build systems and package distribution systems.
Download the project from our page on waf.io or from the mirror on freehackers.org.