Waf

Waf
Developer(s) Thomas Nagy
Stable release 1.6.10 / December 17, 2011; 60 days ago (2011-12-17)
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

Features

General

Language Support

Other

Requirements

History

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]

Example Waf file

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

Notable applications

Waf is used to build software by a number of different free and open source projects.

See also

References

External links