# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.56) AC_INIT(ldns, 1.6.17, libdns@nlnetlabs.nl,libdns) AC_CONFIG_SRCDIR([drill.c]) sinclude(../acx_nlnetlabs.m4) OURCPPFLAGS='' CPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}} OURCFLAGS='-g' CFLAGS=${CFLAGS:-${OURCFLAGS}} AC_DEFINE(WINVER, 0x0502, [the version of the windows API enabled]) AC_AIX # Checks for programs. AC_PROG_CC AC_PROG_MAKE_SET AC_CHECK_PROGS(libtool, [glibtool libtool15 libtool], [../libtool]) # add option to disable the evil rpath dnl Check whether to use rpath or not AC_ARG_ENABLE(rpath, [ --disable-rpath disable hardcoded rpath (default=enabled)], enable_rpath=$enableval, enable_rpath=yes) if test "x$enable_rpath" = xyes; then RPATH_VAL="-Wl,-rpath=\${libdir}" fi ACX_CHECK_COMPILER_FLAG(std=c99, [C99FLAG="-std=c99"]) ACX_CHECK_COMPILER_FLAG(xc99, [C99FLAG="-xc99"]) AC_TYPE_SIZE_T ACX_CHECK_COMPILER_FLAG(O2, [CFLAGS="$CFLAGS -O2"]) ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600, [ #include "confdefs.h" #include #include #include #ifdef HAVE_TIME_H #include #endif #include #ifdef HAVE_GETOPT_H #include #endif int test() { int a; char **opts = NULL; struct timeval tv; char *t; time_t time = 0; char *buf = NULL; t = ctime_r(&time, buf); tv.tv_usec = 10; srandom(32); a = getopt(2, opts, "a"); a = isascii(32); return a; } ], [CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"]) ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG, [#include ], [CFLAGS="$CFLAGS $C99FLAG"]) AC_C_INLINE AC_CHECK_TYPE(int8_t, char) AC_CHECK_TYPE(int16_t, short) AC_CHECK_TYPE(int32_t, int) AC_CHECK_TYPE(int64_t, long long) AC_CHECK_TYPE(uint8_t, unsigned char) AC_CHECK_TYPE(uint16_t, unsigned short) AC_CHECK_TYPE(uint32_t, unsigned int) AC_CHECK_TYPE(uint64_t, unsigned long long) AC_CHECK_TYPE(ssize_t, int) 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]) AC_CHECK_HEADERS([netinet/in_systm.h net/if.h netinet/ip.h netinet/udp.h netinet/if_ether.h netinet/ip6.h],,, [ AC_INCLUDES_DEFAULT #ifdef HAVE_NETINET_IN_SYSTM_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NET_IF_H #include #endif]) # MinGW32 tests AC_CHECK_HEADERS([winsock2.h ws2tcpip.h],,, [AC_INCLUDES_DEFAULT]) ACX_TYPE_SOCKLEN_T AC_CHECK_HEADERS([sys/param.h sys/mount.h],,, [AC_INCLUDES_DEFAULT] [ [ #if HAVE_SYS_PARAM_H # include #endif ] ]) AC_CHECK_TYPE(in_addr_t, [], [AC_DEFINE([in_addr_t], [uint32_t], [in_addr_t])], [ #if HAVE_SYS_TYPES_H # include #endif #if HAVE_NETINET_IN_H # include #endif]) AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [ #if HAVE_SYS_TYPES_H # include #endif #if HAVE_NETINET_IN_H # include #endif]) # check to see if libraries are needed for these functions. AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS([inet_pton], [nsl]) ACX_WITH_SSL_OPTIONAL ACX_CHECK_GETADDRINFO_WITH_INCLUDES LIBS_STC="$LIBS" AC_SUBST(LIBS_STC) # check for ldns AC_ARG_WITH(ldns, AC_HELP_STRING([--with-ldns=PATH specify prefix of path of ldns library to use]) , [ specialldnsdir="$withval" CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="-L$withval -L$withval/lib $LDFLAGS" LDNSDIR="$withval" LIBS="-lldns $LIBS" LIBS_STC="$withval/lib/libldns.a $LIBS_STC" ] ) #AC_CHECK_HEADER(ldns/ldns.h,, [ # AC_MSG_ERROR([Can't find ldns headers (make copy-headers in devel source.)]) # ], [AC_INCLUDES_DEFAULT] #) AC_CHECK_FUNCS(isblank) # check for ldns development source tree AC_MSG_CHECKING([for ldns devel source]) ldns_dev_dir=.. if test -f $ldns_dev_dir/ldns/util.h && \ grep LDNS_VERSION $ldns_dev_dir/ldns/util.h >/dev/null; then ldns_version=`grep LDNS_VERSION $ldns_dev_dir/ldns/util.h | sed -e 's/^.*"\(.*\)".*$/\1/'` AC_MSG_RESULT([using $ldns_dev_dir with $ldns_version]) CPPFLAGS="$CPPFLAGS -I$ldns_dev_dir/include" LDFLAGS="-L$ldns_dev_dir -L$ldns_dev_dir/lib $LDFLAGS" LIBS="-lldns $LIBS" AC_DEFINE(HAVE_LIBLDNS, 1, [If the ldns library is available.]) LDNSDIR="$ldns_dev_dir" LIBS_STC="$ldns_dev_dir/lib/libldns.a $LIBS_STC" else AC_MSG_RESULT([no]) AC_CHECK_LIB(ldns, ldns_rr_new, , [ AC_MSG_ERROR([Can't find ldns library])dnl ' ] ) fi AC_SUBST(LDNSDIR) AC_ARG_WITH(trust-anchor, AC_HELP_STRING([--with-trust-anchor=KEYFILE], [Default location of the trust anchor file. [default=SYSCONFDIR/unbound/root.key]]), [ LDNS_TRUST_ANCHOR_FILE="$withval" ],[ if test "x$LDNS_TRUST_ANCHOR_FILE" = "x"; then if test "x$sysconfdir" = 'x${prefix}/etc' ; then if test "x$prefix" = 'xNONE' ; then LDNS_TRUST_ANCHOR_FILE="/etc/unbound/root.key" else LDNS_TRUST_ANCHOR_FILE="${prefix}/etc/unbound/root.key" fi else LDNS_TRUST_ANCHOR_FILE="${sysconfdir}/unbound/root.key" fi fi ]) AC_DEFINE_UNQUOTED([LDNS_TRUST_ANCHOR_FILE], ["$LDNS_TRUST_ANCHOR_FILE"], [Default trust anchor file]) AC_SUBST(LDNS_TRUST_ANCHOR_FILE) AC_MSG_NOTICE([Default trust anchor: $LDNS_TRUST_ANCHOR_FILE]) AH_BOTTOM([ #include #include #include #include #if STDC_HEADERS #include #include #endif #ifdef HAVE_STDINT_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_NETINET_UDP_H #include #endif #ifdef HAVE_TIME_H #include #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include #endif #ifdef HAVE_NETINET_IP_H #include #endif #ifdef HAVE_NET_IF_H #include #endif #ifdef HAVE_NETINET_IF_ETHER_H #include #endif #ifdef HAVE_WINSOCK2_H #define USE_WINSOCK 1 #include #endif #ifdef HAVE_WS2TCPIP_H #include #endif extern char *optarg; extern int optind, opterr; #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif #ifdef S_SPLINT_S #define FD_ZERO(a) /* a */ #define FD_SET(a,b) /* a, b */ #endif ]) AC_CONFIG_FILES([Makefile drill.1]) AC_CONFIG_HEADER([config.h]) AC_OUTPUT