summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorFelipe Sateler <fsateler@debian.org>2018-05-22 15:08:57 -0400
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commit81f6f7b349ab6573efcb0ef5c5994b0e7e8c8d10 (patch)
tree19493551324e8a053b4b1d7acb46039f826af411 /meson.build
parenta6aa5c9e8f623797c3868ab0bc5805543b4ef1b7 (diff)
build-sys: Add option to link systemctl statically
Systemctl is special because it is required for many tasks that may need to be performed when the system is not fully configured and/or partially broken: 1. Installing/Uninstalling services during OS installs and upgrades 2. Shutting down the system Therefore reduce the number of dependencies that systemctl pulls in, by not linking to systemd-shared. This brings a bit of resilience to systemctl (and its aliases shutdown, reboot, etc), by linking against less external libraries. Because this extra resilience comes at a cost of approximately 580 KB extra space, this is done behind a meson build option.
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build13
1 files changed, 12 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index 40f2e21b4..c226dfaed 100644
--- a/meson.build
+++ b/meson.build
@@ -1927,6 +1927,7 @@ executable('elogind-user-runtime-dir',
executable('elogind-user-runtime-dir',
executable('elogind-user-runtime-dir',
executable('elogind-user-runtime-dir',
+executable('elogind-user-runtime-dir',
user_runtime_dir_sources,
include_directories : includes,
link_with : [libshared, liblogind_core],
@@ -1986,9 +1987,19 @@ endif
# install : true)
# public_programs += [exe]
#
+#
+# if get_option('link-systemctl-shared')
+# systemctl_link_with = [libshared]
+# else
+# systemctl_link_with = [libsystemd_static,
+# libshared_static,
+# libjournal_client,
+# libbasic_gcrypt]
+# endif
+#
# exe = executable('systemctl', 'src/systemctl/systemctl.c',
# include_directories : includes,
-# link_with : [libshared],
+# link_with : systemctl_link_with,
# dependencies : [threads,
# libcap,
# libselinux,