source: npl/mailserver/dspam/dspam-3.10.2/m4/external_lookup.m4

Last change on this file was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100644
File size: 3.0 KB
Line 
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#
9AC_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])
Note: See TracBrowser for help on using the repository browser.