1
0
mirror of https://github.com/systemd/systemd synced 2024-07-08 20:15:55 +00:00

portable, meson: allow statically linked build

Build option "link-portabled-shared" to build a statically linked
systemd-portabled by using

  -Dlink-portabled-shared=false

on systems with full systemd stack except systemd-portabled, such
as CentOS/RHEL 9.
This commit is contained in:
Robert Scheck 2023-05-14 03:17:47 +02:00 committed by Zbigniew Jędrzejewski-Szmek
parent 3dca0b3661
commit c06d2e440c
2 changed files with 12 additions and 2 deletions

View File

@ -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')],

View File

@ -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)')