[c5c522c] | 1 | # $Id: external_lookup.m4,v 1.4 2011/02/09 15:50:28 sbajic Exp $ |
---|
| 2 | # m4/external_lookup.m4 |
---|
| 3 | # Hugo Monteiro <hugo.monteiro@javali.pt> |
---|
| 4 | # |
---|
| 5 | # DS_EXT_LOOKUP() |
---|
| 6 | # |
---|
| 7 | # Activate external user lookup |
---|
| 8 | # |
---|
| 9 | AC_DEFUN([DS_EXT_LOOKUP], |
---|
| 10 | [ |
---|
| 11 | |
---|
| 12 | AC_ARG_ENABLE(external-lookup, |
---|
| 13 | [AS_HELP_STRING(--enable-external-lookup, |
---|
| 14 | Enable external lookup support |
---|
| 15 | )]) |
---|
| 16 | AC_MSG_CHECKING([whether to enable external lookup support]) |
---|
| 17 | case x"$enable_external_lookup" in |
---|
| 18 | xyes) # external lookup enabled explicity |
---|
| 19 | ;; |
---|
| 20 | xno) # external lookup disabled explicity |
---|
| 21 | ;; |
---|
| 22 | x) # external lookup disabled by default |
---|
| 23 | enable_external_lookup=no |
---|
| 24 | ;; |
---|
| 25 | *) AC_MSG_ERROR([unexpected value $enable_external_lookup for --{enable,disable}-external-lookup configure option]) |
---|
| 26 | ;; |
---|
| 27 | esac |
---|
| 28 | if test x"$enable_external_lookup" != xyes |
---|
| 29 | then |
---|
| 30 | enable_external_lookup=no |
---|
| 31 | AC_MSG_RESULT([$enable_external_lookup]) |
---|
| 32 | else |
---|
| 33 | enable_external_lookup=yes # overkill, but convenient |
---|
| 34 | AC_MSG_RESULT([$enable_external_lookup]) |
---|
| 35 | AC_DEFINE(EXT_LOOKUP, 1, [Defined if external lookup is enabled]) |
---|
| 36 | |
---|
| 37 | # Check for LDAP and LDAP version |
---|
| 38 | AC_CHECK_HEADERS([lber.h ldap.h]) |
---|
| 39 | if test x"$ac_cv_header_ldap_h" = "xyes" -a x"$ac_cv_header_lber_h" = "xyes" |
---|
| 40 | then |
---|
| 41 | AC_CHECK_LIB(lber, ber_alloc,AC_DEFINE([HAVE_LIBLBER], [1], [Define if you have liblber])) |
---|
| 42 | AC_CHECK_LIB(ldap, ldap_init,AC_DEFINE([HAVE_LIBLDAP], [1], [Define if you have libldap])) |
---|
| 43 | fi |
---|
| 44 | if test x"$ac_cv_lib_lber_ber_alloc" = "xyes" -a x"$ac_cv_lib_ldap_ldap_init" = "xyes" |
---|
| 45 | then |
---|
| 46 | AC_MSG_CHECKING([for OpenLDAP version >= 2.2.0]) |
---|
| 47 | AC_COMPILE_IFELSE([ |
---|
| 48 | AC_LANG_PROGRAM([[ |
---|
| 49 | #include <lber.h> |
---|
| 50 | #include <ldap.h> |
---|
| 51 | ]],[[ |
---|
| 52 | LDAPAPIInfo info; |
---|
| 53 | #ifdef LDAP_API_INFO_VERSION |
---|
| 54 | info.ldapai_info_version = LDAP_API_INFO_VERSION; |
---|
| 55 | #else |
---|
| 56 | info.ldapai_info_version = 1; |
---|
| 57 | #endif |
---|
| 58 | if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &info) != LDAP_SUCCESS) |
---|
| 59 | return 1; |
---|
| 60 | if(info.ldapai_vendor_version != LDAP_VENDOR_VERSION || LDAP_VENDOR_VERSION < 20204) |
---|
| 61 | return 1; |
---|
| 62 | return 0; |
---|
| 63 | ]]) |
---|
| 64 | ],[ |
---|
| 65 | AC_MSG_RESULT([yes]) |
---|
| 66 | have_ldap_version=yes |
---|
| 67 | ],[ |
---|
| 68 | AC_MSG_RESULT([no]) |
---|
| 69 | have_ldap_version=no |
---|
| 70 | ],[ # cross-compilation |
---|
| 71 | AC_MSG_ERROR([cross-compilation is unsupported, sorry]) |
---|
| 72 | have_ldap_version=no |
---|
| 73 | ]) |
---|
| 74 | fi |
---|
| 75 | AC_MSG_CHECKING([whether to enable LDAP support in external lookup]) |
---|
| 76 | if test x"$have_ldap_version" != "xyes" ; then |
---|
| 77 | AC_MSG_RESULT([no]) |
---|
| 78 | else |
---|
| 79 | AC_MSG_RESULT([yes]) |
---|
| 80 | external_lookup_libs="-lldap -llber" |
---|
| 81 | AC_SUBST(external_lookup_libs) |
---|
| 82 | AC_DEFINE(USE_LDAP, 1, [Defined if LDAP is found]) |
---|
| 83 | fi |
---|
| 84 | |
---|
| 85 | fi |
---|
| 86 | ]) |
---|