chiark / gitweb /
Prep v235: Apply upstream fixes (8/10) [src/systemd]
[elogind.git] / src / systemd / meson.build
1 #if 0 /// No systemd-journal in elogind ...
2 # _systemd_headers = '''
3 #         sd-bus.h
4 #         sd-bus-protocol.h
5 #         sd-bus-vtable.h
6 #         sd-daemon.h
7 #         sd-event.h
8 #         sd-id128.h
9 #         sd-journal.h
10 #         sd-login.h
11 #         sd-messages.h
12 # '''.split()
13 #else
14 _systemd_headers = '''
15         sd-bus.h
16         sd-bus-protocol.h
17         sd-bus-vtable.h
18         sd-daemon.h
19         sd-event.h
20         sd-id128.h
21         sd-login.h
22         sd-messages.h
23 '''.split()
24 #endif // 0
25
26 # https://github.com/mesonbuild/meson/issues/1633
27 systemd_headers = files(_systemd_headers)
28
29 #  sd-device.h
30 #  sd-hwdb.h
31 #  sd-dhcp6-client.h
32 #  sd-dhcp6-lease.h
33 #  sd-dhcp-client.h
34 #  sd-dhcp-lease.h
35 #  sd-dhcp-server.h
36 #  sd-ipv4acd.h
37 #  sd-ipv4ll.h
38 #  sd-lldp.h
39 #  sd-ndisc.h
40 #  sd-netlink.h
41 #  sd-network.h
42 #  sd-path.h
43 #  sd-resolve.h
44 #  sd-utf8.h
45
46 install_headers(
47         systemd_headers,
48         '_sd-common.h',
49 #if 0 /// elogind needs them somewhere else
50 #         subdir : 'systemd')
51 #else
52         subdir : 'elogind/systemd')
53 #endif // 0
54
55
56 ############################################################
57
58 opts = [['c'],
59         ['c', '-ansi'],
60         ['c', '-std=iso9899:1990']]
61
62 cxx = find_program('c++', required : false)
63 if cxx.found()
64         opts += [['c++']]
65 endif
66
67 foreach header : _systemd_headers
68         foreach opt : opts
69                 name = ''.join([header, ':'] + opt)
70                 test('cc-' + name,
71                      check_compilation_sh,
72                      args : cc.cmd_array() + ['-c', '-x'] + opt +
73                             ['-Werror', '-include',
74                              join_paths(meson.current_source_dir(), header)])
75         endforeach
76 endforeach