97d9061563
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.
54 lines
1.3 KiB
Meson
54 lines
1.3 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1+
|
|
#
|
|
# Copyright 2017 Zbigniew Jędrzejewski-Szmek
|
|
|
|
libnspawn_core_sources = files('''
|
|
nspawn-cgroup.c
|
|
nspawn-cgroup.h
|
|
nspawn-def.h
|
|
nspawn-expose-ports.c
|
|
nspawn-expose-ports.h
|
|
nspawn-mount.c
|
|
nspawn-mount.h
|
|
nspawn-network.c
|
|
nspawn-network.h
|
|
nspawn-patch-uid.c
|
|
nspawn-patch-uid.h
|
|
nspawn-register.c
|
|
nspawn-register.h
|
|
nspawn-seccomp.c
|
|
nspawn-seccomp.h
|
|
nspawn-settings.c
|
|
nspawn-settings.h
|
|
nspawn-setuid.c
|
|
nspawn-setuid.h
|
|
nspawn-stub-pid1.c
|
|
nspawn-stub-pid1.h
|
|
'''.split())
|
|
|
|
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])
|
|
|
|
systemd_nspawn_sources = files('nspawn.c')
|
|
|
|
tests += [
|
|
[['src/nspawn/test-patch-uid.c'],
|
|
[libnspawn_core,
|
|
libshared],
|
|
[libacl],
|
|
'', 'manual'],
|
|
]
|