From: Zbigniew Jędrzejewski-Szmek Date: Tue, 30 Jun 2026 12:06:28 +0000 (+0200) Subject: meson: allow manager to be linked statically X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fff9c9ba4693d6a8fc69e27f321712e357dc87fe;p=thirdparty%2Fsystemd.git meson: allow manager to be linked statically After stripping, in an unoptimized build with glibc, we get a 8.7 MB binary: $ file build-static/systemd build-static/systemd: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, BuildID[sha1]=1ec004bf61b775d284d909a818a3c4f63f83f055, for GNU/Linux 3.2.0, stripped $ ls -lh build-static/systemd -rwxr-xr-x 1 zbyszek zbyszek 8.7M Jun 30 14:07 build-static/systemd --- diff --git a/src/core/meson.build b/src/core/meson.build index 3708caf4e0b..2d3ed4cff2a 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -209,6 +209,9 @@ systemd_deps = [ libselinux_cflags, ] +systemd_link_args = get_option('build-static') ? ['-static'] : [] +systemd_libs = get_option('build-static') ? core_libs_static : core_libs_shared + executor_libs = get_option('link-executor-shared') ? core_libs_shared : core_libs_static if conf.get('SYSTEMD_MULTICALL_BINARY') == 1 @@ -226,7 +229,8 @@ executables += [ 'dbus' : true, 'public' : true, 'sources' : systemd_sources, - 'link_with' : core_libs_shared, + 'link_args' : systemd_link_args, + 'link_with' : systemd_libs, 'dependencies' : systemd_deps, },