Rogelio Serrano schrieb:

> How does apple do it?
>
> With Mach-o?

Yes. There can be several binary "streams" in a single file and they
are filtered by the processor architecture when e.g. calling the linker
tool ld or nm.

> Can it be be done with elf too? Or is it enough to compile and cross

I don't know.

> compile and just put them all together in an application bundle?

I don't know how regular GNUstep is solving this (if at all).

mySTEP does it in the following way:

Application.app/Contents
    /MacOS
       Application   <- this is the Mach-O universal binary
    /Linux-ARM
       Application   <- this is the ARM-ELF binary
    /Resources
    /Info.plist

and the runtime system (i.e. NSBundle and NSWorkspace) of mySTEP knows
to look for an -executablePath at Contents/Linux-ARM and not in /MacOS

The same is doen for .bundle and .framework (with a slightly different
structure). Therfore, mySTEP allows cross-platform universal binaries
that also run on MacOS X.

-- hns

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to