]> git.sur5r.net Git - openldap/blobdiff - build/openldap.m4
saslAuthzTo/From stuff
[openldap] / build / openldap.m4
index 28886f463f539dc9fc09fb8266b031e3589fb215..50a49e338934f51c68aadf982c7198b38d9d8f61 100644 (file)
@@ -1,15 +1,17 @@
+dnl OpenLDAP Autoconf Macros
 dnl $OpenLDAP$
 dnl $OpenLDAP$
+dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl
-dnl Copyright 1998-2003 The OpenLDAP Foundation, Redwood City, California, USA
+dnl Copyright 1998-2003 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl All rights reserved.
-dnl 
+dnl
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
-dnl Public License.  A copy of this license is available at
-dnl http://www.OpenLDAP.org/license.html or in file LICENSE in the
-dnl top-level directory of the distribution.
+dnl Public License.
 dnl
 dnl
-dnl OpenLDAP Autoconf Macros
+dnl A copy of this license is available in the file LICENSE in the
+dnl top-level directory of the distribution or, alternatively, at
+dnl <http://www.OpenLDAP.org/license.html>.
 dnl
 dnl --------------------------------------------------------------------
 dnl Restricted form of AC_ARG_ENABLE that limits user options
 dnl
 dnl --------------------------------------------------------------------
 dnl Restricted form of AC_ARG_ENABLE that limits user options
@@ -216,19 +218,33 @@ dnl
 dnl ====================================================================
 dnl Check if struct passwd has pw_gecos
 AC_DEFUN([OL_STRUCT_PASSWD_PW_GECOS], [# test for pw_gecos in struct passwd
 dnl ====================================================================
 dnl Check if struct passwd has pw_gecos
 AC_DEFUN([OL_STRUCT_PASSWD_PW_GECOS], [# test for pw_gecos in struct passwd
-   AC_CHECK_MEMBER(struct passwd.pw_gecos,,,[#include <pwd.h>])
-   if test $ac_cv_member_struct_passwd_pw_gecos = "yes" ; then
-               AC_DEFINE(HAVE_PW_GECOS,1, [define if struct passwd has pw_gecos])
-   fi
-])dnl
+AC_CACHE_CHECK([struct passwd for pw_gecos],ol_cv_struct_passwd_pw_gecos,[
+       AC_TRY_COMPILE([#include <pwd.h>],[
+       struct passwd pwd;
+       pwd.pw_gecos = pwd.pw_name;
+],
+       [ol_cv_struct_passwd_pw_gecos=yes],
+       [ol_cv_struct_passwd_pw_gecos=no])])
+if test $ol_cv_struct_passwd_pw_gecos = yes ; then
+       AC_DEFINE(HAVE_PW_GECOS,1, [define if struct passwd has pw_gecos])
+fi
+])
+dnl
 dnl --------------------------------------------------------------------
 dnl Check if struct passwd has pw_passwd
 AC_DEFUN([OL_STRUCT_PASSWD_PW_PASSWD], [# test for pw_passwd in struct passwd
 dnl --------------------------------------------------------------------
 dnl Check if struct passwd has pw_passwd
 AC_DEFUN([OL_STRUCT_PASSWD_PW_PASSWD], [# test for pw_passwd in struct passwd
-   AC_CHECK_MEMBER(struct passwd.pw_passwd,,,[#include <pwd.h>])
-   if test $ac_cv_member_struct_passwd_pw_passwd = "yes" ; then
-               AC_DEFINE(HAVE_PW_PASSWD,1, [define if struct passwd has pw_passwd])
-   fi
-])dnl
+AC_CACHE_CHECK([struct passwd for pw_passwd],ol_cv_struct_passwd_pw_passwd,[
+       AC_TRY_COMPILE([#include <pwd.h>],[
+       struct passwd pwd;
+       pwd.pw_passwd = pwd.pw_name;
+],
+       [ol_cv_struct_passwd_pw_passwd=yes],
+       [ol_cv_struct_passwd_pw_passwd=no])])
+if test $ol_cv_struct_passwd_pw_passwd = yes ; then
+       AC_DEFINE(HAVE_PW_PASSWD,1, [define if struct passwd has pw_passwd])
+fi
+])
+dnl
 dnl ====================================================================
 dnl Berkeley DB macros
 dnl
 dnl ====================================================================
 dnl Berkeley DB macros
 dnl
@@ -298,13 +314,17 @@ 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)
 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_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_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_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_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_db3,[-ldb3])
 OL_BERKELEY_DB_TRY(ol_cv_db_db_3,[-ldb-3])
 OL_BERKELEY_DB_TRY(ol_cv_db_db2,[-ldb2])
@@ -428,8 +448,8 @@ AC_DEFUN([OL_BDB_COMPAT],
 #      define DB_VERSION_MINOR 0
 #endif
 
 #      define DB_VERSION_MINOR 0
 #endif
 
-/* require 4.1 or later */
-#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 1)
+/* require 4.2 or later */
+#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 2)
        __db_version_compat
 #endif
        ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])])
        __db_version_compat
 #endif
        ], [ol_cv_bdb_compat=yes], [ol_cv_bdb_compat=no])])
@@ -1192,22 +1212,24 @@ AC_DEFUN([OL_SASL_COMPAT],
 #endif
 
 /* require 2.1.3 or later */
 #endif
 
 /* require 2.1.3 or later */
-#if SASL_VERSION_MAJOR == 1  && SASL_VERSION_MINOR >= 5
-       char *__sasl_compat = "1.5.x okay";
-#elif SASL_VERSION_MAJOR == 2  && SASL_VERSION_MINOR > 1
-       __sasl_compat "2.2+ or better okay (we guess)";
+#if SASL_VERSION_MAJOR == 2  && SASL_VERSION_MINOR > 1
+       char *__sasl_compat = "2.2+ or better okay (we guess)";
 #elif SASL_VERSION_MAJOR == 2  && SASL_VERSION_MINOR == 1 \
        && SASL_VERSION_STEP >=3
 #elif SASL_VERSION_MAJOR == 2  && SASL_VERSION_MINOR == 1 \
        && SASL_VERSION_STEP >=3
-       __sasl_compat = "2.1.3+ or better okay";
+       char *__sasl_compat = "2.1.3+ or better okay";
 #endif
        ],      [ol_cv_sasl_compat=yes], [ol_cv_sasl_compat=no])])
 ])
 dnl ====================================================================
 dnl check for msg_accrights in msghdr
 AC_DEFUN(OL_MSGHDR_MSG_ACCRIGHTS,
 #endif
        ],      [ol_cv_sasl_compat=yes], [ol_cv_sasl_compat=no])])
 ])
 dnl ====================================================================
 dnl check for msg_accrights in msghdr
 AC_DEFUN(OL_MSGHDR_MSG_ACCRIGHTS,
- [AC_CHECK_MEMBER(struct msghdr.msg_accrights,,,[#include <sys/socket.h>])
-   if test $ac_cv_member_struct_msghdr_msg_accrights = "yes" ; then
-               AC_DEFINE(HAVE_MSGHDR_MSG_ACCRIGHTS,1,
-                       [define if struct msghdr has msg_accrights])
-   fi
+ [AC_CACHE_CHECK(for msg_accrights in msghdr, ol_cv_msghdr_msg_accrights,
+   [AC_TRY_COMPILE([#include <sys/socket.h>],
+               [struct msghdr m; m.msg_accrightslen=0],
+               ol_cv_msghdr_msg_accrights=yes, ol_cv_msghdr_msg_accrights=no)
+       ])
+  if test $ol_cv_msghdr_msg_accrights = "yes" ; then
+       AC_DEFINE(HAVE_MSGHDR_MSG_ACCRIGHTS,1,
+               [define if struct msghdr has msg_accrights])
+  fi
 ])dnl
 ])dnl