[cairo] Fix OS/2 build

Dave Yeo daveryeo at telus.net
Mon Nov 10 16:24:05 PST 2008


On 11/10/08 07:53 am, Peter Weilbacher wrote:
> On 10.11.2008 15:59, Behdad Esfahbod wrote:
>> Dave Yeo wrote:
>>> Hi, this commit,
>>> http://gitweb.freedesktop.org/?p=cairo;a=commitdiff;h=d84752605a4aee96fa872a97a50e59a44ee7051a
>>> broke OS/2. We now get this error,
>>> In file included from ./cairo-os2-private.h:41:
>>> ./cairo-os2.h:56: error: syntax error before "hps_client_window"
>>> ./cairo-os2.h:58: warning: function declaration isn't a prototype
>>> ./cairo-os2.h:62: error: syntax error before "HWND"
>>> ./cairo-os2.h:62: warning: function declaration isn't a prototype
>>> ./cairo-os2.h:72: error: syntax error before "HPS"
>>>
>>> The problem is that these are all defined in os2*.h. Simplest fix seems
>>> to be
>> Then the correct fix is to include os2*.h in cairo-os2.h.

Actually under further testing, while the above patch worked for GCC 
3.4.6, it did not work for GCC 3.3.5. I finally fixed my build (both 
Cairo and Mozilla) by moving /usr/include/pthread.h out of the way. 
Seems that pthread.h also has an include <os2.h> with different defines 
and it was getting pulled in by cairo-mutex-impl-private.h.

>
> Agreed, then one can also remove the seperate os2.h include from
> cairo-os2-surface.c. Let me try to test and push the fix tonight.
> Hmm, why do we actually include os2emx.h and not os2.h for GCC?
>     Peter.
>

There is also a #include <os2.h> in cairo-mutex-impl-private.h.
Dave


More information about the cairo mailing list