Developer(s) | Thomas Nagy |
---|---|
Stable release | 1.6.10 / December 17, 2011 |
Written in | Python[1] |
Operating system | Windows, POSIX |
Type | Software development tools |
License | New BSD License |
Website | waf.googlecode.com |
Waf is a Build automation tool - a program that assists in the automatic compilation and installation of other programs or libraries.
Contents |
Thomas Nagy created a build automation tool called BKsys which was designed to sit on top of SCons, providing higher-level functionality similar to that of Autotools. When Thomas Nagy decided that SCons' fundamental issues (most notably the poor scalability) were too complex and time-consuming to fix, he started a complete rewrite which he named Waf.
In 2005 the KDE project considered moving from Autotools to SCons and BKsys in its builds, but a year later the decision was made to instead use CMake. Waf was still in a very early pre-alpha stage at that point.[2]
Below is a very simple wscript that would compile a source called "hello-world.c" using the platform default c-compiler:
top = '.' out = 'build' def options(opt): opt.load('compiler_c') def configure(conf): conf.load('compiler_c') def build(bld): bld.program(source = 'hello-world.c', target = 'hello-world', features = 'c cprogram')
The project is built with the following command line:
waf configure build
Waf is used to build software by a number of different free and open source projects.