Re: libxml2 build for php 5.2 on windows

From: Date: Wed, 13 Sep 2006 01:40:54 +0000
Subject: Re: libxml2 build for php 5.2 on windows
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-25644@lists.php.net to get a copy of this message
Stanislav Malyshev wrote:
Hi! Thanks for the quick answer!
2.6.26 built using the LIBXML_STATIC_FOR_DLL flag.
    
Ehm, ok. The problem is that it is not possible to define this flag in any way but by hand-editing makefile. Which reinforces my point about keeping working one in win32build zip. Right. I have a patch that I asked some of the people who distribute windows builds of libxml2 to take a look at so that the lib gets built by default.
It should be using the static version included from: http://ctindustries.net/libxml/. The library was not renamed as to minimize the change.
    
This URL does not seem to be alive, anyway - what is this URL? It's not standard libxml2 place - where one finds it out (except for asking on the list each time one want to build PHP ;) It should be as i just checked it. It contains the builds I have been maintaining for the past few years now and the ones Edin uses for the windows builds. The libxslt build there has been required from day one cause it a customized build. It's just recent that the libxml2 build is now non-standard as well.
At that URL you should find both release and debug builds of libxml2 and libxslt specifically for building with PHP.
I am working on getting this lib built by default within the standard release. At that time, I will change the required lib as I have proposed to name it libxml2_a_dll.lib.
    
Please do not forget to update .dsp files then.
This would require the win32build package to be versioned so that the correct version of libxml2 is used (needs to support the symbols being exported from the .def file).
    
Does it mean older PHP versions won't build with newer libxml? Ouch. Then I guess we need versioned files. Because right now building 5.2 on windows is very non-obvious to say the least and there's no reason why it should stay that way. Anyway, since older version did not have libxml at all, I think it won't be too bad adding one, Older versions will still build with the standard libxml2 builds, just not the ones I provide. They will compile, but the thread cleanup handling will be a bit pooched. Best I could do if this is absolutely necessary is to build and provide all 3 libs and change the code on the recent branches (we've change 6, 5.2 and domxml in 4.4) to use libxml2_a_dll.lib (my proposed name for the new library).
Rob

« previous php.internals (#25644) next »