blob: d56729c7d7078e32dda6a61a149c350f63446c09 [file] [log] [blame]
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.62)
AC_INIT([pfring-daq-module], [0.1], [deri@ntop.org])
AM_INIT_AUTOMAKE([daq], [0.1])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([daq_pfring.c])
AC_CONFIG_HEADERS([config.h])
# Checks for programs.
AC_PROG_CC
AC_PROG_LIBTOOL
# Enable visibility if we can
AC_ENABLE_VISIBILITY()
# Special compiler flags for ICC, etc.
AC_SF_COMPILER_SETUP()
# Checks for the DAQ API headers and the SFBPF headers/library.
AC_CHECK_DAQ_API
AC_CHECK_SFBPF
# Checks for PF_RING
AC_ARG_WITH( libpfring_includes,
[ --with-libpfring-includes=DIR libpfring include directory],
[with_pfring_includes="$withval"], [with_pfring_includes="no"])
AC_ARG_WITH( pfring_kernel_includes,
[ --with-pfring-kernel-includes=DIR pfring kernel include directory],
[with_pfring_kernel_includes="$withval"], [with_pfring_kernel_includes="no"])
AC_ARG_WITH( libpfring_libraries,
[ --with-libpfring-libraries=DIR libpfring library directory],
[with_pfring_libraries="$withval"], [with_pfring_libraries="no"])
if test -d "${HOME}/PF_RING/"; then
CPPFLAGS="${CPPFLAGS} -I ${HOME}/PF_RING/userland/lib -I ${HOME}/PF_RING/kernel"
LDFLAGS="${LDFLAGS} -L${HOME}/PF_RING/userland/lib -lpthread"
fi
if test "x$with_pfring_includes" != "xno"; then
CPPFLAGS="${CPPFLAGS} -I${with_pfring_includes}"
fi
if test "x$with_pfring_kernel_includes" != "xno"; then
CPPFLAGS="${CPPFLAGS} -I${with_pfring_kernel_includes}"
fi
if test "x$with_pfring_libraries" != "xno"; then
LDFLAGS="${LDFLAGS} -L${with_pfring_libraries}"
fi
AC_CHECK_LIB([hiredis], [redisCommand])
if test "x$ac_cv_lib_hiredis_redisCommand" = xyes; then
CPPFLAGS="${CPPFLAGS} -D HAVE_REDIS"
LDFLAGS="${LDFLAGS} -lhiredis"
fi
# PF_RING headers/library checks
AC_CHECK_HEADER([pfring.h], [], [AC_MSG_ERROR([Could not find pfring.h! ])])
AC_CHECK_LIB( [pcap],
[pfring_open],
[LDFLAGS="${LDFLAGS} -lpcap"],
[LDFLAGS="${LDFLAGS} -lpfring"],
[] )
# Checks for header files.
AC_CHECK_HEADERS([netinet/in.h stdint.h stdlib.h string.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
AC_TYPE_UINT32_T
AC_TYPE_UINT8_T
# Checks for library functions.
#AC_FUNC_MALLOC
AC_CHECK_FUNCS([memset strchr strdup strerror strtol])
# Substitutions
# Output
AC_CONFIG_FILES([Makefile])
AC_OUTPUT