]>
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 | |
5c23128d ZJS |
66 | '''.split()) |
67 | ||
c2e84cab | 68 | resolvectl_sources = files(''' |
088c1363 LP |
69 | resolvconf-compat.c |
70 | resolvconf-compat.h | |
c2e84cab YW |
71 | resolvectl.c |
72 | resolvectl.h | |
088c1363 | 73 | '''.split()) |
5c23128d ZJS |
74 | |
75 | ############################################################ | |
76 | ||
77 | dns_type_list_txt = custom_target( | |
37efbbd8 ZJS |
78 | 'dns_type-list.txt', |
79 | input : ['generate-dns_type-list.sed', dns_type_h], | |
80 | output : 'dns_type-list.txt', | |
81 | command : [sed, '-n', '-r', '-f', '@INPUT0@', '@INPUT1@'], | |
82 | capture : true) | |
5c23128d ZJS |
83 | |
84 | generate_dns_type_gperf = find_program('generate-dns_type-gperf.py') | |
85 | ||
86 | dns_type_headers = [dns_type_h] | |
87 | foreach item : [['dns_type', dns_type_list_txt, 'dns_type', 'DNS_TYPE_']] | |
88 | ||
37efbbd8 ZJS |
89 | fname = '@0@-from-name.gperf'.format(item[0]) |
90 | gperf_file = custom_target( | |
91 | fname, | |
92 | input : item[1], | |
93 | output : fname, | |
94 | command : [generate_dns_type_gperf, item[2], item[3], '@INPUT@'], | |
95 | capture : true) | |
96 | ||
97 | fname = '@0@-from-name.h'.format(item[0]) | |
98 | target1 = custom_target( | |
99 | fname, | |
100 | input : gperf_file, | |
101 | output : fname, | |
102 | command : [gperf, | |
103 | '-L', 'ANSI-C', '-t', '--ignore-case', | |
104 | '-N', 'lookup_@0@'.format(item[2]), | |
105 | '-H', 'hash_@0@_name'.format(item[2]), | |
106 | '-p', '-C', | |
107 | '@INPUT@'], | |
108 | capture : true) | |
109 | ||
110 | fname = '@0@-to-name.h'.format(item[0]) | |
111 | awkscript = '@0@-to-name.awk'.format(item[0]) | |
112 | target2 = custom_target( | |
113 | fname, | |
114 | input : [awkscript, item[1]], | |
115 | output : fname, | |
116 | command : [awk, '-f', '@INPUT0@', '@INPUT1@'], | |
117 | capture : true) | |
118 | ||
119 | dns_type_headers += [target1, target2] | |
5c23128d ZJS |
120 | endforeach |
121 | ||
122 | resolved_gperf_c = custom_target( | |
37efbbd8 ZJS |
123 | 'resolved_gperf.c', |
124 | input : 'resolved-gperf.gperf', | |
125 | output : 'resolved-gperf.c', | |
126 | command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) | |
127 | ||
6501dd31 DR |
128 | resolved_dnssd_gperf_c = custom_target( |
129 | 'resolved_dnssd_gperf.c', | |
130 | input : 'resolved-dnssd-gperf.gperf', | |
131 | output : 'resolved-dnssd-gperf.c', | |
132 | command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@']) | |
133 | ||
568a4ff8 ZJS |
134 | libsystemd_resolve_core = static_library( |
135 | 'systemd-resolve-core', | |
136 | basic_dns_sources, | |
137 | dns_type_headers, | |
138 | include_directories : includes) | |
37efbbd8 | 139 | |
568a4ff8 | 140 | systemd_resolved_sources += [resolved_gperf_c, resolved_dnssd_gperf_c] |
5c23128d | 141 | |
56ddbf10 YW |
142 | systemd_resolved_dependencies = [threads, libgpg_error, libm, libidn] |
143 | if conf.get('ENABLE_DNS_OVER_TLS') == 1 | |
144 | systemd_resolved_dependencies += [libgnutls] | |
145 | endif | |
146 | ||
1ec57f33 | 147 | if conf.get('ENABLE_RESOLVE') == 1 |
37efbbd8 ZJS |
148 | install_data('org.freedesktop.resolve1.conf', |
149 | install_dir : dbuspolicydir) | |
150 | install_data('org.freedesktop.resolve1.service', | |
151 | install_dir : dbussystemservicedir) | |
9b3cff19 ZJS |
152 | install_data('org.freedesktop.resolve1.policy', |
153 | install_dir : polkitpolicydir) | |
37efbbd8 ZJS |
154 | |
155 | resolved_conf = configure_file( | |
156 | input : 'resolved.conf.in', | |
157 | output : 'resolved.conf', | |
158 | configuration : substs) | |
159 | install_data(resolved_conf, | |
160 | install_dir : pkgsysconfdir) | |
5c23128d | 161 | |
d8431fc3 | 162 | install_data('resolv.conf', |
163 | install_dir : rootlibexecdir) | |
164 | endif | |
69e96427 ZJS |
165 | |
166 | tests += [ | |
37efbbd8 | 167 | [['src/resolve/test-resolve-tables.c', |
37efbbd8 ZJS |
168 | dns_type_headers, |
169 | 'src/shared/test-tables.h'], | |
568a4ff8 ZJS |
170 | [libsystemd_resolve_core, |
171 | libshared], | |
37efbbd8 | 172 | [libgcrypt, |
76c87410 | 173 | libgpg_error, |
37efbbd8 | 174 | libm], |
1ec57f33 | 175 | 'ENABLE_RESOLVE'], |
37efbbd8 ZJS |
176 | |
177 | [['src/resolve/test-dns-packet.c', | |
37efbbd8 | 178 | dns_type_headers], |
568a4ff8 ZJS |
179 | [libsystemd_resolve_core, |
180 | libshared], | |
37efbbd8 | 181 | [libgcrypt, |
76c87410 | 182 | libgpg_error, |
37efbbd8 | 183 | libm], |
1ec57f33 | 184 | 'ENABLE_RESOLVE'], |
37efbbd8 | 185 | |
751ca3f1 | 186 | [['src/resolve/test-resolved-packet.c', |
751ca3f1 | 187 | dns_type_headers], |
568a4ff8 ZJS |
188 | [libsystemd_resolve_core, |
189 | libshared], | |
751ca3f1 ZJS |
190 | [libgcrypt, |
191 | libgpg_error, | |
192 | libm], | |
1ec57f33 | 193 | 'ENABLE_RESOLVE'], |
751ca3f1 | 194 | |
37efbbd8 | 195 | [['src/resolve/test-dnssec.c', |
37efbbd8 | 196 | dns_type_headers], |
568a4ff8 ZJS |
197 | [libsystemd_resolve_core, |
198 | libshared], | |
37efbbd8 | 199 | [libgcrypt, |
76c87410 | 200 | libgpg_error, |
37efbbd8 | 201 | libm], |
1ec57f33 | 202 | 'ENABLE_RESOLVE'], |
37efbbd8 ZJS |
203 | |
204 | [['src/resolve/test-dnssec-complex.c', | |
205 | 'src/resolve/dns-type.c', | |
206 | dns_type_headers], | |
207 | [], | |
208 | [], | |
1ec57f33 | 209 | 'ENABLE_RESOLVE', 'manual'], |
37efbbd8 | 210 | ] |