]> 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 This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2003 The OpenLDAP Foundation, Redwood City, California, USA
+dnl Copyright 1998-2003 The OpenLDAP Foundation.
 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 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 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
@@ -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
-   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
-   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
@@ -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)
+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_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])
@@ -428,8 +448,8 @@ AC_DEFUN([OL_BDB_COMPAT],
 #      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])])
@@ -1192,22 +1212,24 @@ AC_DEFUN([OL_SASL_COMPAT],
 #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
-       __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,
- [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