diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-07-31 08:28:21 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-08-04 14:34:53 +0200 |
commit | f3dca9e3c3373a5817582d4b583077b8f9358604 (patch) | |
tree | ea76ef30c91cf194ec7b47f59df44d452f26e10b /src/basic/meson.build | |
parent | f3061b4c6efa8275466c56f291eca43d36178213 (diff) |
General: Update build system to upstream support of meson+ninja.
Upstream thinks, that the auto tools are too 'legacy', or that they
are at least no longer fitting.
We follow, as the classic auto tools files have been removed, so no
other choice here...
Diffstat (limited to 'src/basic/meson.build')
-rw-r--r-- | src/basic/meson.build | 424 |
1 files changed, 424 insertions, 0 deletions
diff --git a/src/basic/meson.build b/src/basic/meson.build new file mode 100644 index 000000000..4ba97edd1 --- /dev/null +++ b/src/basic/meson.build @@ -0,0 +1,424 @@ +#if 0 /// elogind has a shorter list +# basic_sources_plain = files(''' +# 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 +# barrier.c +# barrier.h +# bitmap.c +# bitmap.h +# blkid-util.h +# btrfs-ctree.h +# btrfs-util.c +# btrfs-util.h +# build.h +# bus-label.c +# bus-label.h +# calendarspec.c +# calendarspec.h +# capability-util.c +# capability-util.h +# cap-list.c +# cap-list.h +# cgroup-util.c +# cgroup-util.h +# chattr-util.c +# chattr-util.h +# clock-util.c +# clock-util.h +# conf-files.c +# conf-files.h +# copy.c +# copy.h +# cpu-set-util.c +# cpu-set-util.h +# def.h +# device-nodes.c +# device-nodes.h +# dirent-util.c +# dirent-util.h +# env-util.c +# env-util.h +# errno-list.c +# errno-list.h +# escape.c +# escape.h +# ether-addr-util.c +# ether-addr-util.h +# exec-util.c +# exec-util.h +# exit-status.c +# exit-status.h +# extract-word.c +# extract-word.h +# fd-util.c +# fd-util.h +# fileio.c +# fileio.h +# fileio-label.c +# fileio-label.h +# 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 +# ioprio.h +# io-util.c +# io-util.h +# journal-importer.c +# journal-importer.h +# khash.c +# khash.h +# label.c +# label.h +# list.h +# locale-util.c +# locale-util.h +# lockfile-util.c +# lockfile-util.h +# log.c +# log.h +# login-util.c +# login-util.h +# macro.h +# memfd-util.c +# memfd-util.h +# mempool.c +# mempool.h +# missing_syscall.h +# mkdir.c +# mkdir.h +# mkdir-label.c +# mount-util.c +# mount-util.h +# MurmurHash2.c +# MurmurHash2.h +# nss-util.h +# ordered-set.c +# ordered-set.h +# parse-util.c +# parse-util.h +# path-util.c +# path-util.h +# prioq.c +# prioq.h +# proc-cmdline.c +# proc-cmdline.h +# process-util.c +# process-util.h +# random-util.c +# random-util.h +# ratelimit.c +# ratelimit.h +# raw-clone.h +# refcnt.h +# replace-var.c +# replace-var.h +# rlimit-util.c +# rlimit-util.h +# rm-rf.c +# rm-rf.h +# securebits.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 +# sparse-endian.h +# special.h +# stat-util.c +# stat-util.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 +# umask-util.h +# unaligned.h +# unit-name.c +# unit-name.h +# user-util.c +# user-util.h +# utf8.c +# utf8.h +# util.c +# util.h +# verbs.c +# verbs.h +# virt.c +# virt.h +# web-util.c +# web-util.h +# xattr-util.c +# xattr-util.h +# xml.c +# xml.h +# '''.split()) +#else +basic_sources_plain = files(''' + alloc-util.c + alloc-util.h + audit-util.c + audit-util.h + build.h + bus-label.c + bus-label.h + capability-util.c + capability-util.h + cgroup-util.c + cgroup-util.h + conf-files.c + conf-files.h + copy.c + copy.h + def.h + dirent-util.c + dirent-util.h + env-util.c + env-util.h + errno-list.c + errno-list.h + escape.c + escape.h + exec-util.c + exec-util.h + extract-word.c + extract-word.h + fd-util.c + fd-util.h + fileio.c + fileio.h + fileio-label.c + fileio-label.h + format-util.h + fs-util.c + fs-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 + io-util.c + io-util.h + khash.c + khash.h + label.c + label.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 + mempool.c + mempool.h + missing_syscall.h + mkdir.c + mkdir.h + mkdir-label.c + mount-util.c + mount-util.h + parse-printf-format.c + parse-printf-format.h + parse-util.c + parse-util.h + path-util.c + path-util.h + prioq.c + prioq.h + proc-cmdline.c + proc-cmdline.h + process-util.c + process-util.h + random-util.c + random-util.h + refcnt.h + rm-rf.c + rm-rf.h + selinux-util.c + selinux-util.h + set.h + signal-util.c + signal-util.h + siphash24.c + siphash24.h + smack-util.c + smack-util.h + socket-util.c + socket-util.h + sparse-endian.h + stat-util.c + stat-util.h + stdio-util.h + string-table.c + string-table.h + string-util.c + string-util.h + strv.c + strv.h + syslog-util.c + syslog-util.h + terminal-util.c + terminal-util.h + time-util.c + time-util.h + umask-util.h + unaligned.h + unit-name.c + unit-name.h + user-util.c + user-util.h + utf8.c + utf8.h + util.c + util.h + verbs.c + verbs.h + virt.c + virt.h + xattr-util.c + xattr-util.h +'''.split()) +#endif // 0 + +missing_h = files('missing.h') + +generate_gperfs = find_program('generate-gperfs.py') + +#if 0 /// elogind has only the errno list. +# 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], +# 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], +# 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_h], +# capture : true) +#endif // 0 +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 = [] +#if 0 /// elogind has only the errno list. +# foreach item : [['af', af_list_txt, 'af', ''], +# ['arphrd', arphrd_list_txt, 'arphrd', 'ARPHRD_'], +# ['cap', cap_list_txt, 'capability', ''], +# ['errno', errno_list_txt, 'errno', '']] +#else +foreach item : [['errno', errno_list_txt, 'errno', '']] +#endif // 0 + + 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 = basic_sources_plain + [missing_h] + generated_gperf_headers + +libbasic = static_library( + 'basic', + basic_sources, + include_directories : includes, + dependencies : [threads, + libcap, +#if 0 /// no blkid in elogind +# libblkid, +#endif // 0 + libselinux, + ], + install : false) |