mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-27 13:57:26 +03:00
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.
This commit is contained in:
parent
018eaf7445
commit
97d9061563
11
meson.build
11
meson.build
@ -1258,6 +1258,7 @@ includes = include_directories('src/basic',
|
||||
'src/shared',
|
||||
'src/systemd',
|
||||
'src/journal',
|
||||
'src/nspawn',
|
||||
'src/resolve',
|
||||
'src/timesync',
|
||||
'src/time-wait-sync',
|
||||
@ -2461,12 +2462,10 @@ exe = executable('systemd-nspawn',
|
||||
'src/core/mount-setup.h',
|
||||
'src/core/loopback-setup.c',
|
||||
'src/core/loopback-setup.h',
|
||||
include_directories : [includes, include_directories('src/nspawn')],
|
||||
link_with : [libshared],
|
||||
dependencies : [libacl,
|
||||
libblkid,
|
||||
libseccomp,
|
||||
libselinux],
|
||||
include_directories : includes,
|
||||
link_with : [libnspawn_core,
|
||||
libshared],
|
||||
dependencies : [libblkid],
|
||||
install_rpath : rootlibexecdir,
|
||||
install : true)
|
||||
public_programs += [exe]
|
||||
|
@ -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'],
|
||||
]
|
||||
|
Loading…
x
Reference in New Issue
Block a user