]>
Commit | Line | Data |
---|---|---|
d9122321 RK |
1 | AC_PREREQ([2.61]) |
2 | ||
831525d2 | 3 | AC_INIT([dnsdist], m4_esyscmd(build-aux/gen-version)) |
e2c9d5cf | 4 | AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip parallel-tests 1.11 subdir-objects]) |
bbfefc98 | 5 | AM_SILENT_RULES([yes]) |
6 | AC_CONFIG_MACRO_DIR([m4]) | |
7 | AC_CONFIG_HEADERS([config.h]) | |
8 | AC_PROG_CC | |
9 | AC_PROG_CXX | |
65613131 | 10 | AC_LANG([C++]) |
f0e4dcba | 11 | AC_GNU_SOURCE |
89265bd3 | 12 | |
519f5484 PL |
13 | AC_DEFINE([DNSDIST], [1], |
14 | [This is dnsdist] | |
15 | ) | |
16 | ||
89265bd3 RK |
17 | LT_PREREQ([2.2.2]) |
18 | LT_INIT([disable-static]) | |
19 | ||
cb264691 | 20 | PDNS_WITH_LIBSODIUM |
82a91ddf | 21 | PDNS_CHECK_FSTRM |
29e13421 | 22 | PDNS_CHECK_RAGEL([dnslabeltext.cc], [www.dnsdist.org]) |
289351c3 | 23 | PDNS_CHECK_LIBEDIT |
bcd17c71 | 24 | PDNS_CHECK_CLOCK_GETTIME |
2d8a1c75 | 25 | |
65613131 | 26 | PDNS_CHECK_OS |
519f5484 | 27 | PTHREAD_SET_NAME |
65613131 | 28 | PDNS_CHECK_NETWORK_LIBS |
f0e4dcba | 29 | PDNS_CHECK_PTHREAD_NP |
7e81628b | 30 | PDNS_CHECK_SECURE_MEMSET |
65613131 | 31 | |
2d8a1c75 PL |
32 | |
33 | PDNS_WITH_PROTOBUF | |
2d8a1c75 | 34 | |
4d5959e6 | 35 | boost_required_version=1.42 |
2d8a1c75 | 36 | BOOST_REQUIRE([$boost_required_version]) |
2d8a1c75 | 37 | |
ca404e94 | 38 | PDNS_ENABLE_UNIT_TESTS |
4ed8dfeb | 39 | PDNS_CHECK_RE2 |
11e1e08b | 40 | DNSDIST_ENABLE_DNSCRYPT |
87b515ed | 41 | PDNS_WITH_EBPF |
9f4eb5cc | 42 | PDNS_WITH_NET_SNMP |
11e1e08b | 43 | |
6ab65223 PL |
44 | AX_AVAILABLE_SYSTEMD |
45 | AM_CONDITIONAL([HAVE_SYSTEMD], [ test x"$systemd" = "xy" ]) | |
46 | ||
f8204e9e | 47 | AC_SUBST([YAHTTP_CFLAGS], ['-I$(top_srcdir)/ext/yahttp']) |
23448838 | 48 | AC_SUBST([YAHTTP_LIBS], ['$(top_builddir)/ext/yahttp/yahttp/libyahttp.la']) |
15e9de5a | 49 | |
026090e8 | 50 | PDNS_WITH_LUA([mandatory]) |
9a927586 | 51 | PDNS_CHECK_LUA_HPP |
15e9de5a | 52 | |
a227f47d | 53 | DNSDIST_ENABLE_DNS_OVER_TLS |
04c46adc | 54 | DNSDIST_WITH_GNUTLS |
857dd690 | 55 | DNSDIST_WITH_LIBSSL |
a227f47d RG |
56 | AS_IF([test "x$enable_dns_over_tls" != "xno"], [ |
57 | AS_IF([test "$HAVE_LIBSSL" = "1"], [ | |
58 | # we need libcrypto if libssl is enabled | |
59 | PDNS_CHECK_LIBCRYPTO | |
60 | ]) | |
61 | AS_IF([test "$HAVE_GNUTLS" = "0" -a "$HAVE_LIBSSL" = "0"], [ | |
62 | AC_MSG_ERROR([DNS over TLS support requested but neither GnuTLS nor OpenSSL are available]) | |
63 | ]) | |
64 | ]) | |
65 | ||
8c8b9197 | 66 | AX_CXX_COMPILE_STDCXX_11([ext], [mandatory]) |
bbfefc98 | 67 | |
bfb7cc84 RG |
68 | AC_MSG_CHECKING([whether we will enable compiler security checks]) |
69 | AC_ARG_ENABLE([hardening], | |
8c8b9197 | 70 | [AS_HELP_STRING([--disable-hardening], [disable compiler security checks @<:@default=no@:>@])], |
bfb7cc84 RG |
71 | [enable_hardening=$enableval], |
72 | [enable_hardening=yes] | |
73 | ) | |
74 | AC_MSG_RESULT([$enable_hardening]) | |
75 | ||
76 | AS_IF([test "x$enable_hardening" != "xno"], [ | |
77 | AC_CC_PIE | |
78 | AC_CC_STACK_PROTECTOR | |
79 | AC_CC_PARAM_SSP_BUFFER_SIZE([4]) | |
80 | AC_CC_D_FORTIFY_SOURCE | |
81 | AC_LD_RELRO | |
82 | ]) | |
83 | ||
e85e4d88 RG |
84 | PDNS_ENABLE_SANITIZERS |
85 | ||
20d81666 | 86 | PDNS_CHECK_VIRTUALENV |
f68a9074 | 87 | |
bfb7cc84 RG |
88 | LDFLAGS="$RELRO_LDFLAGS $LDFLAGS" |
89 | ||
b0e68161 RK |
90 | CFLAGS="$PIE_CFLAGS $CFLAGS" |
91 | CXXFLAGS="$PIE_CFLAGS $CXXFLAGS" | |
92 | PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS" | |
bfb7cc84 RG |
93 | AC_SUBST([PROGRAM_LDFLAGS]) |
94 | ||
4649d67b RK |
95 | AC_SUBST([AM_CPPFLAGS], |
96 | ["AS_ESCAPE([-I$(top_builddir) -I$(top_srcdir)]) -Wall -O3 -pthread $BOOST_CPPFLAGS"] | |
97 | ) | |
98 | ||
555970c9 RG |
99 | AC_ARG_VAR(PACKAGEVERSION, [The version used in secpoll queries]) |
100 | AS_IF([test "x$PACKAGEVERSION" != "x"], | |
101 | [AC_DEFINE_UNQUOTED([PACKAGEVERSION], "$PACKAGEVERSION", [Set to the package version used for secpoll])] | |
102 | ) | |
103 | ||
50bed881 | 104 | AC_CONFIG_FILES([Makefile |
f8204e9e PL |
105 | ext/yahttp/Makefile |
106 | ext/yahttp/yahttp/Makefile]) | |
23448838 | 107 | |
50bed881 | 108 | AC_OUTPUT |
8ee8668e PL |
109 | |
110 | AC_MSG_NOTICE([]) | |
111 | AC_MSG_NOTICE([Configuration summary]) | |
112 | AC_MSG_NOTICE([=====================]) | |
113 | AC_MSG_NOTICE([]) | |
114 | AS_IF([test "x$ac_configure_args" != "x"], | |
115 | [summary_conf_opts=$ac_configure_args], | |
116 | [summary_conf_opts="(no options)"] | |
117 | ) | |
118 | AC_MSG_NOTICE([dnsdist configured with: $summary_conf_opts]) | |
119 | AC_MSG_NOTICE([]) | |
120 | AC_MSG_NOTICE([CC: $CC]) | |
121 | AC_MSG_NOTICE([CXX: $CXX]) | |
122 | AC_MSG_NOTICE([LD: $LD]) | |
123 | AC_MSG_NOTICE([CFLAGS: $CFLAGS]) | |
124 | AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS]) | |
125 | AC_MSG_NOTICE([CXXFLAGS: $CXXFLAGS]) | |
126 | AC_MSG_NOTICE([LDFLAGS: $LDFLAGS]) | |
127 | AC_MSG_NOTICE([LIBS: $LIBS]) | |
128 | AC_MSG_NOTICE([BOOST_CPPFLAGS: $BOOST_CPPFLAGS]) | |
129 | AC_MSG_NOTICE([]) | |
130 | AC_MSG_NOTICE([Features enabled]) | |
131 | AC_MSG_NOTICE([----------------]) | |
026090e8 | 132 | AC_MSG_NOTICE([Lua: $LUAPC]) |
8ee8668e PL |
133 | AS_IF([test "x$PROTOBUF_LIBS" != "x" -a x"$PROTOC" != "x"], |
134 | [AC_MSG_NOTICE([Protobuf: yes])], | |
135 | [AC_MSG_NOTICE([Protobuf: no])] | |
136 | ) | |
137 | AS_IF([test "x$systemd" != "xn"], | |
138 | [AC_MSG_NOTICE([systemd: yes])], | |
139 | [AC_MSG_NOTICE([systemd: no])] | |
140 | ) | |
141 | AS_IF([test "x$LIBSODIUM_LIBS" != "x"], | |
142 | [AC_MSG_NOTICE([libsodium: yes])], | |
143 | [AC_MSG_NOTICE([libsodium: no])] | |
144 | ) | |
145 | AS_IF([test "x$enable_dnscrypt" != "xno"], | |
146 | [AC_MSG_NOTICE([DNSCrypt: yes])], | |
147 | [AC_MSG_NOTICE([DNSCrypt: no])] | |
148 | ) | |
82a91ddf CH |
149 | AS_IF([test "x$FSTRM_LIBS" != "x"], |
150 | [AC_MSG_NOTICE([fstrm: yes])], | |
151 | [AC_MSG_NOTICE([fstrm: no])] | |
152 | ) | |
8ee8668e PL |
153 | AS_IF([test "x$RE2_LIBS" != "x"], |
154 | [AC_MSG_NOTICE([re2: yes])], | |
155 | [AC_MSG_NOTICE([re2: no])] | |
156 | ) | |
9f4eb5cc RG |
157 | AS_IF([test "x$NET_SNMP_LIBS" != "x"], |
158 | [AC_MSG_NOTICE([SNMP: yes])], | |
159 | [AC_MSG_NOTICE([SNMP: no])] | |
160 | ) | |
a227f47d RG |
161 | AS_IF([test "x$enable_dns_over_tls" != "xno"], |
162 | [AC_MSG_NOTICE([DNS over TLS: yes])], | |
163 | [AC_MSG_NOTICE([DNS over TLS: no])] | |
164 | ) | |
165 | AS_IF([test "x$GNUTLS_LIBS" != "x"], | |
166 | [AC_MSG_NOTICE([GnuTLS: yes])], | |
167 | [AC_MSG_NOTICE([GnuTLS: no])] | |
168 | ) | |
169 | AS_IF([test "x$LIBSSL_LIBS" != "x"], | |
170 | [AC_MSG_NOTICE([OpenSSL: yes])], | |
171 | [AC_MSG_NOTICE([OpenSSL: no])] | |
172 | ) | |
8ee8668e | 173 | AC_MSG_NOTICE([]) |