Go to file
Matt Clarkson 2c617a42f8 Add a Node.read_json() function
This allows an easy way to read a JSON file into a python object. It, by
default, on Python2 converts all strings to normal strings. This is the
common use case for simple JSON files. Files that have UTF8 codepoints
over the normal ASCII range can use the 'convert = False' argument.
2015-11-20 13:51:11 +00:00
build_system_kit Initial commit 2011-09-10 11:13:51 +02:00
demos Replaced 'source' arg to 'source_files'. Updated Docs and demo. Fixed bugs. 2015-11-08 10:06:03 +01:00
docs Make theme selection also work with older Sphinx. 2015-10-24 15:26:46 +02:00
playground Adding . in include paths seems to cause problems 2015-11-08 11:22:27 +01:00
tests [macplist]: interpolate file 2015-06-14 15:53:46 -04:00
utils Update use_config - Issue 1608 2015-08-29 10:31:02 +02:00
waflib Add a Node.read_json() function 2015-11-20 13:51:11 +00:00
zip waf-zip: zip-packed waf 2013-08-12 19:34:43 -04:00
.gitignore Initial impl. for Xcode 6 - basic tests 2015-06-24 19:32:46 +02:00
ChangeLog docs 2015-11-01 14:19:20 +01: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 docs 2015-06-21 22:43:19 +02:00
TODO Added a fake Constants module in compat15.py 2015-11-04 23:16:48 +01:00
configure Update use_config - Issue 1608 2015-08-29 10:31:02 +02:00
waf-light Version 1.8.17 2015-11-10 21:52:54 +01:00
wscript Version 1.8.17 2015-11-10 21:52:54 +01: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.