Next: Overridable Flags, Previous: Platform Information, Up: Common Variables [Contents]
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.
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:
This is the classic ABI also implemented by GCC which does not support advanced features such as ARC or non-fragile instance variables.
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.
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.
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.
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.
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.
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.
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.
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.
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: Overridable Flags, Previous: Platform Information, Up: Common Variables [Contents]