]>
Commit | Line | Data |
---|---|---|
3a726fcd | 1 | # SPDX-License-Identifier: LGPL-2.1+ |
3a726fcd | 2 | |
5c23128d | 3 | basic_dns_sources = files(''' |
37efbbd8 ZJS |
4 | resolved-dns-dnssec.c |
5 | resolved-dns-dnssec.h | |
6 | resolved-dns-packet.c | |
7 | resolved-dns-packet.h | |
8 | resolved-dns-rr.c | |
9 | resolved-dns-rr.h | |
10 | resolved-dns-answer.c | |
11 | resolved-dns-answer.h | |
12 | resolved-dns-question.c | |
13 | resolved-dns-question.h | |
14 | dns-type.c | |
5c23128d ZJS |
15 | '''.split()) |
16 | ||
17 | dns_type_h = files('dns-type.h')[0] | |
18 | ||
568a4ff8 | 19 | systemd_resolved_sources = files(''' |
37efbbd8 ZJS |
20 | resolved.c |
21 | resolved-manager.c | |
22 | resolved-manager.h | |
6501dd31 DR |
23 | resolved-dnssd.c |
24 | resolved-dnssd.h | |
c3036641 DR |
25 | resolved-dnssd-bus.c |
26 | resolved-dnssd-bus.h | |
37efbbd8 ZJS |
27 | resolved-conf.c |
28 | resolved-conf.h | |
29 | resolved-resolv-conf.c | |
30 | resolved-resolv-conf.h | |
31 | resolved-bus.c | |
32 | resolved-bus.h | |
33 | resolved-link.h | |
34 | resolved-link.c | |
35 | resolved-link-bus.c | |
36 | resolved-link-bus.h | |
37 | resolved-llmnr.h | |
38 | resolved-llmnr.c | |
39 | resolved-mdns.h | |
40 | resolved-mdns.c | |
41 | resolved-def.h | |
42 | resolved-dns-query.h | |
43 | resolved-dns-query.c | |
44 | resolved-dns-synthesize.h | |
45 | resolved-dns-synthesize.c | |
46 | resolved-dns-transaction.h | |
47 | resolved-dns-transaction.c | |
48 | resolved-dns-scope.h | |
49 | resolved-dns-scope.c | |
50 | resolved-dns-server.h | |
51 | resolved-dns-server.c | |
52 | resolved-dns-search-domain.h | |
53 | resolved-dns-search-domain.c | |
54 | resolved-dns-cache.h | |
55 | resolved-dns-cache.c | |
56 | resolved-dns-zone.h | |
57 | resolved-dns-zone.c | |
58 | resolved-dns-stream.h | |
59 | resolved-dns-stream.c | |
60 | resolved-dns-trust-anchor.h | |
61 | resolved-dns-trust-anchor.c | |
62 | resolved-dns-stub.h | |
63 | resolved-dns-stub.c | |
64 | resolved-etc-hosts.h | |
65 | resolved-etc-hosts.c | |
6016fcb0 | 66 | resolved-dnstls.h |
5c23128d ZJS |
67 | '''.split()) |
68 | ||
c2e84cab | 69 | resolvectl_sources = files(''' |
088c1363 LP |
70 | resolvconf-compat.c |
71 | resolvconf-compat.h | |
c2e84cab YW |
72 | resolvectl.c |
73 | resolvectl.h | |
088c1363 | 74 | '''.split()) |
5c23128d ZJS |
75 | |
76 | ############################################################ | |
77 | ||
78 | dns_type_list_txt = custom_target( | |
37efbbd8 ZJS |
79 | 'dns_type-list.txt', |
80 | input : ['generate-dns_type-list.sed', dns_type_h], | |
81 | output : 'dns_type-list.txt', | |
82 | command : [sed, '-n', '-r', '-f', '@INPUT0@', '@INPUT1@'], | |
83 | capture : true) | |
5c23128d ZJS |
84 | |
85 | generate_dns_type_gperf = find_program('generate-dns_type-gperf.py') | |
86 | ||
87 | dns_type_headers = [dns_type_h] | |
88 | foreach item : [['dns_type', dns_type_list_txt, 'dns_type', 'DNS_TYPE_']] | |
89 | ||
37efbbd8 ZJS |
90 | fname = '@0@-from-name.gperf'.format(item[0]) |
91 | gperf_file = custom_target( | |
92 | fname, | |
93 | input : item[1], | |
94 | output : fname, | |
95 | command : [generate_dns_type_gperf, item[2], item[3], '@INPUT@'], | |
96 | capture : true) | |
97 | ||
98 | fname = '@0@-from-name.h'.format(item[0]) | |
99 | target1 = custom_target( | |
100 | fname, | |
101 | input : gperf_file, | |
102 | output : fname, | |
103 | command : [gperf, | |
104 | '-L', 'ANSI-C', '-t', '--ignore-case', | |
105 | '-N', 'lookup_@0@'.format(item[2]), | |
106 | '-H', 'hash_@0@_name'.format(item[2]), | |
107 | '-p', '-C', | |
108 | '@INPUT@'], | |
109 | capture : true) | |
110 | ||
111 | fname = '@0@-to-name.h'.format(item[0]) | |
112 | awkscript = '@0@-to-name.awk'.format(item[0]) | |
113 | target2 = custom_target( | |
114 | fname, | |
115 | input : [awkscript, item[1]], | |
116 | output : fname, | |
117 | command : [awk, '-f', '@INPUT0@', '@INPUT1@'], | |
118 | capture : true) | |
119 | ||
120 | dns_type_headers += [target1, target2] | |
5c23128d ZJS |
121 | endforeach |
122 | ||
123 | resolved_gperf_c = custom_target( | |
37efbbd8 ZJS |
124 | 'resolved_gperf.c', |
125 | input : 'resolved-gperf.gperf', | |
126 | output : 'resolved-gperf.c', | |
127 | command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) | |
128 | ||
6501dd31 DR |
129 | resolved_dnssd_gperf_c = custom_target( |
130 | 'resolved_dnssd_gperf.c', | |
131 | input : 'resolved-dnssd-gperf.gperf', | |
132 | output : 'resolved-dnssd-gperf.c', | |
133 | command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) | |
134 | ||
568a4ff8 ZJS |
135 | libsystemd_resolve_core = static_library( |
136 | 'systemd-resolve-core', | |
137 | basic_dns_sources, | |
138 | dns_type_headers, | |
139 | include_directories : includes) | |
37efbbd8 | 140 | |
568a4ff8 | 141 | systemd_resolved_sources += [resolved_gperf_c, resolved_dnssd_gperf_c] |
5c23128d | 142 | |
56ddbf10 YW |
143 | systemd_resolved_dependencies = [threads, libgpg_error, libm, libidn] |
144 | if conf.get('ENABLE_DNS_OVER_TLS') == 1 | |
096cbdce | 145 | if conf.get('DNS_OVER_TLS_USE_GNUTLS') == 1 |
5a8b1640 ZJS |
146 | systemd_resolved_sources += files('resolved-dnstls-gnutls.c', |
147 | 'resolved-dnstls-gnutls.h') | |
148 | systemd_resolved_dependencies += libgnutls | |
096cbdce | 149 | elif conf.get('DNS_OVER_TLS_USE_OPENSSL') == 1 |
5a8b1640 ZJS |
150 | systemd_resolved_sources += files('resolved-dnstls-openssl.c', |
151 | 'resolved-dnstls-openssl.h') | |
152 | systemd_resolved_dependencies += libopenssl | |
096cbdce IT |
153 | else |
154 | error('unknown dependency for supporting DNS-over-TLS') | |
155 | endif | |
56ddbf10 YW |
156 | endif |
157 | ||
1ec57f33 | 158 | if conf.get('ENABLE_RESOLVE') == 1 |
37efbbd8 ZJS |
159 | install_data('org.freedesktop.resolve1.conf', |
160 | install_dir : dbuspolicydir) | |
161 | install_data('org.freedesktop.resolve1.service', | |
162 | install_dir : dbussystemservicedir) | |
9b3cff19 ZJS |
163 | install_data('org.freedesktop.resolve1.policy', |
164 | install_dir : polkitpolicydir) | |
37efbbd8 ZJS |
165 | |
166 | resolved_conf = configure_file( | |
167 | input : 'resolved.conf.in', | |
168 | output : 'resolved.conf', | |
169 | configuration : substs) | |
170 | install_data(resolved_conf, | |
171 | install_dir : pkgsysconfdir) | |
5c23128d | 172 | |
d8431fc3 | 173 | install_data('resolv.conf', |
174 | install_dir : rootlibexecdir) | |
175 | endif | |
69e96427 ZJS |
176 | |
177 | tests += [ | |
37efbbd8 | 178 | [['src/resolve/test-resolve-tables.c', |
37efbbd8 ZJS |
179 | dns_type_headers, |
180 | 'src/shared/test-tables.h'], | |
568a4ff8 ZJS |
181 | [libsystemd_resolve_core, |
182 | libshared], | |
37efbbd8 | 183 | [libgcrypt, |
76c87410 | 184 | libgpg_error, |
37efbbd8 | 185 | libm], |
1ec57f33 | 186 | 'ENABLE_RESOLVE'], |
37efbbd8 ZJS |
187 | |
188 | [['src/resolve/test-dns-packet.c', | |
37efbbd8 | 189 | dns_type_headers], |
568a4ff8 ZJS |
190 | [libsystemd_resolve_core, |
191 | libshared], | |
37efbbd8 | 192 | [libgcrypt, |
76c87410 | 193 | libgpg_error, |
37efbbd8 | 194 | libm], |
1ec57f33 | 195 | 'ENABLE_RESOLVE'], |
37efbbd8 | 196 | |
78fc21a1 ZJS |
197 | [['src/resolve/test-resolved-etc-hosts.c', |
198 | 'src/resolve/resolved-etc-hosts.c', | |
199 | 'src/resolve/resolved-etc-hosts.h'], | |
200 | [libsystemd_resolve_core, | |
201 | libshared], | |
202 | [libgcrypt, | |
203 | libgpg_error, | |
204 | libm], | |
205 | 'ENABLE_RESOLVE'], | |
206 | ||
751ca3f1 | 207 | [['src/resolve/test-resolved-packet.c', |
751ca3f1 | 208 | dns_type_headers], |
568a4ff8 ZJS |
209 | [libsystemd_resolve_core, |
210 | libshared], | |
751ca3f1 ZJS |
211 | [libgcrypt, |
212 | libgpg_error, | |
213 | libm], | |
1ec57f33 | 214 | 'ENABLE_RESOLVE'], |
751ca3f1 | 215 | |
37efbbd8 | 216 | [['src/resolve/test-dnssec.c', |
37efbbd8 | 217 | dns_type_headers], |
568a4ff8 ZJS |
218 | [libsystemd_resolve_core, |
219 | libshared], | |
37efbbd8 | 220 | [libgcrypt, |
76c87410 | 221 | libgpg_error, |
37efbbd8 | 222 | libm], |
1ec57f33 | 223 | 'ENABLE_RESOLVE'], |
37efbbd8 ZJS |
224 | |
225 | [['src/resolve/test-dnssec-complex.c', | |
226 | 'src/resolve/dns-type.c', | |
227 | dns_type_headers], | |
228 | [], | |
229 | [], | |
1ec57f33 | 230 | 'ENABLE_RESOLVE', 'manual'], |
37efbbd8 | 231 | ] |