2 # Process this file with autoconf to produce a configure script.
5 AC_INIT([sinkhole], [@VERSION@], [adam@sigterm.info])
6 AC_CONFIG_SRCDIR([src/sinkhole.cpp])
7 AC_CONFIG_HEADERS([include/config.h])
12 AC_PATH_PROG(MKDIR, mkdir)
14 AC_PATH_PROG(INSTALL, install)
15 AC_PATH_PROG(STRIP, strip)
17 # Checks for libraries.
18 AC_CHECK_LIB([dl], [dlopen], [ LIBS="$LIBS -ldl" ])
19 AC_CHECK_LIB([pthread], [pthread_create], [ LIBS="$LIBS -lpthread" ])
20 AC_CHECK_LIB([mysqlclient], [mysql_real_connect], [ HAVE_MYSQLCLIENT="yes"], [ HAVE_MYSQLCLIENT="no" ])
21 AC_CHECK_LIB([pcap], [pcap_create], [ HAVE_PCAP="yes" ], [ HAVE_PCAP="no" ])
22 AC_CHECK_LIB([rt], [aio_error], [ HAVE_RT="yes" ], [ HAVE_RT="no" ])
24 # Checks for header files.
25 AC_CHECK_HEADERS([pcap.h], [ HAVE_PCAP_H="yes" ], [ HAVE_PCAP_H="no" ])
26 AC_CHECK_HEADERS([mysql/mysql.h], [ HAVE_MYSQL_H="yes" ], [ HAVE_MYSQL_H="no"])
27 AC_CHECK_HEADERS([aio.h], [ HAVE_AIO_H="yes" ], [ HAVE_AIO_H="no" ])
29 # Checks for typedefs, structures, and compiler characteristics.
32 # Checks for library functions.
34 AC_CHECK_FUNCS([epoll_create], [ IO_ENGINE="epoll" ])
35 AC_CHECK_FUNCS([kqueue], [ IO_ENGINE="kqueue" ])
38 AC_ARG_ENABLE(debug, [ --enable-debug enable debugging symbols ], [ CXXFLAGS="$CXXFLAGS -g" ], [ CXXFLAGS="$CXXFLAGS -O3"] )
39 AC_ARG_ENABLE(poll, [ --enable-poll force poll usage ], [ IO_ENGINE="poll" ])
40 AC_ARG_ENABLE(epoll, [ --enable-epoll force epoll usage ], [ IO_ENGINE="epoll" ])
41 AC_ARG_ENABLE(kqueue, [ --enable-kqueue force kqueue usage ], [ IO_ENGINE="kqueue" ])
43 AC_ARG_WITH(include-dir, [ --with-include-dir extra include paths if you have headers in nonstandard locations ], [ CXXFLAGS="$CXXFLAGS -I$withval" ])
44 AC_ARG_WITH(lib-dir, [ --with-lib-dir extra library paths if you have libraries in nonstandard locations ], [ LDFLAGS="$LDFLAGS -L$withval" ])
48 AC_SUBST(HAVE_MYSQLCLIENT)
52 AC_SUBST(HAVE_MYSQL_H)
55 AC_CONFIG_FILES(@CONFIGFILES@)