sniper          Thu Dec 30 09:54:36 2004 EDT

  Modified files:              (Branch: PHP_4_3)
    /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.1247.2.789&r2=1.1247.2.790&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.789 php-src/NEWS:1.1247.2.790
--- php-src/NEWS:1.1247.2.789   Wed Dec 29 20:01:54 2004
+++ php-src/NEWS        Thu Dec 30 09:54:33 2004
@@ -11,6 +11,7 @@
 - Fixed bugs #31107, #31110, #31111 (Compile failure of zend_strtod.c). (Jani)
 - Fixed bug #31106 (Fixed crash in overloaded objects). (Stas)
 - 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 #31072 (var_export() does not output an array element with an empty
   string key). (Derick)
 - Fixed bug #31056 (php_std_date() returns invalid formatted date if 
http://cvs.php.net/diff.php/php-src/acinclude.m4?r1=1.218.2.42&r2=1.218.2.43&ty=u
Index: php-src/acinclude.m4
diff -u php-src/acinclude.m4:1.218.2.42 php-src/acinclude.m4:1.218.2.43
--- php-src/acinclude.m4:1.218.2.42     Thu Dec 30 02:02:15 2004
+++ php-src/acinclude.m4        Thu Dec 30 09:54:34 2004
@@ -1,4 +1,4 @@
-dnl $Id: acinclude.m4,v 1.218.2.42 2004/12/30 07:02:15 sniper Exp $ -*- 
autoconf -*-
+dnl $Id: acinclude.m4,v 1.218.2.43 2004/12/30 14:54:34 sniper Exp $ -*- 
autoconf -*-
 dnl
 dnl This file contains local autoconf functions.
 
@@ -1584,6 +1584,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
@@ -1594,13 +1652,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`
@@ -1614,15 +1679,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
@@ -1680,11 +1746,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.49.2.13&r2=1.49.2.14&ty=u
Index: php-src/ext/imap/config.m4
diff -u php-src/ext/imap/config.m4:1.49.2.13 
php-src/ext/imap/config.m4:1.49.2.14
--- php-src/ext/imap/config.m4:1.49.2.13        Thu Dec 30 02:02:17 2004
+++ php-src/ext/imap/config.m4  Thu Dec 30 09:54:35 2004
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.49.2.13 2004/12/30 07:02:17 sniper Exp $
+dnl $Id: config.m4,v 1.49.2.14 2004/12/30 14:54:35 sniper Exp $
 dnl
 
 AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then
@@ -55,41 +55,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. 
@@ -98,31 +73,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
 ])
 
@@ -130,8 +100,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.2.2&r2=1.2.2.3&ty=u
Index: php-src/ext/openssl/config0.m4
diff -u php-src/ext/openssl/config0.m4:1.2.2.2 
php-src/ext/openssl/config0.m4:1.2.2.3
--- php-src/ext/openssl/config0.m4:1.2.2.2      Sat Nov 29 07:07:45 2003
+++ php-src/ext/openssl/config0.m4      Thu Dec 30 09:54:35 2004
@@ -1,22 +1,28 @@
 dnl
-dnl $Id: config0.m4,v 1.2.2.2 2003/11/29 12:07:45 sniper Exp $
+dnl $Id: config0.m4,v 1.2.2.3 2004/12/30 14:54:35 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, $ext_shared)
-    PHP_SUBST(OPENSSL_SHARED_LIBADD)
-
     if test "$ext_shared" = "yes"; then
       AC_DEFINE(HAVE_OPENSSL_SHARED_EXT,1,[ ])
     else
       AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
     fi
-
   ], [
     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