depot/doc/hooks/waf.section.md
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00

2 KiB

wafHook

Waf is a Python-based software building system.

In Nixpkgs, wafHook overrides the default configure, build, and install phases.

Variables controlling wafHook

wafHook Exclusive Variables

The variables below are exclusive of wafHook.

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.

wafFlags

Controls the flags passed to waf tool during build and install phases. For settings specific to build or install phases, use wafBuildFlags or wafInstallFlags respectively.

dontUseWafConfigure

When set to true, don't use the predefined wafConfigurePhase.

dontUseWafBuild

When set to true, don't use the predefined wafBuildPhase.

dontUseWafInstall

When set to true, don't use the predefined wafInstallPhase.

Similar variables

The following variables are similar to their stdenv.mkDerivation counterparts.

wafHook Variable stdenv.mkDerivation Counterpart
wafConfigureFlags configureFlags
wafConfigureTargets configureTargets
wafBuildFlags buildFlags
wafBuildTargets buildTargets
wafInstallFlags installFlags
wafInstallTargets installTargets

Honored variables

The following variables commonly used by stdenv.mkDerivation are honored by wafHook.

  • prefixKey
  • enableParallelBuilding
  • enableParallelInstalling