summaryrefslogtreecommitdiff
path: root/src/systemd/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemd/meson.build')
-rw-r--r--src/systemd/meson.build75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/systemd/meson.build b/src/systemd/meson.build
new file mode 100644
index 000000000..82159f336
--- /dev/null
+++ b/src/systemd/meson.build
@@ -0,0 +1,75 @@
+#if 0 /// No systemd-journal in elogind ...
+# _systemd_headers = '''
+# sd-bus.h
+# sd-bus-protocol.h
+# sd-bus-vtable.h
+# sd-daemon.h
+# sd-event.h
+# sd-id128.h
+# sd-journal.h
+# sd-login.h
+# sd-messages.h
+# '''.split()
+#else
+_systemd_headers = '''
+ sd-bus.h
+ sd-bus-protocol.h
+ sd-bus-vtable.h
+ sd-daemon.h
+ sd-event.h
+ sd-id128.h
+ sd-login.h
+ sd-messages.h
+'''.split()
+
+# https://github.com/mesonbuild/meson/issues/1633
+systemd_headers = files(_systemd_headers)
+
+# sd-device.h
+# sd-hwdb.h
+# sd-dhcp6-client.h
+# sd-dhcp6-lease.h
+# sd-dhcp-client.h
+# sd-dhcp-lease.h
+# sd-dhcp-server.h
+# sd-ipv4acd.h
+# sd-ipv4ll.h
+# sd-lldp.h
+# sd-ndisc.h
+# sd-netlink.h
+# sd-network.h
+# sd-path.h
+# sd-resolve.h
+# sd-utf8.h
+
+install_headers(
+ systemd_headers,
+ '_sd-common.h',
+#if 0 /// elogind needs them somewhere else
+# subdir : 'systemd')
+#else
+ subdir : 'elogind/systemd')
+#endif // 0
+
+
+############################################################
+
+opts = [['c'],
+ ['c', '-ansi'],
+ ['c', '-std=iso9899:1990']]
+
+cxx = find_program('c++', required : false)
+if cxx.found()
+ opts += [['c++']]
+endif
+
+foreach header : _systemd_headers
+ foreach opt : opts
+ name = ''.join([header, ':'] + opt)
+ test('cc-' + name,
+ check_compilation_sh,
+ args : cc.cmd_array() + ['-c', '-x'] + opt +
+ ['-Werror', '-include',
+ join_paths(meson.current_source_dir(), header)])
+ endforeach
+endforeach