1dnl invoking this makes lmdb a requirement
2AC_DEFUN([PDNS_CHECK_LMDB], [
3  AC_MSG_CHECKING([where to find the lmdb library and headers])
4  AC_ARG_WITH([lmdb],
5    AS_HELP_STRING([--with-lmdb], [lmdb library to use @<:@default=auto@:>@]),[
6    with_lmdb=$withval
7    ],[
8    with_lmdb=auto
9  ])
10  AC_MSG_RESULT([$with_lmdb])
11
12  AS_IF([test "$with_lmdb" != "no"], [
13    AS_IF([test "x$with_lmdb" = "xyes" -o "x$with_lmdb" = "xauto"], [
14      PKG_CHECK_MODULES([LMDB], [lmdb], [
15        AC_DEFINE([HAVE_LMDB], [1], [Define to 1 if you have LMDB])
16        [HAVE_LMDB=1]
17        ], [ : ]
18      )
19    ], [
20      save_CPPFLAGS=$CPPFLAGS
21      save_LIBS=$LIBS
22      AS_IF([test -d "$with_lmdb/include"], [
23        LMDB_CFLAGS="-I$with_lmdb/include"
24        LMDB_LIBS="-L$with_lmdb/lib"
25      ],[
26        LMDB_CFLAGS="-I$with_lmdb"
27        LMDB_LIBS="-L$with_lmdb"
28      ])
29      CPPFLAGS="$LMDB_CFLAGS"
30      LIBS="$LMDB_LIBS"
31
32      AC_SEARCH_LIBS([mdb_env_open], [lmdb], [
33        AC_CHECK_HEADERS([lmdb.h], [
34          dnl ac_cv_search_mdb_env_open contains '-llmdb'
35          LMDB_LIBS="$LMDB_LIBS $ac_cv_search_mdb_env_open"
36          AC_DEFINE([HAVE_LMDB], [1], [Define to 1 if you have LMDB])
37          [HAVE_LMDB=1]
38        ], [
39          AC_MSG_ERROR([lmdb headers not found in $with_lmdb])
40        ])
41        CPPFLAGS="$save_CPPFLAGS"
42        LIBS="$save_LIBS"
43        AC_SUBST([LMDB_CFLAGS])
44        AC_SUBST([LMDB_LIBS])
45      ])
46    ])
47  ])
48  AM_CONDITIONAL([HAVE_LMDB], [test "x$LMDB_LIBS" != "x"])
49])
50