diff --git a/meson.build b/meson.build index 92ad879f64..91523e81ee 100644 --- a/meson.build +++ b/meson.build @@ -2942,11 +2942,18 @@ systemctl = executable( public_programs += systemctl if conf.get('ENABLE_PORTABLED') == 1 + if get_option('link-portabled-shared') + portabled_link_with = [libshared] + else + portabled_link_with = [libsystemd_static, + libshared_static] + endif + dbus_programs += executable( 'systemd-portabled', systemd_portabled_sources, include_directories : includes, - link_with : [libshared], + link_with : [portabled_link_with], dependencies : [libselinux, threads, userspace, @@ -2959,7 +2966,7 @@ if conf.get('ENABLE_PORTABLED') == 1 'portablectl', 'src/portable/portablectl.c', include_directories : includes, - link_with : [libshared], + link_with : [portabled_link_with], dependencies : [threads, userspace, versiondep], @@ -4996,6 +5003,7 @@ foreach tuple : [ ['link-timesyncd-shared', get_option('link-timesyncd-shared')], ['link-journalctl-shared', get_option('link-journalctl-shared')], ['link-boot-shared', get_option('link-boot-shared')], + ['link-portabled-shared', get_option('link-portabled-shared')], ['first-boot-full-preset'], ['fexecve'], ['standalone-binaries', get_option('standalone-binaries')], diff --git a/meson_options.txt b/meson_options.txt index d3af35e7ef..46f508bd76 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -29,6 +29,8 @@ option('link-journalctl-shared', type: 'boolean', description : 'link journalctl against libsystemd-shared.so') option('link-boot-shared', type: 'boolean', description : 'link bootctl and systemd-bless-boot against libsystemd-shared.so') +option('link-portabled-shared', type: 'boolean', + description : 'link systemd-portabled and its helpers to libsystemd-shared.so') option('first-boot-full-preset', type: 'boolean', value: false, description : 'during first boot, do full preset-all (default will be changed to true later)')