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