[cairo] Compiling cairo against winelib, to enable win32
testing on Linux
Jim Gettys
jg at laptop.org
Tue Feb 20 08:13:36 PST 2007
Behdad,
Jeremy White at Codeweavers may be able to point you at people who can
help.
Unfortunately, most of the work has been focused on Wine/Crossover
Office, as those pay Jeremy's bills. But Jeremy is a great guy, and can
point you in the best directions in this area.
Best Regards,
- Jim
On Tue, 2007-02-20 at 01:18 -0500, Behdad Esfahbod wrote:
> I got this idea to use winelib to compile the win32 backend on Linux.
> Carl and I both have the feeling that even being able to just compile
> (and not run/test) the win32 (and other) backends increases the quality
> of our releases because we would know that we've not broken something
> very silly for the least.
>
> So I started looking into this. Documentation for winelib is four years
> old, to say the least. So I had to do lots of trials and see how wine
> builds its dlls itself to find my way out. In the end, it doesn't look
> that bad, though not as good as I thought either.
>
> I pushed some changes to master that enable using winelib by just doing:
>
> ./configure CC=winegcc LD=winegcc
>
> You can turn off the win32 font backend, if you want, by doing
> --disable-win32-font. The main problem with the build system at this
> point though is that libtool decides that winelib cannot make shared
> libraries. So it builds static libs only. I'll look into fixing that
> later.
>
> Next problem I still have is that pdf2png and svg2png won't link now.
> Not sure why's that. Also note that binaries generated by winegcc are
> in fact a small script calling wine to load the actualy .exe.so file
> generated. This is not much worse than what libtool already does for
> us, but we may be able to get to plain binaries since we don't use any
> native Windows binaries and so the wine loader should not be necessary.
>
> Finally, running the test suite. First, for an unknown reason, it
> crashes if $DISPLAY is set. It does so in a gdi32.something_flush
> function. Interestingly, if I unset DISPLAY, it kinda works now. The
> font stuff doesn't look good, so I turned win32-font backend off and
> used freetype. The other major problem is that it seems like some kind
> of composite operations are ignored. The most evident effect of this is
> that about 50 tests fail, and most have a totally black output image.
> In some testing that I did, painting an image surface to a win32 surface
> works, but simply painting a solid color to it doesn't work. Wine
> bug...
>
>
> Anyway, just wanted to give a heads up, and I'll be looking into this
> stuff a bit more, but those familiar with windows and wine stuff feel
> free to give this a try and improve it. Good test for wine in fact. I
> hope they pick this up and fix their stuff.
>
--
Jim Gettys
One Laptop Per Child
More information about the cairo
mailing list