]>
Commit | Line | Data |
---|---|---|
87f46425 RG |
1 | AM_CPPFLAGS += $(SYSTEMD_CFLAGS) \ |
2 | $(LUA_CFLAGS) \ | |
3 | $(LIBEDIT_CFLAGS) \ | |
4 | $(LIBSODIUM_CFLAGS) \ | |
5 | $(FSTRM_CFLAGS) \ | |
6 | $(YAHTTP_CFLAGS) \ | |
87f46425 | 7 | $(NET_SNMP_CFLAGS) \ |
6e069889 | 8 | $(NGHTTP2_CFLAGS) \ |
87f46425 | 9 | $(LIBCAP_CFLAGS) \ |
565715ed | 10 | -I$(top_srcdir)/ext/protozero/include \ |
311f2683 PD |
11 | -DSYSCONFDIR=\"${sysconfdir}\" \ |
12 | -DBOOST_CONTAINER_USE_STD_EXCEPTIONS | |
50bed881 | 13 | |
91487eb9 PL |
14 | ACLOCAL_AMFLAGS = -I m4 |
15 | ||
a0d8a0f0 OM |
16 | SUBDIRS=ext/arc4random \ |
17 | ext/ipcrypt \ | |
496151cf | 18 | ext/yahttp |
bbfefc98 | 19 | |
50169e30 | 20 | CLEANFILES = \ |
50169e30 CH |
21 | htmlfiles.h.tmp \ |
22 | htmlfiles.h \ | |
87f46425 | 23 | dnsdist-lua-ffi-interface.inc |
37a2da85 | 24 | |
a0b6aac5 RG |
25 | sysconf_DATA = dnsdist.conf-dist |
26 | ||
bbfefc98 | 27 | dnslabeltext.cc: dnslabeltext.rl |
30bfe7f6 | 28 | $(AM_V_GEN)$(RAGEL) $< -o dnslabeltext.cc |
4676400a | 29 | |
56872c22 | 30 | BUILT_SOURCES=htmlfiles.h \ |
0ed8f0fa | 31 | dnsdist-lua-ffi-interface.inc \ |
56872c22 | 32 | dnslabeltext.cc |
a1f81e3b | 33 | |
077201f2 | 34 | htmlfiles.h: $(srcdir)/html/* $(srcdir)/incfiles |
38b86118 PL |
35 | $(AM_V_GEN)$(srcdir)/incfiles $(srcdir) > $@.tmp |
36 | @mv $@.tmp $@ | |
bbfefc98 | 37 | |
b4fbe20d | 38 | dnsdist-lua-ffi-interface.inc: dnsdist-lua-ffi-interface.h dnsdist-lua-inspection-ffi.h |
71411593 | 39 | $(AM_V_GEN)echo 'R"FFIContent(' > $@ |
b4fbe20d | 40 | @cat $^ >> $@ |
71411593 | 41 | @echo ')FFIContent"' >> $@ |
7cc65f8a SH |
42 | SRC_JS_FILES := $(wildcard src_js/*.js) |
43 | MIN_JS_FILES := $(patsubst src_js/%.js,html/js/%.min.js,$(SRC_JS_FILES)) | |
44 | ||
45 | html/js/%.min.js: src_js/%.js | |
46 | uglifyjs $< > $@ | |
47 | ||
48 | min_js: $(MIN_JS_FILES) | |
49 | ||
4ed8dfeb | 50 | if HAVE_RE2 |
3b96145d | 51 | # Some versions of pkg_config add -std=c11++, override that |
4ed8dfeb | 52 | AM_CPPFLAGS += $(RE2_CFLAGS) |
3b96145d | 53 | AM_CPPFLAGS += -std=c++17 |
4ed8dfeb | 54 | endif |
55 | ||
a227f47d RG |
56 | if HAVE_DNS_OVER_TLS |
57 | if HAVE_LIBSSL | |
58 | AM_CPPFLAGS += $(LIBSSL_CFLAGS) | |
59 | endif | |
60 | ||
61 | if HAVE_GNUTLS | |
62 | AM_CPPFLAGS += $(GNUTLS_CFLAGS) | |
63 | endif | |
64 | endif | |
4ed8dfeb | 65 | |
c7d6edef PD |
66 | if HAVE_LIBCRYPTO |
67 | AM_CPPFLAGS += $(LIBCRYPTO_INCLUDES) | |
68 | endif | |
69 | ||
c18cc5ac | 70 | if HAVE_CDB |
71 | AM_CPPFLAGS += $(CDB_CFLAGS) | |
72 | endif | |
73 | ||
f441962a RG |
74 | if HAVE_LMDB |
75 | AM_CPPFLAGS += $(LMDB_CFLAGS) | |
76 | endif | |
77 | ||
fbf14b03 RG |
78 | if HAVE_DNS_OVER_HTTPS |
79 | if HAVE_LIBSSL | |
80 | AM_CPPFLAGS += $(LIBSSL_CFLAGS) | |
81 | endif | |
82 | ||
7e8a05fa RG |
83 | if HAVE_GNUTLS |
84 | AM_CPPFLAGS += $(GNUTLS_CFLAGS) | |
85 | endif | |
86 | ||
fbf14b03 RG |
87 | if HAVE_LIBH2OEVLOOP |
88 | AM_CPPFLAGS += $(LIBH2OEVLOOP_CFLAGS) | |
89 | endif | |
90 | endif | |
91 | ||
190aaf91 PL |
92 | EXTRA_DIST=COPYING \ |
93 | dnslabeltext.rl \ | |
a0b6aac5 | 94 | dnsdist.conf-dist \ |
59c83cf6 | 95 | dnsmessage.proto \ |
82a91ddf | 96 | dnstap.proto \ |
994c0ab3 | 97 | README.md \ |
25553371 | 98 | delaypipe.cc delaypipe.hh \ |
994c0ab3 | 99 | html \ |
babc4bab | 100 | incfiles \ |
6ab65223 | 101 | src_js \ |
65613131 | 102 | dnsdist.service.in \ |
d45189b7 RG |
103 | lua_hpp.mk \ |
104 | bpf-filter.main.ebpf \ | |
105 | bpf-filter.qname.ebpf \ | |
9f4eb5cc | 106 | bpf-filter.ebpf.src \ |
0e663c3b RG |
107 | DNSDIST-MIB.txt \ |
108 | devpollmplexer.cc \ | |
109 | epollmplexer.cc \ | |
110 | kqueuemplexer.cc \ | |
8670e40d | 111 | portsmplexer.cc \ |
4a53cb41 | 112 | cdb.cc cdb.hh \ |
cabda036 | 113 | standalone_fuzz_target_runner.cc \ |
4a53cb41 | 114 | ext/lmdb-safe/lmdb-safe.cc ext/lmdb-safe/lmdb-safe.hh \ |
87f46425 | 115 | ext/protozero/include/* \ |
8670e40d | 116 | builder-support/gen-version |
bbfefc98 | 117 | |
118 | bin_PROGRAMS = dnsdist | |
d2143283 PL |
119 | |
120 | if UNIT_TESTS | |
121 | noinst_PROGRAMS = testrunner | |
63117673 | 122 | TESTS_ENVIRONMENT = env BOOST_TEST_LOG_LEVEL=message BOOST_TEST_RANDOM=1 SRCDIR='$(srcdir)' |
3c2ea9e5 RG |
123 | TESTS=testrunner |
124 | else | |
125 | check-local: | |
126 | @echo "Unit tests are not enabled" | |
127 | @echo "Run ./configure --enable-unit-tests" | |
ca404e94 RG |
128 | endif |
129 | ||
ca9836cb | 130 | dnsdist-web.$(OBJEXT): htmlfiles.h |
71411593 | 131 | dnsdist-lua-ffi.$(OBJEXT): dnsdist-lua-ffi-interface.inc |
ca9836cb | 132 | |
bbfefc98 | 133 | dnsdist_SOURCES = \ |
1489accc | 134 | base64.hh \ |
87b515ed | 135 | bpf-filter.cc bpf-filter.hh \ |
86c49d2b | 136 | burtle.hh \ |
05f4003d | 137 | cachecleaner.hh \ |
f12666f2 | 138 | capabilities.cc capabilities.hh \ |
3fc6d61c | 139 | channel.cc channel.hh \ |
9f6a31ff | 140 | circular_buffer.hh \ |
5e40d2a5 | 141 | connection-management.hh \ |
b3356965 | 142 | coverage.cc coverage.hh \ |
cfe95ada | 143 | credentials.cc credentials.hh \ |
77f8ae1a | 144 | dns.cc dns.hh \ |
f573af85 | 145 | dns_random.hh \ |
11e1e08b | 146 | dnscrypt.cc dnscrypt.hh \ |
0859e14a | 147 | dnsdist-async.cc dnsdist-async.hh \ |
b6e26895 | 148 | dnsdist-backend.cc \ |
d629f5b0 | 149 | dnsdist-backoff.hh \ |
886e2cf2 | 150 | dnsdist-cache.cc dnsdist-cache.hh \ |
0b96a918 | 151 | dnsdist-carbon.cc dnsdist-carbon.hh \ |
972d353a | 152 | dnsdist-concurrent-connections.hh \ |
b5521206 | 153 | dnsdist-console.cc dnsdist-console.hh \ |
44850d6e | 154 | dnsdist-crypto.cc dnsdist-crypto.hh \ |
09708c45 | 155 | dnsdist-discovery.cc dnsdist-discovery.hh \ |
11e1e08b | 156 | dnsdist-dnscrypt.cc \ |
a67613dd | 157 | dnsdist-dnsparser.cc dnsdist-dnsparser.hh \ |
9eb152c4 | 158 | dnsdist-doh-common.cc dnsdist-doh-common.hh \ |
8a2dd7db | 159 | dnsdist-downstream-connection.hh \ |
838c2f00 | 160 | dnsdist-dynblocks.cc dnsdist-dynblocks.hh \ |
1c81cda0 | 161 | dnsdist-dynbpf.cc dnsdist-dynbpf.hh \ |
ca404e94 | 162 | dnsdist-ecs.cc dnsdist-ecs.hh \ |
83dc6a38 | 163 | dnsdist-edns.cc dnsdist-edns.hh \ |
dd9c8246 | 164 | dnsdist-healthchecks.cc dnsdist-healthchecks.hh \ |
592b1d99 | 165 | dnsdist-idstate.hh \ |
0859e14a | 166 | dnsdist-internal-queries.cc dnsdist-internal-queries.hh \ |
f441962a | 167 | dnsdist-kvs.hh dnsdist-kvs.cc \ |
b6e26895 | 168 | dnsdist-lbpolicies.cc dnsdist-lbpolicies.hh \ |
6bb38cd6 | 169 | dnsdist-lua-actions.cc \ |
4d4d5623 | 170 | dnsdist-lua-bindings-dnscrypt.cc \ |
3669b961 | 171 | dnsdist-lua-bindings-dnsparser.cc \ |
6bb38cd6 | 172 | dnsdist-lua-bindings-dnsquestion.cc \ |
4d4d5623 | 173 | dnsdist-lua-bindings-kvs.cc \ |
67ed7d3e | 174 | dnsdist-lua-bindings-network.cc \ |
4d4d5623 RG |
175 | dnsdist-lua-bindings-packetcache.cc \ |
176 | dnsdist-lua-bindings-protobuf.cc \ | |
b1bea54a | 177 | dnsdist-lua-bindings-rings.cc \ |
1c81cda0 | 178 | dnsdist-lua-bindings.cc \ |
0ed8f0fa | 179 | dnsdist-lua-ffi-interface.h dnsdist-lua-ffi-interface.inc \ |
1c81cda0 | 180 | dnsdist-lua-ffi.cc dnsdist-lua-ffi.hh \ |
5798dc9b | 181 | dnsdist-lua-hooks.cc dnsdist-lua-hooks.hh \ |
46de63a6 | 182 | dnsdist-lua-inspection-ffi.cc dnsdist-lua-inspection-ffi.h \ |
1c81cda0 | 183 | dnsdist-lua-inspection.cc \ |
67ed7d3e | 184 | dnsdist-lua-network.cc dnsdist-lua-network.hh \ |
6bb38cd6 RG |
185 | dnsdist-lua-rules.cc \ |
186 | dnsdist-lua-vars.cc \ | |
88d4fe87 | 187 | dnsdist-lua-web.cc \ |
f31a18a0 | 188 | dnsdist-lua.cc dnsdist-lua.hh \ |
e8eb8a98 | 189 | dnsdist-mac-address.cc dnsdist-mac-address.hh \ |
67cbba12 | 190 | dnsdist-metrics.cc dnsdist-metrics.hh \ |
cf25b82b RG |
191 | dnsdist-nghttp2-in.hh \ |
192 | dnsdist-nghttp2.hh \ | |
0d394f35 | 193 | dnsdist-prometheus.hh \ |
ec469dd7 | 194 | dnsdist-protobuf.cc dnsdist-protobuf.hh \ |
2c0e81bb | 195 | dnsdist-protocols.cc dnsdist-protocols.hh \ |
bde73d5b | 196 | dnsdist-proxy-protocol.cc dnsdist-proxy-protocol.hh \ |
f573af85 | 197 | dnsdist-random.cc dnsdist-random.hh \ |
b8df8675 | 198 | dnsdist-resolver.cc dnsdist-resolver.hh \ |
03b00917 | 199 | dnsdist-rings.cc dnsdist-rings.hh \ |
3fc92d67 | 200 | dnsdist-rule-chains.cc dnsdist-rule-chains.hh \ |
79ac0575 | 201 | dnsdist-rules.cc dnsdist-rules.hh \ |
5d4e1ef8 | 202 | dnsdist-secpoll.cc dnsdist-secpoll.hh \ |
32a63bdb | 203 | dnsdist-session-cache.cc dnsdist-session-cache.hh \ |
9f4eb5cc | 204 | dnsdist-snmp.cc dnsdist-snmp.hh \ |
651f3a09 | 205 | dnsdist-svc.cc dnsdist-svc.hh \ |
d2138f20 | 206 | dnsdist-systemd.cc dnsdist-systemd.hh \ |
086a43eb RG |
207 | dnsdist-tcp-downstream.cc dnsdist-tcp-downstream.hh \ |
208 | dnsdist-tcp-upstream.hh \ | |
2c0e81bb | 209 | dnsdist-tcp.cc dnsdist-tcp.hh \ |
1c90c6bd | 210 | dnsdist-web.cc dnsdist-web.hh \ |
53c57da7 | 211 | dnsdist-xpf.cc dnsdist-xpf.hh \ |
2a5e9760 | 212 | dnsdist-xsk.cc dnsdist-xsk.hh \ |
1c81cda0 | 213 | dnsdist.cc dnsdist.hh \ |
bbfefc98 | 214 | dnslabeltext.cc \ |
215 | dnsname.cc dnsname.hh \ | |
ca404e94 | 216 | dnsparser.hh dnsparser.cc \ |
1c81cda0 | 217 | dnstap.cc dnstap.hh \ |
bbfefc98 | 218 | dnswriter.cc dnswriter.hh \ |
df5a4ff1 | 219 | doh.hh \ |
d1f77ae6 | 220 | doh3.hh \ |
86e28d2d | 221 | dolog.cc dolog.hh \ |
ed16c81f | 222 | doq-common.hh \ |
d0439b42 | 223 | doq.hh \ |
ff73f02b | 224 | ednscookies.cc ednscookies.hh \ |
f18d8af3 | 225 | ednsextendederror.cc ednsextendederror.hh \ |
1c81cda0 | 226 | ednsoptions.cc ednsoptions.hh \ |
ca404e94 | 227 | ednssubnet.cc ednssubnet.hh \ |
1c81cda0 PL |
228 | ext/json11/json11.cpp \ |
229 | ext/json11/json11.hpp \ | |
230 | ext/libbpf/libbpf.h \ | |
231 | ext/luawrapper/include/LuaContext.hpp \ | |
82a91ddf | 232 | fstrm_logger.cc fstrm_logger.hh \ |
85c7ca75 | 233 | gettime.cc gettime.hh \ |
0e663c3b | 234 | htmlfiles.h \ |
bbfefc98 | 235 | iputils.cc iputils.hh \ |
ede152ec | 236 | libssl.cc libssl.hh \ |
0e41337b | 237 | lock.hh \ |
43f91cad | 238 | logging.hh \ |
bbfefc98 | 239 | misc.cc misc.hh \ |
0e663c3b | 240 | mplexer.hh \ |
bbfefc98 | 241 | namespaces.hh \ |
32fbb2ab | 242 | noinitvector.hh \ |
fa980c59 | 243 | packetcache.hh \ |
bbfefc98 | 244 | pdnsexception.hh \ |
1c81cda0 | 245 | pollmplexer.cc \ |
87f46425 | 246 | protozero.cc protozero.hh \ |
bde73d5b | 247 | proxy-protocol.cc proxy-protocol.hh \ |
bbfefc98 | 248 | qtype.cc qtype.hh \ |
ec469dd7 | 249 | remote_logger.cc remote_logger.hh \ |
ecbe9133 | 250 | sholder.hh \ |
9f4eb5cc | 251 | snmp-agent.cc snmp-agent.hh \ |
f8204e9e | 252 | sstuff.hh \ |
070fa3bf | 253 | stat_t.hh \ |
e4068153 | 254 | statnode.cc statnode.hh \ |
1c81cda0 | 255 | svc-records.cc svc-records.hh \ |
086a43eb | 256 | tcpiohandler-mplexer.hh \ |
a227f47d | 257 | tcpiohandler.cc tcpiohandler.hh \ |
519f5484 | 258 | threadname.hh threadname.cc \ |
d61aa945 | 259 | uuid-utils.hh uuid-utils.cc \ |
d4cd065a | 260 | views.hh \ |
a61dd3f3 Y |
261 | xpf.cc xpf.hh \ |
262 | xsk.cc xsk.hh | |
bbfefc98 | 263 | |
f441962a RG |
264 | testrunner_SOURCES = \ |
265 | base64.hh \ | |
fd51c832 | 266 | bpf-filter.cc bpf-filter.hh \ |
f441962a | 267 | cachecleaner.hh \ |
3fc6d61c | 268 | channel.cc channel.hh \ |
f441962a | 269 | circular_buffer.hh \ |
6cf749d5 | 270 | connection-management.hh \ |
fcf0f021 | 271 | credentials.cc credentials.hh \ |
d372faa2 | 272 | dns.cc dns.hh \ |
1c81cda0 | 273 | dnscrypt.cc dnscrypt.hh \ |
0859e14a | 274 | dnsdist-async.cc dnsdist-async.hh \ |
b6e26895 | 275 | dnsdist-backend.cc \ |
d629f5b0 | 276 | dnsdist-backoff.hh \ |
f441962a | 277 | dnsdist-cache.cc dnsdist-cache.hh \ |
972d353a | 278 | dnsdist-concurrent-connections.hh \ |
44850d6e | 279 | dnsdist-crypto.cc dnsdist-crypto.hh \ |
a67613dd | 280 | dnsdist-dnsparser.cc dnsdist-dnsparser.hh \ |
9eb152c4 | 281 | dnsdist-doh-common.cc dnsdist-doh-common.hh \ |
8a2dd7db | 282 | dnsdist-downstream-connection.hh \ |
838c2f00 | 283 | dnsdist-dynblocks.cc dnsdist-dynblocks.hh \ |
fd51c832 | 284 | dnsdist-dynbpf.cc dnsdist-dynbpf.hh \ |
f441962a | 285 | dnsdist-ecs.cc dnsdist-ecs.hh \ |
83dc6a38 | 286 | dnsdist-edns.cc dnsdist-edns.hh \ |
592b1d99 | 287 | dnsdist-idstate.hh \ |
aa4b6efa | 288 | dnsdist-kvs.cc dnsdist-kvs.hh \ |
b6e26895 | 289 | dnsdist-lbpolicies.cc dnsdist-lbpolicies.hh \ |
fd51c832 RG |
290 | dnsdist-lua-bindings-dnsquestion.cc \ |
291 | dnsdist-lua-bindings-kvs.cc \ | |
1c81cda0 | 292 | dnsdist-lua-bindings.cc \ |
a9599e73 | 293 | dnsdist-lua-ffi-interface.h dnsdist-lua-ffi-interface.inc \ |
1c81cda0 | 294 | dnsdist-lua-ffi.cc dnsdist-lua-ffi.hh \ |
67ed7d3e | 295 | dnsdist-lua-network.cc dnsdist-lua-network.hh \ |
fd51c832 | 296 | dnsdist-lua-vars.cc \ |
e8eb8a98 | 297 | dnsdist-mac-address.cc dnsdist-mac-address.hh \ |
67cbba12 | 298 | dnsdist-metrics.cc dnsdist-metrics.hh \ |
cf25b82b RG |
299 | dnsdist-nghttp2-in.hh \ |
300 | dnsdist-nghttp2.hh \ | |
2c0e81bb | 301 | dnsdist-protocols.cc dnsdist-protocols.hh \ |
b7eb6b6e | 302 | dnsdist-proxy-protocol.cc dnsdist-proxy-protocol.hh \ |
f573af85 | 303 | dnsdist-random.cc dnsdist-random.hh \ |
b8df8675 | 304 | dnsdist-resolver.cc dnsdist-resolver.hh \ |
b3ccd3ea | 305 | dnsdist-rings.cc dnsdist-rings.hh \ |
3fc92d67 | 306 | dnsdist-rule-chains.cc dnsdist-rule-chains.hh \ |
79ac0575 | 307 | dnsdist-rules.cc dnsdist-rules.hh \ |
32a63bdb | 308 | dnsdist-session-cache.cc dnsdist-session-cache.hh \ |
651f3a09 | 309 | dnsdist-svc.cc dnsdist-svc.hh \ |
b7eb6b6e | 310 | dnsdist-tcp-downstream.cc \ |
2c0e81bb | 311 | dnsdist-tcp.cc dnsdist-tcp.hh \ |
f441962a | 312 | dnsdist-xpf.cc dnsdist-xpf.hh \ |
2a5e9760 | 313 | dnsdist-xsk.cc dnsdist-xsk.hh \ |
1c81cda0 | 314 | dnsdist.hh \ |
f441962a RG |
315 | dnslabeltext.cc \ |
316 | dnsname.cc dnsname.hh \ | |
317 | dnsparser.hh dnsparser.cc \ | |
318 | dnswriter.cc dnswriter.hh \ | |
86e28d2d | 319 | dolog.cc dolog.hh \ |
f441962a | 320 | ednscookies.cc ednscookies.hh \ |
b341ebf9 | 321 | ednsextendederror.cc ednsextendederror.hh \ |
1c81cda0 | 322 | ednsoptions.cc ednsoptions.hh \ |
f441962a | 323 | ednssubnet.cc ednssubnet.hh \ |
1c81cda0 | 324 | ext/luawrapper/include/LuaContext.hpp \ |
f441962a RG |
325 | gettime.cc gettime.hh \ |
326 | iputils.cc iputils.hh \ | |
327 | misc.cc misc.hh \ | |
328 | namespaces.hh \ | |
32fbb2ab | 329 | noinitvector.hh \ |
f441962a RG |
330 | pdnsexception.hh \ |
331 | pollmplexer.cc \ | |
9bf0554f | 332 | proxy-protocol.cc proxy-protocol.hh \ |
f441962a RG |
333 | qtype.cc qtype.hh \ |
334 | sholder.hh \ | |
f441962a | 335 | sstuff.hh \ |
070fa3bf | 336 | stat_t.hh \ |
e4068153 | 337 | statnode.cc statnode.hh \ |
373914dc | 338 | svc-records.cc svc-records.hh \ |
1c81cda0 | 339 | test-base64_cc.cc \ |
cd93bea9 | 340 | test-channel.cc \ |
6cf749d5 | 341 | test-connectionmanagement_hh.cc \ |
fcf0f021 | 342 | test-credentials_cc.cc \ |
1c81cda0 PL |
343 | test-delaypipe_hh.cc \ |
344 | test-dnscrypt_cc.cc \ | |
baa91396 | 345 | test-dnsdist-connections-cache.cc \ |
f05fbb73 | 346 | test-dnsdist-dnsparser.cc \ |
7e413c79 | 347 | test-dnsdist-lua-ffi.cc \ |
1c81cda0 | 348 | test-dnsdist_cc.cc \ |
0859e14a | 349 | test-dnsdistasync.cc \ |
c212e66e | 350 | test-dnsdistbackend_cc.cc \ |
d629f5b0 | 351 | test-dnsdistbackoff.cc \ |
1c81cda0 | 352 | test-dnsdistdynblocks_hh.cc \ |
b341ebf9 | 353 | test-dnsdistedns.cc \ |
1c81cda0 PL |
354 | test-dnsdistkvs_cc.cc \ |
355 | test-dnsdistlbpolicies_cc.cc \ | |
67ed7d3e | 356 | test-dnsdistluanetwork.cc \ |
c02b7e13 | 357 | test-dnsdistnghttp2_common.hh \ |
1c81cda0 PL |
358 | test-dnsdistpacketcache_cc.cc \ |
359 | test-dnsdistrings_cc.cc \ | |
360 | test-dnsdistrules_cc.cc \ | |
651f3a09 | 361 | test-dnsdistsvc_cc.cc \ |
b7eb6b6e | 362 | test-dnsdisttcp_cc.cc \ |
1c81cda0 PL |
363 | test-dnsparser_cc.cc \ |
364 | test-iputils_hh.cc \ | |
a51b35e1 | 365 | test-luawrapper.cc \ |
1c81cda0 PL |
366 | test-mplexer.cc \ |
367 | test-proxy_protocol_cc.cc \ | |
f441962a | 368 | testrunner.cc \ |
1c81cda0 | 369 | threadname.hh threadname.cc \ |
b6e26895 | 370 | uuid-utils.hh uuid-utils.cc \ |
a61dd3f3 Y |
371 | xpf.cc xpf.hh \ |
372 | xsk.cc xsk.hh | |
f441962a | 373 | |
bbfefc98 | 374 | dnsdist_LDFLAGS = \ |
375 | $(AM_LDFLAGS) \ | |
bfb7cc84 | 376 | $(PROGRAM_LDFLAGS) \ |
b2024afc | 377 | -pthread |
bbfefc98 | 378 | |
379 | dnsdist_LDADD = \ | |
a6158e7a | 380 | $(LUA_LIBS) \ |
d9de8b61 | 381 | $(LIBEDIT_LIBS) \ |
a6158e7a RK |
382 | $(RT_LIBS) \ |
383 | $(YAHTTP_LIBS) \ | |
e85e4d88 | 384 | $(LIBSODIUM_LIBS) \ |
82a91ddf | 385 | $(FSTRM_LIBS) \ |
9f4eb5cc | 386 | $(SYSTEMD_LIBS) \ |
fdc3ea42 | 387 | $(NET_SNMP_LIBS) \ |
496151cf | 388 | $(LIBCAP_LIBS) \ |
a0d8a0f0 OM |
389 | $(IPCRYPT_LIBS) \ |
390 | $(ARC4RANDOM_LIBS) | |
bbfefc98 | 391 | |
f441962a RG |
392 | testrunner_LDFLAGS = \ |
393 | $(AM_LDFLAGS) \ | |
394 | $(PROGRAM_LDFLAGS) \ | |
395 | $(BOOST_UNIT_TEST_FRAMEWORK_LDFLAGS) \ | |
396 | -pthread | |
397 | ||
398 | testrunner_LDADD = \ | |
399 | $(BOOST_UNIT_TEST_FRAMEWORK_LIBS) \ | |
f441962a | 400 | $(FSTRM_LIBS) \ |
a9599e73 RG |
401 | $(LIBSODIUM_LIBS) \ |
402 | $(LUA_LIBS) \ | |
f441962a | 403 | $(RT_LIBS) \ |
a0d8a0f0 OM |
404 | $(LIBCAP_LIBS) \ |
405 | $(ARC4RANDOM_LIBS) | |
f441962a | 406 | |
90fe8ae6 RG |
407 | if HAVE_CDB |
408 | dnsdist_LDADD += $(CDB_LDFLAGS) $(CDB_LIBS) | |
409 | testrunner_LDADD += $(CDB_LDFLAGS) $(CDB_LIBS) | |
410 | dnsdist_SOURCES += cdb.cc cdb.hh | |
411 | testrunner_SOURCES += cdb.cc cdb.hh | |
412 | endif | |
413 | ||
4ed8dfeb | 414 | if HAVE_RE2 |
415 | dnsdist_LDADD += $(RE2_LIBS) | |
416 | endif | |
417 | ||
529f261b PD |
418 | if HAVE_LIBSSL |
419 | dnsdist_LDADD += $(LIBSSL_LIBS) | |
420 | endif | |
421 | ||
a61dd3f3 Y |
422 | if HAVE_XSK |
423 | dnsdist_LDADD += -lbpf | |
424 | dnsdist_LDADD += -lxdp | |
425 | testrunner_LDADD += -lbpf | |
426 | testrunner_LDADD += -lxdp | |
427 | endif | |
428 | ||
f4b1f1fd | 429 | if HAVE_LIBCRYPTO |
529f261b | 430 | dnsdist_LDADD += $(LIBCRYPTO_LDFLAGS) $(LIBCRYPTO_LIBS) |
b2504b29 | 431 | testrunner_LDADD += $(LIBCRYPTO_LDFLAGS) $(LIBCRYPTO_LIBS) |
496151cf | 432 | dnsdist_SOURCES += ipcipher.cc ipcipher.hh |
f4b1f1fd RG |
433 | endif |
434 | ||
f441962a RG |
435 | if HAVE_LMDB |
436 | dnsdist_LDADD += $(LMDB_LDFLAGS) $(LMDB_LIBS) | |
437 | testrunner_LDADD += $(LMDB_LDFLAGS) $(LMDB_LIBS) | |
ae27ae09 RG |
438 | dnsdist_SOURCES += ext/lmdb-safe/lmdb-safe.cc ext/lmdb-safe/lmdb-safe.hh |
439 | testrunner_SOURCES += ext/lmdb-safe/lmdb-safe.cc ext/lmdb-safe/lmdb-safe.hh | |
f441962a RG |
440 | endif |
441 | ||
a227f47d RG |
442 | if HAVE_DNS_OVER_TLS |
443 | if HAVE_GNUTLS | |
444 | dnsdist_LDADD += -lgnutls | |
445 | endif | |
a227f47d RG |
446 | endif |
447 | ||
fbf14b03 | 448 | if HAVE_DNS_OVER_HTTPS |
fbf14b03 | 449 | |
7e8a05fa RG |
450 | if HAVE_GNUTLS |
451 | dnsdist_LDADD += -lgnutls | |
452 | endif | |
453 | ||
fbf14b03 | 454 | if HAVE_LIBH2OEVLOOP |
df5a4ff1 | 455 | dnsdist_SOURCES += doh.cc |
fbf14b03 RG |
456 | dnsdist_LDADD += $(LIBH2OEVLOOP_LIBS) |
457 | endif | |
458 | ||
cf25b82b RG |
459 | if HAVE_NGHTTP2 |
460 | dnsdist_SOURCES += dnsdist-nghttp2-in.cc | |
461 | dnsdist_SOURCES += dnsdist-nghttp2.cc | |
462 | testrunner_SOURCES += dnsdist-nghttp2-in.cc | |
463 | testrunner_SOURCES += dnsdist-nghttp2.cc | |
464 | testrunner_SOURCES += test-dnsdistnghttp2-in_cc.cc \ | |
465 | test-dnsdistnghttp2_cc.cc | |
466 | dnsdist_LDADD += $(NGHTTP2_LDFLAGS) $(NGHTTP2_LIBS) | |
467 | testrunner_LDADD += $(NGHTTP2_LDFLAGS) $(NGHTTP2_LIBS) | |
468 | endif | |
469 | ||
fbf14b03 RG |
470 | endif |
471 | ||
57a94421 | 472 | if HAVE_DNS_OVER_QUIC |
57a94421 | 473 | dnsdist_SOURCES += doq.cc |
e891e0b9 CHB |
474 | endif |
475 | ||
476 | if HAVE_DNS_OVER_HTTP3 | |
477 | dnsdist_SOURCES += doh3.cc | |
478 | endif | |
479 | ||
faeb9fd6 | 480 | if HAVE_QUICHE |
4af3e47d | 481 | AM_CPPFLAGS += $(QUICHE_CFLAGS) |
faeb9fd6 | 482 | dnsdist_LDADD += $(QUICHE_LDFLAGS) $(QUICHE_LIBS) |
ed16c81f | 483 | dnsdist_SOURCES += doq-common.cc |
faeb9fd6 | 484 | endif |
57a94421 | 485 | |
65613131 PL |
486 | if !HAVE_LUA_HPP |
487 | BUILT_SOURCES += lua.hpp | |
488 | nodist_dnsdist_SOURCES = lua.hpp | |
65613131 | 489 | endif |
b2eccf5f | 490 | |
bbd6bca1 PD |
491 | CLEANFILES += lua.hpp |
492 | ||
9674edb2 RG |
493 | if HAVE_FREEBSD |
494 | dnsdist_SOURCES += kqueuemplexer.cc | |
51b5346a O |
495 | testrunner_SOURCES += kqueuemplexer.cc |
496 | endif | |
497 | ||
498 | if HAVE_OPENBSD | |
499 | dnsdist_SOURCES += kqueuemplexer.cc | |
9674edb2 RG |
500 | testrunner_SOURCES += kqueuemplexer.cc |
501 | endif | |
502 | ||
503 | if HAVE_LINUX | |
504 | dnsdist_SOURCES += epollmplexer.cc | |
505 | testrunner_SOURCES += epollmplexer.cc | |
506 | endif | |
507 | ||
508 | if HAVE_SOLARIS | |
509 | dnsdist_SOURCES += \ | |
b2024afc FM |
510 | devpollmplexer.cc \ |
511 | portsmplexer.cc | |
9674edb2 | 512 | testrunner_SOURCES += \ |
b2024afc FM |
513 | devpollmplexer.cc \ |
514 | portsmplexer.cc | |
9674edb2 RG |
515 | endif |
516 | ||
cabda036 RG |
517 | if FUZZ_TARGETS |
518 | ||
519 | LIB_FUZZING_ENGINE ?= standalone_fuzz_target_runner.o | |
520 | ||
521 | standalone_fuzz_target_runner.o: standalone_fuzz_target_runner.cc | |
522 | ||
523 | fuzz_targets_programs = \ | |
524 | fuzz_target_dnsdistcache | |
525 | ||
a8c3569c RG |
526 | if HAVE_XSK |
527 | fuzz_targets_programs += \ | |
528 | fuzz_target_xsk | |
529 | endif | |
530 | ||
cabda036 RG |
531 | fuzz_targets: $(ARC4RANDOM_LIBS) $(fuzz_targets_programs) |
532 | ||
533 | bin_PROGRAMS += \ | |
534 | $(fuzz_targets_programs) | |
535 | ||
536 | fuzz_targets_libs = \ | |
537 | $(LIBCRYPTO_LIBS) \ | |
4d1767d1 | 538 | $(ARC4RANDOM_LIBS) \ |
cabda036 RG |
539 | $(LIB_FUZZING_ENGINE) |
540 | ||
541 | fuzz_targets_ldflags = \ | |
542 | $(AM_LDFLAGS) \ | |
543 | $(DYNLINKFLAGS) \ | |
544 | $(LIBCRYPTO_LDFLAGS) \ | |
545 | $(FUZZING_LDFLAGS) | |
546 | ||
547 | # we need the mockup runner to be built, but not linked if a real fuzzing engine is used | |
548 | fuzz_targets_deps = standalone_fuzz_target_runner.o | |
549 | ||
550 | fuzz_target_dnsdistcache_SOURCES = \ | |
551 | channel.hh channel.cc \ | |
552 | dns.cc dns.hh \ | |
553 | dnsdist-cache.cc dnsdist-cache.hh \ | |
90686725 | 554 | dnsdist-dnsparser.cc dnsdist-dnsparser.hh \ |
cabda036 RG |
555 | dnsdist-ecs.cc dnsdist-ecs.hh \ |
556 | dnsdist-idstate.hh \ | |
557 | dnsdist-protocols.cc dnsdist-protocols.hh \ | |
558 | dnslabeltext.cc \ | |
559 | dnsname.cc dnsname.hh \ | |
560 | dnsparser.cc dnsparser.hh \ | |
561 | dnswriter.cc dnswriter.hh \ | |
562 | doh.hh \ | |
563 | ednsoptions.cc ednsoptions.hh \ | |
564 | ednssubnet.cc ednssubnet.hh \ | |
565 | fuzz_dnsdistcache.cc \ | |
566 | iputils.cc iputils.hh \ | |
567 | misc.cc misc.hh \ | |
568 | packetcache.hh \ | |
569 | qtype.cc qtype.hh \ | |
570 | svc-records.cc svc-records.hh | |
571 | ||
572 | fuzz_target_dnsdistcache_DEPENDENCIES = $(fuzz_targets_deps) | |
573 | fuzz_target_dnsdistcache_LDFLAGS = $(fuzz_targets_ldflags) | |
574 | fuzz_target_dnsdistcache_LDADD = $(fuzz_targets_libs) | |
575 | ||
a8c3569c RG |
576 | if HAVE_XSK |
577 | fuzz_target_xsk_SOURCES = \ | |
578 | dnslabeltext.cc \ | |
579 | dnsname.cc dnsname.hh \ | |
580 | fuzz_xsk.cc \ | |
581 | gettime.cc gettime.hh \ | |
582 | iputils.cc iputils.hh \ | |
583 | misc.cc misc.hh \ | |
584 | xsk.cc xsk.hh | |
585 | fuzz_target_xsk_DEPENDENCIES = $(fuzz_targets_deps) | |
586 | fuzz_target_xsk_LDFLAGS = $(fuzz_targets_ldflags) | |
587 | fuzz_target_xsk_LDADD = $(fuzz_targets_libs) -lbpf -lxdp | |
588 | endif # HAVE_XSK | |
589 | ||
590 | endif # FUZZ_TARGETS | |
cabda036 | 591 | |
f68a9074 PL |
592 | MANPAGES=dnsdist.1 |
593 | ||
594 | dist_man_MANS=$(MANPAGES) | |
595 | ||
98508251 | 596 | if HAVE_VENV |
20d81666 PL |
597 | if !HAVE_MANPAGES |
598 | $(MANPAGES): %: docs/manpages/%.rst .venv | |
599 | $(AM_V_GEN).venv/bin/python -msphinx -b man docs . $< | |
600 | endif # if !HAVE_MANPAGES | |
601 | ||
602 | .venv: docs/requirements.txt | |
98508251 KF |
603 | $(PYTHON) -m venv .venv |
604 | .venv/bin/pip install -U pip setuptools setuptools-git wheel | |
20d81666 PL |
605 | .venv/bin/pip install -r $< |
606 | ||
607 | latex/dnsdist.pdf: docs/** .venv | |
608 | .venv/bin/python -msphinx -M latexpdf docs . | |
609 | ||
610 | dnsdist.pdf: latex/dnsdist.pdf | |
611 | mv $< $@ | |
612 | ||
613 | html-docs.tar.bz2: html-docs | |
614 | tar cjf $@ $< | |
615 | ||
616 | html-docs: docs/** .venv | |
617 | .venv/bin/python -msphinx -b html docs html-docs | |
618 | ||
619 | all-docs: html-docs html-docs.tar.bz2 dnsdist.pdf | |
620 | ||
621 | upload-docs: all-docs | |
60c95446 PL |
622 | rsync -crv --delete --no-p --chmod=g=rwX --exclude '*~' ./html-docs/ web1.powerdns.com:/srv/www/dnsdist.org |
623 | rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./html-docs.tar.bz2 web1.powerdns.com:/srv/www/dnsdist.org | |
624 | rsync -crv --no-p --chmod=g=rwX --exclude '*~' ./dnsdist.pdf web1.powerdns.com:/srv/www/dnsdist.org | |
20d81666 | 625 | |
98508251 | 626 | else # if HAVE_VENV |
f68a9074 | 627 | $(MANPAGES): |
98508251 | 628 | @echo "You need Python 3 and the 'venv' module to generate the manpages" |
20d81666 PL |
629 | exit 1 |
630 | ||
631 | html-docs: %: docs/manpages/%.rst .venv | |
98508251 | 632 | @echo "You need Python 3 and the 'venv' module to generate the HTML docs" |
20d81666 PL |
633 | exit 1 |
634 | ||
635 | dnsdist.pdf: | |
98508251 | 636 | @echo "You need Python 3 and the 'venv' module to generate the PDF" |
f68a9074 | 637 | exit 1 |
f68a9074 | 638 | endif |
6ab65223 PL |
639 | |
640 | if HAVE_SYSTEMD | |
641 | dnsdist.service: dnsdist.service.in | |
f40f664d | 642 | $(AM_V_GEN)sed -e 's![@]bindir[@]!$(bindir)!' -e 's![@]service_user[@]!$(service_user)!' -e 's![@]service_group[@]!$(service_group)!' < $< > $@ |
a3dfb540 | 643 | if !HAVE_SYSTEMD_LOCK_PERSONALITY |
6992cb2d | 644 | $(AM_V_GEN)perl -ni -e 'print unless /^LockPersonality/' $@ |
a3dfb540 RG |
645 | endif |
646 | if !HAVE_SYSTEMD_PRIVATE_DEVICES | |
6992cb2d | 647 | $(AM_V_GEN)perl -ni -e 'print unless /^PrivateDevices/' $@ |
a3dfb540 RG |
648 | endif |
649 | if !HAVE_SYSTEMD_PRIVATE_TMP | |
6992cb2d | 650 | $(AM_V_GEN)perl -ni -e 'print unless /^PrivateTmp/' $@ |
a3dfb540 | 651 | endif |
3d559c55 RG |
652 | if !HAVE_SYSTEMD_PRIVATE_USERS |
653 | $(AM_V_GEN)perl -ni -e 'print unless /^PrivateUsers/' $@ | |
654 | endif | |
655 | if !HAVE_SYSTEMD_PROTECT_CLOCK | |
656 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectClock/' $@ | |
657 | endif | |
a3dfb540 | 658 | if !HAVE_SYSTEMD_PROTECT_CONTROL_GROUPS |
6992cb2d | 659 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectControlGroups/' $@ |
a3dfb540 RG |
660 | endif |
661 | if !HAVE_SYSTEMD_PROTECT_HOME | |
6992cb2d | 662 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHome/' $@ |
a3dfb540 | 663 | endif |
3d559c55 RG |
664 | if !HAVE_SYSTEMD_PROTECT_HOSTNAME |
665 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectHostname/' $@ | |
666 | endif | |
667 | if !HAVE_SYSTEMD_PROTECT_KERNEL_LOGS | |
668 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelLogs/' $@ | |
669 | endif | |
a3dfb540 | 670 | if !HAVE_SYSTEMD_PROTECT_KERNEL_MODULES |
6992cb2d | 671 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelModules/' $@ |
a3dfb540 RG |
672 | endif |
673 | if !HAVE_SYSTEMD_PROTECT_KERNEL_TUNABLES | |
6992cb2d | 674 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectKernelTunables/' $@ |
a3dfb540 RG |
675 | endif |
676 | if !HAVE_SYSTEMD_PROTECT_SYSTEM | |
6992cb2d | 677 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectSystem/' $@ |
a3dfb540 RG |
678 | endif |
679 | if !HAVE_SYSTEMD_RESTRICT_ADDRESS_FAMILIES | |
6992cb2d | 680 | $(AM_V_GEN)perl -ni -e 'print unless /^RestrictAddressFamilies/' $@ |
a3dfb540 RG |
681 | endif |
682 | if !HAVE_SYSTEMD_RESTRICT_NAMESPACES | |
6992cb2d | 683 | $(AM_V_GEN)perl -ni -e 'print unless /^RestrictNamespaces/' $@ |
a3dfb540 RG |
684 | endif |
685 | if !HAVE_SYSTEMD_RESTRICT_REALTIME | |
6992cb2d | 686 | $(AM_V_GEN)perl -ni -e 'print unless /^RestrictRealtime/' $@ |
a3dfb540 | 687 | endif |
3d559c55 RG |
688 | if !HAVE_SYSTEMD_RESTRICT_SUIDSGID |
689 | $(AM_V_GEN)perl -ni -e 'print unless /^RestrictSUIDSGID/' $@ | |
690 | endif | |
a3dfb540 | 691 | if !HAVE_SYSTEMD_SYSTEM_CALL_ARCHITECTURES |
6992cb2d | 692 | $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallArchitectures/' $@ |
a3dfb540 RG |
693 | endif |
694 | if !HAVE_SYSTEMD_SYSTEM_CALL_FILTER | |
6992cb2d | 695 | $(AM_V_GEN)perl -ni -e 'print unless /^SystemCallFilter/' $@ |
a3dfb540 | 696 | endif |
3a0c3b68 PL |
697 | if !HAVE_SYSTEMD_PROTECT_PROC |
698 | $(AM_V_GEN)perl -ni -e 'print unless /^ProtectProc/' $@ | |
699 | endif | |
77a8401f PL |
700 | if !HAVE_SYSTEMD_PRIVATE_IPC |
701 | $(AM_V_GEN)perl -ni -e 'print unless /^PrivateIPC/' $@ | |
702 | endif | |
703 | if !HAVE_SYSTEMD_REMOVE_IPC | |
704 | $(AM_V_GEN)perl -ni -e 'print unless /^RemoveIPC/' $@ | |
705 | endif | |
6ab65223 | 706 | |
aa663221 | 707 | dnsdist@.service: dnsdist.service |
fcbada45 PL |
708 | $(AM_V_GEN)sed -e 's!/dnsdist !&--config $(sysconfdir)/dnsdist-%i.conf !' \ |
709 | -e 's!RuntimeDirectory=.*!&-%i!' \ | |
54b562cb | 710 | -e 's!SyslogIdentifier=.*!&-%i!' \ |
fcbada45 | 711 | < $< >$@ |
aa663221 | 712 | |
6ab65223 PL |
713 | systemdsystemunitdir = $(SYSTEMD_DIR) |
714 | ||
715 | systemdsystemunit_DATA = \ | |
aa663221 PL |
716 | dnsdist.service \ |
717 | dnsdist@.service | |
50169e30 CH |
718 | |
719 | CLEANFILES += \ | |
720 | dnsdist.service \ | |
721 | dnsdist@.service | |
6ab65223 | 722 | endif |
65613131 PL |
723 | |
724 | if !HAVE_LUA_HPP | |
725 | include lua_hpp.mk | |
726 | endif |