summaryrefslogtreecommitdiffstats
path: root/src/nspawn/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/nspawn/meson.build')
-rw-r--r--src/nspawn/meson.build78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build
new file mode 100644
index 0000000..2a913b1
--- /dev/null
+++ b/src/nspawn/meson.build
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+libnspawn_core_sources = files(
+ 'nspawn-bind-user.c',
+ 'nspawn-cgroup.c',
+ 'nspawn-expose-ports.c',
+ 'nspawn-mount.c',
+ 'nspawn-network.c',
+ 'nspawn-oci.c',
+ 'nspawn-patch-uid.c',
+ 'nspawn-register.c',
+ 'nspawn-seccomp.c',
+ 'nspawn-settings.c',
+ 'nspawn-setuid.c',
+ 'nspawn-stub-pid1.c',
+ 'nspawn-util.c',
+)
+
+nspawn_gperf_c = custom_target(
+ 'nspawn-gperf.c',
+ input : 'nspawn-gperf.gperf',
+ output : 'nspawn-gperf.c',
+ command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
+
+libnspawn_core_sources += [nspawn_gperf_c]
+
+libnspawn_core = static_library(
+ 'nspawn-core',
+ libnspawn_core_sources,
+ include_directories : includes,
+ dependencies : [libacl,
+ libseccomp,
+ libselinux,
+ userspace],
+ build_by_default : false)
+
+nspawn_libs = [
+ libnspawn_core,
+ libshared,
+]
+
+nspawn_common_template = {
+ 'link_with' : nspawn_libs,
+ 'dependencies' : libseccomp,
+}
+nspawn_test_template = test_template + nspawn_common_template
+nspawn_fuzz_template = fuzz_template + nspawn_common_template
+
+executables += [
+ executable_template + {
+ 'name' : 'systemd-nspawn',
+ 'public' : true,
+ 'sources' : files('nspawn.c'),
+ 'link_with' : nspawn_libs,
+ 'dependencies' : [
+ libblkid,
+ libseccomp,
+ ],
+ },
+ nspawn_test_template + {
+ 'sources' : files('test-nspawn-tables.c'),
+ },
+ nspawn_test_template + {
+ 'sources' : files('test-nspawn-util.c'),
+ },
+ test_template + {
+ 'sources' : files('test-patch-uid.c'),
+ 'link_with' : nspawn_libs,
+ 'dependencies' : libacl,
+ 'type' : 'manual',
+ },
+ nspawn_fuzz_template + {
+ 'sources' : files('fuzz-nspawn-settings.c'),
+ },
+ nspawn_fuzz_template + {
+ 'sources' : files('fuzz-nspawn-oci.c'),
+ },
+]