]> git.ipfire.org Git - thirdparty/pdns.git/blame - pdns/dnsdistdist/configure.ac
Merge pull request #4692 from cmouse/ssql-unique-ptr
[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))
50bed881 4AM_INIT_AUTOMAKE([foreign dist-bzip2 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++])
89265bd3
RK
11
12LT_PREREQ([2.2.2])
13LT_INIT([disable-static])
14
49ba8993 15PDNS_CHECK_LIBSODIUM
30bfe7f6 16DNSDIST_CHECK_RAGEL
289351c3 17PDNS_CHECK_LIBEDIT
bcd17c71 18PDNS_CHECK_CLOCK_GETTIME
2d8a1c75 19
65613131
PL
20PDNS_CHECK_OS
21PDNS_CHECK_NETWORK_LIBS
22
2d8a1c75
PL
23boost_required_version=1.35
24
25PDNS_WITH_PROTOBUF
26AS_IF([test "x$PROTOBUF_LIBS" != "x" -a x"$PROTOC" != "x"],
27 # The protobuf code needs boost::uuid, which is available from 1.42 onward
d778e06d
PL
28 [AC_MSG_WARN([Bumping minimal Boost requirement to 1.42. To keep the requirement at 1.35, disable protobuf support])
29 boost_required_version=1.42]
2d8a1c75
PL
30)
31
32BOOST_REQUIRE([$boost_required_version])
2d8a1c75 33
ca404e94 34PDNS_ENABLE_UNIT_TESTS
4ed8dfeb 35PDNS_CHECK_RE2
11e1e08b 36DNSDIST_ENABLE_DNSCRYPT
87b515ed 37PDNS_WITH_EBPF
9f4eb5cc 38PDNS_WITH_NET_SNMP
11e1e08b 39
6ab65223
PL
40AX_AVAILABLE_SYSTEMD
41AM_CONDITIONAL([HAVE_SYSTEMD], [ test x"$systemd" = "xy" ])
42
f8204e9e 43AC_SUBST([YAHTTP_CFLAGS], ['-I$(top_srcdir)/ext/yahttp'])
23448838 44AC_SUBST([YAHTTP_LIBS], ['$(top_builddir)/ext/yahttp/yahttp/libyahttp.la'])
15e9de5a
RG
45
46PDNS_WITH_LUAJIT
47AS_IF([test "x$with_luajit" = "xno"], [
48 PDNS_WITH_LUA
49])
50AS_IF([test "x$LUAPC" = "x" -a "x$LUAJITPC" = "x"], [
51 AC_MSG_ERROR([Neither Lua nor LuaJIT found, Lua support is not optional])
52])
9a927586 53PDNS_CHECK_LUA_HPP
15e9de5a 54
8c8b9197 55AX_CXX_COMPILE_STDCXX_11([ext], [mandatory])
bbfefc98 56
bfb7cc84
RG
57AC_MSG_CHECKING([whether we will enable compiler security checks])
58AC_ARG_ENABLE([hardening],
8c8b9197 59 [AS_HELP_STRING([--disable-hardening], [disable compiler security checks @<:@default=no@:>@])],
bfb7cc84
RG
60 [enable_hardening=$enableval],
61 [enable_hardening=yes]
62)
63AC_MSG_RESULT([$enable_hardening])
64
65AS_IF([test "x$enable_hardening" != "xno"], [
66 AC_CC_PIE
67 AC_CC_STACK_PROTECTOR
68 AC_CC_PARAM_SSP_BUFFER_SIZE([4])
69 AC_CC_D_FORTIFY_SOURCE
70 AC_LD_RELRO
71])
72
e85e4d88
RG
73PDNS_ENABLE_SANITIZERS
74
20d81666 75PDNS_CHECK_VIRTUALENV
f68a9074 76
bfb7cc84
RG
77LDFLAGS="$RELRO_LDFLAGS $LDFLAGS"
78
b0e68161
RK
79CFLAGS="$PIE_CFLAGS $CFLAGS"
80CXXFLAGS="$PIE_CFLAGS $CXXFLAGS"
81PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS"
bfb7cc84
RG
82AC_SUBST([PROGRAM_LDFLAGS])
83
4649d67b
RK
84AC_SUBST([AM_CPPFLAGS],
85 ["AS_ESCAPE([-I$(top_builddir) -I$(top_srcdir)]) -Wall -O3 -pthread $BOOST_CPPFLAGS"]
86)
87
50bed881 88AC_CONFIG_FILES([Makefile
f8204e9e
PL
89 ext/yahttp/Makefile
90 ext/yahttp/yahttp/Makefile])
23448838 91
50bed881 92AC_OUTPUT
8ee8668e
PL
93
94AC_MSG_NOTICE([])
95AC_MSG_NOTICE([Configuration summary])
96AC_MSG_NOTICE([=====================])
97AC_MSG_NOTICE([])
98AS_IF([test "x$ac_configure_args" != "x"],
99 [summary_conf_opts=$ac_configure_args],
100 [summary_conf_opts="(no options)"]
101)
102AC_MSG_NOTICE([dnsdist configured with: $summary_conf_opts])
103AC_MSG_NOTICE([])
104AC_MSG_NOTICE([CC: $CC])
105AC_MSG_NOTICE([CXX: $CXX])
106AC_MSG_NOTICE([LD: $LD])
107AC_MSG_NOTICE([CFLAGS: $CFLAGS])
108AC_MSG_NOTICE([CPPFLAGS: $CPPFLAGS])
109AC_MSG_NOTICE([CXXFLAGS: $CXXFLAGS])
110AC_MSG_NOTICE([LDFLAGS: $LDFLAGS])
111AC_MSG_NOTICE([LIBS: $LIBS])
112AC_MSG_NOTICE([BOOST_CPPFLAGS: $BOOST_CPPFLAGS])
113AC_MSG_NOTICE([])
114AC_MSG_NOTICE([Features enabled])
115AC_MSG_NOTICE([----------------])
116AS_IF([test "x$LUAPC" != "x"],
117 [AC_MSG_NOTICE([Lua: $LUAPC])],
118 [AS_IF([test "x$LUAJITPC" != "x"],
119 [AC_MSG_NOTICE([LuaJit: $LUAJITPC])],
120 [AC_MSG_NOTICE([Lua/LuaJit: no])])
121])
122AS_IF([test "x$PROTOBUF_LIBS" != "x" -a x"$PROTOC" != "x"],
123 [AC_MSG_NOTICE([Protobuf: yes])],
124 [AC_MSG_NOTICE([Protobuf: no])]
125)
126AS_IF([test "x$systemd" != "xn"],
127 [AC_MSG_NOTICE([systemd: yes])],
128 [AC_MSG_NOTICE([systemd: no])]
129)
130AS_IF([test "x$LIBSODIUM_LIBS" != "x"],
131 [AC_MSG_NOTICE([libsodium: yes])],
132 [AC_MSG_NOTICE([libsodium: no])]
133)
134AS_IF([test "x$enable_dnscrypt" != "xno"],
135 [AC_MSG_NOTICE([DNSCrypt: yes])],
136 [AC_MSG_NOTICE([DNSCrypt: no])]
137)
138AS_IF([test "x$RE2_LIBS" != "x"],
139 [AC_MSG_NOTICE([re2: yes])],
140 [AC_MSG_NOTICE([re2: no])]
141)
9f4eb5cc
RG
142AS_IF([test "x$NET_SNMP_LIBS" != "x"],
143 [AC_MSG_NOTICE([SNMP: yes])],
144 [AC_MSG_NOTICE([SNMP: no])]
145)
8ee8668e 146AC_MSG_NOTICE([])