1238104Sdes# -*- Autoconf -*- 2238104Sdes# Process this file with autoconf to produce a configure script. 3238104Sdes 4238104SdesAC_PREREQ(2.56) 5269257SdesAC_INIT(ldns, 1.6.17, libdns@nlnetlabs.nl,libdns) 6238104SdesAC_CONFIG_SRCDIR([drill.c]) 7238104Sdessinclude(../acx_nlnetlabs.m4) 8238104Sdes 9238104SdesOURCPPFLAGS='' 10238104SdesCPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}} 11238104SdesOURCFLAGS='-g' 12238104SdesCFLAGS=${CFLAGS:-${OURCFLAGS}} 13238104SdesAC_DEFINE(WINVER, 0x0502, [the version of the windows API enabled]) 14238104Sdes 15238104SdesAC_AIX 16238104Sdes# Checks for programs. 17238104SdesAC_PROG_CC 18238104SdesAC_PROG_MAKE_SET 19238104SdesAC_CHECK_PROGS(libtool, [glibtool libtool15 libtool], [../libtool]) 20238104Sdes 21238104Sdes# add option to disable the evil rpath 22238104Sdesdnl Check whether to use rpath or not 23238104SdesAC_ARG_ENABLE(rpath, 24238104Sdes [ --disable-rpath disable hardcoded rpath (default=enabled)], 25238104Sdes enable_rpath=$enableval, enable_rpath=yes) 26238104Sdes 27238104Sdesif test "x$enable_rpath" = xyes; then 28238104Sdes RPATH_VAL="-Wl,-rpath=\${libdir}" 29238104Sdesfi 30238104Sdes 31238104Sdes 32238104SdesACX_CHECK_COMPILER_FLAG(std=c99, [C99FLAG="-std=c99"]) 33238104SdesACX_CHECK_COMPILER_FLAG(xc99, [C99FLAG="-xc99"]) 34238104Sdes 35238104SdesAC_TYPE_SIZE_T 36238104SdesACX_CHECK_COMPILER_FLAG(O2, [CFLAGS="$CFLAGS -O2"]) 37238104Sdes 38238104SdesACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600, 39238104Sdes[ 40238104Sdes#include "confdefs.h" 41238104Sdes#include <stdlib.h> 42238104Sdes#include <ctype.h> 43238104Sdes#include <sys/time.h> 44238104Sdes#ifdef HAVE_TIME_H 45238104Sdes#include <time.h> 46238104Sdes#endif 47238104Sdes#include <unistd.h> 48238104Sdes#ifdef HAVE_GETOPT_H 49238104Sdes#include <getopt.h> 50238104Sdes#endif 51238104Sdes 52238104Sdesint test() { 53238104Sdes int a; 54238104Sdes char **opts = NULL; 55238104Sdes struct timeval tv; 56238104Sdes char *t; 57238104Sdes time_t time = 0; 58238104Sdes char *buf = NULL; 59238104Sdes t = ctime_r(&time, buf); 60238104Sdes tv.tv_usec = 10; 61238104Sdes srandom(32); 62238104Sdes a = getopt(2, opts, "a"); 63238104Sdes a = isascii(32); 64238104Sdes return a; 65238104Sdes} 66238104Sdes], [CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"]) 67238104Sdes 68238104Sdes 69238104SdesACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG, [#include <stdbool.h>], [CFLAGS="$CFLAGS $C99FLAG"]) 70238104Sdes 71238104SdesAC_C_INLINE 72238104SdesAC_CHECK_TYPE(int8_t, char) 73238104SdesAC_CHECK_TYPE(int16_t, short) 74238104SdesAC_CHECK_TYPE(int32_t, int) 75238104SdesAC_CHECK_TYPE(int64_t, long long) 76238104SdesAC_CHECK_TYPE(uint8_t, unsigned char) 77238104SdesAC_CHECK_TYPE(uint16_t, unsigned short) 78238104SdesAC_CHECK_TYPE(uint32_t, unsigned int) 79238104SdesAC_CHECK_TYPE(uint64_t, unsigned long long) 80238104SdesAC_CHECK_TYPE(ssize_t, int) 81238104Sdes 82238104SdesAC_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]) 83238104SdesAC_CHECK_HEADERS([netinet/in_systm.h net/if.h netinet/ip.h netinet/udp.h netinet/if_ether.h netinet/ip6.h],,, [ 84238104SdesAC_INCLUDES_DEFAULT 85238104Sdes#ifdef HAVE_NETINET_IN_SYSTM_H 86238104Sdes#include <netinet/in_systm.h> 87238104Sdes#endif 88238104Sdes#ifdef HAVE_NETINET_IN_H 89238104Sdes#include <netinet/in.h> 90238104Sdes#endif 91238104Sdes#ifdef HAVE_SYS_SOCKET_H 92238104Sdes#include <sys/socket.h> 93238104Sdes#endif 94238104Sdes#ifdef HAVE_NET_IF_H 95238104Sdes#include <net/if.h> 96238104Sdes#endif]) 97238104Sdes# MinGW32 tests 98238104SdesAC_CHECK_HEADERS([winsock2.h ws2tcpip.h],,, [AC_INCLUDES_DEFAULT]) 99238104Sdes 100238104SdesACX_TYPE_SOCKLEN_T 101238104SdesAC_CHECK_HEADERS([sys/param.h sys/mount.h],,, 102238104Sdes[AC_INCLUDES_DEFAULT] 103238104Sdes[ 104238104Sdes [ 105238104Sdes #if HAVE_SYS_PARAM_H 106238104Sdes # include <sys/param.h> 107238104Sdes #endif 108238104Sdes ] 109238104Sdes]) 110238104SdesAC_CHECK_TYPE(in_addr_t, [], [AC_DEFINE([in_addr_t], [uint32_t], [in_addr_t])], [ 111238104Sdes#if HAVE_SYS_TYPES_H 112238104Sdes# include <sys/types.h> 113238104Sdes#endif 114238104Sdes#if HAVE_NETINET_IN_H 115238104Sdes# include <netinet/in.h> 116238104Sdes#endif]) 117238104SdesAC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [ 118238104Sdes#if HAVE_SYS_TYPES_H 119238104Sdes# include <sys/types.h> 120238104Sdes#endif 121238104Sdes#if HAVE_NETINET_IN_H 122238104Sdes# include <netinet/in.h> 123238104Sdes#endif]) 124238104Sdes 125238104Sdes# check to see if libraries are needed for these functions. 126238104SdesAC_SEARCH_LIBS(socket, socket) 127238104SdesAC_SEARCH_LIBS([inet_pton], [nsl]) 128238104Sdes 129238104SdesACX_WITH_SSL_OPTIONAL 130238104Sdes 131238104SdesACX_CHECK_GETADDRINFO_WITH_INCLUDES 132238104Sdes 133238104SdesLIBS_STC="$LIBS" 134238104SdesAC_SUBST(LIBS_STC) 135238104Sdes 136238104Sdes# check for ldns 137238104SdesAC_ARG_WITH(ldns, 138238104Sdes AC_HELP_STRING([--with-ldns=PATH specify prefix of path of ldns library to use]) 139238104Sdes , 140238104Sdes [ 141238104Sdes specialldnsdir="$withval" 142238104Sdes CPPFLAGS="$CPPFLAGS -I$withval/include" 143238104Sdes LDFLAGS="-L$withval -L$withval/lib $LDFLAGS" 144238104Sdes LDNSDIR="$withval" 145238104Sdes LIBS="-lldns $LIBS" 146238104Sdes LIBS_STC="$withval/lib/libldns.a $LIBS_STC" 147238104Sdes ] 148238104Sdes) 149238104Sdes 150238104Sdes#AC_CHECK_HEADER(ldns/ldns.h,, [ 151238104Sdes# AC_MSG_ERROR([Can't find ldns headers (make copy-headers in devel source.)]) 152238104Sdes# ], [AC_INCLUDES_DEFAULT] 153238104Sdes#) 154238104Sdes 155238104SdesAC_CHECK_FUNCS(isblank) 156238104Sdes 157238104Sdes# check for ldns development source tree 158238104SdesAC_MSG_CHECKING([for ldns devel source]) 159238104Sdesldns_dev_dir=.. 160238104Sdesif test -f $ldns_dev_dir/ldns/util.h && \ 161238104Sdes grep LDNS_VERSION $ldns_dev_dir/ldns/util.h >/dev/null; then 162238104Sdes ldns_version=`grep LDNS_VERSION $ldns_dev_dir/ldns/util.h | sed -e 's/^.*"\(.*\)".*$/\1/'` 163238104Sdes AC_MSG_RESULT([using $ldns_dev_dir with $ldns_version]) 164238104Sdes CPPFLAGS="$CPPFLAGS -I$ldns_dev_dir/include" 165238104Sdes LDFLAGS="-L$ldns_dev_dir -L$ldns_dev_dir/lib $LDFLAGS" 166238104Sdes LIBS="-lldns $LIBS" 167238104Sdes AC_DEFINE(HAVE_LIBLDNS, 1, [If the ldns library is available.]) 168238104Sdes LDNSDIR="$ldns_dev_dir" 169238104Sdes LIBS_STC="$ldns_dev_dir/lib/libldns.a $LIBS_STC" 170238104Sdeselse 171238104Sdes AC_MSG_RESULT([no]) 172238104Sdes AC_CHECK_LIB(ldns, ldns_rr_new, , [ 173246854Sdes AC_MSG_ERROR([Can't find ldns library])dnl ' 174238104Sdes ] 175238104Sdes ) 176238104Sdesfi 177238104Sdes 178238104SdesAC_SUBST(LDNSDIR) 179238104Sdes 180246854SdesAC_ARG_WITH(trust-anchor, AC_HELP_STRING([--with-trust-anchor=KEYFILE], 181246854Sdes[Default location of the trust anchor file. [default=SYSCONFDIR/unbound/root.key]]), [ 182246854Sdes LDNS_TRUST_ANCHOR_FILE="$withval" 183246854Sdes],[ 184246854Sdes if test "x$LDNS_TRUST_ANCHOR_FILE" = "x"; then 185246854Sdes if test "x$sysconfdir" = 'x${prefix}/etc' ; then 186246854Sdes if test "x$prefix" = 'xNONE' ; then 187246854Sdes LDNS_TRUST_ANCHOR_FILE="/etc/unbound/root.key" 188246854Sdes else 189246854Sdes LDNS_TRUST_ANCHOR_FILE="${prefix}/etc/unbound/root.key" 190246854Sdes fi 191246854Sdes else 192246854Sdes LDNS_TRUST_ANCHOR_FILE="${sysconfdir}/unbound/root.key" 193246854Sdes fi 194246854Sdes fi 195246854Sdes]) 196246854SdesAC_DEFINE_UNQUOTED([LDNS_TRUST_ANCHOR_FILE], ["$LDNS_TRUST_ANCHOR_FILE"], [Default trust anchor file]) 197246854SdesAC_SUBST(LDNS_TRUST_ANCHOR_FILE) 198246854SdesAC_MSG_NOTICE([Default trust anchor: $LDNS_TRUST_ANCHOR_FILE]) 199246854Sdes 200238104SdesAH_BOTTOM([ 201238104Sdes 202238104Sdes#include <stdio.h> 203238104Sdes#include <string.h> 204238104Sdes#include <unistd.h> 205238104Sdes#include <assert.h> 206238104Sdes 207238104Sdes#if STDC_HEADERS 208238104Sdes#include <stdlib.h> 209238104Sdes#include <stddef.h> 210238104Sdes#endif 211238104Sdes 212238104Sdes#ifdef HAVE_STDINT_H 213238104Sdes#include <stdint.h> 214238104Sdes#endif 215238104Sdes 216238104Sdes#ifdef HAVE_SYS_SOCKET_H 217238104Sdes#include <sys/socket.h> 218238104Sdes#endif 219238104Sdes 220238104Sdes#ifdef HAVE_NETINET_IN_H 221238104Sdes#include <netinet/in.h> 222238104Sdes#endif 223238104Sdes 224238104Sdes#ifdef HAVE_ARPA_INET_H 225238104Sdes#include <arpa/inet.h> 226238104Sdes#endif 227238104Sdes 228238104Sdes#ifdef HAVE_NETINET_UDP_H 229238104Sdes#include <netinet/udp.h> 230238104Sdes#endif 231238104Sdes 232238104Sdes#ifdef HAVE_TIME_H 233238104Sdes#include <time.h> 234238104Sdes#endif 235238104Sdes 236238104Sdes#ifdef HAVE_NETINET_IN_SYSTM_H 237238104Sdes#include <netinet/in_systm.h> 238238104Sdes#endif 239238104Sdes 240238104Sdes#ifdef HAVE_NETINET_IP_H 241238104Sdes#include <netinet/ip.h> 242238104Sdes#endif 243238104Sdes 244238104Sdes#ifdef HAVE_NET_IF_H 245238104Sdes#include <net/if.h> 246238104Sdes#endif 247238104Sdes 248238104Sdes#ifdef HAVE_NETINET_IF_ETHER_H 249238104Sdes#include <netinet/if_ether.h> 250238104Sdes#endif 251238104Sdes 252238104Sdes#ifdef HAVE_WINSOCK2_H 253238104Sdes#define USE_WINSOCK 1 254238104Sdes#include <winsock2.h> 255238104Sdes#endif 256238104Sdes 257238104Sdes#ifdef HAVE_WS2TCPIP_H 258238104Sdes#include <ws2tcpip.h> 259238104Sdes#endif 260238104Sdes 261238104Sdesextern char *optarg; 262238104Sdesextern int optind, opterr; 263238104Sdes 264238104Sdes#ifndef EXIT_FAILURE 265238104Sdes#define EXIT_FAILURE 1 266238104Sdes#endif 267238104Sdes#ifndef EXIT_SUCCESS 268238104Sdes#define EXIT_SUCCESS 0 269238104Sdes#endif 270238104Sdes 271238104Sdes#ifdef S_SPLINT_S 272238104Sdes#define FD_ZERO(a) /* a */ 273238104Sdes#define FD_SET(a,b) /* a, b */ 274238104Sdes#endif 275238104Sdes]) 276238104Sdes 277246854SdesAC_CONFIG_FILES([Makefile drill.1]) 278238104SdesAC_CONFIG_HEADER([config.h]) 279238104SdesAC_OUTPUT 280