[cairo] Re[2]: Cairographics on win32

Carl Worth cworth at cworth.org
Thu Apr 7 15:18:59 PDT 2005


On Fri, 08 Apr 2005 10:04:05 +1200, Oleg Smolsky wrote:
> Sure, I can make everything ANSI C compliant. In any case, I've just
> checked, and the only macros I really need are
> CAIRO_HAS_WIN32_FONT=1
> CAIRO_HAS_WIN32_SURFACE=1

Yes.

> and they are defined inside my .vcproj.
> 
> Actually, IMHO, they should be in packaging/msvc/cairo-features.h
> which should be included really really early by every .c file......

Yes.

> > Second, the feature name macros are being defined improperly. They
> > should be:
> >         #define CAIRO_HAS_NO_PS_SURFACE
> >         #define CAIRO_HAS_NO_PDF_SURFACE
> >         #define CAIRO_HAS_NO_XLIB_SURFACE
> >         ...
> >         #define CAIRO_HAS_WIN32_SURFACE
> >         ...
> But that's only true as far your autoconf makefiles go. The source
> code (namely cairo.c) references things like CAIRO_HAS_PS_SURFACE.

Huh? That's what I just said. The affirmative features in need to be
named along the lines of CAIRO_HAS_WIN32_SURFACE, and that should
happen in cairo-features.h, not .vcproj, (since cairo-features.h is
part of the public API that cairo code exports).

As for advertising features that aren't present, what I think we
should do is always define all the macros, but with either a true or
false value, such as:

	#define CAIRO_HAS_WIN32_SURFACE 1
or else:
	#define CAIRO_HAS_WIN32_SURFACE 0

This would mean that the use of these macros would have to change
from:

	#ifdef CAIRO_HAS_WIN32_SURFACE
to:
	#if CAIRO_HAS_WIN32_SURFACE

which I think looks more clean anyway.

> I don't think so. Although, say, xlib backend is just a pile of
> recompilable C code, a win32/msvc build would never have enough
> headers to acually compile it. And even if these headers were
> available, IMHO, xlib is a useless thing to have on win32. (unless you
> are talking about the whole cygwin port, and that's not the case here)

I concede as far as the Xlib backend on win32 goes. I would like the
PS/PDF backends to be built by default on pretty much all systems, but
it sounds like we've still got some more work to do on those backends
before they are ready for that.

-Carl

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/cairo/attachments/20050407/711d283a/attachment.pgp


More information about the cairo mailing list