[cairo] Universal Framework for Mac OS X

Ryan Schmidt cairo-2009a at ryandesign.com
Sun Mar 22 16:33:56 PDT 2009

On Mar 22, 2009, at 17:33, Neil Mayhew wrote:

> On 22/3/09 11:09, Andreas Krinke wrote:
>> I had a really hard time to create an universal framework for Mac  
>> OS X.
> You could just use MacPorts instead. This has builds of a huge  
> number of
> open-source projects, including cairo and gtk. It even builds Aqua and
> Quartz versions of GTK and Cairo if you wish, which I have had a  
> lot of
> success with.

However, MacPorts does not build a Mac OS X framework of cairo, nor  
of most other ports, unless the upstream software automatically does so.

> For information about using the built libraries in Xcode projects, see
> this Apple Developer article:
> http://developer.apple.com/mac/articles/opensource/ 
> workingwithmacports.html
> The only point they don't mention is that some libraries, including
> cairo, put their headers in a subdirectory of /opt/local/include. You
> can check the details using, eg, pkg-config --cflags cairo.
> If you want built libraries that you can distribute to other machines,
> MacPorts can build a variety of universal-binary redistributable
> formats, including .pkg, .mpg and .dmg

Yes, but on Mac OS X you really want to distribute something that is  
relocatable. MacPorts-installed software is not. And you don't really  
want to distribute things that install into /opt/local, because that  
would overwrite and interfere with anything the user had themselves  
installed with MacPorts. So if you're going to do it this way, then  
you should build MacPorts from source and specify a nonstandard  
prefix unique to your program. For example, if you are writing the  
program "foo", then consider using the prefix /usr/local/foo. Then  
you can package up anything you like from that directory and  
distribute it without interfering with anything else.

More information about the cairo mailing list