gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ABI Compatibility (was Re: Installation woes for the average user...


From: David Chisnall
Subject: Re: ABI Compatibility (was Re: Installation woes for the average user...)
Date: Thu, 21 May 2009 10:47:18 +0100

On 21 May 2009, at 10:34, Wolfgang Lux wrote:

Have you ever looked at what Apple is doing? I can use executables compiled on Mac OS X 10.2 on Mac OS X 10.5 without any problems and Mac OS X does ship with only a single instance of all its libraries/ frameworks

Only half of this is true. Apple only ships one version of its frameworks. Each framework, however, contains different versions of the libraries. You may have noticed all of the OS X version macros in the headers. Each of those defines the parts of the interface that are visible in a particular version of the framework, but they are also used when compiling. Each version of OS X has a Foundation.framework containing several libFoundation.dylib files, one compiled for compatibility with each previous version. Without access to their source, I can't be completely sure how they are doing this, but my guess is that each ivar and each method - even each typedef - has the same feature macros in front of it and their build system automatically generates a backwards-compatible version as long as these changes are made.

It would be nice if GNUstep make had facilities for doing this, but I imagine it would be a lot of effort. It would also be easier if we could rely on a loader that supported frameworks properly, but I believe Matt Rice is the only person who has one of these on a non- NeXT/Apple platform.

David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]