Difference between revisions of "Library combos"
(2 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
There are three libraries that can be linked to. The [[Objective-C runtime]], the [[Foundation]] implementation, and the [[AppKit]] implementation. | There are three libraries that can be linked to. The [[Objective-C runtime]], the [[Foundation]] implementation, and the [[AppKit]] implementation. | ||
+ | |||
+ | Specifying which libraries to use is done with <code>./configure --with-library-combo=</code>objcruntime-foundation-applicationkit. Each of the three could have either the value <tt>gnu</tt> or <tt>apple</tt>, but not all of these are implemented. | ||
+ | To use the GNUstep runtime for ObjectiveC-2 with all the latest cutting edge changes, you should specify the 'ng' (Next Generation) runtime library (which also implies use of a recent clang compiler) | ||
+ | |||
+ | The following options are supported: | ||
+ | {| | ||
+ | |- | ||
+ | ! Runtime !! Foundation !! AppKit | ||
+ | |- | ||
+ | | gnu || gnu || gnu | ||
+ | |- | ||
+ | | ng || gnu || gnu | ||
+ | |- | ||
+ | | apple || gnu || gnu | ||
+ | |- | ||
+ | | apple || apple || gnu | ||
+ | |- | ||
+ | | apple || apple || apple | ||
+ | |} | ||
+ | |||
+ | Of these, the first two, and the last option are recommended (all GNU or all Apple). The default when building on Darwin and OS X is <tt>apple-apple-apple</tt>. Even when GNUstep apps use the all Apple option, GNUstep extensions are available to the app. |
Latest revision as of 08:32, 4 March 2016
Library combos are compile-time decisions about which libraries and runtimes to use. Since the only other major libraries are from Apple, this applies only to Darwin and Mac OS X.
There are three libraries that can be linked to. The Objective-C runtime, the Foundation implementation, and the AppKit implementation.
Specifying which libraries to use is done with ./configure --with-library-combo=
objcruntime-foundation-applicationkit. Each of the three could have either the value gnu or apple, but not all of these are implemented.
To use the GNUstep runtime for ObjectiveC-2 with all the latest cutting edge changes, you should specify the 'ng' (Next Generation) runtime library (which also implies use of a recent clang compiler)
The following options are supported:
Runtime | Foundation | AppKit |
---|---|---|
gnu | gnu | gnu |
ng | gnu | gnu |
apple | gnu | gnu |
apple | apple | gnu |
apple | apple | apple |
Of these, the first two, and the last option are recommended (all GNU or all Apple). The default when building on Darwin and OS X is apple-apple-apple. Even when GNUstep apps use the all Apple option, GNUstep extensions are available to the app.