Go to file
Thomas Nagy 924f8bbce8
Inserting LDFLAGS at the end of the command-line causes less overhead than expected, and LINKFLAGS can still be used for flags in the beginning of the line
2015-04-22 21:34:45 +02:00
build_system_kit Initial commit 2011-09-10 11:13:51 +02:00
demos Note on Configure.autoconfig (True/False/'clobber') 2015-02-18 01:03:10 +01:00
docs No more ftp.waf.io 2015-04-08 19:11:49 +02:00
playground docs 2015-03-06 18:27:43 +01:00
tests More tests for the Waf preprocessor 2014-11-02 00:16:48 +01:00
utils Fix the g++ compiler detection which is broken by the new clang tool 2015-02-20 14:23:04 +01:00
waflib Inserting LDFLAGS at the end of the command-line causes less overhead than expected, and LINKFLAGS can still be used for flags in the beginning of the line 2015-04-22 21:34:45 +02:00
zip waf-zip: zip-packed waf 2013-08-12 19:34:43 -04:00
.gitignore Revert the build* change to .gitignore since it's likely to have unintended side-effects on Windows. 2012-06-21 17:44:18 +02:00
ChangeLog docs 2015-04-06 17:55:40 +02:00
DEVEL Updated the apidocs and The Waf Book 2015-04-06 14:46:55 +02:00
README Updated the apidocs and The Waf Book 2015-04-06 14:46:55 +02:00
README.md Updated the apidocs and The Waf Book 2015-04-06 14:46:55 +02:00
TODO Removed the accidental dependency on git to create the waf file 2015-03-01 12:04:11 +01:00
configure Initial commit 2011-09-10 11:13:51 +02:00
waf-light cleanup 2015-03-12 19:24:02 +01:00
wscript Updated the apidocs and The Waf Book 2015-04-06 14:46:55 +02:00

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.