[cfe-dev] Weak pointer support on 32-bit platforms

David Chisnall David.Chisnall at cl.cam.ac.uk
Fri May 9 01:29:11 PDT 2014


Hi,


On 8 May 2014, at 23:17, Hovik Melikyan <hovik.melikyan at gmail.com> wrote:

> And finally, the GNU compiler is not an option for me because it lags
> in some crucial aspects of the ObjC language. I really, really want to
> get clang to compile libobjc and then the entire Foundation/Cocoa
> emulation layers. Ideally, clang should be able cross-compile this
> stuff on OSX.

You seem to be conflating many parts of the stack.  For all of the stuff that you want, you need:

- A compiler
- An Objective-C runtime
- A Foundation / AppKit implementation

Clang is the compiler, and supports several Objective-C runtimes.  The only supported configurations on Windows, however, are the GNU family of runtimes (the Apple runtime works on Windows, but requires code that Apple has not open sourced to actually be useful).  The GCC and GNUstep runtimes both work on Windows and the GNUstep runtime has supported ARC for several years and is used by a number of commercial products on Windows, Android, and so on.

Once you have the compiler and runtime, you need a Foundation implementation that supports the runtime.  Again, GNUstep provides this for the GCC and GNUstep runtimes.

I'm not sure what you mean by 'the entire Foundation/Cocoa emulation layers'.  Foundation and Cocoa are just libraries.  You can not use Apple's implementation on Windows[1], because Apple doesn't license their library implementations for third parties.

David

[1] Unless you can find a copy of Yellow Box for Windows, in which case you can but you'll have a *really* old version.



More information about the cfe-dev mailing list