sniper          Thu Dec 30 09:52:29 2004 EDT

  Modified files:              (Branch: PHP_5_0)
    /php-src    NEWS acinclude.m4 
    /php-src/ext/imap   config.m4 
    /php-src/ext/openssl        config0.m4 
  Log:
  MFH: - Fixed bug #31101 (missing kerberos header file path with 
--with-openssl)
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.173&r2=1.1760.2.174&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.173 php-src/NEWS:1.1760.2.174
--- php-src/NEWS:1.1760.2.173   Wed Dec 29 19:59:49 2004
+++ php-src/NEWS        Thu Dec 30 09:52:28 2004
@@ -10,6 +10,7 @@
 - Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
 - Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). 
(Derick)
 - Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia)
+- Fixed bug #31101 (missing kerberos header file path with --with-openssl). 
(Jani)
 - Fixed bug #31087 (broken php_url_encode_hash macro). (Ilia)
 - Fixed bug #31072 (var_export() does not output an array element with an empty
   string key). (Derick)
http://cvs.php.net/diff.php/php-src/acinclude.m4?r1=1.271.2.7&r2=1.271.2.8&ty=u
Index: php-src/acinclude.m4
diff -u php-src/acinclude.m4:1.271.2.7 php-src/acinclude.m4:1.271.2.8
--- php-src/acinclude.m4:1.271.2.7      Thu Dec 30 02:04:09 2004
+++ php-src/acinclude.m4        Thu Dec 30 09:52:28 2004
@@ -1,4 +1,4 @@
-dnl $Id: acinclude.m4,v 1.271.2.7 2004/12/30 07:04:09 sniper Exp $ -*- 
autoconf -*-
+dnl $Id: acinclude.m4,v 1.271.2.8 2004/12/30 14:52:28 sniper Exp $ -*- 
autoconf -*-
 dnl
 dnl This file contains local autoconf functions.
 
@@ -1580,6 +1580,64 @@
   ])
 ])
 
+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/lib/libkrb5.a || test -f 
$i/lib/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/lib, $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
@@ -1590,13 +1648,20 @@
   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`
@@ -1610,15 +1675,16 @@
       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
@@ -1676,11 +1742,11 @@
     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
http://cvs.php.net/diff.php/php-src/ext/imap/config.m4?r1=1.63.2.2&r2=1.63.2.3&ty=u
Index: php-src/ext/imap/config.m4
diff -u php-src/ext/imap/config.m4:1.63.2.2 php-src/ext/imap/config.m4:1.63.2.3
--- php-src/ext/imap/config.m4:1.63.2.2 Thu Dec 30 02:04:10 2004
+++ php-src/ext/imap/config.m4  Thu Dec 30 09:52:28 2004
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.63.2.2 2004/12/30 07:04:10 sniper Exp $
+dnl $Id: config.m4,v 1.63.2.3 2004/12/30 14:52:28 sniper Exp $
 dnl
 
 AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then
@@ -43,41 +43,16 @@
 ])
 
 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/lib/libkrb5.a || test -f 
$i/lib/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/lib, 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. 
@@ -86,31 +61,26 @@
       ])
     ])
   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/lib])
-    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/lib, 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
 ])
 
@@ -118,8 +88,14 @@
 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,[ ])
http://cvs.php.net/diff.php/php-src/ext/openssl/config0.m4?r1=1.2&r2=1.2.4.1&ty=u
Index: php-src/ext/openssl/config0.m4
diff -u php-src/ext/openssl/config0.m4:1.2 
php-src/ext/openssl/config0.m4:1.2.4.1
--- php-src/ext/openssl/config0.m4:1.2  Tue Jun 24 10:05:24 2003
+++ php-src/ext/openssl/config0.m4      Thu Dec 30 09:52:29 2004
@@ -1,15 +1,23 @@
 dnl
-dnl $Id: config0.m4,v 1.2 2003/06/24 14:05:24 sniper Exp $
+dnl $Id: config0.m4,v 1.2.4.1 2004/12/30 14:52:29 sniper Exp $
 dnl
 
 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.])

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to