From 2cb7e0aaedad73b076ea18c6900b0e86c5760d79 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 15:00:47 +0200 Subject: Adding upstream version 247.3. Signed-off-by: Daniel Baumann --- src/shared/meson.build | 399 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 399 insertions(+) create mode 100644 src/shared/meson.build (limited to 'src/shared/meson.build') 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()]) -- cgit v1.2.3