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