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