Fork of Lix to retain it clean from idiot AI sloppers
1# vim: filetype=meson
2
3option('enable-build', type : 'boolean', value : true,
4 description : 'set to false to not actually build. Only really makes sense with -Dinternal-api-docs=true',
5)
6
7option('gc', type : 'feature',
8 description : 'enable garbage collection in the Nix expression evaluator (requires Boehm GC)',
9)
10
11option('mimalloc', type: 'feature', value: 'auto',
12 description: 'link against mimalloc to override the default memory allocator',
13)
14
15option('enable-embedded-sandbox-shell', type : 'boolean', value : false,
16 description : 'include the sandbox shell in the Nix binary',
17)
18
19option('cpuid', type : 'feature',
20 description : 'determine microarchitecture levels with libcpuid (only relevant on x86_64)',
21)
22
23option('seccomp-sandboxing', type : 'feature',
24 description : 'build support for seccomp sandboxing (recommended unless your arch doesn\'t support libseccomp, only relevant on Linux)',
25)
26
27option('sandbox-shell', type : 'string', value : 'busybox',
28 description : 'path to a statically-linked shell to use as /bin/sh in sandboxes (usually busybox)',
29)
30
31option('build-test-env', type: 'string',
32 description : 'path to a statically-linked busybox which offers coreutils functionality'
33)
34
35option('build-test-shell', type: 'string',
36 description : 'path to a statically-linked bash (cannot use busybox sh because of __structuredAttrs)'
37)
38
39option('pasta-path', type : 'string', value : 'pasta',
40 description : 'path to the location of pasta (provided by passt)',
41)
42
43option('enable-tests', type : 'boolean', value : true,
44 description : 'whether to enable tests or not (requires rapidcheck and gtest)',
45)
46
47option('enable-contrib-plugins', type : 'boolean', value : true,
48 description : 'whether to build contributed plugins'
49)
50
51option('tests-color', type : 'boolean', value : true,
52 description : 'set to false to disable color output in gtest',
53)
54
55option('tests-brief', type : 'boolean', value : false,
56 description : 'set to true for shorter tests output',
57)
58
59option('profile-build', type : 'feature', value: 'disabled',
60 description : 'whether to enable -ftime-trace in clang builds, allowing for diagnosing the cause of build time.'
61)
62
63option('store-dir', type : 'string', value : '/nix/store',
64 description : 'path of the Nix store',
65)
66
67option('state-dir', type : 'string', value : '/nix/var',
68 description : 'path to store state in for Nix',
69)
70
71option('log-dir', type : 'string', value : '/nix/var/log/nix',
72 description : 'path to store logs in for Nix',
73)
74
75option('enable-docs', type : 'boolean', value : true,
76 description : 'whether to build documentation',
77)
78
79option('internal-api-docs', type : 'feature', value : 'auto',
80 description : 'whether to build internal API documentation (requires doxygen)',
81)
82
83option('nix-eval-jobs', type : 'feature', value : 'disabled',
84 description : 'whether to build nix-eval-jobs as part of the Lix build. For development purposes only: do not do packaging with this.',
85)
86
87# A relative path means it gets appended to prefix.
88option('profile-dir', type : 'string', value : 'etc/profile.d',
89 description : 'the path to install shell profile files',
90)
91
92option('libexec-dir', type : 'string', value : 'libexec',
93 description : 'path to install helper executables in',
94)
95
96option('enable-pch-std', type : 'boolean', value : true,
97 description : 'whether to use precompiled headers for C++\'s standard library (breaks clangd if you\'re using GCC)',
98)
99
100option('dtrace-probes', type : 'feature', value : 'auto',
101 description : 'whether to build dtrace/bpftrace compatible USDT probes into Lix'
102)
103
104option('lix-clang-tidy-checks-path', type : 'string', value : '',
105 description: 'path to lix-clang-tidy-checks library file, if providing it externally. Uses an internal one if this is not set',
106)
107
108option('disable-fibers', type : 'boolean', value : false,
109 description : 'whether to disable fibers. use only when building with musl; we can\'t detect this.',
110)
111
112option('builtin-dep-closure', type : 'array',
113 description : 'dependency closure used for builtin builder sandboxes. the install paths are included automatically.',
114)
115
116option('cargo-jobs', type : 'integer', value : 0,
117 description : 'Value to pass for Cargo -j. Use 0 to omit',
118)
119
120option('licxxbridge', type : 'string', value : '',
121 description : 'optional path to an existing licxxbridge executable. must be built from the current source tree, beware when setting this',
122)