[Openmcl-devel] New interface translator for Leopard (especially)

Gary Byers gb at clozure.com
Tue Nov 6 00:29:49 PST 2007

I was able to use Apple's recent gcc-5465 (the version that ships with
Leopard/XCode 3.0) sources to generate a new version of the FFI translator
(ffigen); this seems to do a better job of translating the Leopard headers
for Cocoa and other ObjC (2.0) frameworks than the half-complete version
that I'd been using did.

The "sources" (a bunch of patches to Apple's gcc-5465 and a Makefile
that applies them, builds the translator, and pacakges it up) is
available at:


If you untar that archive, cd to the "ffigen-for-apple-gcc-5465"
directory that it contains, and type "make", it'll tell you that
you need Apple's gcc-5465 tarball (and it'll tell you where to find


is the result of building that on an x86-64 Tiger system; that executable
should run on x86[-64] versions of Tiger and Leopard and seems able to
handle all of the constructs found in the Leopard headers.

(There should be a README file that explains how to install the binary
archive; the idea is to install the archive in a directory that has
a ./bin directory that's on your shell's search path, e.g, if /usr/local/bin
is on $PATH, then extracting the archive in /usr/local would work.)

I've checked in some "populate.sh" scripts for some things that've
been missing (webkit, addressbook, quartz, quartzcore, qtkit ...)

(I haven't yet done anything with this for the PPC. That obviously
-should- be done, but since there are some missing bits in the ObjC
bridge for ppc64 and the ppc32 Tiger interfaces should work on both
Tiger and (that subset of Tiger shared by) Leopard), it seems a bit
less critical.

More information about the Openmcl-devel mailing list