nixpkgs/doc/hooks/waf.section.md
Anderson Torres a0b25e2566 doc/hooks/waf.section.md: rewrite
- Normalize header IDs, in order to not cause conflicts with identically named
  headers in other docs.
- Reorganize the hierarchy of information.
2023-09-10 16:23:22 -03:00

2.1 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.

dontAddWafCrossFlags

When set to true, don't add cross compilation flags during configure phase.

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