In order to resolve reported crashing on win 2003, I have had to change the static libxml builds to use the flag LIBXML_STATIC_FOR_DLL.

This now requires a DllMain to be added within any dll that is building libxml2 in statically.
PHP 4.x - domxml (use php_domxml.c.diff.txt patch)
PHP 5.x/HEAD added within libxml.c (apply libxml.c.diff.txt to PHP 5 and HEAD - was made against HEAD)

This changes the threading a bit to work in the same manner as if libxml2 were built and linked to as a shared lib.

Along with these changes new libxml libraries are needed.
debug builds:
   http://ctindustries.net/libxml/libxml2-2.6.26.threads.zip
   http://ctindustries.net/libxml/libxslt-1.1.17.debug.php.zip

release builds:
   http://ctindustries.net/libxml/libxml2-2.6.26.threads.zip
   http://ctindustries.net/libxml/libxslt-1.1.17.php.zip

So far I have been testing these against 5.2 builds and ran a few tests with domxml in PHP 4.4 to make sure all was good. I would appreciate it if anyone running win builds make these changes to their local builds and let me know if anyone runs into any problems (there really shouldnt be any, but in any case..). Would like some additional outside testing before committing this stuff.

Rob




Index: libxml.c
===================================================================
RCS file: /repository/php-src/ext/libxml/libxml.c,v
retrieving revision 1.51
diff -u -r1.51 libxml.c
--- libxml.c    6 Aug 2006 17:41:39 -0000       1.51
+++ libxml.c    10 Aug 2006 20:25:31 -0000
@@ -1043,6 +1043,13 @@
 }
 /* }}} */
 
+#ifdef PHP_WIN32
+PHP_LIBXML_API BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID 
lpvReserved)
+{
+       return xmlDllMain(hinstDLL, fdwReason, lpvReserved);
+}
+#endif
+
 #endif
 
 /*
Index: php_domxml.c
===================================================================
RCS file: /repository/php-src/ext/domxml/Attic/php_domxml.c,v
retrieving revision 1.218.2.50.2.2
diff -u -r1.218.2.50.2.2 php_domxml.c
--- php_domxml.c        18 Mar 2006 10:46:27 -0000      1.218.2.50.2.2
+++ php_domxml.c        8 Aug 2006 11:47:17 -0000
@@ -5520,6 +5520,13 @@
 /* }}} */
 #endif /* HAVE_DOMXSLT */
 
+#ifdef PHP_WIN32
+__declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, 
LPVOID lpvReserved)
+{
+       return xmlDllMain(hinstDLL, fdwReason, lpvReserved);
+}
+#endif
+
 #endif /* HAVE_DOMXML */
 
 /*

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to