Meson#
Meson is an open source meta build system meant to be fast and user-friendly.
In Nixpkgs, meson comes with a setup hook that overrides the configure, check, and install phases.
Being a meta build system, meson needs an accompanying backend. In the context of Nixpkgs, the typical companion backend is Ninja, that provides a setup hook registering ninja-based build and install phases.
Variables controlling Meson#
Meson Exclusive Variables#
mesonFlags#
Controls the flags passed to meson setup during configure phase.
mesonWrapMode#
Which value is passed as
-Dwrap_mode=
to. In Nixpkgs the default value is nodownload, so that no subproject will be
downloaded (since network access is already disabled during deployment in
Nixpkgs).
Note: Meson allows pre-population of subprojects that would otherwise be downloaded.
mesonBuildType#
Which value is passed as
--buildtype to
meson setup during configure phase. In Nixpkgs the default value is plain.
mesonAutoFeatures#
Which value is passed as
-Dauto_features=
to meson setup during configure phase. In Nixpkgs the default value is
enabled, meaning that every feature declared as "auto" by the meson scripts
will be enabled.
mesonCheckFlags#
Controls the flags passed to meson test during check phase.
mesonInstallFlags#
Controls the flags passed to meson install during install phase.
mesonInstallTags#
A list of installation tags passed to Meson's commandline option
--tags during
install phase.
Note: mesonInstallTags should be a list of strings, that will be converted to
a comma-separated string that is recognized to --tags.
Example: mesonInstallTags = [ "emulator" "assembler" ]; will be converted to
--tags emulator,assembler.
dontUseMesonConfigure#
When set to true, don't use the predefined mesonConfigurePhase.
dontUseMesonCheck#
When set to true, don't use the predefined mesonCheckPhase.
dontUseMesonInstall#
When set to true, don't use the predefined mesonInstallPhase.
Honored variables#
The following variables commonly used by stdenv.mkDerivation are honored by
Meson setup hook.
prefixKeyenableParallelBuilding