summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-04-09 14:08:53 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-04-23 21:47:27 -0400
commitf4ee10a2829e8b10f749de59b2885efb959e7ffa (patch)
tree6e4504bde6cf2645ccfc5026e1f3192e6c1253bf
parent6b30f2801b426dc8a48412f8fd3789fd84521407 (diff)
meson: create a static version of libshared and link libcore and some tests to it
This is what autoconf-based build does, and it makes test-bus-error and test-engine able to access the bus error mapping table. OTOH, this is a heavy price to pay: it would be excellent to link libcore.a to libsystemd-shared-NNN.so. Otherwise we duplicate the same code in 'systemd' and 'libsystemd-shared-NNN.so'. -rwxrwxr-x. 1 4075544 Apr 6 20:30 systemd* <-- libcore linked against libsystemd-shared.so -rwxrwxr-x. 1 5596504 Apr 9 14:07 systemd* <-- libcore linked against libsystemd-shared.a v2: - update for 6b5cf3ea621a5bfd218cd2249e066a52c0e73657
-rw-r--r--meson.build6
-rw-r--r--src/core/meson.build2
-rw-r--r--src/libsystemd/meson.build4
-rw-r--r--src/shared/meson.build18
-rw-r--r--src/test/meson.build130
5 files changed, 116 insertions, 44 deletions
diff --git a/meson.build b/meson.build
index ffdd59071f..e2e28438b7 100644
--- a/meson.build
+++ b/meson.build
@@ -1044,7 +1044,8 @@ executable('systemd',
librt,
libseccomp,
libselinux,
- libmount],
+ libmount,
+ libblkid],
install : true,
install_dir : rootlibexecdir)
@@ -1057,7 +1058,8 @@ executable('systemd-analyze',
librt,
libseccomp,
libselinux,
- libmount],
+ libmount,
+ libblkid],
install : true)
executable('systemd-journald',
diff --git a/src/core/meson.build b/src/core/meson.build
index 3d2f9f37a7..f6d3e7fb00 100644
--- a/src/core/meson.build
+++ b/src/core/meson.build
@@ -146,7 +146,7 @@ libcore = static_library(
load_fragment_gperf_c,
load_fragment_gperf_nulstr_c,
include_directories : includes,
- link_with : [libshared],
+ link_with : [libshared_static],
dependencies : [threads,
libpam,
libaudit,
diff --git a/src/libsystemd/meson.build b/src/libsystemd/meson.build
index 5df62ac763..999347da46 100644
--- a/src/libsystemd/meson.build
+++ b/src/libsystemd/meson.build
@@ -129,10 +129,6 @@ tests += [
[],
[threads]],
- [['src/libsystemd/sd-bus/test-bus-error.c'],
- [],
- []],
-
[['src/libsystemd/sd-bus/test-bus-gvariant.c'],
[],
[libglib,
diff --git a/src/shared/meson.build b/src/shared/meson.build
index bbe08e983b..3024db6a44 100644
--- a/src/shared/meson.build
+++ b/src/shared/meson.build
@@ -144,6 +144,24 @@ libshared = shared_library(
install : true,
install_dir : rootlibexecdir)
+libshared_static = static_library(
+ libshared_name,
+ shared_sources,
+ basic_sources,
+ include_directories : includes,
+ dependencies : [threads,
+ librt,
+ libcap,
+ libacl,
+ libcryptsetup,
+ libiptc,
+ libseccomp,
+ libselinux,
+ libidn,
+ libxz,
+ liblz4,
+ libblkid])
+
if conf.get('HAVE_LIBIPTC', 0) == 1
libfirewall = static_library(
'firewall',
diff --git a/src/test/meson.build b/src/test/meson.build
index df074d8f19..e68e6bd793 100644
--- a/src/test/meson.build
+++ b/src/test/meson.build
@@ -23,40 +23,60 @@ tests += [
[]],
[['src/test/test-engine.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-job-type.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-ns.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount],
+ libmount,
+ libblkid],
'', 'unsafe'],
[['src/test/test-loopback.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-hostname.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount],
+ libmount,
+ libblkid],
'', 'unsafe'],
[['src/test/test-dns-domain.c'],
@@ -70,18 +90,26 @@ tests += [
'ENABLE_EFI'],
[['src/test/test-unit-name.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-unit-file.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-utf8.c'],
[libshared],
@@ -100,7 +128,7 @@ tests += [
[]],
[['src/test/test-copy.c'],
- [libshared],
+ [libshared_static],
[]],
[['src/test/test-sigbus.c'],
@@ -237,8 +265,10 @@ tests += [
[]],
[['src/test/test-namespace.c'],
- [libcore],
- []],
+ [libcore,
+ libudev,
+ libsystemd],
+ [libblkid]],
[['src/test/test-verbs.c'],
[libshared],
@@ -407,11 +437,15 @@ tests += [
[['src/test/test-cgroup-mask.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-cgroup-util.c'],
[libshared],
@@ -434,18 +468,26 @@ tests += [
[]],
[['src/test/test-path.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-execute.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-siphash24.c'],
[libshared],
@@ -456,7 +498,8 @@ tests += [
[]],
[['src/test/test-install.c'],
- [libcore],
+ [libcore,
+ libsystemd],
[],
'', 'manual'],
@@ -465,11 +508,15 @@ tests += [
[]],
[['src/test/test-sched-prio.c'],
- [libcore],
- [librt,
+ [libcore,
+ libudev,
+ libsystemd],
+ [threads,
+ librt,
libseccomp,
libselinux,
- libmount]],
+ libmount,
+ libblkid]],
[['src/test/test-conf-files.c'],
[libshared],
@@ -612,6 +659,15 @@ tests += [
############################################################
tests += [
+ [['src/libsystemd/sd-bus/test-bus-error.c'],
+ [libshared_static,
+ libsystemd],
+ []],
+ ]
+
+############################################################
+
+tests += [
[['src/libsystemd-network/test-dhcp-option.c',
'src/libsystemd-network/dhcp-protocol.h',
'src/libsystemd-network/dhcp-internal.h'],