mirror of
https://gitlab.com/ita1024/waf.git
synced 2024-11-25 11:19:52 +01:00
build_system_kit | ||
demos | ||
docs | ||
playground | ||
tests | ||
utils | ||
waflib | ||
zip | ||
.gitignore | ||
ChangeLog | ||
configure | ||
DEVEL | ||
README | ||
README.md | ||
TODO | ||
waf-light | ||
wscript |
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.