skip to navigation
skip to content

waftools 0.1.3

Handy tools for the WAF meta build environment

Package Documentation

Latest Version: 0.4.13


This package contains a collection of tools for the waf build environment.


The waf framework provides a meta build system allowing users to create concrete build systems. Out of the box it provides support for building and installation of programs for a myriad of programming languages (C, C++, Java, Python, Fortran, Lua, …), when needed new functions (e.g. source code checking) can be added to a concrete build solution using waf tools which can be imported and used in wscript build files. See the wafbook for a detailed description of the waf meta build system structure and usage.

The waftools package provides a collection of such tools which, once installed, can be imported and used from any wscript build file on your system. Following provides a non-exhausting list of functions provided by this package:

  • C/C++ export to makefiles (e.g. make, cmake)
  • C/C++ export to IDE’s (e.g. Code::Blocks, Eclipse, Visual Studio)
  • C/C++ source code checking using cppcheck (including html reports)
  • Create installers using NSIS
  • Create C/C++ documentation using DoxyGen
  • List dependencies between build tasks


The code snippet below provides an example on how the export function from the waftools package can be added to (top) level wscript file of a (your) concrete build solution:

import os
import waftools

def options(opt):
        opt.load('export', tooldir=os.path.dirname(waftools.__file__))

def configure(conf):

def build(bld):
        bld.program(target='hello', source='hello.c')

Using this code snippet, the meta-data for the program hello can be exported to foreign (build) formats outside of the waf build environment using the export command:

waf configure
waf export --codeblocks

For more information on using waf commands and options use:

waf --help
File Type Py Version Uploaded on Size (md5) Source 2014-07-21 80KB