[cairo] cairo 1.3.16 with quartz and atsui

Baz brian.ewins at gmail.com
Sat Mar 3 18:16:05 PST 2007

On 04/03/07, Ryan Schmidt <cairo-2007a at ryandesign.com> wrote:
> So it seems that --enable-quartz and --enable-atsui must always
> appear together, so why isn't there just a single switch (like --
> enable-quartz-atsui -- similar to how some programs (like graphviz)
> have just --with-pangocairo, since pango and cairo work so closely
> together), or why doesn't configure at least complain loudly if I use
> one but not the other? Currently, configure seems to succeed, and
> then make takes a long time compiling stuff before it finally fails
> with some weird message, which just wastes my time.

Good point. In the past the separation worked, I believe you could get
ft fonts rendering on quartz via glyph surfaces, atsui depended on
quartz, and nquartz depended on both. Renaming has made quartz and
atsui co-dependent.

I'd be happy enough with just reducing it to '--enable-quartz'. This does it:
diff --git a/configure.in b/configure.in
index f2657db..087e4c9 100644
--- a/configure.in
+++ b/configure.in
@@ -568,9 +568,9 @@ dnl
 dnl This check should default to 'auto' once we have code to actually
 dnl check for the atsui font backend.

-CAIRO_BACKEND_ENABLE(atsui, ATSUI font, atsui, ATSUI_FONT, no, [
-  dnl There is no pkgconfig for atsui; lets do a header check
-  AC_CHECK_HEADER(Carbon/Carbon.h, , [use_atsui="no (Carbon not found)"])
+CAIRO_BACKEND_ENABLE(atsui, ATSUI font, atsui, ATSUI_FONT, auto, [
+  dnl Quartz requires and is required by atsui.
+  use_atsui=$use_quartz

 dnl ===========================================================================

(--enable-atsui on its own will now report that --enable-quartz is
required). Anyone object to this one? It seems uncontroversial, it
works the same as the --enable-win32-font flag.

> Lastly, if I both --enable-quartz and --enable-atsui it fails with an
> error about conflicting types for 'Picture':

I disabled xlib, xcb in my build to get rid of that. Currently I build with
'--enable-quartz --enable-atsui --disable-xlib --disable-ft
--disable-ps --disable-xcb'

IIRC disable ft isn't necessary (enabling atsui will disable it) and
ps was disabled because I have the wrong version of ghostscript and
was getting the test failures that result (I've gone to the trouble of
having the right version of gs in the past, but its just not there
right now)

For this one, should automake fail to enable quartz if xlib is
enabled? Or should --enable-quartz disable xlib?


More information about the cairo mailing list