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
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# vim: filetype=meson

option('enable-build', type : 'boolean', value : true,
  description : 'set to false to not actually build. Only really makes sense with -Dinternal-api-docs=true',
)

option('gc', type : 'feature',
  description : 'enable garbage collection in the Nix expression evaluator (requires Boehm GC)',
)

option('enable-embedded-sandbox-shell', type : 'boolean', value : false,
  description : 'include the sandbox shell in the Nix binary',
)

option('cpuid', type : 'feature',
  description : 'determine microarchitecture levels with libcpuid (only relevant on x86_64)',
)

option('seccomp-sandboxing', type : 'feature',
  description : 'build support for seccomp sandboxing (recommended unless your arch doesn\'t support libseccomp, only relevant on Linux)',
)

option('sandbox-shell', type : 'string', value : 'busybox',
  description : 'path to a statically-linked shell to use as /bin/sh in sandboxes (usually busybox)',
)

option('build-test-env', type: 'string',
  description : 'path to a statically-linked busybox which offers coreutils functionality'
)

option('build-test-shell', type: 'string',
  description : 'path to a statically-linked bash (cannot use busybox sh because of __structuredAttrs)'
)

option('pasta-path', type : 'string', value : 'pasta',
  description : 'path to the location of pasta (provided by passt)',
)

option('enable-tests', type : 'boolean', value : true,
  description : 'whether to enable tests or not (requires rapidcheck and gtest)',
)

option('enable-contrib-plugins', type : 'boolean', value : true,
  description : 'whether to build contributed plugins'
)

option('tests-color', type : 'boolean', value : true,
  description : 'set to false to disable color output in gtest',
)

option('tests-brief', type : 'boolean', value : false,
  description : 'set to true for shorter tests output',
)

option('profile-build', type : 'feature', value: 'disabled',
  description : 'whether to enable -ftime-trace in clang builds, allowing for diagnosing the cause of build time.'
)

option('store-dir', type : 'string', value : '/nix/store',
  description : 'path of the Nix store',
)

option('state-dir', type : 'string', value : '/nix/var',
  description : 'path to store state in for Nix',
)

option('log-dir', type : 'string', value : '/nix/var/log/nix',
  description : 'path to store logs in for Nix',
)

option('enable-docs', type : 'boolean', value : true,
  description : 'whether to build documentation',
)

option('internal-api-docs', type : 'feature', value : 'auto',
  description : 'whether to build internal API documentation (requires doxygen)',
)

option('nix-eval-jobs', type : 'feature', value : 'disabled',
  description : 'whether to build nix-eval-jobs as part of the Lix build. For development purposes only: do not do packaging with this.',
)

# A relative path means it gets appended to prefix.
option('profile-dir', type : 'string', value : 'etc/profile.d',
  description : 'the path to install shell profile files',
)

option('libexec-dir', type : 'string', value : 'libexec',
  description : 'path to install helper executables in',
)

option('enable-pch-std', type : 'boolean', value : true,
  description : 'whether to use precompiled headers for C++\'s standard library (breaks clangd if you\'re using GCC)',
)

option('dtrace-probes', type : 'feature', value : 'auto',
  description : 'whether to build dtrace/bpftrace compatible USDT probes into Lix'
)

option('lix-clang-tidy-checks-path', type : 'string', value : '',
  description: 'path to lix-clang-tidy-checks library file, if providing it externally. Uses an internal one if this is not set',
)

option('disable-fibers', type : 'boolean', value : false,
  description : 'whether to disable fibers. use only when building with musl; we can\'t detect this.',
)

option('builtin-dep-closure', type : 'array',
  description : 'dependency closure used for builtin builder sandboxes. the install paths are included automatically.',
)

option('wasm-eval-only', type : 'boolean', value : false,
  description : 'build only the gonix WASM evaluator module (libnixexpr.wasm); skips the nix CLI, daemon, and POSIX-only code',
)