Difference between revisions of "Library combos"

From GNUstepWiki
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
  
 
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.
 
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:
 
The following options are supported:
Line 10: Line 11:
 
! Runtime !! Foundation !! AppKit  
 
! Runtime !! Foundation !! AppKit  
 
|-
 
|-
| GNU || GNU || GNU
+
| gnu || gnu || gnu
 
|-
 
|-
| Apple || GNU || GNU
+
| ng || gnu || gnu
 
|-
 
|-
| Apple || Apple || GNU
+
| apple || gnu || gnu
 
|-
 
|-
| Apple || Apple || Apple
+
| apple || apple || gnu
 +
|-
 +
| apple || apple || apple
 
|}
 
|}
  
Of these, the first and last options are recommended (all GNU or all Apple). The default when building on Darwin and OS X is <tt>apple-apple-apple</tt>.
+
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.