From b4d07656ff2c43b1144eb97658b9528dd39418ce Mon Sep 17 00:00:00 2001 From: Qyriad Date: Thu, 21 Mar 2024 13:41:23 -0600 Subject: build: optionally build and install with meson This commit adds several meson.build, which successfully build and install Lix executables, libraries, and headers. Meson does not yet build docs, Perl bindings, or run tests, which will be added in following commits. As such, this commit does not remove the existing build system, or make it the default, and also as such, this commit has several FIXMEs and TODOs as notes for what should be done before the existing autoconf + make buildsystem can be removed and Meson made the default. This commit does not modify any source files. A Meson-enabled build is also added as a Hydra job, and to `nix flake check`. Change-Id: I667c8685b13b7bab91e281053f807a11616ae3d4 --- meson.options | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 meson.options (limited to 'meson.options') diff --git a/meson.options b/meson.options new file mode 100644 index 000000000..50b1d8553 --- /dev/null +++ b/meson.options @@ -0,0 +1,32 @@ +# vim: filetype=meson +option('gc', type : 'feature', + description : 'enable garbage collection in the Nix expression evaluator (requires Boehm GC)', +) +# TODO(Qyriad): is this feature maintained? +option('embedded-sandbox-shell', type : 'feature', + 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('store-dir', type : 'string', value : '/nix/store', + description : 'path of the Nix store', +) + +option('state-dir', type : 'string', value : '/nix/var/nix', + description : 'path to store state in for Nix', +) + +option('log-dir', type : 'string', value : '/nix/var/log', + description : 'path to store logs in for Nix', +) -- cgit v1.2.3