2004-07-04 14:24:17 +00:00
|
|
|
@node Compliance to Standards
|
|
|
|
@appendix GNUstep Compliance to Standards
|
|
|
|
@cindex standards, GNUstep compliance to
|
|
|
|
@cindex standards compliance
|
|
|
|
@cindex OpenStep compliance
|
|
|
|
@cindex OS X compatibility
|
|
|
|
|
|
|
|
GNUstep is generally compatible with the OpenStep specification and with
|
|
|
|
recent developments of the MacOS-X (Cocoa) API. Where MacOS deviates from the
|
|
|
|
OpenStep API, GNUstep generally attempts to support both versions. In some
|
|
|
|
cases the newer MacOS APIs are incompatible with OpenStep, and GNUstep usually
|
|
|
|
supports the richer version.
|
|
|
|
|
|
|
|
In order to deal with compatiblity issues, GNUstep uses two mechanisms - it
|
|
|
|
provides conditionally compiled sections of the library header files, so that
|
|
|
|
software can be built that will conform strictly to a particular API, and it
|
|
|
|
provides user default settings to control the behavior of the library at
|
|
|
|
runtime.
|
|
|
|
|
|
|
|
@section Conditional Compilation
|
|
|
|
@cindex compilation, conditional
|
|
|
|
|
|
|
|
Adding an option to a makefile to define one of the following preprocessor
|
|
|
|
constants will modify the API visible to software being compiled -
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn preprocessor NO_GNUSTEP
|
2004-07-04 14:24:17 +00:00
|
|
|
GNUstep specific extensions to the OpenStep and MacOS cocoa APIs are
|
|
|
|
excluded from the headers.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn preprocessor STRICT_MACOS_X
|
2004-07-04 14:24:17 +00:00
|
|
|
Only methods and classes that are part of the MacOS cocoa API are made
|
|
|
|
available in the headers.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn preprocessor STRICT_OPENSTEP
|
2004-07-04 14:24:17 +00:00
|
|
|
Only methods and classes that are part of the OpenStep specification are
|
|
|
|
made available in the headers.
|
|
|
|
@end deffn
|
|
|
|
|
|
|
|
Note, these preprocessor constants are used in developer code (ie the code
|
|
|
|
that users of GNUstep write) rather than by the GNUstep software itself. They
|
|
|
|
permit a developer to ensure that he/she does not write code which depends
|
|
|
|
upon API not present on other implementations (in practice, MacOS-X or some
|
|
|
|
old OPENSTEP systems). The actual GNUstep libraries are always built with the
|
|
|
|
full GNUstep API in place, so that the feature set is as consistent as
|
|
|
|
possible.
|
|
|
|
|
|
|
|
|
|
|
|
@section User Defaults
|
|
|
|
@cindex user defaults, API compliance
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
User defaults may be specified ...
|
2004-07-04 14:24:17 +00:00
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults GNU-Debug
|
2004-07-04 14:24:17 +00:00
|
|
|
An array of strings that lists debug levels to be used within the
|
|
|
|
program. These debug levels are merged with any which were set on the command
|
|
|
|
line or added programmatically to the set given by the
|
|
|
|
[NSProcessInfo-debugSet] method.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults GSLogSyslog
|
2004-07-04 14:24:17 +00:00
|
|
|
Setting the user default GSLogSyslog to YES will cause log/debug output to be
|
|
|
|
sent to the syslog facility (on systems which support it), rather than to the
|
|
|
|
standard error stream. This is useful in environments where stderr has been
|
|
|
|
re-used strangely for some reason.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults GSMacOSXCompatible
|
2004-07-04 14:24:17 +00:00
|
|
|
Setting the user default GSMacOSXCompatible to YES will cause MacOS compatible
|
|
|
|
behavior to be the default at runtime. This default may however be overridden
|
|
|
|
to provide more fine grained control of system behavior.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults GSOldStyleGeometry
|
2004-07-04 14:24:17 +00:00
|
|
|
Specifies whether the functions for producing strings describing geometric
|
|
|
|
structures (NSStringFromPoint(), NSStringFromSize(), and NSStringFromRect())
|
|
|
|
should produce strings conforming to the OpenStep specification or to MacOS-X
|
|
|
|
behavior. The functions for parsing those strings should cope with both cases
|
|
|
|
anyway.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults GSSOCKS
|
2004-07-04 14:24:17 +00:00
|
|
|
May be used to specify a default SOCKS5 server (and optionally a port
|
|
|
|
separated from the server by a colon) to which tcp/ip connections made using
|
|
|
|
the NSFileHandle extension methods should be directed.
|
|
|
|
|
|
|
|
This default overrides the SOCKS5_SERVER and SOCKS_SERVER environment variables.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults {Local Time Zone}
|
2004-07-04 14:24:17 +00:00
|
|
|
Used to specify the name of the timezone to be used by the NSTimeZone class.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults NSWriteOldStylePropertyLists
|
2004-07-04 14:24:17 +00:00
|
|
|
Specifies whether text property-list output should be in the default MacOS-X
|
|
|
|
format (XML), or in the more human readable (but less powerful) original
|
|
|
|
OpenStep format.
|
|
|
|
|
|
|
|
Reading of property lists is supported in either format, but only if GNUstep
|
|
|
|
is built with the libxml library (which is needed to handle XML parsing).
|
|
|
|
|
|
|
|
NB. MacOS-X generates illegal XML for some strings - those which contain
|
|
|
|
characters not legal in XML. GNUstep always generates legal XML, at the cost
|
|
|
|
of a certain degree of compatibility. GNUstep XML property lists use a
|
|
|
|
backslash to escape illegal chatracters, and consequently any string
|
|
|
|
containing either a backslash or an illegal character will be written
|
|
|
|
differently to the same string on MacOS-X.
|
|
|
|
@end deffn
|
|
|
|
|
2007-04-11 06:41:27 +00:00
|
|
|
@deffn defaults NSLanguages
|
2004-07-04 14:24:17 +00:00
|
|
|
An array of strings that lists the users prefered languages, in order or
|
|
|
|
preference. If not found the default is just English.
|
|
|
|
@end deffn
|