diff options
Diffstat (limited to 'pki/base/tps/m4/mozldap.m4')
-rw-r--r-- | pki/base/tps/m4/mozldap.m4 | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/pki/base/tps/m4/mozldap.m4 b/pki/base/tps/m4/mozldap.m4 new file mode 100644 index 000000000..1038b8abb --- /dev/null +++ b/pki/base/tps/m4/mozldap.m4 @@ -0,0 +1,121 @@ +dnl BEGIN COPYRIGHT BLOCK +dnl This library is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Lesser General Public +dnl License as published by the Free Software Foundation; +dnl version 2.1 of the License. +dnl +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. +dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301 USA +dnl +dnl Copyright (C) 2007 Red Hat, Inc. +dnl All rights reserved. +dnl END COPYRIGHT BLOCK + +AC_CHECKING(for LDAPSDK) + +# check for --with-ldapsdk +AC_MSG_CHECKING(for --with-ldapsdk) +AC_ARG_WITH(ldapsdk, [ --with-ldapsdk=PATH Mozilla LDAP SDK directory], +[ + if test -e "$withval"/include/ldap.h -a -d "$withval"/lib + then + AC_MSG_RESULT([using $withval]) + LDAPSDKDIR=$withval + ldapsdk_inc="-I$LDAPSDKDIR/include" + ldapsdk_lib="-L$LDAPSDKDIR/lib" + ldapsdk_libdir="$LDAPSDKDIR/lib" + ldapsdk_bindir="$LDAPSDKDIR/bin" + else + echo + AC_MSG_ERROR([$withval not found]) + fi +], +AC_MSG_RESULT(no)) + +# check for --with-ldapsdk-inc +AC_MSG_CHECKING(for --with-ldapsdk-inc) +AC_ARG_WITH(ldapsdk-inc, [ --with-ldapsdk-inc=PATH Mozilla LDAP SDK include directory], +[ + if test -e "$withval"/ldap.h + then + AC_MSG_RESULT([using $withval]) + ldapsdk_inc="-I$withval" + else + echo + AC_MSG_ERROR([$withval not found]) + fi +], +AC_MSG_RESULT(no)) + +# check for --with-ldapsdk-lib +AC_MSG_CHECKING(for --with-ldapsdk-lib) +AC_ARG_WITH(ldapsdk-lib, [ --with-ldapsdk-lib=PATH Mozilla LDAP SDK library directory], +[ + if test -d "$withval" + then + AC_MSG_RESULT([using $withval]) + ldapsdk_lib="-L$withval" + ldapsdk_libdir="$withval" + else + echo + AC_MSG_ERROR([$withval not found]) + fi +], +AC_MSG_RESULT(no)) + +# if LDAPSDK is not found yet, try pkg-config + +# last resort +if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib" -o -z "$ldapsdk_libdir" -o -z "$ldapsdk_bindir"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config) + AC_MSG_CHECKING(for mozldap with pkg-config) + if test -n "$PKG_CONFIG"; then + if $PKG_CONFIG --exists mozldap6; then + mozldappkg=mozldap6 + elif $PKG_CONFIG --exists mozldap; then + mozldappkg=mozldap + else + AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].]) + fi + ldapsdk_inc=`$PKG_CONFIG --cflags-only-I $mozldappkg` + ldapsdk_lib=`$PKG_CONFIG --libs-only-L $mozldappkg` + ldapsdk_libdir=`$PKG_CONFIG --libs-only-L $mozldappkg | sed -e s/-L// | sed -e s/\ *$//` + ldapsdk_bindir=`$PKG_CONFIG --variable=bindir $mozldappkg` + AC_MSG_RESULT([using system $mozldappkg]) + fi +fi +if test -z "$ldapsdk_inc" -o -z "$ldapsdk_lib"; then + AC_MSG_ERROR([LDAPSDK not found, specify with --with-ldapsdk[-inc|-lib].]) +fi +dnl default path for the ldap c sdk tools (see [210947] for more details) +if test -z "$ldapsdk_bindir" ; then + if [ -d $libdir/mozldap6 ] ; then + ldapsdk_bindir=$libdir/mozldap6 + else + ldapsdk_bindir=$libdir/mozldap + fi +fi + +dnl make sure the ldap sdk version is 6 or greater - we do not support +dnl the old 5.x or prior versions - the ldap server code expects the new +dnl ber types and other code used with version 6 +save_cppflags="$CPPFLAGS" +CPPFLAGS="$ldapsdk_inc $nss_inc $nspr_inc" +AC_CHECK_HEADER([ldap.h], [isversion6=1], [isversion6=], +[#include <ldap-standard.h> +#if LDAP_VENDOR_VERSION < 600 +#error The LDAP C SDK version is not supported +#endif +]) +CPPFLAGS="$save_cppflags" + +if test -z "$isversion6" ; then + AC_MSG_ERROR([The LDAPSDK version in $ldapsdk_inc/ldap-standard.h is not supported]) +fi |