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 */
/*