[Openmcl-devel] universal binaries

Gary Byers gb at clozure.com
Thu Apr 16 14:09:43 PDT 2009

There has never been any support for universal binaries in CCL.

Merging multiple kernels into a single executable file is trivial (well,
it's trivial since we can just invoke the 'lipo' program to do all of
the non-trivial work.)

There isn't currently any support for multi-architecture heap images,
so it's not clear how a universal binary kernel could find and load
the right architecture-specific heap image by default.

For a long time, I've been under the impression that the file named by
the value of the CFBundleExecutable key in a .app bundle' Info.plist
had to be a real executable file.  If it can in fact be a shell
script, then that shell script could just determine the architecture
and execute the right architecure-specific binary (which could either
contain an embedded heap image, load a default heap image based on its
name, or receive an argument from that shell script.)

(It does seems to work to set the CFBundleExecutable key's value to
the name of a shell script, and that shell script can determine the
architecture and word size and exec a real executable file.  That isn't
quite the same thing as a Universal Binary - "Get Info" wouldn't recognize
it as one - but it'd have much the same effect.)

On Thu, 16 Apr 2009, Alexander Repenning wrote:

> is there a tool/script/document helping with the process of merging the PPC 
> with the Intel-Mac binary version(s) into a single app? If I remember right 
> CCL 1.2 did have such a universal binary. Would it be possible to squeeze 
> 64bit and 32 bit intel-macs versions together with a ppc binary into a single 
> app?
> alex
> Prof. Alexander Repenning
> University of Colorado
> Computer Science Department
> Boulder, CO 80309-430
> vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf

More information about the Openmcl-devel mailing list