])
])
+dnl
+dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]])
+dnl
+dnl Common setup macro for kerberos
+dnl
+AC_DEFUN([PHP_SETUP_KERBEROS],[
+ found_kerberos=no
+ unset KERBEROS_CFLAGS
+ unset KERBEROS_LIBS
+
+ dnl First try to find krb5-config
+ if test -z "$KRB5_CONFIG"; then
+ AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin])
+ fi
+
+ dnl If krb5-config is found try using it
+ if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then
+ KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi`
+ KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi`
+
+ if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then
+ found_kerberos=yes
+ PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1)
+ PHP_EVAL_INCLINE($KERBEROS_CFLAGS)
+ fi
+ fi
+
+ dnl If still not found use old skool method
+ if test "$found_kerberos" = "no"; then
+
+ if test "$PHP_KERBEROS" = "yes"; then
+ PHP_KERBEROS="/usr/kerberos /usr/local /usr"
+ fi
+
+ for i in $PHP_KERBEROS; do
+ if test -f $i/$PHP_LIBDIR/libkrb5.a || test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME; then
+ PHP_KERBEROS_DIR=$i
+ break
+ fi
+ done
+
+ if test "$PHP_KERBEROS_DIR"; then
+ found_kerberos=yes
+ PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, $1)
+ PHP_ADD_LIBRARY(gssapi_krb5, 1, $1)
+ PHP_ADD_LIBRARY(krb5, 1, $1)
+ PHP_ADD_LIBRARY(k5crypto, 1, $1)
+ PHP_ADD_LIBRARY(com_err, 1, $1)
+ PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include)
+ fi
+ fi
+
+ if test "$found_kerberos" = "yes"; then
+ifelse([$2],[],:,[$2])
+ifelse([$3],[],,[else $3])
+ fi
+])
+
dnl
dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]])
dnl
unset OPENSSL_INCDIR
unset OPENSSL_LIBDIR
+ dnl Fallbacks for different configure options
+ if test "$PHP_OPENSSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_OPENSSL
+ elif test "$PHP_IMAP_SSL" != "no"; then
+ PHP_OPENSSL_DIR=$PHP_IMAP_SSL
+ fi
+
dnl First try to find pkg-config
if test -z "$PKG_CONFIG"; then
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
fi
dnl If pkg-config is found try using it
- if test "$PHP_OPENSSL" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
+ if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then
if $PKG_CONFIG --atleast-version=0.9.6 openssl; then
found_openssl=yes
OPENSSL_LIBS=`$PKG_CONFIG --libs openssl`
PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)
PHP_EVAL_INCLINE($OPENSSL_INCS)
fi
+ fi
- else
-
- dnl If pkg-config fails for some reason, revert to the old method
- if test "$PHP_OPENSSL" = "yes"; then
- PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl"
+ dnl If pkg-config fails for some reason, revert to the old method
+ if test "$found_openssl" = "no"; then
+
+ if test "$PHP_OPENSSL_DIR" = "yes"; then
+ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
fi
- for i in $PHP_OPENSSL; do
+ for i in $PHP_OPENSSL_DIR; do
if test -r $i/include/openssl/evp.h; then
OPENSSL_INCDIR=$i/include
fi
PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1)
fi
+ if test "$found_openssl" = "yes"; then
dnl For apache 1.3.x static build
OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR
AC_SUBST(OPENSSL_INCDIR_OPT)
- if test "$found_openssl" = "yes"; then
ifelse([$2],[],:,[$2])
ifelse([$3],[],,[else $3])
fi
])
AC_DEFUN([PHP_IMAP_KRB_CHK], [
- AC_ARG_WITH(kerberos,
- [ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install dir.],[
- PHP_KERBEROS=$withval
- ],[
- PHP_KERBEROS=no
- ])
-
if test "$PHP_KERBEROS" != "no"; then
-
- if test "$PHP_KERBEROS" = "yes"; then
- SEARCH_PATHS="/usr/kerberos /usr/local /usr"
- else
- SEARCH_PATHS=$PHP_KERBEROS
- fi
-
- for i in $SEARCH_PATHS; do
- if test -f $i/$PHP_LIBDIR/libkrb5.a || test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME; then
- PHP_KERBEROS_DIR=$i
- break
- fi
- done
-
- if test -z "$PHP_KERBEROS_DIR"; then
+ PHP_SETUP_KERBEROS(IMAP_SHARED_LIBADD,
+ [
+ AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
+ ], [
AC_MSG_ERROR([Kerberos libraries not found.
Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )
])
- fi
- AC_DEFINE(HAVE_IMAP_KRB,1,[ ])
- PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(gssapi_krb5, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(krb5, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(k5crypto, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY(com_err, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include)
+ ])
else
AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [
AC_MSG_ERROR([This c-client library is built with Kerberos support.
])
])
fi
-
])
AC_DEFUN([PHP_IMAP_SSL_CHK], [
- AC_ARG_WITH(imap-ssl,
- [ --with-imap-ssl=<DIR> IMAP: Include SSL support. DIR is the OpenSSL install dir.],[
- PHP_IMAP_SSL=$withval
- ],[
- PHP_IMAP_SSL=no
- ])
-
- if test "$PHP_IMAP_SSL" = "yes"; then
- PHP_IMAP_SSL=/usr
- fi
-
- AC_MSG_CHECKING([whether SSL libraries are needed for c-client])
-
if test "$PHP_IMAP_SSL" != "no"; then
- AC_MSG_RESULT([$PHP_IMAP_SSL/$PHP_LIBDIR])
- AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
- PHP_ADD_LIBRARY_DEFER(ssl, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBRARY_DEFER(crypto, 1, IMAP_SHARED_LIBADD)
- PHP_ADD_LIBPATH($PHP_IMAP_SSL/$PHP_LIBDIR, IMAP_SHARED_LIBADD)
- else
- AC_MSG_RESULT(no)
+ PHP_SETUP_OPENSSL(IMAP_SHARED_LIBADD,
+ [
+ AC_DEFINE(HAVE_IMAP_SSL,1,[ ])
+ ], [
+ AC_MSG_ERROR([OpenSSL libraries not found.
+
+ Check the path given to --with-openssl-dir and output in config.log)
+ ])
+ ])
+ elif test -f "$IMAP_INC_DIR/linkage.c"; then
+ AC_EGREP_HEADER(ssl_onceonlyinit, $IMAP_INC_DIR/linkage.c, [
+ AC_MSG_ERROR([This c-client library is built with SSL support.
+
+ Add --with-imap-ssl to your configure line. Check config.log for details.
+ ])
+ ])
fi
])
PHP_ARG_WITH(imap,for IMAP support,
[ --with-imap[=DIR] Include IMAP support. DIR is the c-client install prefix.])
-if test "$PHP_IMAP" != "no"; then
+PHP_ARG_WITH(kerberos,for IMAP Kerberos support,
+[ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install prefix.], no, no)
+PHP_ARG_WITH(imap-ssl,for IMAP SSL support,
+[ --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix.], no, no)
+
+
+if test "$PHP_IMAP" != "no"; then
PHP_SUBST(IMAP_SHARED_LIBADD)
PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
AC_DEFINE(HAVE_IMAP,1,[ ])
PHP_ARG_WITH(openssl, for OpenSSL support,
[ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.6)])
+PHP_ARG_WITH(kerberos, for Kerberos support,
+[ --with-kerberos[=DIR] OPENSSL: Include Kerberos support], no, no)
+
if test "$PHP_OPENSSL" != "no"; then
+ PHP_NEW_EXTENSION(openssl, openssl.c, $ext_shared)
+ PHP_SUBST(OPENSSL_SHARED_LIBADD)
+
+ if test "$PHP_KERBEROS" != "no"; then
+ PHP_SETUP_KERBEROS(OPENSSL_SHARED_LIBADD)
+ fi
+
PHP_SETUP_OPENSSL(OPENSSL_SHARED_LIBADD,
[
- PHP_NEW_EXTENSION(openssl, openssl.c xp_ssl.c, $ext_shared)
- PHP_SUBST(OPENSSL_SHARED_LIBADD)
AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
], [
AC_MSG_ERROR([OpenSSL check failed. Please check config.log for more information.])