1AC_PREREQ(2.64) 2 3m4_define(wdns_major_version, 0) 4m4_define(wdns_minor_version, 10) 5m4_define(wdns_patchlevel_version, 0) 6m4_define(wdns_version, 7 wdns_major_version.wdns_minor_version.wdns_patchlevel_version) 8 9AC_INIT([wdns], 10 [wdns_version()], 11 [https://github.com/farsightsec/wdns/issues], 12 [wdns], 13 [https://github.com/farsightsec/wdns]) 14AC_CONFIG_SRCDIR([wdns/wdns.h.in]) 15AC_CONFIG_AUX_DIR([build-aux]) 16AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules subdir-objects]) 17AC_PROG_CC_STDC 18AC_USE_SYSTEM_EXTENSIONS 19AC_SYS_LARGEFILE 20AC_CONFIG_MACRO_DIR([m4]) 21AM_SILENT_RULES([yes]) 22LT_INIT 23 24WDNS_MAJOR_VERSION=wdns_major_version() 25WDNS_MINOR_VERSION=wdns_minor_version() 26WDNS_PATCHLEVEL_VERSION=wdns_patchlevel_version() 27WDNS_VERSION=wdns_version() 28 29AC_SUBST(WDNS_MAJOR_VERSION) 30AC_SUBST(WDNS_MINOR_VERSION) 31AC_SUBST(WDNS_PATCHLEVEL_VERSION) 32AC_SUBST(WDNS_VERSION) 33 34AC_CONFIG_HEADERS(config.h) 35AC_CONFIG_FILES([Makefile wdns/libwdns.pc wdns/wdns.h]) 36 37PKG_PROG_PKG_CONFIG 38if test -n "$PKG_CONFIG"; then 39 # Horrible hack for systems where the pkg-config install directory is simply wrong! 40 if $PKG_CONFIG --variable=pc_path pkg-config 2>/dev/null | grep -q /libdata/; then 41 PKG_INSTALLDIR(['${prefix}/libdata/pkgconfig']) 42 else 43 PKG_INSTALLDIR 44 fi 45else 46 AC_MSG_ERROR([pkg-config is required!]) 47fi 48 49my_CFLAGS="-Wall \ 50-Wmissing-declarations -Wmissing-prototypes \ 51-Wnested-externs -Wpointer-arith \ 52-Wpointer-arith -Wsign-compare -Wchar-subscripts \ 53-Wstrict-prototypes -Wshadow \ 54-Wformat-security" 55AC_SUBST([my_CFLAGS]) 56 57AC_CHECK_HEADERS([alloca.h]) 58 59AC_CHECK_HEADER([pcap.h]) 60AC_CHECK_LIB([pcap], [pcap_loop], 61 [ 62 AC_DEFINE([HAVE_LIBPCAP], [1], [Define to 1 if libpcap works.]) 63 have_libpcap=true 64 ], 65 [ 66 have_libpcap=false 67 ] 68) 69AM_CONDITIONAL([LIBPCAP], [test "$have_libpcap" = "true"]) 70 71gl_LD_VERSION_SCRIPT 72 73AM_PATH_PYTHON(,, [:]) 74AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) 75 76AC_ARG_WITH(coverage, 77[ --with-coverage[=PROGRAM] enable gtest and coverage target using the specified lcov], lcov="$withval", lcov="no") 78 79 80USE_LCOV="no" 81if test "$lcov" != "no"; then 82 if test "$lcov" != "yes"; then 83 LCOV=$lcov 84 else 85 AC_PATH_PROG([LCOV], [lcov]) 86 fi 87 if test -x "${LCOV}"; then 88 USE_LCOV="yes" 89 else 90 AC_MSG_ERROR([Cannot find lcov.]) 91 fi 92 # is genhtml always in the same directory? 93 GENHTML=`echo "$LCOV" | ${SED} s/lcov$/genhtml/` 94 if test ! -x $GENHTML; then 95 AC_MSG_ERROR([genhtml not found, needed for lcov]) 96 fi 97 CFLAGS="$CFLAGS --coverage" 98 LIBS=" $LIBS -lgcov" 99 AC_SUBST(CPPFLAGS) 100 AC_SUBST(LIBS) 101 AC_SUBST(LCOV) 102 AC_SUBST(GENHTML) 103fi 104AC_SUBST(USE_LCOV) 105 106AC_OUTPUT 107AC_MSG_RESULT([ 108 $PACKAGE $VERSION 109 110 CC: ${CC} 111 CFLAGS: ${CFLAGS} 112 LDFLAGS: ${LDFLAGS} 113 LIBS: ${LIBS} 114 115 prefix: ${prefix} 116 sysconfdir: ${sysconfdir} 117 libdir: ${libdir} 118 includedir: ${includedir} 119 pkgconfigdir: ${pkgconfigdir} 120 121 code coverage enabled: ${USE_LCOV} 122]) 123