you need .... -DLIBXML_STATIC
Yes, -DLIBXML_STATIC is the hack I was after.
The problem with Makefile.PL is it rewrites my LIBS/INC arguments to what it thinks should be -- doesn't let me choose between static/dynamicI think you should be able to do:
LIBS="-L/path/to/lib -lxml2" (for static)
LIBS="-L/path/to/lib -lxml2.dll" (for dynamic)
After all that, I still don't get the failure that you do with Digest::SHA1 and XML::LibXML.
I do, however, strike the same error with PDL::Graphics::PLplot (whenn PDL::Graphics::PLplot is built as part of the PDL build). For that module, switching to a build against dynamic PLplot libraries doesn't help.
Instead, if I want the PDL/Graphics/PLplot/PLplot.dll to be loadable, I have to build PDL::Graphics::PLplot separately from the PDL build.
(The part about the dll not being a valid win32 app is just straight out bullshit, afaict ... objdump has no issue with it, so I'm thinking the real problem is something else.)
Unfortunately, we'll probably have to wait until someone capable of debugging the problem comes up against it for himself ... *then* we might find out what's going awry.
Cheers,
Rob