]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/resolve/meson.build
build-sys: use #if Y instead of #ifdef Y everywhere
[thirdparty/systemd.git] / src / resolve / meson.build
1 basic_dns_sources = files('''
2 resolved-dns-dnssec.c
3 resolved-dns-dnssec.h
4 resolved-dns-packet.c
5 resolved-dns-packet.h
6 resolved-dns-rr.c
7 resolved-dns-rr.h
8 resolved-dns-answer.c
9 resolved-dns-answer.h
10 resolved-dns-question.c
11 resolved-dns-question.h
12 dns-type.c
13 '''.split())
14
15 dns_type_h = files('dns-type.h')[0]
16
17 systemd_resolved_only_sources = files('''
18 resolved.c
19 resolved-manager.c
20 resolved-manager.h
21 resolved-conf.c
22 resolved-conf.h
23 resolved-resolv-conf.c
24 resolved-resolv-conf.h
25 resolved-bus.c
26 resolved-bus.h
27 resolved-link.h
28 resolved-link.c
29 resolved-link-bus.c
30 resolved-link-bus.h
31 resolved-llmnr.h
32 resolved-llmnr.c
33 resolved-mdns.h
34 resolved-mdns.c
35 resolved-def.h
36 resolved-dns-query.h
37 resolved-dns-query.c
38 resolved-dns-synthesize.h
39 resolved-dns-synthesize.c
40 resolved-dns-transaction.h
41 resolved-dns-transaction.c
42 resolved-dns-scope.h
43 resolved-dns-scope.c
44 resolved-dns-server.h
45 resolved-dns-server.c
46 resolved-dns-search-domain.h
47 resolved-dns-search-domain.c
48 resolved-dns-cache.h
49 resolved-dns-cache.c
50 resolved-dns-zone.h
51 resolved-dns-zone.c
52 resolved-dns-stream.h
53 resolved-dns-stream.c
54 resolved-dns-trust-anchor.h
55 resolved-dns-trust-anchor.c
56 resolved-dns-stub.h
57 resolved-dns-stub.c
58 resolved-etc-hosts.h
59 resolved-etc-hosts.c
60 '''.split())
61
62 systemd_resolve_only_sources = files('resolve-tool.c')
63
64 ############################################################
65
66 dns_type_list_txt = custom_target(
67 'dns_type-list.txt',
68 input : ['generate-dns_type-list.sed', dns_type_h],
69 output : 'dns_type-list.txt',
70 command : [sed, '-n', '-r', '-f', '@INPUT0@', '@INPUT1@'],
71 capture : true)
72
73 generate_dns_type_gperf = find_program('generate-dns_type-gperf.py')
74
75 dns_type_headers = [dns_type_h]
76 foreach item : [['dns_type', dns_type_list_txt, 'dns_type', 'DNS_TYPE_']]
77
78 fname = '@0@-from-name.gperf'.format(item[0])
79 gperf_file = custom_target(
80 fname,
81 input : item[1],
82 output : fname,
83 command : [generate_dns_type_gperf, item[2], item[3], '@INPUT@'],
84 capture : true)
85
86 fname = '@0@-from-name.h'.format(item[0])
87 target1 = custom_target(
88 fname,
89 input : gperf_file,
90 output : fname,
91 command : [gperf,
92 '-L', 'ANSI-C', '-t', '--ignore-case',
93 '-N', 'lookup_@0@'.format(item[2]),
94 '-H', 'hash_@0@_name'.format(item[2]),
95 '-p', '-C',
96 '@INPUT@'],
97 capture : true)
98
99 fname = '@0@-to-name.h'.format(item[0])
100 awkscript = '@0@-to-name.awk'.format(item[0])
101 target2 = custom_target(
102 fname,
103 input : [awkscript, item[1]],
104 output : fname,
105 command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
106 capture : true)
107
108 dns_type_headers += [target1, target2]
109 endforeach
110
111 resolved_gperf_c = custom_target(
112 'resolved_gperf.c',
113 input : 'resolved-gperf.gperf',
114 output : 'resolved-gperf.c',
115 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
116
117 systemd_resolved_sources = (basic_dns_sources +
118 [resolved_gperf_c] +
119 systemd_resolved_only_sources +
120 dns_type_headers)
121
122 systemd_resolve_sources = (basic_dns_sources +
123 systemd_resolve_only_sources +
124 dns_type_headers)
125
126 if conf.get('ENABLE_RESOLVED') == 1
127 install_data('org.freedesktop.resolve1.conf',
128 install_dir : dbuspolicydir)
129 install_data('org.freedesktop.resolve1.service',
130 install_dir : dbussystemservicedir)
131
132 resolved_conf = configure_file(
133 input : 'resolved.conf.in',
134 output : 'resolved.conf',
135 configuration : substs)
136 install_data(resolved_conf,
137 install_dir : pkgsysconfdir)
138
139 install_data('resolv.conf',
140 install_dir : rootlibexecdir)
141 endif
142
143 tests += [
144 [['src/resolve/test-resolve-tables.c',
145 basic_dns_sources,
146 dns_type_headers,
147 'src/shared/test-tables.h'],
148 [],
149 [libgcrypt,
150 libgpg_error,
151 libm],
152 'ENABLE_RESOLVED'],
153
154 [['src/resolve/test-dns-packet.c',
155 basic_dns_sources,
156 dns_type_headers],
157 [],
158 [libgcrypt,
159 libgpg_error,
160 libm],
161 'ENABLE_RESOLVED'],
162
163 [['src/resolve/test-resolved-packet.c',
164 basic_dns_sources,
165 dns_type_headers],
166 [],
167 [libgcrypt,
168 libgpg_error,
169 libm],
170 'ENABLE_RESOLVED'],
171
172 [['src/resolve/test-dnssec.c',
173 basic_dns_sources,
174 dns_type_headers],
175 [],
176 [libgcrypt,
177 libgpg_error,
178 libm],
179 'ENABLE_RESOLVED'],
180
181 [['src/resolve/test-dnssec-complex.c',
182 'src/resolve/dns-type.c',
183 dns_type_headers],
184 [],
185 [],
186 'ENABLE_RESOLVED', 'manual'],
187 ]