summaryrefslogtreecommitdiffstats
path: root/server/external/ldap.m4
blob: 535c289085329fa5fd79c2ccbd2c99ed1224d7b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
dnl AC_SUBST(LDAP_LIBS)
dnl
dnl AC_CHECK_HEADERS(lber.h ldap.h, , AC_MSG_ERROR("could not locate ldap header files please install devel package"))
dnl
dnl AC_CHECK_LIB(lber, main, LDAP_LIBS="-llber $LDAP_LIBS")
dnl AC_CHECK_LIB(ldap, main, LDAP_LIBS="-lldap $LDAP_LIBS")
dnl
dnl ---------------------------------------------------------------------------
dnl - Check for Mozilla LDAP or OpenLDAP SDK
dnl ---------------------------------------------------------------------------

AC_ARG_WITH(openldap, [  --with-openldap            Use OpenLDAP])

if test x$with_openldap = xyes; then
        AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes)
        dnl Check for other libraries we need to link with to get the main routines.
        test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) }
        test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) }
        test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) }
        dnl Recently, we need -lber even though the main routines are elsewhere,
        dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on.  So just
        dnl check for that (it's a variable not a fun but that doesn't seem to
        dnl matter in these checks)  and stick in -lber if so.  Can't hurt (even to
        dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who
        dnl #### understands LDAP needs to fix this properly.
        test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) }

        if test "$with_ldap" = "yes"; then
          if test "$with_ldap_des" = "yes" ; then
            OPENLDAP_LIBS="${OPENLDAP_LIBS} -ldes"
          fi
          if test "$with_ldap_krb" = "yes" ; then
            OPENLDAP_LIBS="${OPENLDAP_LIBS} -lkrb"
          fi
          if test "$with_ldap_lber" = "yes" ; then
            OPENLDAP_LIBS="${OPENLDAP_LIBS} -llber"
          fi
          OPENLDAP_LIBS="${OPENLDAP_LIBS} -lldap"
        else
          AC_MSG_ERROR([OpenLDAP not found])
        fi

        AC_SUBST(OPENLDAP_LIBS)
else
        PKG_CHECK_MODULES(MOZLDAP, mozldap > 6)
        MOZLDAP_CFLAGS="${MOZLDAP_CFLAGS} -DWITH_MOZLDAP"
        AC_SUBST(MOZLDAP_CFLAGS)
        AC_SUBST(MOZLDAP_LIBS)
fi