mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-26 18:21:04 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11567 72102866-910b-0410-8b05-ffd578937521
431 lines
13 KiB
HTML
431 lines
13 KiB
HTML
<html><head>
|
|
<title>GNUstep Base</title>
|
|
</head>
|
|
<body>
|
|
<h1>GNUstep Base</h1>
|
|
<h3>Authors </h3>
|
|
<dl>
|
|
<dt><a href ="http://www.gnustep.org/developers/whoiswho.html">Richard Frith-Macdonald</a>
|
|
<dd>
|
|
</dl>
|
|
<p>Version: $Revision$</p>
|
|
<p>Date: $Date$</p>
|
|
<h2><a name ="cont-0">Base</a></h2>
|
|
<p>
|
|
|
|
The GNUstep base library is a free software package implementing
|
|
the API of the OpenStep Foundation Kit (tm), including later
|
|
additions.
|
|
</p>
|
|
<h3><a name ="cont-1">Compatibility</a></h3>
|
|
<p>
|
|
|
|
GNUstep is generally compatible with the OpenStep specification and
|
|
with recent developments of the MacOS (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.
|
|
</p>
|
|
<p>
|
|
|
|
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.
|
|
</p>
|
|
<h4><a name ="cont-2">Conditional compilation</a></h4>
|
|
<p>
|
|
|
|
Adding an option to a makefile to define one of the following
|
|
preprocessor constants will modify the API visible to software
|
|
being compiled -
|
|
</p>
|
|
<dl>
|
|
<dt>NO_GNUSTEP
|
|
<dd>
|
|
GNUstep specific extensions to the OpenStep and MacOS cocoa
|
|
APIs are excluded from the headers.
|
|
|
|
<dt>STRICT_MACOS_X
|
|
<dd>
|
|
Only methods and classes that are part of the MacOS cocoa
|
|
API are made available in the headers.
|
|
|
|
<dt>STRICT_OPENSTEP
|
|
<dd>
|
|
Only methods and classes that are part of the OpenStep
|
|
specification are made available in the headers.
|
|
|
|
</dl>
|
|
<h4><a name ="cont-3">User defaults</a></h4>
|
|
<dl>
|
|
<dt>GSLogSyslog
|
|
<dd>
|
|
<p>
|
|
|
|
Setting the user default <code>GSLogSyslog</code> to
|
|
<code>YES</code> 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.
|
|
</p>
|
|
|
|
|
|
<dt>GSMacOSXCompatible
|
|
<dd>
|
|
<p>
|
|
|
|
Setting the user default <code>GSMacOSXCompatible</code> to
|
|
<code>YES</code> 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.
|
|
</p>
|
|
|
|
|
|
<dt>GSOldStyleGeometry
|
|
<dd>
|
|
<p>
|
|
|
|
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.
|
|
</p>
|
|
|
|
|
|
<dt>NSWriteOldStylePropertyLists
|
|
<dd>
|
|
<p>
|
|
|
|
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.
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Reading of property lists is supported in either format,
|
|
but <em>only</em> if GNUstep is built with the libxml
|
|
library (which is needed to handle XML parsing).
|
|
</p>
|
|
|
|
<p>
|
|
|
|
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.
|
|
</p>
|
|
|
|
|
|
<dt>NSLanguages
|
|
<dd>
|
|
<p>
|
|
|
|
An array of strings that lists the users prefered languages,
|
|
in order or preference. If not found the default is just
|
|
English.
|
|
</p>
|
|
|
|
|
|
</dl>
|
|
<h4><a name ="cont-4">Environment variables</a></h4>
|
|
<p>
|
|
|
|
There are some environment variables used by GNUstep base, where
|
|
there would be problems onbtaining data from the defaults asystem.
|
|
</p>
|
|
<dl>
|
|
<dt>CRASH_ON_ABORT
|
|
<dd>
|
|
<p>
|
|
|
|
The default exception handler will either cause the program to
|
|
simply terminate, or to crash - leaving a core dump. The
|
|
standard behavior is to leave a core dump if the library was
|
|
built for debugging, and to simply exit if it was not.
|
|
</p>
|
|
|
|
<p>
|
|
|
|
The CRASH_ON_ABORT environment variable can be used to
|
|
override this behavior. If this is defined to <em>NO</em>,
|
|
<em>FALSE</em>, or <em>0</em> then the program will simply
|
|
exit when an exception occurs. Any other value of the
|
|
variable will cause the program to generate a core dump.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_STRING_ENCODING
|
|
<dd>
|
|
<p>
|
|
|
|
This is used to specify the default encoding for 8-bit
|
|
strings. It defaults to NSISOLatin1StringEncoding, but
|
|
may be any of the 8-bit encodings supported by your system
|
|
(excluding multi-byte encodings).
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_HOST_CPU
|
|
<dd>
|
|
<p>
|
|
|
|
Used in place of GNUSTEP_TARGET_CPU if the other is missing.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_HOST_DIR
|
|
<dd>
|
|
<p>
|
|
|
|
Used in place of GNUSTEP_TARGET_DIR if the other is missing.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_HOST_OS
|
|
<dd>
|
|
<p>
|
|
|
|
Used in place of GNUSTEP_TARGET_OS if the other is missing.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_LOCAL_ROOT
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the GNUstep root directory for local
|
|
(non-system) resources. Typically all locally produced
|
|
or contributed software is installed relative to this.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_NETWORK_ROOT
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the GNUstep root directory for local
|
|
(non-system) resources that are intended to be shared
|
|
across a local network. Typically this is an NFS exported
|
|
directory shared by many machines. It provides an
|
|
alternative to GNUSTEP_LOCAL_ROOT.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_SYSTEM_ROOT
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the GNUstep system root directory ... all
|
|
system libraries, tools, applications, headers, resources
|
|
in general are located relative to this.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_USER_ROOT
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the GNUstep directory in which resources
|
|
specific to the current user are located.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_TARGET_CPU
|
|
<dd>
|
|
<p>
|
|
|
|
Overrides the default value of the machine (hardware)
|
|
name used on this system.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_TARGET_DIR
|
|
<dd>
|
|
<p>
|
|
|
|
Overrides the default path used to locate subdirectories
|
|
for GNUstep binaries withing bundles and applications.
|
|
This is normally equivalent to a path made up of the
|
|
GNUSTEP_TARGET_CPU and GNUSTEP_TARGET_OS
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_TARGET_OS
|
|
<dd>
|
|
<p>
|
|
|
|
Overrides the default value of the operating system
|
|
name used on this system.
|
|
</p>
|
|
|
|
|
|
<dt>GNUSTEP_TZ
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the timezone to be used if there is no
|
|
timezone specified in the user defaults system.
|
|
The preferred
|
|
mechanism is to use the 'Local Time Zone' value from the
|
|
user defaults system.
|
|
</p>
|
|
|
|
|
|
<dt>HOMEDRIVE
|
|
<dd>
|
|
<p>
|
|
|
|
Used on windoze to locate the home directory.
|
|
</p>
|
|
|
|
|
|
<dt>HOMEPATH
|
|
<dd>
|
|
<p>
|
|
|
|
Used on windoze to locate the home directory.
|
|
</p>
|
|
|
|
|
|
<dt>LANGUAGES
|
|
<dd>
|
|
<p>
|
|
|
|
If there is no NSLanguages user default set, and there is
|
|
no language infromation available in the native system locale
|
|
mechanism, then this environment variable is used to provide
|
|
a list of the languages that the user prefers to use.
|
|
languages listed in this variable must be separated by
|
|
semicolons.
|
|
</p>
|
|
|
|
|
|
<dt>LOGNAME
|
|
<dd>
|
|
<p>
|
|
|
|
This is used as the default value for the current user
|
|
(as returned by the NSUserName() functions). If it is not
|
|
specified, or contains an illegal value, other methods are
|
|
used to get the user name.
|
|
</p>
|
|
|
|
|
|
<dt>LIBRARY_COMBO
|
|
<dd>
|
|
<p>
|
|
|
|
Used to override the default value of the combination
|
|
of standard libraries used to build binaries. This
|
|
value locates the final subdirectory used to locate binaries.
|
|
</p>
|
|
|
|
|
|
<dt>TZ
|
|
<dd>
|
|
<p>
|
|
|
|
Used to specify the timezone to be used if there is no
|
|
timezone specified by any other mechanism. The preferred
|
|
mechanism is to use the 'Local Time Zone' value from the
|
|
user defaults system.
|
|
</p>
|
|
|
|
|
|
</dl>
|
|
<h3><a name ="cont-5">The Foundation classes</a></h3>
|
|
<ul>
|
|
<li ><a href ="NSArchiver.html">NSArchiver</a>
|
|
<li ><a href ="NSArray.html">NSArray</a>
|
|
<li ><a href ="NSAssertionHandler.html">NSAssertionHandler</a>
|
|
<li ><a href ="NSAttributedString.html">NSAttributedString</a>
|
|
<li ><a href ="NSAutoreleasePool.html">NSAutoreleasePool</a>
|
|
<li ><a href ="NSBundle.html">NSBundle</a>
|
|
<li ><a href ="NSCalendarDate.html">NSCalendarDate</a>
|
|
<li ><a href ="NSCharacterSet.html">NSCharacterSet</a>
|
|
<li ><a href ="NSCoder.html">NSCoder</a>
|
|
<li ><a href ="NSConditionLock.html">NSConditionLock</a>
|
|
<li ><a href ="NSConnection.html">NSConnection</a>
|
|
<li ><a href ="NSCountedSet.html">NSCountedSet</a>
|
|
<li ><a href ="NSDate.html">NSDate</a>
|
|
<li ><a href ="NSDateFormatter.html">NSDateFormatter</a>
|
|
<li ><a href ="NSDecimalNumber.html">NSDecimalNumber</a>
|
|
<li ><a href ="NSDecimalNumberHandler.html">NSDecimalNumberHandler</a>
|
|
<li ><a href ="NSDeserializer.html">NSDeserializer</a>
|
|
<li ><a href ="NSDictionary.html">NSDictionary</a>
|
|
<li ><a href ="NSDirectoryEnumerator.html">NSDirectoryEnumerator</a>
|
|
<li ><a href ="NSDistantObject.html">NSDistantObject</a>
|
|
<li ><a href ="NSDistantObjectRequest.html">NSDistantObjectRequest</a>
|
|
<li ><a href ="NSDistributedLock.html">NSDistributedLock</a>
|
|
<li ><a href ="NSDistributedNotificationCenter.html">NSDistributedNotificationCenter</a>
|
|
<li ><a href ="NSEnumerator.html">NSEnumerator</a>
|
|
<li ><a href ="NSException.html">NSException</a>
|
|
<li ><a href ="NSFileHandle.html">NSFileHandle</a>
|
|
<li ><a href ="NSFileManager.html">NSFileManager</a>
|
|
<li ><a href ="NSFormatter.html">NSFormatter</a>
|
|
<li ><a href ="NSHost.html">NSHost</a>
|
|
<li ><a href ="NSInvocation.html">NSInvocation</a>
|
|
<li ><a href ="NSLock.html">NSLock</a>
|
|
<li ><a href ="NSMethodSignature.html">NSMethodSignature</a>
|
|
<li ><a href ="NSMutableArray.html">NSMutableArray</a>
|
|
<li ><a href ="NSMutableAttributedString.html">NSMutableAttributedString</a>
|
|
<li ><a href ="NSMutableCharacterSet.html">NSMutableCharacterSet</a>
|
|
<li ><a href ="NSMutableData.html">NSMutableData</a>
|
|
<li ><a href ="NSMutableDictionary.html">NSMutableDictionary</a>
|
|
<li ><a href ="NSMutableSet.html">NSMutableSet</a>
|
|
<li ><a href ="NSMutableString.html">NSMutableString</a>
|
|
<li ><a href ="NSNotification.html">NSNotification</a>
|
|
<li ><a href ="NSNotificationCenter.html">NSNotificationCenter</a>
|
|
<li ><a href ="NSNotificationQueue.html">NSNotificationQueue</a>
|
|
<li ><a href ="NSNull.html">NSNull</a>
|
|
<li ><a href ="NSNumber.html">NSNumber</a>
|
|
<li ><a href ="NSNumberFormatter.html">NSNumberFormatter</a>
|
|
<li ><a href ="NSObject.html">NSObject</a>
|
|
<li ><a href ="NSPipe.html">NSPipe</a>
|
|
<li ><a href ="NSPort.html">NSPort</a>
|
|
<li ><a href ="NSPortCoder.html">NSPortCoder</a>
|
|
<li ><a href ="NSPortMessage.html">NSPortMessage</a>
|
|
<li ><a href ="NSPortNameServer.html">NSPortNameServer</a>
|
|
<li ><a href ="NSProcessInfo.html">NSProcessInfo</a>
|
|
<li ><a href ="NSProtocolChecker.html">NSProtocolChecker</a>
|
|
<li ><a href ="NSProxy.html">NSProxy</a>
|
|
<li ><a href ="NSRecursiveLock.html">NSRecursiveLock</a>
|
|
<li ><a href ="NSRunLoop.html">NSRunLoop</a>
|
|
<li ><a href ="NSScanner.html">NSScanner</a>
|
|
<li ><a href ="NSSerializer.html">NSSerializer</a>
|
|
<li ><a href ="NSSet.html">NSSet</a>
|
|
<li ><a href ="NSString.html">NSString</a>
|
|
<li ><a href ="NSTask.html">NSTask</a>
|
|
<li ><a href ="NSThread.html">NSThread</a>
|
|
<li ><a href ="NSTimeZone.html">NSTimeZone</a>
|
|
<li ><a href ="NSTimer.html">NSTimer</a>
|
|
<li ><a href ="NSURL.html">NSURL</a>
|
|
<li ><a href ="NSURLHandle.html">NSURLHandle</a>
|
|
<li ><a href ="NSUnarchiver.html">NSUnarchiver</a>
|
|
<li ><a href ="NSUndoManager.html">NSUndoManager</a>
|
|
<li ><a href ="NSUserDefaults.html">NSUserDefaults</a>
|
|
<li ><a href ="NSValue.html">NSValue</a>
|
|
</ul>
|
|
<h3><a name ="cont-6">The OpenStep functions and types</a></h3>
|
|
<ul>
|
|
<li ><a href ="NSFunctions.html">Functions</a>
|
|
</ul>
|
|
<h3><a name ="cont-7">The GNUstep extension classes</a></h3>
|
|
<ul>
|
|
<li ><a href ="GSMime.html">GSMime</a>
|
|
<li ><a href ="GSXML.html">GSXML</a>
|
|
</ul>
|
|
</body>
|
|
|
|
</html>
|