]> git.sur5r.net Git - openldap/blobdiff - build/openldap.m4
Require 2.1.3 or higher for Cyrus SASL 2
[openldap] / build / openldap.m4
index dd7f7b7de12e080bc0e519a59085230945ac5695..0fd68466f86d2c387f419d80208b83622c7c54c6 100644 (file)
@@ -1,6 +1,6 @@
 dnl $OpenLDAP$
 dnl
-dnl Copyright 1998-2001 The OpenLDAP Foundation, Redwood City, California, USA
+dnl Copyright 1998-2002 The OpenLDAP Foundation, Redwood City, California, USA
 dnl All rights reserved.
 dnl 
 dnl Redistribution and use in source and binary forms, with or without
@@ -312,6 +312,7 @@ dnl Try to locate appropriate library
 AC_DEFUN([OL_BERKELEY_DB_LINK],
 [ol_cv_lib_db=no
 OL_BERKELEY_DB_TRY(ol_cv_db_none)
+OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4])
 OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
 OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3])
 OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
@@ -416,12 +417,29 @@ if test $ac_cv_header_db_h = yes; then
        fi
 fi
 ])
-dnl
+dnl --------------------------------------------------------------------
+dnl Check for version compatility with back-bdb
+AC_DEFUN([OL_BDB_COMPAT],
+[AC_CACHE_CHECK([Berkeley DB version for BDB backend], [ol_cv_bdb_compat],[
+       AC_EGREP_CPP(__db_version_compat,[
+#include <db.h>
+
+ /* this check could be improved */
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+
+/* require 4.0 or later */
+#if DB_VERSION_MAJOR >= 4 
+       __db_version_compat
+#endif
+       ],      [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])])
+])
+
 dnl --------------------------------------------------------------------
 dnl Find old Berkeley DB 1.85/1.86
 AC_DEFUN([OL_BERKELEY_COMPAT_DB],
-[ol_cv_berkeley_db=no
-AC_CHECK_HEADERS(db_185.h db.h)
+[AC_CHECK_HEADERS(db_185.h db.h)
 if test $ac_cv_header_db_185_h = yes -o $ac_cv_header_db_h = yes; then
        AC_CACHE_CHECK([if Berkeley DB header compatibility], [ol_cv_header_db1],[
                AC_EGREP_CPP(__db_version_1,[
@@ -1165,3 +1183,16 @@ AC_DEFUN(OL_FUNC_GETHOSTBYADDR_R_NARGS,
   fi
 ])dnl
 dnl
+dnl --------------------------------------------------------------------
+dnl Check for Cyrus SASL version compatility, need 2.1.3 or newer
+AC_DEFUN([OL_SASL2_COMPAT],
+[AC_CACHE_CHECK([Cyrus SASL 2 library version], [ol_cv_sasl2_compat],[
+       AC_EGREP_CPP(__sasl2_version_compat,[
+#include <sasl/sasl.h>
+
+/* require 2.1.3 or later */
+#if SASL_VERSION_MAJOR >= 2 && (SASL_VERSION_MINOR > 1 || SASL_VERSION_STEP > 2)
+       __sasl2_version_compat
+#endif
+       ],      [ol_cv_sasl2_compat=yes], [ol_cv_sasl2_compat=no])])
+])