-
Notifications
You must be signed in to change notification settings - Fork 1
/
ANNOUNCE
141 lines (113 loc) · 5.21 KB
/
ANNOUNCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
We are pleased to announce you the availability of libFoundation 0.9.0, a
free and almost complete implementation of Foundation Kit as defined by the
OpenStep specifications, plus more classes that come with the newest releases
of OPENSTEP 4.x and Rhapsody. It completely or almost completely
implements the following classes:
NSObject
NSString, NSMutableString
NSArray, NSMutableArray
NSDictionary, NSMutableDictionary
NSSet, NSMutableSet
NSData, NSMutableData
NSValue, NSNumber
NSDate, NSCalendarDate, NSTimeZone
NSCharacterSet
NSEnumerator
NSAutoreleasePool
NSException
NSNotification, NSNotificationCenter
NSCoder, NSArchiver, NSUnarchiver
NSScanner
NSInvocation, NSMethodSignature
NSFileManager
NSBundle
NSProcessInfo
NSAccount
NSDistributedLock
NSPosixFileDescriptor, NSFileHandle, NSPipe
NSTimer
NSRunLoop
NSThread, NSTask
NSUserDefaults
NSHost
Some extensions to the OpenStep specification are also present. They
include an extended exception handling mechanism, a garbage collector
based on reference counting and a printf-like formatting class. In
addition to the reference counting garbage collector, the 0.9.0
release comes with support for the Boehm's garbage collector, which
add true garbage collection to OpenStep applications.
The exception handling mechanism is very similar with those found in
Java and C++ and requires support for nested functions from the
compiler. The garbage collectors adds the benefits of automatic or
pseudo-automatic garbage collection to the OpenStep programs and it is
fully integrated with OpenStep classes. The printf-like formatting
class is a general purpose class that can be used to do various
operations that require parsing of format strings like in
printf(). This class is used for example to do all the formatting jobs
in the NSString class in libFoundation. There is another class
UnixSignalHandler designed for giving an object-oriented approach to
the Unix signal handling.
These extensions are also available in a separate library for other
OpenStep Foundation implementations; the current supported Foundation
libraries are gnustep-base and the Foundation library in OPENSTEP
4.x. We dropped the support for the buggy implementation of the
Foundation library that comes with NeXTSTEP 3.3; sorry for this.
The library requires GCC 2.8.1 or the EGCS 1.0.x compilers if you want
true garbage collection support. Patches for both compilers are
included in the distribution. If you don't need true garbage
collection you can still use the 2.7.2.1 compiler with an Objective-C
patch from
ftp://alpha.gnu.org/gnu/gnustep/contrib/gcc-2.7.2.1-objc-970318.diff.gz
ftp://ftp.net-community.com/pub/GNUstep/gcc-2.7.2.1-objc-970318.diff.gz
On NeXTStep machines the library can also be compiled with NeXT
Objective-C runtime besides the GNU runtime although the NeXT compiler
is not supported. Note that the library does not currently compile
with the NeXT runtime under OPENSTEP 4.x. In the future the OPENSTEP
4.x and NeXTSTEP 3.3 platforms will be no longer supported.
The library was ported on the following platforms:
- m68k-next-nextstep3
- i386-next-nextstep3
- i386-pc-linux-gnu
- i386-pc-cygwin32 (Windows NT)
- i386-unknown-solaris2.5.1
- sparc-sun-solaris2.5
- alpha-unknown-linux-gnu
- powerpc-ibm-aix4.1.5.0
The library also runs with GNU runtime on OPENSTEP 4.x for Mach with
the GNU compiler (not the native one). Anybody interested in the
compiler for OPENSTEP 4.x please contact us.
Support for Distributed Objects has been delayed until the next
release. We plan to base the code upon the Corba's IIOP, so that
OpenStep programs using libFoundation will be able to interoperate
with Corba programs without changes through the Distributed Objects
mechanism.
Changes in version 0.9.0 since version 0.8.0:
* The most important change is the support for Boehm's conservative
garbage collector, that makes the memory management much more easier
than the reference counting mechanism. Many thanks to Helge Hess
<helge@mdlink.de> for persuading me to implement this facility and
also for his support.
* Some portions of the code have been optimized to gain speed: objects
that were previously allocated in some functions or methods at each
invocation have been allocated once per-thread.
* The library has been ported to PowerPC running AIX 4.1.5. The port is
complete, it also includes the NSInvocation and NSMethodSignature
classes. Many thanks to Steven Besler <sbesler@exchange.ml.com> and
Leon Salvail <lsalvail@global-village.net> for supporting this work.
* Added support for dynamically loading bundles when running in the
GNUstep environment.
* The documentation is now written in Texinfo and we documented almost
all of the additional features libFoundation comes with in addition
to the OPENSTEP implementation.
* Bug fixes in several classes, including NSArray, NSString and
UnixSignalHandler.
Where you can get it?
=====================
You can download the source code from
http://www.slip.net/~ovidiu/libFoundation/libFoundation-0.9.0.tar.gz
ftp://alpha.gnu.org/gnu/gnustep/libFoundation-0.9.0.tar.gz
ftp://ftp.gnustep.org/pub/gnustep/libFoundation-0.9.0.tar.gz
ftp://ftp.net-community.com/pub/Free/libFoundation-0.8.0.tar.gz
Happy hacking,
Ovidiu Predescu <ovidiu@slip.net>
Mircea Oancea <mircea@pathcom.com>