summaryrefslogtreecommitdiff
path: root/src/nspawn
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-05-28 10:37:11 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-05-28 10:40:00 +0200
commit97d90615631d80b95251f163c47d9e4e337ad8d8 (patch)
treec6921365711a53ed0064534fb48687156341bdc7 /src/nspawn
parent018eaf7445e4059b622ea6743c9d2eb367238925 (diff)
downloadsystemd-97d90615631d80b95251f163c47d9e4e337ad8d8.tar.gz
meson: use a convenience static library for nspawn core
This makes it easier to link the nspawn implementation to the tests. Right now this just means that nspawn-patch-uid.c is not compiled twice, which is nice, but results in test-patch-uid being slightly bigger, which is not nice. But in general, we should use convenience libs to compile everything just once, as far as possible. Otherwise, once we start compiling a few files here twice, and a few file there thrice, we soon end up in a state where we are doing hundreds of extra compilations. So let's do the "right" thing, even if is might not be more efficient.
Diffstat (limited to 'src/nspawn')
-rw-r--r--src/nspawn/meson.build22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/nspawn/meson.build b/src/nspawn/meson.build
index 0dae12f25f..f80339b335 100644
--- a/src/nspawn/meson.build
+++ b/src/nspawn/meson.build
@@ -2,7 +2,7 @@
#
# Copyright 2017 Zbigniew Jędrzejewski-Szmek
-systemd_nspawn_sources = files('''
+libnspawn_core_sources = files('''
nspawn-cgroup.c
nspawn-cgroup.h
nspawn-def.h
@@ -24,7 +24,6 @@ systemd_nspawn_sources = files('''
nspawn-setuid.h
nspawn-stub-pid1.c
nspawn-stub-pid1.h
- nspawn.c
'''.split())
nspawn_gperf_c = custom_target(
@@ -33,13 +32,22 @@ nspawn_gperf_c = custom_target(
output : 'nspawn-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
-systemd_nspawn_sources += [nspawn_gperf_c]
+libnspawn_core_sources += [nspawn_gperf_c]
+
+libnspawn_core = static_library(
+ 'nspawn-core',
+ libnspawn_core_sources,
+ include_directories : includes,
+ dependencies : [libacl,
+ libseccomp,
+ libselinux])
+
+systemd_nspawn_sources = files('nspawn.c')
tests += [
- [['src/nspawn/test-patch-uid.c',
- 'src/nspawn/nspawn-patch-uid.c',
- 'src/nspawn/nspawn-patch-uid.h'],
- [libshared],
+ [['src/nspawn/test-patch-uid.c'],
+ [libnspawn_core,
+ libshared],
[libacl],
'', 'manual'],
]