[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: purefoundation is yafi (yet another Foundation implementation)
From: |
Stuart Crook |
Subject: |
Re: purefoundation is yafi (yet another Foundation implementation) |
Date: |
Thu, 18 Jun 2009 17:06:46 +0100 |
Hi, all.
I've just noticed this discussion, and since PureFoundation is my
fault I though I'd offer a quick explanation.
PF is designed to fix one of the (many, many) problems we have with
Darwin, namely that some of the projects are written in Obj-C and use
Foundation, despite Apple's Foundation being closed source and
missing. This wouldn't be too bad if it wasn't for Darwin's main
problem, which is that hardly anything compiles because of a thousand
different missing dependencies. So no chance of just rebuilding using
GNUStep. However, since many of these components are available as
binaries (naturally Apple can get them to build, although they come
out with their own closed-source dependencies) we can run them if we
provide a compatible Foundation.framework. In this case, compatible
means same ivars layout and object size, plus OS X-style framework
layouts.
PF is built on top of CFLite, and currently provides all of the
bridged classes which CF provides, along with a few extra support
classes (eg. auto release pools, enumerators). It's binary compatible
in that it will run binaries compiled on OS X (because you can't
currently compile anything on Darwin because Apple's gcc won't
compile...). It's good enough to run most of the Darwin Obj-C tools:
the directory services command line and arch (yes, Apple's arch is
written in Obj-C...). Development has mainly been geared towards
implementing the features these have needed.
The code hasn't been touched for a while because I've taken a step
back from PureDarwin for the moment. I'm waiting for Snow Leopard and
its source to be released (in the hope that things will have
improved... PureDarwin was a lot of work for little gain, especially
since there were only ever three or four of us working on it).
As far as integrating more GNUStep code goes, any help would be
appreciated, and having GNUStep's AppKit run on top of PF sounds like
a great target to aim for (I've also got my eye on Etoile).
So, basically, thanks for noticing PF.
_sjc_