TABLE OF CONTENTS


waf.cygclass

[ Top ] [ Cygclasses ] [ Cygclasses ]

SYNOPSIS

  [WAF_USE_BUNDLED=1]
  inherit waf

DESCRIPTION

Waf is a general-purpose build system written in Python used by XMMS2, a few GTK+ programs, and some other projects. The build system is defined by a 'wscript' file in the top source directory and 'wscript_build' files in subdirectories, both of which are also written in Python.

Waf is designed to create a completely self-sufficient package, with the waf command and library shipped together with the sources. The issue with that is only a recent of Waf will correctly build libraries on Cygwin, and patches may be required. Therefore, this cygclass can use a (patched) system-installed waf command to drive the build instead if the bundled copy does not work.

NOTE

Packages which ship with very old versions of Waf may not be compatible with the current Waf API. In that case, if the bundled waf does not work, you will need to patch 'wscript' and/or 'wscript_build' for the API provided by the system-installed copy. A link to the Waf Book and API documentation can be found on the Waf project page.

REQUIRES

python, waf


WAF_USE_BUNDLED

[ Top ] [ waf.cygclass ] [ Variables ]

SYNOPSIS

  WAF_USE_BUNDLED=1
  inherit waf

DESCRIPTION

Define this variable prior to inherit()ing waf.cygclass in order to use the copy of Waf bundled in the sources.


WAF

[ Top ] [ waf.cygclass ] [ Definitions ]

DESCRIPTION

Path to the Waf command.


waf_compile

[ Top ] [ waf.cygclass ] [ Compile Functions ]

SYNOPSIS

  waf_compile [OPTIONS]

DESCRIPTION

Runs 'waf configure' to configure the package, followed by 'waf build' to compile it. WAF_CONFIGURE_FLAGS and WAF_BUILD_FLAGS can be defined to pass additional arguments to the configure and build commands, respectively. Any arguments to waf_compile are passed as configure flags to the 'waf configure' command. waf_compile must be run from the directory containing 'wscript'.


WAF_CONFIGURE_FLAGS

[ Top ] [ waf_compile ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf configure'.


WAF_BUILD_FLAGS

[ Top ] [ waf_compile ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf build'.


waf_test

[ Top ] [ waf.cygclass ] [ Testsuite Functions ]

DESCRIPTION

Runs the package's test suite with 'waf check'. WAF_TEST_FLAGS can be defined to pass additional arguments to the check command. Any arguments to waf_test are passed as well. waf_test must be run from the directory containing 'wscript'.


WAF_TEST_FLAGS

[ Top ] [ waf_test ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf check'.


waf_install

[ Top ] [ waf.cygclass ] [ Install Functions ]

DESCRIPTION

Installs the package into $D with 'waf install'. WAF_INSTALL_FLAGS can be defined to pass additional arguments to the install command. Any arguments to waf_install are passed as well. waf_install must be run from the directory containing 'wscript'.


WAF_INSTALL_FLAGS

[ Top ] [ waf_install ] [ Variables ]

DESCRIPTION

String containing additional arguments to pass to 'waf install'.


src_compile (waf)

[ Top ] [ waf.cygclass ] [ Overloads ]

DEFINITION

src_compile() {
        lndirs
        cd ${B}
        waf_compile
}

src_install (waf)

[ Top ] [ waf.cygclass ] [ Overloads ]

DEFINITION

src_install() {
        cd ${B}
        waf_install
}