Systemd/src/core/meson.build

227 lines
6.0 KiB
Meson

# SPDX-License-Identifier: LGPL-2.1-or-later
libcore_shared_sources = '''
killall.c
killall.h
loopback-setup.c
loopback-setup.h
machine-id-setup.c
machine-id-setup.h
mount-setup.c
mount-setup.h
'''.split()
libcore_sources = '''
apparmor-setup.c
apparmor-setup.h
audit-fd.c
audit-fd.h
automount.c
automount.h
bpf-devices.c
bpf-devices.h
bpf-firewall.c
bpf-firewall.h
cgroup.c
cgroup.h
core-varlink.c
core-varlink.h
dbus-automount.c
dbus-automount.h
dbus-cgroup.c
dbus-cgroup.h
dbus-device.c
dbus-device.h
dbus-execute.c
dbus-execute.h
dbus-job.c
dbus-job.h
dbus-kill.c
dbus-kill.h
dbus-manager.c
dbus-manager.h
dbus-mount.c
dbus-mount.h
dbus-path.c
dbus-path.h
dbus-scope.c
dbus-scope.h
dbus-service.c
dbus-service.h
dbus-slice.c
dbus-slice.h
dbus-socket.c
dbus-socket.h
dbus-swap.c
dbus-swap.h
dbus-target.c
dbus-target.h
dbus-timer.c
dbus-timer.h
dbus-unit.c
dbus-unit.h
dbus-util.c
dbus-util.h
dbus.c
dbus.h
device.c
device.h
dynamic-user.c
dynamic-user.h
efi-random.c
efi-random.h
emergency-action.c
emergency-action.h
execute.c
execute.h
generator-setup.c
generator-setup.h
hostname-setup.c
hostname-setup.h
ima-setup.c
ima-setup.h
ip-address-access.c
ip-address-access.h
job.c
job.h
kill.c
kill.h
kmod-setup.c
kmod-setup.h
load-dropin.c
load-dropin.h
load-fragment.c
load-fragment.h
locale-setup.c
locale-setup.h
manager.c
manager.h
mount.c
mount.h
namespace.c
namespace.h
path.c
path.h
scope.c
scope.h
selinux-access.c
selinux-access.h
selinux-setup.c
selinux-setup.h
service.c
service.h
show-status.c
show-status.h
slice.c
slice.h
smack-setup.c
smack-setup.h
socket.c
socket.h
swap.c
swap.h
target.c
target.h
timer.c
timer.h
transaction.c
transaction.h
unit-printf.c
unit-printf.h
unit.c
unit.h
'''.split()
load_fragment_gperf_gperf = custom_target(
'load-fragment-gperf.gperf',
input : 'load-fragment-gperf.gperf.m4',
output: 'load-fragment-gperf.gperf',
command : [meson_apply_m4, config_h, '@INPUT@'],
capture : true)
load_fragment_gperf_c = custom_target(
'load-fragment-gperf.c',
input : load_fragment_gperf_gperf,
output : 'load-fragment-gperf.c',
command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
awkscript = 'load-fragment-gperf-nulstr.awk'
load_fragment_gperf_nulstr_c = custom_target(
'load-fragment-gperf-nulstr.c',
input : [awkscript, load_fragment_gperf_gperf],
output : 'load-fragment-gperf-nulstr.c',
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
capture : true)
# A convenience library to share code with other binaries:
# systemd-shutdown, systemd-remount-fs, systemd-machine-id-setup, …
libcore_shared = static_library(
'core-shared',
libcore_shared_sources,
include_directories : includes,
dependencies : [versiondep,
libmount])
libcore = static_library(
'core',
libcore_sources,
load_fragment_gperf_c,
load_fragment_gperf_nulstr_c,
include_directories : includes,
link_whole : libcore_shared,
dependencies : [versiondep,
threads,
librt,
libseccomp,
libpam,
libaudit,
libkmod,
libapparmor,
libselinux,
libmount,
libacl])
systemd_sources = files('main.c')
in_files = [['macros.systemd', rpmmacrosdir],
['system.conf', pkgsysconfdir],
['user.conf', pkgsysconfdir],
['systemd.pc', pkgconfigdatadir],
['triggers.systemd', '']]
foreach item : in_files
file = item[0]
dir = item[1]
if install_sysconfdir or dir != pkgsysconfdir
configure_file(
input : file + '.in',
output : file,
configuration : substs,
install_dir : dir == 'no' ? '' : dir)
endif
endforeach
install_data('org.freedesktop.systemd1.conf',
install_dir : dbuspolicydir)
install_data('org.freedesktop.systemd1.service',
install_dir : dbussystemservicedir)
policy = configure_file(
input : 'org.freedesktop.systemd1.policy.in',
output : 'org.freedesktop.systemd1.policy',
configuration : substs)
install_data(policy,
install_dir : polkitpolicydir)
meson.add_install_script('sh', '-c', mkdir_p.format(systemshutdowndir))
meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir))
meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir))
meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir))
if install_sysconfdir
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'system')))
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(pkgsysconfdir, 'user')))
meson.add_install_script('sh', '-c', mkdir_p.format(join_paths(sysconfdir, 'xdg/systemd')))
endif