Skip to content

zzl88/waf

This branch is 287 commits ahead of weka-io/waf:master.

Folders and files

NameName
Last commit message
Last commit date
Sep 10, 2011
Jan 6, 2016
Jan 3, 2016
Jan 3, 2016
Jun 14, 2015
Aug 29, 2015
Jan 11, 2016
Aug 12, 2013
Jun 24, 2015
Jan 6, 2016
Apr 6, 2015
Jan 6, 2016
Jun 21, 2015
Aug 29, 2015
Jan 6, 2016
Jan 6, 2016

Repository files navigation

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.

About

The Waf build system

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 90.5%
  • C++ 4.6%
  • Java 1.1%
  • C 1.0%
  • Go 0.9%
  • C# 0.6%
  • Other 1.3%