358 lines
8.7 KiB
Meson
358 lines
8.7 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
basic_sources = files('''
|
|
MurmurHash2.c
|
|
MurmurHash2.h
|
|
af-list.c
|
|
af-list.h
|
|
alloc-util.c
|
|
alloc-util.h
|
|
architecture.c
|
|
architecture.h
|
|
arphrd-list.c
|
|
arphrd-list.h
|
|
async.c
|
|
async.h
|
|
audit-util.c
|
|
audit-util.h
|
|
blockdev-util.c
|
|
blockdev-util.h
|
|
btrfs-util.c
|
|
btrfs-util.h
|
|
build.c
|
|
build.h
|
|
bus-label.c
|
|
bus-label.h
|
|
cap-list.c
|
|
cap-list.h
|
|
capability-util.c
|
|
capability-util.h
|
|
cgroup-util.c
|
|
cgroup-util.h
|
|
chattr-util.c
|
|
chattr-util.h
|
|
conf-files.c
|
|
conf-files.h
|
|
copy.c
|
|
copy.h
|
|
def.h
|
|
device-nodes.c
|
|
device-nodes.h
|
|
dirent-util.c
|
|
dirent-util.h
|
|
dlfcn-util.c
|
|
dlfcn-util.h
|
|
efivars.c
|
|
efivars.h
|
|
env-file.c
|
|
env-file.h
|
|
env-util.c
|
|
env-util.h
|
|
errno-list.c
|
|
errno-list.h
|
|
errno-util.h
|
|
escape.c
|
|
escape.h
|
|
ether-addr-util.c
|
|
ether-addr-util.h
|
|
extract-word.c
|
|
extract-word.h
|
|
fd-util.c
|
|
fd-util.h
|
|
fileio.c
|
|
fileio.h
|
|
format-util.c
|
|
format-util.h
|
|
fs-util.c
|
|
fs-util.h
|
|
glob-util.c
|
|
glob-util.h
|
|
gunicode.c
|
|
gunicode.h
|
|
hash-funcs.c
|
|
hash-funcs.h
|
|
hashmap.c
|
|
hashmap.h
|
|
hexdecoct.c
|
|
hexdecoct.h
|
|
hostname-util.c
|
|
hostname-util.h
|
|
in-addr-util.c
|
|
in-addr-util.h
|
|
io-util.c
|
|
io-util.h
|
|
ioprio.h
|
|
kbd-util.c
|
|
kbd-util.h
|
|
khash.c
|
|
khash.h
|
|
label.c
|
|
label.h
|
|
limits-util.c
|
|
limits-util.h
|
|
linux/btrfs.h
|
|
linux/btrfs_tree.h
|
|
linux/can/netlink.h
|
|
linux/can/vxcan.h
|
|
linux/fib_rules.h
|
|
linux/fou.h
|
|
linux/hdlc/ioctl.h
|
|
linux/if.h
|
|
linux/if_addr.h
|
|
linux/if_arp.h
|
|
linux/if_bonding.h
|
|
linux/if_bridge.h
|
|
linux/if_ether.h
|
|
linux/if_link.h
|
|
linux/if_macsec.h
|
|
linux/if_tun.h
|
|
linux/if_tunnel.h
|
|
linux/in.h
|
|
linux/in6.h
|
|
linux/ipv6_route.h
|
|
linux/l2tp.h
|
|
linux/libc-compat.h
|
|
linux/loadavg.h
|
|
linux/netdevice.h
|
|
linux/netfilter/nf_tables.h
|
|
linux/netfilter/nfnetlink.h
|
|
linux/netlink.h
|
|
linux/nexthop.h
|
|
linux/pkt_sched.h
|
|
linux/rtnetlink.h
|
|
linux/wireguard.h
|
|
list.h
|
|
locale-util.c
|
|
locale-util.h
|
|
log.c
|
|
log.h
|
|
login-util.c
|
|
login-util.h
|
|
macro.h
|
|
memfd-util.c
|
|
memfd-util.h
|
|
memory-util.c
|
|
memory-util.h
|
|
mempool.c
|
|
mempool.h
|
|
missing_audit.h
|
|
missing_capability.h
|
|
missing_drm.h
|
|
missing_fcntl.h
|
|
missing_fs.h
|
|
missing_input.h
|
|
missing_keyctl.h
|
|
missing_magic.h
|
|
missing_mman.h
|
|
missing_network.h
|
|
missing_prctl.h
|
|
missing_random.h
|
|
missing_resource.h
|
|
missing_sched.h
|
|
missing_securebits.h
|
|
missing_socket.h
|
|
missing_stat.h
|
|
missing_stdlib.h
|
|
missing_syscall.h
|
|
missing_timerfd.h
|
|
missing_type.h
|
|
mkdir-label.c
|
|
mkdir.c
|
|
mkdir.h
|
|
mountpoint-util.c
|
|
mountpoint-util.h
|
|
namespace-util.c
|
|
namespace-util.h
|
|
nss-util.h
|
|
nulstr-util.c
|
|
nulstr-util.h
|
|
ordered-set.c
|
|
ordered-set.h
|
|
parse-util.c
|
|
parse-util.h
|
|
path-lookup.c
|
|
path-lookup.h
|
|
path-util.c
|
|
path-util.h
|
|
prioq.c
|
|
prioq.h
|
|
proc-cmdline.c
|
|
proc-cmdline.h
|
|
process-util.c
|
|
process-util.h
|
|
procfs-util.c
|
|
procfs-util.h
|
|
pthread-util.h
|
|
quota-util.c
|
|
quota-util.h
|
|
random-util.c
|
|
random-util.h
|
|
ratelimit.c
|
|
ratelimit.h
|
|
raw-clone.h
|
|
raw-reboot.h
|
|
recovery-key.c
|
|
recovery-key.h
|
|
replace-var.c
|
|
replace-var.h
|
|
rlimit-util.c
|
|
rlimit-util.h
|
|
rm-rf.c
|
|
rm-rf.h
|
|
selinux-util.c
|
|
selinux-util.h
|
|
set.h
|
|
sigbus.c
|
|
sigbus.h
|
|
signal-util.c
|
|
signal-util.h
|
|
siphash24.c
|
|
siphash24.h
|
|
smack-util.c
|
|
smack-util.h
|
|
socket-label.c
|
|
socket-util.c
|
|
socket-util.h
|
|
sort-util.c
|
|
sort-util.h
|
|
sparse-endian.h
|
|
special.h
|
|
stat-util.c
|
|
stat-util.h
|
|
static-destruct.h
|
|
stdio-util.h
|
|
strbuf.c
|
|
strbuf.h
|
|
string-table.c
|
|
string-table.h
|
|
string-util.c
|
|
string-util.h
|
|
strv.c
|
|
strv.h
|
|
strxcpyx.c
|
|
strxcpyx.h
|
|
syslog-util.c
|
|
syslog-util.h
|
|
terminal-util.c
|
|
terminal-util.h
|
|
time-util.c
|
|
time-util.h
|
|
tmpfile-util.c
|
|
tmpfile-util.h
|
|
umask-util.h
|
|
unaligned.h
|
|
unit-def.c
|
|
unit-def.h
|
|
unit-name.c
|
|
unit-name.h
|
|
user-util.c
|
|
user-util.h
|
|
utf8.c
|
|
utf8.h
|
|
util.c
|
|
util.h
|
|
virt.c
|
|
virt.h
|
|
xattr-util.c
|
|
xattr-util.h
|
|
'''.split())
|
|
|
|
missing_audit_h = files('missing_audit.h')
|
|
missing_capability_h = files('missing_capability.h')
|
|
missing_socket_h = files('missing_socket.h')
|
|
|
|
generate_af_list = find_program('generate-af-list.sh')
|
|
af_list_txt = custom_target(
|
|
'af-list.txt',
|
|
output : 'af-list.txt',
|
|
command : [generate_af_list, cpp, config_h, missing_socket_h],
|
|
capture : true)
|
|
|
|
generate_arphrd_list = find_program('generate-arphrd-list.sh')
|
|
arphrd_list_txt = custom_target(
|
|
'arphrd-list.txt',
|
|
output : 'arphrd-list.txt',
|
|
command : [generate_arphrd_list, cpp, config_h],
|
|
capture : true)
|
|
|
|
generate_cap_list = find_program('generate-cap-list.sh')
|
|
cap_list_txt = custom_target(
|
|
'cap-list.txt',
|
|
output : 'cap-list.txt',
|
|
command : [generate_cap_list, cpp, config_h, missing_capability_h],
|
|
capture : true)
|
|
|
|
generate_errno_list = find_program('generate-errno-list.sh')
|
|
errno_list_txt = custom_target(
|
|
'errno-list.txt',
|
|
output : 'errno-list.txt',
|
|
command : [generate_errno_list, cpp],
|
|
capture : true)
|
|
|
|
generated_gperf_headers = []
|
|
foreach item : [['af', af_list_txt, 'af', ''],
|
|
['arphrd', arphrd_list_txt, 'arphrd', 'ARPHRD_'],
|
|
['cap', cap_list_txt, 'capability', ''],
|
|
['errno', errno_list_txt, 'errno', '']]
|
|
|
|
fname = '@0@-from-name.gperf'.format(item[0])
|
|
gperf_file = custom_target(
|
|
fname,
|
|
input : item[1],
|
|
output : fname,
|
|
command : [generate_gperfs, item[2], item[3], '@INPUT@'],
|
|
capture : true)
|
|
|
|
fname = '@0@-from-name.h'.format(item[0])
|
|
target1 = custom_target(
|
|
fname,
|
|
input : gperf_file,
|
|
output : fname,
|
|
command : [gperf,
|
|
'-L', 'ANSI-C', '-t', '--ignore-case',
|
|
'-N', 'lookup_@0@'.format(item[2]),
|
|
'-H', 'hash_@0@_name'.format(item[2]),
|
|
'-p', '-C',
|
|
'@INPUT@'],
|
|
capture : true)
|
|
|
|
fname = '@0@-to-name.h'.format(item[0])
|
|
awkscript = '@0@-to-name.awk'.format(item[0])
|
|
target2 = custom_target(
|
|
fname,
|
|
input : [awkscript, item[1]],
|
|
output : fname,
|
|
command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
|
|
capture : true)
|
|
|
|
generated_gperf_headers += [target1, target2]
|
|
endforeach
|
|
|
|
basic_sources += generated_gperf_headers
|
|
basic_gcrypt_sources = files(
|
|
'gcrypt-util.c',
|
|
'gcrypt-util.h')
|
|
|
|
libbasic = static_library(
|
|
'basic',
|
|
basic_sources,
|
|
include_directories : includes,
|
|
dependencies : [versiondep,
|
|
threads,
|
|
libcap,
|
|
libseccomp,
|
|
libselinux,
|
|
libm,
|
|
libdl],
|
|
c_args : ['-fvisibility=default'],
|
|
install : false)
|
|
|
|
# A convenience library that is separate from libbasic to avoid
|
|
# unnecessary linking to libgcrypt.
|
|
libbasic_gcrypt = static_library(
|
|
'basic-gcrypt',
|
|
basic_gcrypt_sources,
|
|
include_directories : includes,
|
|
dependencies : [libgcrypt],
|
|
c_args : ['-fvisibility=default'])
|