# 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