about summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorAnderson Torres <torres.anderson.85@protonmail.com>2023-07-16 23:24:31 -0300
committerAnderson Torres <torres.anderson.85@protonmail.com>2023-08-13 03:23:09 +0000
commitb5549d90f263871da428ae89e82bd5a6d7092cdf (patch)
tree816e304d2329d2e74ed547521c84c93c2dccb194 /doc
parent8ad7ef7624e395d4c9435d456f7a61a1c7933687 (diff)
wafHook: documentation
A very comprehensive one!
Diffstat (limited to 'doc')
-rw-r--r--doc/hooks/waf.section.md49
1 files changed, 48 insertions, 1 deletions
diff --git a/doc/hooks/waf.section.md b/doc/hooks/waf.section.md
index ee1bccff1d0aa..ad48586b064de 100644
--- a/doc/hooks/waf.section.md
+++ b/doc/hooks/waf.section.md
@@ -1,3 +1,50 @@
 # wafHook {#wafhook}
 
-Overrides the configure, build, and install phases. This will run the “waf” script used by many projects. If `wafPath` (default `./waf`) doesn’t exist, it will copy the version of waf available in Nixpkgs. `wafFlags` can be used to pass flags to the waf script.
+[Waf](https://waf.io) is a Python-based software building system.
+
+In Nixpkgs, `wafHook` overrides the default configure, build, and install phases.
+
+## Variables controlling wafHook
+
+### `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 `wafHook` 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 wafHook {#variablesHonoredByWafHook}
+
+The following variables commonly used by `stdenv.mkDerivation` are also honored by `wafHook`.
+
+- `prefixKey`
+- `configureTargets`
+- `enableParallelBuilding`
+- `enableParallelInstalling`
+- `buildFlags`
+- `buildTargets`
+- `installFlags`
+- `installTargets`