]> the.earth.li Git - onak.git/blob - configure.ac
Add ability to drop overly large packets
[onak.git] / configure.ac
1 AC_PREREQ(2.50)
2 AC_INIT([onak],[0.5.0],[noodles-onak@earth.li])
3 AC_CONFIG_SRCDIR(onak.c)
4 AC_CONFIG_HEADER(config.h)
5
6 AC_PROG_CC
7 AC_PROG_CC_C99
8
9 AC_C_BIGENDIAN
10
11 m4_include([m4/ax_lib_nettle.m4])
12
13 AX_LIB_NETTLE(auto)
14 AC_CHECK_HEADER([systemd/sd-daemon.h], [
15         AC_CHECK_LIB([systemd-daemon], [sd_listen_fds],
16                 [AC_DEFINE([HAVE_SYSTEMD], [1], [sd_listen_fds is available])
17                 AC_SUBST([SYSTEMD_LIBS], [-lsystemd-daemon])
18         ],
19         AC_CHECK_LIB([systemd], [sd_listen_fds],
20                 [AC_DEFINE([HAVE_SYSTEMD], [1], [sd_listen_fds is available])
21                 AC_SUBST([SYSTEMD_LIBS], [-lsystemd])
22         ])
23         )
24 ])
25
26 dnl We should always have these backends available.
27 backends="file fs keyd stacked"
28
29 LIBCURL_CHECK_CONFIG(,,[have_libcurl="yes" backends="$backends hkp"],have_libcurl="no")
30
31 AC_CHECK_LIB(pq, PQsetdbLogin,[have_libpq="yes" backends="$backends pg"],have_libpq="no")
32
33 AC_CHECK_HEADER(db.h, have_db_h="yes", have_db_h="no")
34 AC_MSG_CHECKING(for libdb version in db.h)
35 printf "#include <db.h>\nDB_VERSION_MAJOR DB_VERSION_MINOR\n" >conftest.c
36 set `eval $ac_cpp conftest.c | egrep '^ *[[0-9]] *'`; v="$1"; vv="$2"
37 AC_MSG_RESULT($v.$vv)
38 if test "$v" -ge 4; then
39         for db in "db-$v.$vv" "db$v.$vv" "db-$v" "db$v" "db"; do
40                 AC_MSG_CHECKING(for db_create in lib$db)
41                 oldLIBS="$LIBS"
42                 LIBS="$LIBS -l$db"
43                 db4libs="-l$db"
44                 AC_TRY_LINK([#include <db.h>], db_create(0, 0, 0),
45                         have_libdb="yes", have_libdb="no")
46                 AC_MSG_RESULT($have_libdb)
47                 LIBS="$oldLIBS"
48                 if test "$have_libdb" != "no"; then break; fi
49         done
50 fi
51 if test "$have_libdb" = "yes" -a "$have_db_h" = "yes"; then
52         AC_DEFINE(HAVE_LIBDB4, 1, [libdb found])
53         backends="$backends db4"
54 fi
55
56 AC_MSG_CHECKING(available backends)
57 AC_MSG_RESULT($backends)
58
59 AC_ARG_ENABLE(backend,AC_HELP_STRING([--enable-backend=<backend>],[Choose the backend database to use. Defaults to dynamic.]), [], [enable_backend="dynamic"])
60
61 AC_ARG_ENABLE(keyd,AC_HELP_STRING([--enable-keyd],[Use keyd as the DB backend.]), [], [])
62
63 AC_MSG_CHECKING([which key database backend to use])
64 AC_MSG_RESULT([$enable_backend])
65 AC_CHECK_FILE([$srcdir/keydb_$enable_backend.c], ,AC_MSG_ERROR([non existent key database backend $enable_backend]))
66
67 if test "x$enable_backend" = "xdb4"
68 then
69         if test "$have_libdb" = "no" -o "$have_db_h" = "no"; then
70                 AC_MSG_ERROR(libdb not found.)
71         fi
72         LIBS="$LIBS $db4libs"
73 else if test "x$enable_backend" = "xpg"
74 then
75         if test "$have_libpq" = "no"; then
76                 AC_MSG_ERROR(libpq not found.)
77         fi
78         LIBS="$LIBS -lpq"
79 fi
80 fi
81
82 dnl If we are explicitly told which backend to use, only build that one.
83 if test "x$enable_backend" = "xdb4"
84 then
85         backend="$enable_backend"
86 fi
87
88 dnl Fallback for autoconf before 2.70
89 if test "x$runstatedir" = x; then
90         AC_SUBST([runstatedir], ["$localstatedir/run"])
91 fi
92
93 AC_SUBST(DBTYPE, $enable_backend)
94 AC_SUBST(DB4LIBS, $db4libs)
95 AC_SUBST(KEYD, $enable_keyd)
96 AC_SUBST(BACKENDS, $backends)
97
98 AC_CONFIG_FILES(Makefile)
99
100 AC_OUTPUT