summaryrefslogtreecommitdiffstats
path: root/src/shared/meson.build
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 13:00:47 +0000
commit2cb7e0aaedad73b076ea18c6900b0e86c5760d79 (patch)
treeda68ca54bb79f4080079bf0828acda937593a4e1 /src/shared/meson.build
parentInitial commit. (diff)
downloadsystemd-2cb7e0aaedad73b076ea18c6900b0e86c5760d79.tar.xz
systemd-2cb7e0aaedad73b076ea18c6900b0e86c5760d79.zip
Adding upstream version 247.3.upstream/247.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shared/meson.build')
-rw-r--r--src/shared/meson.build399
1 files changed, 399 insertions, 0 deletions
diff --git a/src/shared/meson.build b/src/shared/meson.build
new file mode 100644
index 0000000..f30fe44
--- /dev/null
+++ b/src/shared/meson.build
@@ -0,0 +1,399 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+shared_sources = files('''
+ acl-util.h
+ acpi-fpdt.c
+ acpi-fpdt.h
+ apparmor-util.c
+ apparmor-util.h
+ ask-password-api.c
+ ask-password-api.h
+ barrier.c
+ barrier.h
+ base-filesystem.c
+ base-filesystem.h
+ binfmt-util.c
+ binfmt-util.h
+ bitmap.c
+ bitmap.h
+ blkid-util.h
+ bond-util.c
+ bond-util.h
+ boot-timestamps.c
+ boot-timestamps.h
+ bootspec.c
+ bootspec.h
+ bpf-program.c
+ bpf-program.h
+ bridge-util.c
+ bridge-util.h
+ bus-get-properties.c
+ bus-get-properties.h
+ bus-locator.c
+ bus-locator.h
+ bus-log-control-api.c
+ bus-log-control-api.h
+ bus-map-properties.c
+ bus-map-properties.h
+ bus-message-util.c
+ bus-message-util.h
+ bus-object.c
+ bus-object.h
+ bus-polkit.c
+ bus-polkit.h
+ bus-print-properties.c
+ bus-print-properties.h
+ bus-unit-procs.c
+ bus-unit-procs.h
+ bus-unit-util.c
+ bus-unit-util.h
+ bus-util.c
+ bus-util.h
+ bus-wait-for-jobs.c
+ bus-wait-for-jobs.h
+ bus-wait-for-units.c
+ bus-wait-for-units.h
+ calendarspec.c
+ calendarspec.h
+ cgroup-setup.c
+ cgroup-setup.h
+ cgroup-show.c
+ cgroup-show.h
+ chown-recursive.c
+ chown-recursive.h
+ clean-ipc.c
+ clean-ipc.h
+ clock-util.c
+ clock-util.h
+ condition.c
+ condition.h
+ conf-parser.c
+ conf-parser.h
+ coredump-util.c
+ coredump-util.h
+ cpu-set-util.c
+ cpu-set-util.h
+ cryptsetup-util.c
+ cryptsetup-util.h
+ daemon-util.h
+ dev-setup.c
+ dev-setup.h
+ dissect-image.c
+ dissect-image.h
+ dm-util.c
+ dm-util.h
+ dns-domain.c
+ dns-domain.h
+ dropin.c
+ dropin.h
+ efi-loader.c
+ efi-loader.h
+ enable-mempool.c
+ env-file-label.c
+ env-file-label.h
+ ethtool-util.c
+ ethtool-util.h
+ exec-util.c
+ exec-util.h
+ exit-status.c
+ exit-status.h
+ fdset.c
+ fdset.h
+ fileio-label.c
+ fileio-label.h
+ firewall-util.h
+ format-table.c
+ format-table.h
+ fsck-util.h
+ fstab-util.c
+ fstab-util.h
+ generator.c
+ generator.h
+ geneve-util.c
+ geneve-util.h
+ gpt.c
+ gpt.h
+ group-record.c
+ group-record.h
+ id128-print.c
+ id128-print.h
+ idn-util.c
+ idn-util.h
+ ima-util.c
+ ima-util.h
+ import-util.c
+ import-util.h
+ initreq.h
+ install-printf.c
+ install-printf.h
+ install.c
+ install.h
+ ipvlan-util.c
+ ipvlan-util.h
+ ip-protocol-list.c
+ ip-protocol-list.h
+ journal-importer.c
+ journal-importer.h
+ journal-util.c
+ journal-util.h
+ json-internal.h
+ json.c
+ json.h
+ libcrypt-util.c
+ libcrypt-util.h
+ libmount-util.h
+ linux/auto_dev-ioctl.h
+ linux/bpf.h
+ linux/bpf_common.h
+ linux/bpf_insn.h
+ linux/dm-ioctl.h
+ linux/ethtool.h
+ local-addresses.c
+ local-addresses.h
+ lockfile-util.c
+ lockfile-util.h
+ log-link.h
+ logs-show.c
+ logs-show.h
+ loop-util.c
+ loop-util.h
+ machine-image.c
+ machine-image.h
+ machine-pool.c
+ machine-pool.h
+ macvlan-util.c
+ macvlan-util.h
+ main-func.h
+ mkfs-util.c
+ mkfs-util.h
+ module-util.h
+ mount-util.c
+ mount-util.h
+ netif-naming-scheme.c
+ netif-naming-scheme.h
+ nscd-flush.c
+ nscd-flush.h
+ nsflags.c
+ nsflags.h
+ numa-util.c
+ numa-util.h
+ openssl-util.h
+ os-util.c
+ os-util.h
+ output-mode.c
+ output-mode.h
+ pager.c
+ pager.h
+ pe-header.h
+ pkcs11-util.c
+ pkcs11-util.h
+ pretty-print.c
+ pretty-print.h
+ psi-util.c
+ psi-util.h
+ ptyfwd.c
+ ptyfwd.h
+ pwquality-util.c
+ pwquality-util.h
+ qrcode-util.c
+ qrcode-util.h
+ reboot-util.c
+ reboot-util.h
+ resize-fs.c
+ resize-fs.h
+ resolve-util.c
+ resolve-util.h
+ seccomp-util.h
+ securebits-util.c
+ securebits-util.h
+ serialize.c
+ serialize.h
+ service-util.c
+ service-util.h
+ sleep-config.c
+ sleep-config.h
+ socket-netlink.c
+ socket-netlink.h
+ spawn-ask-password-agent.c
+ spawn-ask-password-agent.h
+ spawn-polkit-agent.c
+ spawn-polkit-agent.h
+ specifier.c
+ specifier.h
+ switch-root.c
+ switch-root.h
+ sysctl-util.c
+ sysctl-util.h
+ tmpfile-util-label.c
+ tmpfile-util-label.h
+ tomoyo-util.c
+ tomoyo-util.h
+ udev-util.c
+ udev-util.h
+ uid-range.c
+ uid-range.h
+ unit-file.c
+ unit-file.h
+ user-record-nss.c
+ user-record-nss.h
+ user-record-show.c
+ user-record-show.h
+ user-record.c
+ user-record.h
+ userdb.c
+ userdb.h
+ utmp-wtmp.h
+ varlink.c
+ varlink.h
+ verbs.c
+ verbs.h
+ vlan-util.c
+ vlan-util.h
+ volatile-util.c
+ volatile-util.h
+ watchdog.c
+ watchdog.h
+ web-util.c
+ web-util.h
+ wifi-util.c
+ wifi-util.h
+ xml.c
+ xml.h
+'''.split())
+
+if get_option('tests') != 'false'
+ shared_sources += files('tests.c', 'tests.h')
+endif
+
+test_tables_h = files('test-tables.h')
+shared_sources += test_tables_h
+
+generate_syscall_list = find_program('generate-syscall-list.py')
+fname = 'syscall-list.h'
+syscall_list_h = custom_target(
+ fname,
+ input : 'syscall-names.text',
+ output : fname,
+ command : [generate_syscall_list,
+ '@INPUT@'],
+ capture : true)
+
+if conf.get('HAVE_ACL') == 1
+ shared_sources += files('acl-util.c')
+endif
+
+if conf.get('ENABLE_UTMP') == 1
+ shared_sources += files('utmp-wtmp.c')
+endif
+
+if conf.get('HAVE_SECCOMP') == 1
+ shared_sources += files('seccomp-util.c')
+ shared_sources += syscall_list_h
+endif
+
+if conf.get('HAVE_LIBIPTC') == 1
+ shared_sources += files('firewall-util.c')
+endif
+
+if conf.get('HAVE_KMOD') == 1
+ shared_sources += files('module-util.c')
+endif
+
+if conf.get('HAVE_PAM') == 1
+ shared_sources += files('''
+ pam-util.c
+ pam-util.h
+'''.split())
+endif
+
+generate_ip_protocol_list = find_program('generate-ip-protocol-list.sh')
+ip_protocol_list_txt = custom_target(
+ 'ip-protocol-list.txt',
+ output : 'ip-protocol-list.txt',
+ command : [generate_ip_protocol_list, cpp],
+ capture : true)
+
+fname = 'ip-protocol-from-name.gperf'
+gperf_file = custom_target(
+ fname,
+ input : ip_protocol_list_txt,
+ output : fname,
+ command : [generate_gperfs, 'ip_protocol', 'IPPROTO_', '@INPUT@'],
+ capture : true)
+
+fname = 'ip-protocol-from-name.h'
+target1 = custom_target(
+ fname,
+ input : gperf_file,
+ output : fname,
+ command : [gperf,
+ '-L', 'ANSI-C', '-t', '--ignore-case',
+ '-N', 'lookup_ip_protocol',
+ '-H', 'hash_ip_protocol_name',
+ '-p', '-C',
+ '@INPUT@'],
+ capture : true)
+
+fname = 'ip-protocol-to-name.h'
+awkscript = 'ip-protocol-to-name.awk'
+target2 = custom_target(
+ fname,
+ input : [awkscript, ip_protocol_list_txt],
+ output : fname,
+ command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
+ capture : true)
+
+shared_generated_gperf_headers = [target1, target2]
+shared_sources += shared_generated_gperf_headers
+
+libshared_name = 'systemd-shared-@0@'.format(meson.project_version())
+
+libshared_deps = [threads,
+ libacl,
+ libblkid,
+ libcap,
+ libcrypt,
+ libgcrypt,
+ libiptc,
+ libkmod,
+ liblz4,
+ libmount,
+ libopenssl,
+ libp11kit,
+ libpam,
+ librt,
+ libseccomp,
+ libselinux,
+ libzstd,
+ libxz]
+
+libshared_sym_path = '@0@/libshared.sym'.format(meson.current_source_dir())
+
+libshared_static = static_library(
+ libshared_name,
+ shared_sources,
+ include_directories : includes,
+ dependencies : libshared_deps,
+ c_args : ['-fvisibility=default'])
+
+libshared = shared_library(
+ libshared_name,
+ libudev_sources,
+ include_directories : includes,
+ link_args : ['-shared',
+ '-Wl,--version-script=' + libshared_sym_path],
+ link_whole : [libshared_static,
+ libbasic,
+ libbasic_gcrypt,
+ libsystemd_static,
+ libjournal_client],
+ c_args : ['-fvisibility=default'],
+ dependencies : libshared_deps,
+ install : true,
+ install_dir : rootlibexecdir)
+
+############################################################
+
+run_target(
+ 'syscall-names-update',
+ command : [syscall_names_update_sh, meson.current_source_dir()])