Skip to main content

Handy tools for the WAF meta build environment

Project description

Summary

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

Description

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

Usage

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('compiler_c')
        opt.load('export', tooldir=os.path.dirname(waftools.__file__))

def configure(conf):
        conf.load('compiler_c')
        conf.load('export')

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

Project details


Release history Release notifications

History Node

0.4.13

History Node

0.4.11

History Node

0.4.10

History Node

0.4.9

History Node

0.4.8

History Node

0.4.7

History Node

0.4.6

History Node

0.4.5

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

History Node

0.4.0

History Node

0.3.7

History Node

0.3.6

History Node

0.3.5

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.0

History Node

0.1.8

History Node

0.1.7

History Node

0.1.6

History Node

0.1.5

History Node

0.1.4

This version
History Node

0.1.3

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
waftools-0.1.3.zip (82.4 kB) Copy SHA256 hash SHA256 Source None Jul 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page