Next: , Previous: , Up: Common Variables   [Contents]


1.7.4 Library Combination

Variable: OBJC_RUNTIME_LIB

OBJC_RUNTIME_LIB is assigned the code that indicates the Objective-C Runtime library which compiled Objective-C programs will use; the four possible values are: ‘ng’ for the GNUstep Runtime with latest language features turned on at acompile time, ‘gnu’ for the GNU Runtime (or the GNUstep runtime with traditional language features compiled), ‘nx’ for the NeXT Runtime, and ‘sun’ for the Sun Microsystems Runtime. The Objective-C Runtime library can be changed to use a library other than the default with the ‘library_combo’ make parameter, see Running Make for more details. Read Library Combination for more information on how the Makefile Package handles different library combinations. If a makefile must perform specific operations dependent upon the Objective-C Runtime library then this variable is the one to check.

Variable: RUNTIME_VERSION

RUNTIME_VERSION is set to and allows you to override the Objective-C runtime ABI in use by the clang compiler. Generally, gnustep-make will provide a sane default for you.Please be aware that mixing different ABIs in the same binary is not generally supported. Possible values:

gcc

This is the classic ABI also implemented by GCC which does not support advanced features such as ARC or non-fragile instance variables.

gnustep-1.8

This is the first iteration of the GNUstep Objective-C ABI, which supports the advanced features while remaining compatible with the GCC ABI. Requires the GNUstep Objective-C runtime (libobjc2) 1.8 or later.

gnustep-2.0

This version breaks compatibility with the older runtime ABIs in order to provide better introspection metadata, reduced memory usage and smaller binaries. Requires the GNUstep Objective-C runtime (libobjc2) 2.0 or later.

Variable: RUNTIME_DEFINE

RUNTIME_DEFINE is assigned a preprocessor flag that can be passed to the compiler which defines a macro based upon the Objective-C Runtime library that compiled Objective-C programs will use. This macro is useful if the compiled program must execute different code based upon the Objective-C Runtime being used. See GNUmakefile.preamble for an example on how to pass this preprocessor flag when compiling. The four possible values are: ‘-DGNUSTEP_RUNTIME=1’ for the GNUstep ObjectiveC-2 Runtime, ‘-DGNU_RUNTIME=1’ for the GNU Runtime, ‘-DNeXT_RUNTIME=1’ for the NeXT Runtime, and ‘-DSun_RUNTIME=1’ for the Sun Microsystems Runtime.

Variable: FOUNDATION_LIB

FOUNDATION_LIB is assigned the code that indicates the Foundation Kit library, as specified by the OpenStep specification, which compiled Objective-C programs will use; the four possible values are: ‘gnu’ for the GNUstep Base Library, ‘nx’ for the NeXT Foundation Kit Library, ‘sun’ for the Sun Microsystems Foundation Kit Library, and ‘fd’ for the libFoundation Library. The Foundation Kit library can be changed to use a library other than the default with the ‘library_combo’ make parameter, see Running Make for more details. Read Library Combination for more information on how the Makefile Package handles different library combinations. If a makefile must perform specific operations dependent upon the Foundation Kit library then this variable is the one to check.

Variable: FND_DEFINE

FND_DEFINE is assigned a preprocessor flag that can be passed to the compiler which defines a macro based upon the Foundation Kit library, as specified by the OpenStep specification, which compiled Objective-C programs will use. This macro is useful if the compiled program must execute different code based upon the Foundation Kit library being used. See GNUmakefile.preamble for an example on how to pass this preprocessor flag when compiling. The four possible values are: ‘-DGNUSTEP_BASE_LIBRARY=1’ for the GNUstep Base Library, ‘-DNeXT_Foundation_LIBRARY=1’ for the NeXT Foundation Kit Library, ‘-DSun_Foundation_LIBRARY=1’ for the Sun Microsystems Foundation Kit Library, and ‘-DLIB_FOUNDATION_LIBRARY=1’ for the libFoundation Library.

Variable: GUI_LIB

GUI_LIB is assigned the code that indicates the Application Kit library, as specified by the OpenStep specification, which compiled Objective-C programs will use; the two possible values are: ‘gnu’ for the GNUstep GUI Library and ‘nx’ for the NeXT Application Kit Library. The Application Kit library can be changed to use a library other than the default with the ‘library_combo’ make parameter, see Running Make for more details. Read Library Combination for more information on how the Makefile Package handles different library combinations. If a makefile must perform specific operations dependent upon the Application Kit library then this variable is the one to check.

Variable: GUI_DEFINE

GUI_DEFINE is assigned a preprocessor flag that can be passed to the compiler which defines a macro based upon the Application Kit library, as specified by the OpenStep specification, which compiled Objective-C programs will use. This macro is useful if the compiled program must execute different code based upon the Application Kit library being used. See GNUmakefile.preamble for an example on how to pass this preprocessor flag when compiling. The two possible values are: ‘-DGNUSTEP_GUI_LIBRARY=1’ for the GNUstep GUI Library and ‘-DNeXT_Application_LIBRARY=1’ for the NeXT Application Kit Library.

Variable: GUI_BACKEND_LIB

GUI_BACKEND_LIB is assigned the code that indicates the backend library which compiled Objective-C programs will use in conjunction with the GNUstep GUI Library. The three possible values are: ‘xdps’ for the GNUstep X/DPS GUI Backend Library, ‘nsx’ for the NSKit GUI Backend Library, and ‘w32’ for the MediaBook WIN32 GUI Backend Library. GUI_BACKEND_LIB is only relevant when GUI_LIB is set to ‘gnu’; otherwise, GUI_BACKEND_LIB will be set to ‘nil’ to indicate that there is no backend library. GUI_BACKEND_LIB can be changed to use a library other than the default with the ‘library_combo’ make parameter, see Running Make for more details. Read Library Combination for more information on how the Makefile Package handles different library combinations. If a makefile must perform specific operations dependent upon the backend library then this variable is the one to check.

Variable: GUI_BACKEND_DEFINE

GUI_BACKEND_DEFINE is assigned a preprocessor flag that can be passed to the compiler which defines a macro based upon the backend library which compiled Objective-C programs will use in conjunction with the GNUstep GUI Library. This macro is useful if the compiled program must execute different code based upon the backend library being used. See GNUmakefile.preamble for an example on how to pass this preprocessor flag when compiling. The three possible values are: ‘-DXDPS_BACKEND_LIBRARY=1’ for the GNUstep X/DPS GUI Backend Library, ‘-DNSX_BACKEND_LIBRARY=1’ for the NSKit GUI Backend Library, and ‘-DW32_BACKEND_LIBRARY=1’ for the MediaBook WIN32 GUI Backend Library. GUI_BACKEND_DEFINE is not defined if there is not backend library; i.e. GUI_BACKEND_LIB is ‘nil’.


Next: , Previous: , Up: Common Variables   [Contents]