2 # Process this file with autoconf to produce a configure script.
5 AC_INIT(ldns, 1.6.16, libdns@nlnetlabs.nl,libdns)
6 AC_CONFIG_SRCDIR([drill.c])
7 sinclude(../acx_nlnetlabs.m4)
10 CPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}}
12 CFLAGS=${CFLAGS:-${OURCFLAGS}}
13 AC_DEFINE(WINVER, 0x0502, [the version of the windows API enabled])
16 # Checks for programs.
19 AC_CHECK_PROGS(libtool, [glibtool libtool15 libtool], [../libtool])
21 # add option to disable the evil rpath
22 dnl Check whether to use rpath or not
24 [ --disable-rpath disable hardcoded rpath (default=enabled)],
25 enable_rpath=$enableval, enable_rpath=yes)
27 if test "x$enable_rpath" = xyes; then
28 RPATH_VAL="-Wl,-rpath=\${libdir}"
32 ACX_CHECK_COMPILER_FLAG(std=c99, [C99FLAG="-std=c99"])
33 ACX_CHECK_COMPILER_FLAG(xc99, [C99FLAG="-xc99"])
36 ACX_CHECK_COMPILER_FLAG(O2, [CFLAGS="$CFLAGS -O2"])
38 ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600,
59 t = ctime_r(&time, buf);
62 a = getopt(2, opts, "a");
66 ], [CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"])
69 ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG, [#include <stdbool.h>], [CFLAGS="$CFLAGS $C99FLAG"])
72 AC_CHECK_TYPE(int8_t, char)
73 AC_CHECK_TYPE(int16_t, short)
74 AC_CHECK_TYPE(int32_t, int)
75 AC_CHECK_TYPE(int64_t, long long)
76 AC_CHECK_TYPE(uint8_t, unsigned char)
77 AC_CHECK_TYPE(uint16_t, unsigned short)
78 AC_CHECK_TYPE(uint32_t, unsigned int)
79 AC_CHECK_TYPE(uint64_t, unsigned long long)
80 AC_CHECK_TYPE(ssize_t, int)
82 AC_CHECK_HEADERS([sys/types.h getopt.h stdlib.h stdio.h assert.h netinet/in.h ctype.h time.h arpa/inet.h sys/time.h sys/socket.h sys/select.h],,, [AC_INCLUDES_DEFAULT])
83 AC_CHECK_HEADERS([netinet/in_systm.h net/if.h netinet/ip.h netinet/udp.h netinet/if_ether.h netinet/ip6.h],,, [
85 #ifdef HAVE_NETINET_IN_SYSTM_H
86 #include <netinet/in_systm.h>
88 #ifdef HAVE_NETINET_IN_H
89 #include <netinet/in.h>
91 #ifdef HAVE_SYS_SOCKET_H
92 #include <sys/socket.h>
98 AC_CHECK_HEADERS([winsock2.h ws2tcpip.h],,, [AC_INCLUDES_DEFAULT])
101 AC_CHECK_HEADERS([sys/param.h sys/mount.h],,,
102 [AC_INCLUDES_DEFAULT]
106 # include <sys/param.h>
110 AC_CHECK_TYPE(in_addr_t, [], [AC_DEFINE([in_addr_t], [uint32_t], [in_addr_t])], [
112 # include <sys/types.h>
114 #if HAVE_NETINET_IN_H
115 # include <netinet/in.h>
117 AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [
119 # include <sys/types.h>
121 #if HAVE_NETINET_IN_H
122 # include <netinet/in.h>
125 # check to see if libraries are needed for these functions.
126 AC_SEARCH_LIBS(socket, socket)
127 AC_SEARCH_LIBS([inet_pton], [nsl])
129 ACX_WITH_SSL_OPTIONAL
131 ACX_CHECK_GETADDRINFO_WITH_INCLUDES
138 AC_HELP_STRING([--with-ldns=PATH specify prefix of path of ldns library to use])
141 specialldnsdir="$withval"
142 CPPFLAGS="$CPPFLAGS -I$withval/include"
143 LDFLAGS="-L$withval -L$withval/lib $LDFLAGS"
146 LIBS_STC="$withval/lib/libldns.a $LIBS_STC"
150 #AC_CHECK_HEADER(ldns/ldns.h,, [
151 # AC_MSG_ERROR([Can't find ldns headers (make copy-headers in devel source.)])
152 # ], [AC_INCLUDES_DEFAULT]
155 AC_CHECK_FUNCS(isblank)
157 # check for ldns development source tree
158 AC_MSG_CHECKING([for ldns devel source])
160 if test -f $ldns_dev_dir/ldns/util.h && \
161 grep LDNS_VERSION $ldns_dev_dir/ldns/util.h >/dev/null; then
162 ldns_version=`grep LDNS_VERSION $ldns_dev_dir/ldns/util.h | sed -e 's/^.*"\(.*\)".*$/\1/'`
163 AC_MSG_RESULT([using $ldns_dev_dir with $ldns_version])
164 CPPFLAGS="$CPPFLAGS -I$ldns_dev_dir/include"
165 LDFLAGS="-L$ldns_dev_dir -L$ldns_dev_dir/lib $LDFLAGS"
167 AC_DEFINE(HAVE_LIBLDNS, 1, [If the ldns library is available.])
168 LDNSDIR="$ldns_dev_dir"
169 LIBS_STC="$ldns_dev_dir/lib/libldns.a $LIBS_STC"
172 AC_CHECK_LIB(ldns, ldns_rr_new, , [
173 AC_MSG_ERROR([Can't find ldns library])dnl '
180 AC_ARG_WITH(trust-anchor, AC_HELP_STRING([--with-trust-anchor=KEYFILE],
181 [Default location of the trust anchor file. [default=SYSCONFDIR/unbound/root.key]]), [
182 LDNS_TRUST_ANCHOR_FILE="$withval"
184 if test "x$LDNS_TRUST_ANCHOR_FILE" = "x"; then
185 if test "x$sysconfdir" = 'x${prefix}/etc' ; then
186 if test "x$prefix" = 'xNONE' ; then
187 LDNS_TRUST_ANCHOR_FILE="/etc/unbound/root.key"
189 LDNS_TRUST_ANCHOR_FILE="${prefix}/etc/unbound/root.key"
192 LDNS_TRUST_ANCHOR_FILE="${sysconfdir}/unbound/root.key"
196 AC_DEFINE_UNQUOTED([LDNS_TRUST_ANCHOR_FILE], ["$LDNS_TRUST_ANCHOR_FILE"], [Default trust anchor file])
197 AC_SUBST(LDNS_TRUST_ANCHOR_FILE)
198 AC_MSG_NOTICE([Default trust anchor: $LDNS_TRUST_ANCHOR_FILE])
216 #ifdef HAVE_SYS_SOCKET_H
217 #include <sys/socket.h>
220 #ifdef HAVE_NETINET_IN_H
221 #include <netinet/in.h>
224 #ifdef HAVE_ARPA_INET_H
225 #include <arpa/inet.h>
228 #ifdef HAVE_NETINET_UDP_H
229 #include <netinet/udp.h>
236 #ifdef HAVE_NETINET_IN_SYSTM_H
237 #include <netinet/in_systm.h>
240 #ifdef HAVE_NETINET_IP_H
241 #include <netinet/ip.h>
248 #ifdef HAVE_NETINET_IF_ETHER_H
249 #include <netinet/if_ether.h>
252 #ifdef HAVE_WINSOCK2_H
253 #define USE_WINSOCK 1
254 #include <winsock2.h>
257 #ifdef HAVE_WS2TCPIP_H
258 #include <ws2tcpip.h>
262 extern int optind, opterr;
265 #define EXIT_FAILURE 1
268 #define EXIT_SUCCESS 0
272 #define FD_ZERO(a) /* a */
273 #define FD_SET(a,b) /* a, b */
277 AC_CONFIG_FILES([Makefile drill.1])
278 AC_CONFIG_HEADER([config.h])