nixpkgs/doc/hooks/waf.section.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.4 KiB
Markdown
Raw Normal View History

# waf.hook {#wafhook}
[Waf](https://waf.io) is a Python-based software building system.
In Nixpkgs, `waf.hook` overrides the default configure, build, and install phases.
## Variables controlling waf.hook {#variablesControllingWafHook}
### `wafPath` {#wafPath}
Location of the `waf` tool. It defaults to `./waf`, to honor software projects that include it directly inside their source trees.
If `wafPath` doesn't exist, then `waf.hook` will copy the `waf` provided from Nixpkgs to it.
### `wafConfigureFlags` {#wafConfigureFlags}
Controls the flags passed to waf tool during configure phase.
### `wafFlags` {#wafFlags}
Controls the flags passed to waf tool during build and install phases.
### `dontAddWafCrossFlags` {#dontAddWafCrossFlags}
When set to `true`, don't add cross compilation flags during configure phase.
### `dontUseWafConfigure` {#dontUseWafConfigure}
When set to true, don't use the predefined `wafConfigurePhase`.
### `dontUseWafBuild` {#dontUseWafBuild}
When set to true, don't use the predefined `wafBuildPhase`.
### `dontUseWafInstall` {#dontUseWafInstall}
When set to true, don't use the predefined `wafInstallPhase`.
### Variables honored by waf.hook {#variablesHonoredByWafHook}
The following variables commonly used by `stdenv.mkDerivation` are also honored by `waf.hook`.
- `prefixKey`
- `configureTargets`
- `enableParallelBuilding`
- `enableParallelInstalling`
- `buildFlags`
- `buildTargets`
- `installFlags`
- `installTargets`