summaryrefslogtreecommitdiff
path: root/src/basic/meson.build
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-07-31 08:28:21 +0200
committerSven Eden <yamakuzure@gmx.net>2017-08-04 14:34:53 +0200
commitf3dca9e3c3373a5817582d4b583077b8f9358604 (patch)
treeea76ef30c91cf194ec7b47f59df44d452f26e10b /src/basic/meson.build
parentf3061b4c6efa8275466c56f291eca43d36178213 (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.build424
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)