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

Ron Garret ron at awun.net
Tue Nov 6 14:36:47 PST 2007

Is there an easy way to use ffigen to import other (non-Apple)  
libraries?  (I'm specifically thinking of libmysql.)

I tried the obvious thing:

h-to-ffi.sh /usr/local/mysql/include/mysql.h

but that didn't seem to do anything (though reverse-engineering one of  
the populate.sh scripts sure makes it look like it should have).


On Nov 6, 2007, at 12:29 AM, Gary Byers wrote:

> 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:
> <ftp://clozure.com/pub/testin/ffigen-for-apple-gcc-5465-src.tar.gz>
> 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
> it.)
> <ftp://clozure.com/pub/testing/ffigen-apple-gcc-5465-x86-64-2007-11-06-00-00-59.tar.gz 
> >
> 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.
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list