sniper          Fri Mar 25 22:13:58 2005 EDT

  Modified files:              
    /php-src/ext/xml    compat.c expat_compat.h 
    /php-src/ext/xmlrpc config.m4 
    /php-src/ext/xmlrpc/libxmlrpc       xml_element.c xmlrpc.c 
    /php-src/main       php_compat.h 
  Log:
  - Made it possible to build ext/xmlrpc with libxml2
  
http://cvs.php.net/diff.php/php-src/ext/xml/compat.c?r1=1.41&r2=1.42&ty=u
Index: php-src/ext/xml/compat.c
diff -u php-src/ext/xml/compat.c:1.41 php-src/ext/xml/compat.c:1.42
--- php-src/ext/xml/compat.c:1.41       Wed Mar  2 13:13:34 2005
+++ php-src/ext/xml/compat.c    Fri Mar 25 22:13:57 2005
@@ -17,7 +17,7 @@
  */
 
 #include "php.h"
-#if defined(HAVE_LIBXML) && defined(HAVE_XML) && !defined(HAVE_LIBEXPAT)
+#if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && 
!defined(HAVE_LIBEXPAT)
 #include "expat_compat.h"
 
 typedef struct _php_xml_ns {
http://cvs.php.net/diff.php/php-src/ext/xml/expat_compat.h?r1=1.16&r2=1.17&ty=u
Index: php-src/ext/xml/expat_compat.h
diff -u php-src/ext/xml/expat_compat.h:1.16 php-src/ext/xml/expat_compat.h:1.17
--- php-src/ext/xml/expat_compat.h:1.16 Sun Feb 22 12:51:01 2004
+++ php-src/ext/xml/expat_compat.h      Fri Mar 25 22:13:57 2005
@@ -16,14 +16,23 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: expat_compat.h,v 1.16 2004/02/22 17:51:01 chregu Exp $ */
+/* $Id: expat_compat.h,v 1.17 2005/03/26 03:13:57 sniper Exp $ */
 
 #ifndef PHP_EXPAT_COMPAT_H
 #define PHP_EXPAT_COMPAT_H
 
+#ifdef PHP_WIN32
+#include "config.w32.h"
+#elif defined(NETWARE)
+#include "config.nw.h"
+#else
+#include <php_config.h>
+#endif
+
 #if !defined(HAVE_LIBEXPAT) && defined(HAVE_LIBXML)
 #define LIBXML_EXPAT_COMPAT 1
 
+#include "php.h"
 #include "php_compat.h"
 
 #include <libxml/parser.h>
http://cvs.php.net/diff.php/php-src/ext/xmlrpc/config.m4?r1=1.22&r2=1.23&ty=u
Index: php-src/ext/xmlrpc/config.m4
diff -u php-src/ext/xmlrpc/config.m4:1.22 php-src/ext/xmlrpc/config.m4:1.23
--- php-src/ext/xmlrpc/config.m4:1.22   Wed Nov  3 09:32:52 2004
+++ php-src/ext/xmlrpc/config.m4        Fri Mar 25 22:13:58 2005
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: config.m4,v 1.22 2004/11/03 14:32:52 jorton Exp $
+dnl $Id: config.m4,v 1.23 2005/03/26 03:13:58 sniper Exp $
 dnl
 
 sinclude(ext/xmlrpc/libxmlrpc/acinclude.m4)
@@ -10,30 +10,52 @@
 PHP_ARG_WITH(xmlrpc, for XMLRPC-EPI support,
 [  --with-xmlrpc[=DIR]     Include XMLRPC-EPI support.])
 
+if test -z "$PHP_LIBXML_DIR"; then
+  PHP_ARG_WITH(libxml-dir, libxml2 install dir,
+  [  --with-libxml-dir=DIR     XMLRPC-EPI: libxml2 install prefix], no, no)
+fi
+
 PHP_ARG_WITH(expat-dir, libexpat dir for XMLRPC-EPI,
-[  --with-expat-dir=DIR      XMLRPC-EPI: libexpat dir for XMLRPC-EPI.],no,no)
+[  --with-expat-dir=DIR      XMLRPC-EPI: libexpat dir for XMLRPC-EPI. 
(deprecated)],no,no)
 
 PHP_ARG_WITH(iconv-dir, iconv dir for XMLRPC-EPI,
 [  --with-iconv-dir=DIR      XMLRPC-EPI: iconv dir for XMLRPC-EPI.],no,no)
 
 if test "$PHP_XMLRPC" != "no"; then
 
+  PHP_ADD_EXTENSION_DEP(xmlrpc, libxml)
   PHP_SUBST(XMLRPC_SHARED_LIBADD)
   AC_DEFINE(HAVE_XMLRPC,1,[ ])
 
-  testval=no
-  for i in $PHP_EXPAT_DIR $XMLRPC_DIR /usr/local /usr; do
-    if test -f $i/$PHP_LIBDIR/libexpat.a -o -f 
$i/$PHP_LIBDIR/libexpat.$SHLIB_SUFFIX_NAME; then
-      AC_DEFINE(HAVE_LIBEXPAT2,1,[ ])
-      PHP_ADD_LIBRARY_WITH_PATH(expat, $i/$PHP_LIBDIR, XMLRPC_SHARED_LIBADD)
-      PHP_ADD_INCLUDE($i/include)
-      testval=yes
-      break
+  dnl
+  dnl Default to libxml2.
+  dnl
+  PHP_SETUP_LIBXML(XMLRPC_SHARED_LIBADD, [
+    if test "$PHP_XML" = "no"; then
+      PHP_ADD_SOURCES(ext/xml, compat.c)
+      PHP_ADD_BUILD_DIR(ext/xml)
+    fi
+  ], [
+    if test "$PHP_EXPAT_DIR" = "no"; then
+      AC_MSG_ERROR([xml2-config not found. Use --with-libxml-dir=<DIR>])
     fi
-  done
+  ])
 
-  if test "$testval" = "no"; then
-    AC_MSG_ERROR(XML-RPC support requires libexpat. Use --with-expat-dir=<DIR>)
+  if test "$PHP_EXPAT_DIR" != "no"; then
+    testval=no
+    for i in $PHP_EXPAT_DIR $XMLRPC_DIR /usr/local /usr; do
+      if test -f $i/$PHP_LIBDIR/libexpat.a -o -f 
$i/$PHP_LIBDIR/libexpat.$SHLIB_SUFFIX_NAME; then
+        AC_DEFINE(HAVE_LIBEXPAT,1,[ ])
+        PHP_ADD_LIBRARY_WITH_PATH(expat, $i/$PHP_LIBDIR, XMLRPC_SHARED_LIBADD)
+        PHP_ADD_INCLUDE($i/include)
+        testval=yes
+        break
+      fi
+    done
+
+    if test "$testval" = "no"; then
+      AC_MSG_ERROR(XML-RPC support requires libexpat. Use 
--with-expat-dir=<DIR>)
+    fi
   fi
 
   if test "$PHP_ICONV_DIR" != "no"; then
@@ -49,7 +71,6 @@
   ])
 fi
 
-
 if test "$PHP_XMLRPC" = "yes"; then
   XMLRPC_CHECKS
   PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c libxmlrpc/base64.c \
@@ -89,5 +110,6 @@
 
   PHP_ADD_INCLUDE($XMLRPC_DIR)
   PHP_ADD_LIBRARY_WITH_PATH(xmlrpc, $XMLRPC_DIR/$PHP_LIBDIR, 
XMLRPC_SHARED_LIBADD)
+  PHP_NEW_EXTENSION(xmlrpc,xmlrpc-epi-php.c, $ext_shared)
+  XMLRPC_MODULE_TYPE=external
 fi
-
http://cvs.php.net/diff.php/php-src/ext/xmlrpc/libxmlrpc/xml_element.c?r1=1.6&r2=1.7&ty=u
Index: php-src/ext/xmlrpc/libxmlrpc/xml_element.c
diff -u php-src/ext/xmlrpc/libxmlrpc/xml_element.c:1.6 
php-src/ext/xmlrpc/libxmlrpc/xml_element.c:1.7
--- php-src/ext/xmlrpc/libxmlrpc/xml_element.c:1.6      Tue Jun  1 16:16:06 2004
+++ php-src/ext/xmlrpc/libxmlrpc/xml_element.c  Fri Mar 25 22:13:58 2005
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: xml_element.c,v 1.6 2004/06/01 20:16:06 
iliaa Exp $";
+static const char rcsid[] = "#(@) $Id: xml_element.c,v 1.7 2005/03/26 03:13:58 
sniper Exp $";
 
 
 
@@ -44,6 +44,9 @@
  *   06/2000
  * HISTORY
  *   $Log: xml_element.c,v $
+ *   Revision 1.7  2005/03/26 03:13:58  sniper
+ *   - Made it possible to build ext/xmlrpc with libxml2
+ *
  *   Revision 1.6  2004/06/01 20:16:06  iliaa
  *   Fixed bug #28597 (xmlrpc_encode_request() incorrectly encodes chars in
  *   200-210 range).
@@ -110,7 +113,7 @@
 
 #include "xml_element.h"
 #include "queue.h"
-#include "expat.h"
+#include "ext/xml/expat_compat.h"
 #include "encodings.h"
 
 #define my_free(thing)  if(thing) {free(thing); thing = 0;}
@@ -572,7 +575,7 @@
 
 
 /* expat start of element handler */
-static void startElement(void *userData, const char *name, const char **attrs)
+static void _xmlrpc_startElement(void *userData, const char *name, const char 
**attrs)
 {
    xml_element *c;
    xml_elem_data* mydata = (xml_elem_data*)userData;
@@ -600,7 +603,7 @@
 }
 
 /* expat end of element handler */
-static void endElement(void *userData, const char *name)
+static void _xmlrpc_endElement(void *userData, const char *name)
 {
    xml_elem_data* mydata = (xml_elem_data*)userData;
 
@@ -612,7 +615,7 @@
 }
 
 /* expat char data handler */
-static void charHandler(void *userData,
+static void _xmlrpc_charHandler(void *userData,
                         const char *s,
                         int len)
 {
@@ -685,8 +688,8 @@
       mydata.input_options = options;
       mydata.needs_enc_conversion = options->encoding && 
strcmp(options->encoding, encoding_utf_8);
 
-      XML_SetElementHandler(parser, startElement, endElement);
-      XML_SetCharacterDataHandler(parser, charHandler);
+      XML_SetElementHandler(parser, _xmlrpc_startElement, _xmlrpc_endElement);
+      XML_SetCharacterDataHandler(parser, _xmlrpc_charHandler);
 
       /* pass the xml_elem_data struct along */
       XML_SetUserData(parser, (void*)&mydata);
http://cvs.php.net/diff.php/php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c?r1=1.6&r2=1.7&ty=u
Index: php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c
diff -u php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c:1.6 
php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c:1.7
--- php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c:1.6   Tue Apr 27 13:33:59 2004
+++ php-src/ext/xmlrpc/libxmlrpc/xmlrpc.c       Fri Mar 25 22:13:58 2005
@@ -31,7 +31,7 @@
 */
 
 
-static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.6 2004/04/27 17:33:59 
iliaa Exp $";
+static const char rcsid[] = "#(@) $Id: xmlrpc.c,v 1.7 2005/03/26 03:13:58 
sniper Exp $";
 
 
 /****h* ABOUT/xmlrpc
@@ -43,6 +43,9 @@
  *   9/1999 - 10/2000
  * HISTORY
  *   $Log: xmlrpc.c,v $
+ *   Revision 1.7  2005/03/26 03:13:58  sniper
+ *   - Made it possible to build ext/xmlrpc with libxml2
+ *
  *   Revision 1.6  2004/04/27 17:33:59  iliaa
  *   Removed C++ style comments.
  *
@@ -132,7 +135,7 @@
 
 #include "queue.h"
 #include "xmlrpc.h"
-#include "expat.h"
+#include "ext/xml/expat_compat.h"
 #include "base64.h"
 
 #include "xml_to_xmlrpc.h"
http://cvs.php.net/diff.php/php-src/main/php_compat.h?r1=1.23&r2=1.24&ty=u
Index: php-src/main/php_compat.h
diff -u php-src/main/php_compat.h:1.23 php-src/main/php_compat.h:1.24
--- php-src/main/php_compat.h:1.23      Wed Feb 23 05:31:44 2005
+++ php-src/main/php_compat.h   Fri Mar 25 22:13:58 2005
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_compat.h,v 1.23 2005/02/23 10:31:44 hyanantha Exp $ */
+/* $Id: php_compat.h,v 1.24 2005/03/26 03:13:58 sniper Exp $ */
 
 #ifndef PHP_COMPAT_H
 #define PHP_COMPAT_H
@@ -46,7 +46,7 @@
 #define hashTableIterInit      php_hashTableIterInit
 #define hashTableIterNext      php_hashTableIterNext
 
-#if defined(HAVE_LIBXML) && defined(HAVE_XML) && !defined(HAVE_LIBEXPAT)
+#if defined(HAVE_LIBXML) && (defined(HAVE_XML) || defined(HAVE_XMLRPC)) && 
!defined(HAVE_LIBEXPAT)
 #define XML_DefaultCurrent php_XML_DefaultCurrent
 #define XML_ErrorString php_XML_ErrorString
 #define XML_ExpatVersion php_XML_ExpatVersion

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

Reply via email to