X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=configure.ac;h=2535d0b4f125f96e0400deff71c45e64461e21c7;hb=5538c5782135666d73f7615a37ea9689afa07dcd;hp=4cbf68afdd9b7f5ac2f1dbc504d6b6b008196328;hpb=523633cb1b66234daa431f71278041f511046f00;p=onak.git diff --git a/configure.ac b/configure.ac index 4cbf68a..2535d0b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,31 +1,55 @@ AC_PREREQ(2.50) -AC_INIT([onak],[0.3.0],[noodles-onak@earth.li]) - +AC_INIT([onak],[0.3.1+arch],[noodles-onak@earth.li]) +AC_CONFIG_SRCDIR(onak.c) AC_CONFIG_HEADER(config.h) AC_PROG_CC AC_C_BIGENDIAN -AC_ARG_ENABLE(backend,AC_HELP_STRING([--enable-backend=],[Choose the backend database to use. Defaults to db3.]), [], [enable_backend="db3"]) +AC_ARG_ENABLE(backend,AC_HELP_STRING([--enable-backend=],[Choose the backend database to use. Defaults to db4.]), [], [enable_backend="db4"]) + +AC_ARG_ENABLE(keyd,AC_HELP_STRING([--enable-keyd],[Use keyd as the DB backend.]), [], []) AC_MSG_CHECKING([which key database backend to use]) AC_MSG_RESULT([$enable_backend]) -AC_CHECK_FILE(keydb_$enable_backend.c, ,AC_MSG_ERROR([non existent key database backend $enable_backend])) +AC_CHECK_FILE([$srcdir/keydb_$enable_backend.c], ,AC_MSG_ERROR([non existent key database backend $enable_backend])) -if test "x$enable_backend" = "xdb3" +if test "x$enable_backend" = "xdb4" then - AC_CHECK_LIB(db3, db_env_create,, - AC_MSG_ERROR([cannot compile DB3 backend without libdb3])) + AC_CHECK_HEADER(db.h, have_db_h="yes", have_db_h="no") + AC_MSG_CHECKING(for libdb version in db.h) + printf "#include \nDB_VERSION_MAJOR DB_VERSION_MINOR\n" >conftest.c + set `eval $ac_cpp conftest.c | egrep '^ *[[0-9]] *'`; v="$1"; vv="$2" + AC_MSG_RESULT($v.$vv) + if test "$v" -ne 4; then + AC_MSG_ERROR([ * onak requires libdb version 4]) + fi + for db in "db-$v.$vv" "db$v.$vv" "db-$v" "db$v" "db"; do + AC_MSG_CHECKING(for db_create in lib$db) + oldLIBS="$LIBS" + LIBS="$LIBS -l$db" + AC_TRY_LINK([#include ], db_create(0, 0, 0), + have_libdb="yes", have_libdb="no") + AC_MSG_RESULT($have_libdb) + if test "$have_libdb" != "no"; then break; fi + LIBS="$oldLIBS" + done + if test "$have_libdb" = "no" -o "$have_db_h" = "no"; then + AC_MSG_ERROR(libdb not found.) + fi + AC_DEFINE(HAVE_LIBDB, 1, [libdb found]) else if test "x$enable_backend" = "xpg" then - AC_CHECK_LIB(pq, PQsetdbLoginx,, + AC_CHECK_LIB(pq, PQsetdbLogin,, AC_MSG_ERROR([cannot compile PostgreSQL backend without libpq])) fi fi AC_SUBST(DBTYPE, $enable_backend) +AC_SUBST(KEYD, $enable_keyd) + AC_CONFIG_FILES(Makefile) AC_OUTPUT