diff --git a/Documentation/gsdoc/Base.gsdoc b/Documentation/gsdoc/Base.gsdoc index eba98a44b..854da131a 100644 --- a/Documentation/gsdoc/Base.gsdoc +++ b/Documentation/gsdoc/Base.gsdoc @@ -14,9 +14,73 @@ Base

- The GNUstep base library is a free software package compatible with - the OpenStep Foundation Kit (tm). + The GNUstep base library is a free software package implementing + the API of the OpenStep Foundation Kit (tm), including later + additions.

+
+ Compatibility +

+ 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. +

+

+ 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. +

+ + Conditional compilation +

+ Adding an option to a makefile to define one of the following + preprocessor constants will modify the API visible to software + being compiled - +

+ + NO_GNUSTEP + + GNUstep specific extensions to the OpenStep and MacOS cocoa + APIs are excluded from the headers. + + STRICT_MACOS_X + + Only methods and classes that are part of the MacOS cocoa + API are made available in the headers. + + STRICT_OPENSTEP + + Only methods and classes that are part of the OpenStep + specification are made available in the headers. + + +
+ + User defaults +

+ 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. +

+ + GSMacOSXCompatibleGeometry + + Specifies whether the functions for producing strings describing + geometrical 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. + + +
+
The classes diff --git a/Documentation/gsdoc/Base.html b/Documentation/gsdoc/Base.html index 3b43d8600..55a6f7f95 100644 --- a/Documentation/gsdoc/Base.html +++ b/Documentation/gsdoc/Base.html @@ -13,10 +13,72 @@

Base

- The GNUstep base library is a free software package compatible with - the OpenStep Foundation Kit (tm). + The GNUstep base library is a free software package implementing + the API of the OpenStep Foundation Kit (tm), including later + additions.

-

The classes

+

Compatibility

+

+ + 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. +

+

+ + 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. +

+

Conditional compilation

+

+ + Adding an option to a makefile to define one of the following + preprocessor constants will modify the API visible to software + being compiled - +

+
+
NO_GNUSTEP +
+ GNUstep specific extensions to the OpenStep and MacOS cocoa + APIs are excluded from the headers. + +
STRICT_MACOS_X +
+ Only methods and classes that are part of the MacOS cocoa + API are made available in the headers. + +
STRICT_OPENSTEP +
+ Only methods and classes that are part of the OpenStep + specification are made available in the headers. + +
+

User defaults

+

+ + 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. +

+
+
GSMacOSXCompatibleGeometry +
+ Specifies whether the functions for producing strings describing + geometrical 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. + +
+

The classes