# Process this file with autoconf to produce a configure script. AC_INIT([glflow],[0.1],[dudu@dudu.ro]) AM_INIT_AUTOMAKE([glflow],[0.1],[dudu@dudu.ro]) AC_CONFIG_SRCDIR([main.cpp]) AM_CONFIG_HEADER([config.h]) AC_CANONICAL_HOST AC_MSG_CHECKING([for platform type]) case "$host_os" in linux*) AC_DEFINE([_LINUX], [1], ["LINUX"]) platform=linux ;; freebsd*) AC_DEFINE([_FREEBSD], [1], ["FREEBSD"]) platform=freebsd ;; openbsd*) AC_DEFINE([_OPENBSD], [1], ["OPENBSD"]) platform=openbsd ;; netbsd*) AC_DEFINE([_NETBSD], [1], ["NETBSD"]) platform=netbsd ;; darwin*) AC_DEFINE([_DARWIN], [1], ["DARWIN"]) platform=darwin ;; *) AC_MSG_ERROR([platform not supported!]) ;; esac AC_MSG_RESULT([$platform]) AC_MSG_CHECKING([which hash function to use]) AC_ARG_WITH(hash, [[ --with-hash[=md5|md4]] Use MD5 or MD4 for flow/host hashing], [ case "${withval}" in md4) AC_MSG_RESULT([MD4]) AC_DEFINE([_USE_MD4], [], ["MD4"]) ;; *) AC_MSG_RESULT([MD5]) AC_DEFINE([_USE_MD5], [], "MD5") ;; esac ], AC_DEFINE([_USE_MD5], , ["MD5"]) AC_MSG_RESULT([MD5]) ) AC_MSG_CHECKING(whether to compile a debug version) AC_ARG_ENABLE(debug, [[ --enable-debug[=yes|no]] Compile a debug version], [ case "${enableval}" in yes) AC_MSG_RESULT([yes]) AC_DEFINE([_DEBUG], [], ["DEBUG"]) ;; *) AC_MSG_RESULT([no]) ;; esac ], AC_MSG_RESULT([no]) ) # Checks for programs. AC_PROG_CXX AC_PROG_CC # Checks for libraries. AC_CHECK_LIB([crypto], [MD5_Init], [], AC_MSG_ERROR([OpenSSL libs missing])) AC_CHECK_LIB([pcap], [pcap_open_live], [], AC_MSG_ERROR([pcap libs missing])) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([float.h stddef.h stdlib.h string.h]) AC_CHECK_HEADERS([errno.h fcntl.h limits.h math.h signal.h stdarg.h unistd.h]) AC_CHECK_HEADERS([stdio.h strings.h]) AC_CHECK_HEADERS([sys/ioctl.h sys/socket.h sys/time.h sys/types.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([netinet/in.h]) AC_CHECK_HEADERS([arpa/inet.h]) AC_CHECK_HEADERS([netinet/in_systm.h]) AC_CHECK_HEADERS([netinet/ip.h], [], [], [ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif]) AC_CHECK_HEADERS([netinet/ip_icmp.h], [], [], [ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_NETINET_IN_SYSTM_H #include #endif #ifdef HAVE_NETINET_IP_H #include #endif]) AC_CHECK_HEADERS([netinet/tcp.h]) AC_CHECK_HEADERS([netinet/udp.h], [], [], [ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif]) AC_CHECK_HEADERS([syslog.h pcap.h openssl/md5.h openssl/md4.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_PID_T # Checks for library functions. AC_FUNC_FORK AC_TYPE_SIGNAL AC_CHECK_FUNCS([inet_ntoa]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT