]> git.sur5r.net Git - openldap/blobdiff - build/openldap.m4
Remove SLAPI references
[openldap] / build / openldap.m4
index ab2371b3d5b7d32b8c60c2857132091ac7b52c4e..d55dabda2dc156c4c0577d38f903a6ee1e7891cb 100644 (file)
@@ -2,7 +2,7 @@ dnl OpenLDAP Autoconf Macros
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2005 The OpenLDAP Foundation.
+dnl Copyright 1998-2006 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@ if test -z "${MKDEP}"; then
  noCode;
 EOF
                                if AC_TRY_COMMAND($OL_MKDEP $flag conftest.c) \
  noCode;
 EOF
                                if AC_TRY_COMMAND($OL_MKDEP $flag conftest.c) \
-                                       | egrep '^conftest\.'"${ac_objext}" >/dev/null 2>&1
+                                       | grep '^conftest\.'"${ac_objext}" >/dev/null 2>&1
                                then
                                        if test ! -f conftest."${ac_object}" ; then
                                                ol_cv_mkdep=$flag
                                then
                                        if test ! -f conftest."${ac_object}" ; then
                                                ol_cv_mkdep=$flag
@@ -233,6 +233,33 @@ OL_RESOLVER_TRY(ol_cv_resolver_bind,[-lbind])
 ])
 dnl
 dnl ====================================================================
 ])
 dnl
 dnl ====================================================================
+dnl International Components for Unicode (ICU)
+AC_DEFUN([OL_ICU],
+[ol_icu=no
+AC_CHECK_HEADERS( unicode/utypes.h )
+if test $ac_cv_header_unicode_utypes_h = yes ; then
+       dnl OL_ICULIBS="-licui18n -licuuc -licudata"
+       OL_ICULIBS="-licuuc -licudata"
+
+       AC_CACHE_CHECK([for ICU libraries], [ol_cv_lib_icu], [
+               ol_LIBS="$LIBS"
+               LIBS="$OL_ICULIBS $LIBS"
+               AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <unicode/utypes.h>
+]], [[
+(void) u_errorName(0);
+]])],[ol_cv_lib_icu=yes],[ol_cv_lib_icu=no])
+               LIBS="$ol_LIBS"
+])
+
+       if test $ol_cv_lib_icu != no ; then
+               ol_icu="$OL_ICULIBS"
+               AC_DEFINE(HAVE_ICU,1,[define if you actually have ICU])
+       fi
+fi
+])
+dnl
+dnl ====================================================================
 dnl Berkeley DB macros
 dnl
 dnl --------------------------------------------------------------------
 dnl Berkeley DB macros
 dnl
 dnl --------------------------------------------------------------------
@@ -300,28 +327,203 @@ dnl --------------------------------------------------------------------
 dnl Try to locate appropriate library
 AC_DEFUN([OL_BERKELEY_DB_LINK],
 [ol_cv_lib_db=no
 dnl Try to locate appropriate library
 AC_DEFUN([OL_BERKELEY_DB_LINK],
 [ol_cv_lib_db=no
+
+dnl Determine major version
+AC_CACHE_CHECK([for Berkeley DB major version], [ol_cv_bdb_major],[
+       ol_cv_bdb_major=0
+       if test $ol_cv_bdb_major = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+#if DB_VERSION_MAJOR == 4
+__db_version
+#endif
+               ], [ol_cv_bdb_major=4], [:])
+       fi
+       if test $ol_cv_bdb_major = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+#if DB_VERSION_MAJOR == 3
+__db_version
+#endif
+               ], [ol_cv_bdb_major=3], [:])
+       fi
+       if test $ol_cv_bdb_major = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+#if DB_VERSION_MAJOR == 2
+__db_version
+#endif
+               ], [ol_cv_bdb_major=2], [:])
+       fi
+       if test $ol_cv_bdb_major = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MAJOR
+#      define DB_VERSION_MAJOR 1
+#endif
+#if DB_VERSION_MAJOR == 1
+__db_version
+#endif
+               ], [ol_cv_bdb_major=1], [:])
+       fi
+
+       if test $ol_cv_bdb_major = 0 ; then
+               AC_MSG_ERROR([Unknown Berkeley DB major version])
+       fi
+])
+
+dnl Determine minor version
+AC_CACHE_CHECK([for Berkeley DB minor version], [ol_cv_bdb_minor],[
+       ol_cv_bdb_minor=0
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 9
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=9], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 8
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=8], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 7
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=7], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 6
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=6], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 5
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=5], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 4
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=4], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 3
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=3], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 2
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=2], [:])
+       fi
+       if test $ol_cv_bdb_minor = 0 ; then
+               AC_EGREP_CPP(__db_version, [
+#include <db.h>
+#ifndef DB_VERSION_MINOR
+#      define DB_VERSION_MINOR 0
+#endif
+#if DB_VERSION_MINOR == 1
+__db_version
+#endif
+               ], [ol_cv_bdb_minor=1], [:])
+       fi
+])
+
+if test $ol_cv_bdb_major = 4 ; then
+       if test $ol_cv_bdb_minor = 4 ; then
+               OL_BERKELEY_DB_TRY(ol_cv_db_db44,[-ldb44])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_44,[-ldb-44])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_4,[-ldb-4.4])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_4,[-ldb-4-4])
+       elif test $ol_cv_bdb_minor = 3 ; then
+               OL_BERKELEY_DB_TRY(ol_cv_db_db43,[-ldb43])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_43,[-ldb-43])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_3,[-ldb-4.3])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_3,[-ldb-4-3])
+       elif test $ol_cv_bdb_minor = 2 ; then
+               OL_BERKELEY_DB_TRY(ol_cv_db_db42,[-ldb42])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_42,[-ldb-42])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_2,[-ldb-4.2])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_2,[-ldb-4-2])
+       elif test $ol_cv_bdb_minor = 1 ; then
+               OL_BERKELEY_DB_TRY(ol_cv_db_db41,[-ldb41])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_41,[-ldb-41])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_1,[-ldb-4.1])
+               OL_BERKELEY_DB_TRY(ol_cv_db_db_4_1,[-ldb-4-1])
+       fi
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db4,[-ldb4])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db,[-ldb])
+
+elif test $ol_cv_bdb_major = 3 ; then
+       OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3])
+
+elif test $ol_cv_bdb_major = 2 ; then
+       OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2])
+
+elif test $ol_cv_bdb_major = 1 ; then
+       OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1])
+       OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1])
+fi
 OL_BERKELEY_DB_TRY(ol_cv_db_none)
 OL_BERKELEY_DB_TRY(ol_cv_db_none)
-OL_BERKELEY_DB_TRY(ol_cv_db_db43,[-ldb43])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_43,[-ldb-43])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_3,[-ldb-4.3])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_3,[-ldb-4-3])
-OL_BERKELEY_DB_TRY(ol_cv_db_db42,[-ldb42])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_42,[-ldb-42])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_2,[-ldb-4.2])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_2,[-ldb-4-2])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4,[-ldb-4])
-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_db41,[-ldb41])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_41,[-ldb-41])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_dot_1,[-ldb-4.1])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_4_1,[-ldb-4-1])
-OL_BERKELEY_DB_TRY(ol_cv_db_db3,[-ldb3])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3])
-OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_2,[-ldb-2])
-OL_BERKELEY_DB_TRY(ol_cv_db_db1,[-ldb1])
-OL_BERKELEY_DB_TRY(ol_cv_db_db_1,[-ldb-1])
 ])
 dnl
 dnl --------------------------------------------------------------------
 ])
 dnl
 dnl --------------------------------------------------------------------
@@ -500,7 +702,7 @@ dnl --------------------------------------------------------------------
 dnl Find old Berkeley DB 1.85/1.86
 AC_DEFUN([OL_BERKELEY_COMPAT_DB],
 [AC_CHECK_HEADERS(db_185.h db.h)
 dnl Find old Berkeley DB 1.85/1.86
 AC_DEFUN([OL_BERKELEY_COMPAT_DB],
 [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
+if test $ac_cv_header_db_185_h = yes || test $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,[
 #if HAVE_DB_185_H
        AC_CACHE_CHECK([if Berkeley DB header compatibility], [ol_cv_header_db1],[
                AC_EGREP_CPP(__db_version_1,[
 #if HAVE_DB_185_H
@@ -562,7 +764,7 @@ AC_DEFUN([OL_GDBM],
 [AC_REQUIRE([OL_LIB_GDBM])
  AC_CHECK_HEADERS(gdbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_gdbm], [
 [AC_REQUIRE([OL_LIB_GDBM])
  AC_CHECK_HEADERS(gdbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_gdbm], [
-       if test $ol_cv_lib_gdbm = no -o $ac_cv_header_gdbm_h = no ; then
+       if test $ol_cv_lib_gdbm = no || test $ac_cv_header_gdbm_h = no ; then
                ol_cv_gdbm=no
        else
                ol_cv_gdbm=yes
                ol_cv_gdbm=no
        else
                ol_cv_gdbm=yes
@@ -607,7 +809,7 @@ AC_DEFUN([OL_MDBM],
 [AC_REQUIRE([OL_LIB_MDBM])
  AC_CHECK_HEADERS(mdbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_mdbm], [
 [AC_REQUIRE([OL_LIB_MDBM])
  AC_CHECK_HEADERS(mdbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_mdbm], [
-       if test $ol_cv_lib_mdbm = no -o $ac_cv_header_mdbm_h = no ; then
+       if test $ol_cv_lib_mdbm = no || test $ac_cv_header_mdbm_h = no ; then
                ol_cv_mdbm=no
        else
                ol_cv_mdbm=yes
                ol_cv_mdbm=no
        else
                ol_cv_mdbm=yes
@@ -663,7 +865,7 @@ AC_DEFUN([OL_NDBM],
 [AC_REQUIRE([OL_LIB_NDBM])
  AC_CHECK_HEADERS(ndbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_ndbm], [
 [AC_REQUIRE([OL_LIB_NDBM])
  AC_CHECK_HEADERS(ndbm.h)
  AC_CACHE_CHECK(for db, [ol_cv_ndbm], [
-       if test $ol_cv_lib_ndbm = no -o $ac_cv_header_ndbm_h = no ; then
+       if test $ol_cv_lib_ndbm = no || test $ac_cv_header_ndbm_h = no ; then
                ol_cv_ndbm=no
        else
                ol_cv_ndbm=yes
                ol_cv_ndbm=no
        else
                ol_cv_ndbm=yes
@@ -894,11 +1096,11 @@ AC_DEFUN([OL_LINUX_THREADS], [
        AC_REQUIRE([OL_HEADER_LINUX_THREADS])
        AC_REQUIRE([OL_SYS_LINUX_THREADS])
        AC_CACHE_CHECK([for LinuxThreads consistency], [ol_cv_linux_threads], [
        AC_REQUIRE([OL_HEADER_LINUX_THREADS])
        AC_REQUIRE([OL_SYS_LINUX_THREADS])
        AC_CACHE_CHECK([for LinuxThreads consistency], [ol_cv_linux_threads], [
-               if test $ol_cv_header_linux_threads = yes -a \
-                       $ol_cv_sys_linux_threads = yes; then
+               if test $ol_cv_header_linux_threads = yes &&
+                  test $ol_cv_sys_linux_threads = yes; then
                        ol_cv_linux_threads=yes
                        ol_cv_linux_threads=yes
-               elif test $ol_cv_header_linux_threads = no -a \
-                       $ol_cv_sys_linux_threads = no; then
+               elif test $ol_cv_header_linux_threads = no &&
+                    test $ol_cv_sys_linux_threads = no; then
                        ol_cv_linux_threads=no
                else
                        ol_cv_linux_threads=error
                        ol_cv_linux_threads=no
                else
                        ol_cv_linux_threads=error
@@ -1089,13 +1291,13 @@ AC_DEFUN([OL_FUNC_CTIME_R_NARGS],
 
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[time_t ti; char *buffer; ctime_r(&ti,buffer);]])],[ol_cv_func_ctime_r_nargs2=yes],[ol_cv_func_ctime_r_nargs2=no])
 
 
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[time_t ti; char *buffer; ctime_r(&ti,buffer);]])],[ol_cv_func_ctime_r_nargs2=yes],[ol_cv_func_ctime_r_nargs2=no])
 
-       if test $ol_cv_func_ctime_r_nargs3 = yes -a \
-               $ol_cv_func_ctime_r_nargs2 = no ; then
+       if test $ol_cv_func_ctime_r_nargs3 = yes &&
+          test $ol_cv_func_ctime_r_nargs2 = no ; then
 
                ol_cv_func_ctime_r_nargs=3
 
 
                ol_cv_func_ctime_r_nargs=3
 
-       elif test $ol_cv_func_ctime_r_nargs3 = no -a \
-               $ol_cv_func_ctime_r_nargs2 = yes ; then
+       elif test $ol_cv_func_ctime_r_nargs3 = no &&
+            test $ol_cv_func_ctime_r_nargs2 = yes ; then
 
                ol_cv_func_ctime_r_nargs=2
 
 
                ol_cv_func_ctime_r_nargs=2
 
@@ -1144,13 +1346,13 @@ AC_DEFUN([OL_FUNC_GETHOSTBYNAME_R_NARGS],
                (void)gethostbyname_r("localhost", &hent, buffer, bufsize,
                        &rhent, &h_errno);]])],[ol_cv_func_gethostbyname_r_nargs6=yes],[ol_cv_func_gethostbyname_r_nargs6=no])
 
                (void)gethostbyname_r("localhost", &hent, buffer, bufsize,
                        &rhent, &h_errno);]])],[ol_cv_func_gethostbyname_r_nargs6=yes],[ol_cv_func_gethostbyname_r_nargs6=no])
 
-       if test $ol_cv_func_gethostbyname_r_nargs5 = yes -a \
-               $ol_cv_func_gethostbyname_r_nargs6 = no ; then
+       if test $ol_cv_func_gethostbyname_r_nargs5 = yes &&
+          test $ol_cv_func_gethostbyname_r_nargs6 = no ; then
 
                ol_cv_func_gethostbyname_r_nargs=5
 
 
                ol_cv_func_gethostbyname_r_nargs=5
 
-       elif test $ol_cv_func_gethostbyname_r_nargs5 = no -a \
-               $ol_cv_func_gethostbyname_r_nargs6 = yes ; then
+       elif test $ol_cv_func_gethostbyname_r_nargs5 = no &&
+            test $ol_cv_func_gethostbyname_r_nargs6 = yes ; then
 
                ol_cv_func_gethostbyname_r_nargs=6
 
 
                ol_cv_func_gethostbyname_r_nargs=6
 
@@ -1193,13 +1395,13 @@ AC_DEFUN([OL_FUNC_GETHOSTBYADDR_R_NARGS],
                        alen, AF_INET, &hent, buffer, bufsize, 
                        &rhent, &h_errno);]])],[ol_cv_func_gethostbyaddr_r_nargs8=yes],[ol_cv_func_gethostbyaddr_r_nargs8=no])
 
                        alen, AF_INET, &hent, buffer, bufsize, 
                        &rhent, &h_errno);]])],[ol_cv_func_gethostbyaddr_r_nargs8=yes],[ol_cv_func_gethostbyaddr_r_nargs8=no])
 
-       if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes -a \
-               $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then
+       if test $ol_cv_func_gethostbyaddr_r_nargs7 = yes &&
+          test $ol_cv_func_gethostbyaddr_r_nargs8 = no ; then
 
                ol_cv_func_gethostbyaddr_r_nargs=7
 
 
                ol_cv_func_gethostbyaddr_r_nargs=7
 
-       elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no -a \
-               $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then
+       elif test $ol_cv_func_gethostbyaddr_r_nargs7 = no &&
+            test $ol_cv_func_gethostbyaddr_r_nargs8 = yes ; then
 
                ol_cv_func_gethostbyaddr_r_nargs=8
 
 
                ol_cv_func_gethostbyaddr_r_nargs=8