1######################################################## 2# Compile with LDAP support? 3 4LDAP_LIBS="" 5with_ldap_support=auto 6AC_MSG_CHECKING([for LDAP support]) 7 8AC_ARG_WITH(ldap, 9AS_HELP_STRING([--with-ldap],[LDAP backend support (default=yes)]), 10[ case "$withval" in 11 yes|no) 12 with_ldap_support=$withval 13 ;; 14 esac ]) 15 16AC_MSG_RESULT($with_ldap_support) 17 18if test x"$with_ldap_support" != x"no"; then 19 20 ################################################################## 21 # first test for ldap.h and lber.h 22 # (ldap.h is required for this test) 23 AC_CHECK_HEADERS(ldap.h lber.h) 24 25 if test x"$ac_cv_header_ldap_h" != x"yes"; then 26 if test x"$with_ldap_support" = x"yes"; then 27 AC_MSG_ERROR(ldap.h is needed for LDAP support) 28 else 29 AC_MSG_WARN(ldap.h is needed for LDAP support) 30 fi 31 32 with_ldap_support=no 33 fi 34fi 35 36if test x"$with_ldap_support" != x"no"; then 37 ac_save_LIBS=$LIBS 38 39 ################################################################## 40 # we might need the lber lib on some systems. To avoid link errors 41 # this test must be before the libldap test 42 AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf) 43 44 ######################################################## 45 # now see if we can find the ldap libs in standard paths 46 AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init) 47 48 AC_CHECK_FUNC_EXT(ldap_domain2hostlist,$LDAP_LIBS) 49 50 ######################################################## 51 # If we have LDAP, does it's rebind procedure take 2 or 3 arguments? 52 # Check found in pam_ldap 145. 53 AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS) 54 55 LIBS="$LIBS $LDAP_LIBS" 56 AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [ 57 AC_TRY_COMPILE([ 58 #include <lber.h> 59 #include <ldap.h>], 60 [ldap_set_rebind_proc(0, 0, 0);], 61 [smb_ldap_cv_ldap_set_rebind_proc=3], 62 [smb_ldap_cv_ldap_set_rebind_proc=2] 63 ) 64 ]) 65 66 AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc]) 67 68 AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS) 69 70 if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes" -a x"$ac_cv_func_ext_ldap_domain2hostlist" = x"yes"; then 71 AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available]) 72 AC_DEFINE(HAVE_LDB_LDAP,1,[Whether ldb_ldap is available]) 73 with_ldap_support=yes 74 AC_MSG_CHECKING(whether LDAP support is used) 75 AC_MSG_RESULT(yes) 76 SMB_ENABLE(LDAP,YES) 77 else 78 if test x"$with_ldap_support" = x"yes"; then 79 AC_MSG_ERROR(libldap is needed for LDAP support) 80 else 81 AC_MSG_WARN(libldap is needed for LDAP support) 82 fi 83 84 LDAP_LIBS="" 85 with_ldap_support=no 86 fi 87 LIBS=$ac_save_LIBS 88fi 89 90SMB_EXT_LIB(LDAP,[${LDAP_LIBS}],[${LDAP_CFLAGS}],[${LDAP_CPPFLAGS}],[${LDAP_LDFLAGS}]) 91