summaryrefslogtreecommitdiff
path: root/ext/ldap/config.m4
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/ldap/config.m4
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/ldap/config.m4')
-rw-r--r--ext/ldap/config.m4195
1 files changed, 195 insertions, 0 deletions
diff --git a/ext/ldap/config.m4 b/ext/ldap/config.m4
new file mode 100644
index 0000000..58d994c
--- /dev/null
+++ b/ext/ldap/config.m4
@@ -0,0 +1,195 @@
+dnl
+dnl $Id$
+dnl
+
+AC_DEFUN([PHP_LDAP_CHECKS], [
+ if test -f $1/include/ldap.h; then
+ LDAP_DIR=$1
+ LDAP_INCDIR=$1/include
+ LDAP_LIBDIR=$1/$PHP_LIBDIR
+ elif test -f $1/include/umich-ldap/ldap.h; then
+ LDAP_DIR=$1
+ LDAP_INCDIR=$1/include/umich-ldap
+ LDAP_LIBDIR=$1/$PHP_LIBDIR
+ elif test -f $1/ldap/public/ldap.h; then
+ LDAP_DIR=$1
+ LDAP_INCDIR=$1/ldap/public
+ LDAP_LIBDIR=$1/$PHP_LIBDIR
+ fi
+])
+
+AC_DEFUN([PHP_LDAP_SASL_CHECKS], [
+ if test "$1" = "yes"; then
+ SEARCH_DIRS="/usr/local /usr"
+ else
+ SEARCH_DIRS=$1
+ fi
+
+ for i in $SEARCH_DIRS; do
+ if test -f $i/include/sasl/sasl.h; then
+ LDAP_SASL_DIR=$i
+ AC_DEFINE(HAVE_LDAP_SASL_SASL_H,1,[ ])
+ break
+ elif test -f $i/include/sasl.h; then
+ LDAP_SASL_DIR=$i
+ AC_DEFINE(HAVE_LDAP_SASL_H,1,[ ])
+ break
+ fi
+ done
+
+ if test "$LDAP_SASL_DIR"; then
+ LDAP_SASL_INCDIR=$LDAP_SASL_DIR/include
+ LDAP_SASL_LIBDIR=$LDAP_SASL_DIR/$PHP_LIBDIR
+ else
+ AC_MSG_ERROR([sasl.h not found!])
+ fi
+
+ if test "$PHP_LDAP_SASL" = "yes"; then
+ SASL_LIB="-lsasl2"
+ else
+ SASL_LIB="-L$LDAP_SASL_LIBDIR -lsasl2"
+ fi
+
+ PHP_CHECK_LIBRARY(sasl2, sasl_version,
+ [
+ PHP_ADD_INCLUDE($LDAP_SASL_INCDIR)
+ PHP_ADD_LIBRARY_WITH_PATH(sasl2, $LDAP_SASL_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_LDAP_SASL, 1, [LDAP SASL support])
+ ], [
+ AC_MSG_ERROR([LDAP SASL check failed. Please check config.log for more information.])
+ ], [
+ $LDAP_SHARED_LIBADD $SASL_LIB
+ ])
+])
+
+PHP_ARG_WITH(ldap,for LDAP support,
+[ --with-ldap[=DIR] Include LDAP support])
+
+PHP_ARG_WITH(ldap-sasl,for LDAP Cyrus SASL support,
+[ --with-ldap-sasl[=DIR] LDAP: Include Cyrus SASL support], no, no)
+
+if test "$PHP_LDAP" != "no"; then
+
+ PHP_NEW_EXTENSION(ldap, ldap.c, $ext_shared,,-DLDAP_DEPRECATED=1)
+
+ if test "$PHP_LDAP" = "yes"; then
+ for i in /usr/local /usr; do
+ PHP_LDAP_CHECKS($i)
+ done
+ else
+ PHP_LDAP_CHECKS($PHP_LDAP)
+ fi
+
+ if test -z "$LDAP_DIR"; then
+ AC_MSG_ERROR(Cannot find ldap.h)
+ fi
+
+ dnl The Linux version of the SDK need -lpthread
+ dnl I have tested Solaris, and it doesn't, but others may. Add
+ dnl these here if necessary. -RL
+ dnl Is this really necessary? -Troels Arvin
+
+ if test `uname` = "Linux"; then
+ LDAP_PTHREAD=pthread
+ else
+ LDAP_PTHREAD=
+ fi
+
+ if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME; then
+ PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+
+ elif test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/libldap.$SHLIB_SUFFIX_NAME.3 || test -f $LDAP_LIBDIR/libldap.3.dylib; then
+ PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+
+ elif test -f $LDAP_LIBDIR/libssldap50.$SHLIB_SUFFIX_NAME; then
+ if test -n "$LDAP_PTHREAD"; then
+ PHP_ADD_LIBRARY($LDAP_PTHREAD)
+ fi
+ PHP_ADD_LIBRARY_WITH_PATH(nspr4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(plc4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(plds4, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ssldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(prldap50, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ssl3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_NSLDAP,1,[ ])
+
+ elif test -f $LDAP_LIBDIR/libldapssl41.$SHLIB_SUFFIX_NAME; then
+ if test -n "$LDAP_PTHREAD"; then
+ PHP_ADD_LIBRARY($LDAP_PTHREAD)
+ fi
+ PHP_ADD_LIBRARY_WITH_PATH(nspr3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(plc3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(plds3, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ldapssl41, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_NSLDAP,1,[ ])
+
+ elif test -f $LDAP_LIBDIR/libldapssl30.$SHLIB_SUFFIX_NAME; then
+ if test -n "$LDAP_PTHREAD"; then
+ PHP_ADD_LIBRARY($LDAP_PTHREAD)
+ fi
+ PHP_ADD_LIBRARY_WITH_PATH(ldapssl30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_NSLDAP,1,[ ])
+
+ elif test -f $LDAP_LIBDIR/libldap30.$SHLIB_SUFFIX_NAME; then
+ if test -n "$LDAP_PTHREAD"; then
+ PHP_ADD_LIBRARY($LDAP_PTHREAD)
+ fi
+ PHP_ADD_LIBRARY_WITH_PATH(ldap30, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_NSLDAP,1,[ ])
+
+ elif test -f $LDAP_LIBDIR/libumich_ldap.$SHLIB_SUFFIX_NAME; then
+ PHP_ADD_LIBRARY_WITH_PATH(umich_lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(umich_ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+
+ elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME; then
+ PHP_ADD_LIBRARY_WITH_PATH(clntsh, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_ORALDAP,1,[ ])
+ if test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
+ AC_DEFINE(HAVE_ORALDAP_10,1,[ ])
+ fi
+ else
+ AC_MSG_ERROR(Cannot find ldap libraries in $LDAP_LIBDIR.)
+ fi
+
+ PHP_ADD_INCLUDE($LDAP_INCDIR)
+ PHP_SUBST(LDAP_SHARED_LIBADD)
+ AC_DEFINE(HAVE_LDAP,1,[ ])
+
+ dnl Save original values
+ _SAVE_CPPFLAGS=$CPPFLAGS
+ _SAVE_LIBS=$LIBS
+ CPPFLAGS="$CPPFLAGS -I$LDAP_INCDIR"
+ LIBS="$LIBS $LDAP_SHARED_LIBADD"
+
+ dnl Check for 3 arg ldap_set_rebind_proc
+ AC_CACHE_CHECK([for 3 arg ldap_set_rebind_proc], ac_cv_3arg_setrebindproc,
+ [AC_TRY_COMPILE([#include <ldap.h>], [ldap_set_rebind_proc(0,0,0)],
+ ac_cv_3arg_setrebindproc=yes, ac_cv_3arg_setrebindproc=no)])
+ if test "$ac_cv_3arg_setrebindproc" = yes; then
+ AC_DEFINE(HAVE_3ARG_SETREBINDPROC,1,[Whether 3 arg set_rebind_proc()])
+ fi
+
+ dnl Solaris 2.8 claims to be 2004 API, but doesn't have
+ dnl ldap_parse_reference() nor ldap_start_tls_s()
+ AC_CHECK_FUNCS([ldap_parse_result ldap_parse_reference ldap_start_tls_s])
+
+ dnl
+ dnl SASL check
+ dnl
+ if test "$PHP_LDAP_SASL" != "no"; then
+ PHP_LDAP_SASL_CHECKS([$PHP_LDAP_SASL])
+ fi
+
+ dnl
+ dnl Sanity check
+ dnl
+ AC_CHECK_FUNC(ldap_bind_s, [], [
+ AC_MSG_ERROR([LDAP build check failed. Please check config.log for more information.])
+ ])
+
+ dnl Restore original values
+ CPPFLAGS=$_SAVE_CPPFLAGS
+ LIBS=$_SAVE_LIBS
+fi