about summary refs log tree commit diff
path: root/nixpkgs/doc/hooks/waf.section.md
blob: 8dc78121cd9d11c340d81ea0c99ee484fe3c2e2d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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`