From dfebe7f4f25a12b615195f339192fa8837d9b5c9 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Thu, 26 Apr 2012 11:29:22 -0400 Subject: [PATCH] nfsdcld: add autoconf goop for sqlite Mostly cribbed from Chuck Lever's new-statd rewrite a few years ago... This adds an autoconf test for the sqlite3 library and includes. If they're not working properly and nfsdcld was enabled, then configure will error out. Signed-off-by: Jeff Layton Signed-off-by: Steve Dickson --- aclocal/libsqlite3.m4 | 33 +++++++++++++++++++++++++++++++++ configure.ac | 9 +++++++++ 2 files changed, 42 insertions(+) create mode 100644 aclocal/libsqlite3.m4 diff --git a/aclocal/libsqlite3.m4 b/aclocal/libsqlite3.m4 new file mode 100644 index 0000000..73d1e46 --- /dev/null +++ b/aclocal/libsqlite3.m4 @@ -0,0 +1,33 @@ +dnl Checks for matching sqlite3 header and library, and +dnl sufficient sqlite3 version. +dnl +AC_DEFUN([AC_SQLITE3_VERS], [ + AC_CHECK_HEADERS([sqlite3.h], ,) + + dnl look for the library; do not add to LIBS if found + AC_CHECK_LIB([sqlite3], [sqlite3_libversion_number], [LIBSQLITE=-lsqlite3], ,) + AC_SUBST(LIBSQLITE) + + AC_MSG_CHECKING(for suitable sqlite3 version) + + AC_CACHE_VAL([libsqlite3_cv_is_recent], + [ + saved_LIBS="$LIBS" + LIBS=-lsqlite3 + AC_TRY_RUN([ + #include + #include + int main() + { + int vers = sqlite3_libversion_number(); + + return vers != SQLITE_VERSION_NUMBER || + vers < 3003000; + } + ], [libsqlite3_cv_is_recent=yes], [libsqlite3_cv_is_recent=no], + [libsqlite3_cv_is_recent=unknown]) + LIBS="$saved_LIBS"]) + + AC_MSG_RESULT($libsqlite3_cv_is_recent) + AM_CONDITIONAL(CONFIG_SQLITE3, [test "$libsqlite3_cv_is_recent" = "yes"]) +])dnl diff --git a/configure.ac b/configure.ac index a9ffb68..0d29dc7 100644 --- a/configure.ac +++ b/configure.ac @@ -266,6 +266,15 @@ if test "$enable_nfsv4" = yes; then dnl check for the keyutils libraries and headers AC_KEYUTILS + dnl Check for sqlite3 + AC_SQLITE3_VERS + + if test "$enable_nfsdcld" = "yes"; then + if test "$libsqlite3_cv_is_recent" != "yes" ; then + AC_MSG_ERROR([nfsdcld requires sqlite3]) + fi + fi + AM_CONDITIONAL(CONFIG_NFSDCLD, [test "$enable_nfsdcld" = "yes" ]) dnl librpcsecgss already has a dependency on libgssapi, -- 2.39.5