Better bounds checking on DNS
[network-sink.git] / configure.ac
blobf3d609bf6534e64c0d4dea72d04f49ca39ea979d
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
4 AC_PREREQ([2.65])
5 AC_INIT([sinkhole], [@VERSION@], [adam@sigterm.info])
6 AC_CONFIG_SRCDIR([src/sinkhole.cpp])
7 AC_CONFIG_HEADERS([include/config.h])
9 # Checks for programs.
10 AC_PROG_CXX
11 AC_PROG_CPP
12 AC_PATH_PROG(MKDIR, mkdir)
13 AC_PATH_PROG(CP, cp)
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.
30 AC_TYPE_SIZE_T
32 # Checks for library functions.
33 IO_ENGINE="poll"
34 AC_CHECK_FUNCS([epoll_create], [ IO_ENGINE="epoll" ])
35 AC_CHECK_FUNCS([kqueue], [ IO_ENGINE="kqueue" ])
37 CXXFLAGS=
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" ])
46 AC_SUBST(IO_ENGINE)
48 AC_SUBST(HAVE_MYSQLCLIENT)
49 AC_SUBST(HAVE_PCAP)
50 AC_SUBST(HAVE_RT)
51 AC_SUBST(HAVE_PCAP_H)
52 AC_SUBST(HAVE_MYSQL_H)
53 AC_SUBST(HAVE_AIO_H)
55 AC_CONFIG_FILES(@CONFIGFILES@)
57 AC_OUTPUT