[cairo] Universal Framework for Mac OS X

Travis Griggs tgriggs at cincom.com
Mon Mar 23 08:30:35 PDT 2009

On Mar 22, 2009, at 4:33 PM, Ryan Schmidt wrote:

> 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.

Yes yes, here here, and amen! :)

I'm currently trying to help some guy deploy his Smalltalk app that  
uses Cairo. He uses Macports to develop (as do I), but figuring out  
what to package up so he can share an app with others, is a pain.

Travis Griggs
tgriggs at cincom.com
"The dissenter is every human being at those moments of his life when  
he resigns momentarily from the herd and thinks for himself." - 
Archibald MacLeish, poet and librarian

More information about the cairo mailing list