[cairo] cairo 1.4.0 with quartz

Baz brian.ewins at gmail.com
Thu Mar 8 02:27:19 PST 2007


On 08/03/07, Carl Worth <cworth at cworth.org> wrote:
> On Thu, 8 Mar 2007 00:28:52 -0600, Ryan Schmidt wrote:
> > On Mar 5, 2007, at 10:49, Carl Worth wrote:
> > > There's no reason cairo shouldn't allow you to build it with any
> > > combination of the available backends.
> >
> > FYI: The Quartz problem remains in 1.4.0. --enable-atsui now works by
> > itself (at least, it compiles properly even when --enable-quartz is
> > not used), but trying to --enable-quartz without using --disable-xlib
> ...
> > In file included from /opt/local/include/X11/extensions/Xrender.h:29,
> >                   from ../src/cairo-xlib-xrender.h:44,
> >                   from cairo-boilerplate.c:864:
> > /opt/local/include/X11/extensions/render.h:31: error: conflicting
> > types for 'Picture'
>
> Yeah, we didn't quite fix that yet, sorry.
[other solutions]

A hack suggested by Behdad I tested the night of the release: at line
742 of cairo-boilerplate.c, just before the #endif (for
CAIRO_HAS_QUARTZ_SURFACE), add:

#undef Picture
#define Picture CairoQuartzPicture
#undef Cursor
#define Cursor CairoQuartzCursor

You'll be able to build without the --disable-xlib, and take your pick
of whether to use atsui or ft in your build. But testing this I ran
into the extend-reflect crash and ran out of time to get it into the
release. Which is probably for the best, I'd like to fix it properly
as Carl described.

Cheers,
Baz


More information about the cairo mailing list