git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9205 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2001-02-22 05:56:33 +00:00
parent 1417d34bba
commit d7459f6dc7
10 changed files with 156 additions and 82 deletions

View file

@ -1,7 +1,7 @@
Announcement
************
The GNUstep Base Library, version 0.6.6, is now available.
The GNUstep Base Library, version 0.9.1, is now available.
What is the GNUstep Base Library?
=================================
@ -22,7 +22,7 @@ portion of the OpenStep standard (the Foundation library).
Where can you get it? How can you compile it?
==============================================
The gstepbase-0.6.6.tar.gz distribution file has been placed on
The gstepbase-0.9.1.tar.gz distribution file has been placed on
`ftp.gnustep.org' in `pub/gnustep/core'.
The library requires gcc 2.8.0 or higher. Significant sections of

7
BUGS
View file

@ -6,11 +6,4 @@ TODO
zone instead of creating one. Or better yet, fix the problem and
submit a patch.
* Invocations (and by extension, Distributed Objects) have been well
tested only on ix86 platforms. In particular, there are still
minor problems on PPC and Sparc platforms.
* Distributed Objects is now thread safe, but it hasn't been well
tested.

View file

@ -1,3 +1,9 @@
2001-02-21 Adam Fedor <fedor@gnu.org>
* Documenation/install.texi: Update.
* Documenation/news.texi: Likewise.
* INSTALL, NEWS: Regen.
2001-02-21 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSString.m: Fix memory leak reported by thoran@free.fr

View file

@ -19,15 +19,13 @@
@section Introduction
If you are installing this package as part of the GNUstep core
libraries, read the file GNUstep-HOWTO for more complete instructions on
package, read the file GNUstep-HOWTO for more complete instructions on
how to install the entire GNUstep package (including this library).
GNUstep-HOWTO comes with the core distribution and also is located at the
same ftp sites as this library.
GNUstep-HOWTO is located at @url{www.gnustep.org}
If you are instsalling the GNUstep libraries individually, make sure you
have installed the GNUstep Makefile package (gstep-make) already. Most of
the installation instructions for gstep-make also apply to this
library. When you configure this library, make sure you use the same
If you are installing the GNUstep libraries individually, make sure you
have installed the GNUstep Makefile package (gnustep-make) already.
When you configure this library, make sure you use the same
configuration options as with gstep-make. Some additional options to
configure are described below.
@ -42,14 +40,14 @@ for a list of these. It is not likely that you will need to use the
the directory specified by the @code{GNUSTEP_SYSTEM_ROOT} environment
variable (specified when you installed gstep-make).
Many configuration options for the base library need to be specified
Some configuration options for the base library need to be specified
when configuring the gstep-make package. In most cases, it is a good
idea to specify the same configuration options when configuring both
packages, just to make sure.
Also make sure you've read the machine-specific instructions for your
particular operating system and CPU. These instructions come with the
core libraries and are also located at the GNUstep web site at
GNUstep-HOWTO and are also located at the GNUstep web site at
@url{http://www.gnustep.org}.
@menu
@ -58,7 +56,7 @@ core libraries and are also located at the GNUstep web site at
@end menu
@node Reading Command-Line Arguments, FFI Library, Configuration, Top
@section Reading Command-Line Arguments
@subsection Reading Command-Line Arguments
There are two features that change how GNUstep gets access to
command-line arguments and environment variables (normally passed to
@ -95,25 +93,22 @@ arguments to NSProcessInfo (This would be done automatically if you use
the NSApplicationMain function in a gui application).
@node FFI Library, Compilation, Reading Command-Line Arguments, Top
@section FFI Library
@subsection FFI Library
GNUstep's NSInvocations and Distributed Objects code involves detailed
manipulation of function (method) calls, which does not work on all
machine architectures. A more robust and portable solution is to use a
manipulation of the stack and function calls using a
library that implements a Foreign-Function Interface (FFI), such as the
ffcall libraries. If you use a non-x86 machine, you should seriously
consider enabling this option using @code{--enable-ffcall}.
ffcall libraries. Use of ffcall is automatically enabled if the ffcall
libraries are found, unless specifically disabled with @code{--disable-ffcall}.
If disabled, the code reverts to the builtin method for stack frame handling,
but this rarely works on non ix86 machines and is not supported.
For this to work, you need to have the ffcall libraries, which you can
get from @url{ftp://ftp.santafe.edu/pub/gnu/} or
You need to have the ffcall libraries, which you can
get from @url{ftp://www.gnustep.org/pub/gnustep/libs/} or
@url{http://clisp.cons.org/~haible/}. You also need to have a special
version of the Objective-C library (as of gcc 2.95.x the required hooks
are not in the standard library). You can get this library from
@url{ftp://www.gnustep.org/pub/gnustep/contrib/libobjc-hh.tar.gz} or
patch the standard library with the patch at
@url{ftp://www.gnustep.org/pub/gnustep/contrib/libobjc-ffi.patch}.
Make sure you specify this option when configuring gstep-make also.
@url{ftp://www.gnustep.org/pub/gnustep/libs/libobjc-0.9.1.tar.gz}.
@node Compilation, , FFI Library, Top
@section Compilation
@ -124,6 +119,8 @@ can use with make are @samp{debug=yes} to make a debugging version of
the library and @samp{shared=no} to make a static version of the
library. See the gstep-make package for more information on these options.
If you can't install gstep-base as root, be sure to edit the
@file{Tools/gdomap.h} file and uncomment the last line.
@bye

View file

@ -7,6 +7,41 @@
The currently released version of the library is
@samp{@value{GNUSTEP-BASE-VERSION}}.
@section Noteworthy changes in version @samp{0.9.1}
@itemize @bullet
@item Fixes for building on FreeBSD
@item Unicode support for -initWithFormat:
@item NSDate pass dates over DO bycopy unless explicit byref.
@item Updated for Makefile package changes.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.9.0}
@itemize @bullet
@item Workaround when no host IP set.
@item Standardized non-NS filenames
@item Lots of code simplifications and standardization.
@item Added key/value methods to NSObject.
@item Updated DO and NSInvocation to use ffcall libraries.
@item New GSHTTPURLHandle class for http and https support.
@item New GSMime class for MIME parsing
@item Made DO threadsafe.
@item Added extension to NSThread to allow JIGS to map java threads to gnustep threads.
@item Modifications to make it easier to port to Apple runtime.
@item Added framework support to NSBundle
@item Added localization support
@item Better unicode conversion.
@item New NSNull class.
@item Major rewrite of NSString
@item Port to MinGW/Windows
@item Removed obsolete classes.
@end itemize
@section Noteworthy changes in version @samp{0.6.6}
@itemize @bullet
@ -19,10 +54,6 @@ the MacOS-X API (and incidentally, closer to the original OpenStep standard).
@item More optimization of classes.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.6.5}
@itemize @bullet

View file

@ -11,7 +11,7 @@ Here is some introductory info to get you started:
The file @samp{NEWS} has the library's feature history.
The files @samp{INSTALL} or @samp{GNUstep-HOWTO} (from the core package)
The files @samp{INSTALL} or @samp{GNUstep-HOWTO} (from the web site)
gives instructions for installing the library.
@section How can you help?

View file

@ -15,6 +15,4 @@ If you encounter a problem with NSZones, switch to using the
default zone instead of creating one. Or better yet, fix the problem and
submit a patch.
@item Distributed Objects is now thread safe, but it hasn't been well tested.
@end itemize

84
INSTALL
View file

@ -1,44 +1,40 @@
Introduction
============
Make sure you have installed the GNUstep Makefile package (gnustep-make)
before trying to install this package (gnustep-base). Configuring and
installing the gnustep-core suite of packages as a whole is no longer
supported - you need to configure and install each package in turn.
If you are installing this package as part of the GNUstep core
package, read the file GNUstep-HOWTO for more complete instructions on
how to install the entire GNUstep package (including this library).
GNUstep-HOWTO is located at <www.gnustep.org>
If you are installing the GNUstep libraries individually, make sure
you have installed the GNUstep Makefile package (gnustep-make) already.
When you configure this library, make sure you use the same
configuration options as with gstep-make. Some additional options to
configure are described below.
Configuration
=============
Before doing anything, you need to make sure you have run the GNUstep
shell initialization script - which should have been installed when you
installed gnustep-make. You need to type something like
Configuration is performed by running the `configure' program at a
shell prompt. You may want to use some of the optional arguments to the
`configure' program. Type `configure --help' for a list of these. It is
not likely that you will need to use the `--prefix' option, since
gstep-base will automatically install in the directory specified by the
`GNUSTEP_SYSTEM_ROOT' environment variable (specified when you
installed gstep-make).
. /usr/GNUstep/System/Makefiles/GNUstep.sh
where you need to use the full path of your GNUstep initialization script.
If you have based your GNUstep installation somewhere else than the default
(the default is /usr/GNUstep) - by using a special --prefix option when
configuring gnustep-make, then you need to replace `/usr/GNUstep/' with the
base of your gnustep installation. For example, if you configured
gnustep-make using `./configure --prefix=/opt/GNUstep', then the GNUstep
shell initialization script is in /opt/GNUstep/System/Makefiles/GNUstep.sh.
After you have run the GNUstep initialization script, you must configure
this package. Configuration is performed by running the `configure' program
at a shell prompt. You may want to use some of the optional arguments to the
`configure' program. Type `./configure --help' for a list of these. NB: you
should *not* use the `--prefix' option, since gnustep-base will
automatically install in the directory specified by the
`GNUSTEP_SYSTEM_ROOT' environment variable (specified when you installed
gnustep-make), and this should not be changed.
Some configuration options for the base library need to be specified
when configuring the gstep-make package. In most cases, it is a good
idea to specify the same configuration options when configuring both
packages, just to make sure.
Also make sure you've read the machine-specific instructions for your
particular operating system and CPU. These instructions come with the
core libraries and are also located at the GNUstep web site at
GNUstep-HOWTO and are also located at the GNUstep web site at
<http://www.gnustep.org>.
Reading Command-Line Arguments
==============================
------------------------------
There are two features that change how GNUstep gets access to
command-line arguments and environment variables (normally passed to
@ -72,29 +68,33 @@ automatically if you use the NSApplicationMain function in a gui
application).
FFI Library
===========
-----------
GNUstep's NSInvocations and Distributed Objects code involves
detailed manipulation of function (method) calls, which does not work
on all machine architectures. A more robust and portable solution is to
use a library that implements a Foreign-Function Interface (FFI), such
as the ffcall libraries. If you use a non-x86 machine, you should
seriously consider enabling this option using `--enable-ffcall'.
detailed manipulation of the stack and function calls using a library
that implements a Foreign-Function Interface (FFI), such as the ffcall
libraries. Use of ffcall is automatically enabled if the ffcall
libraries are found, unless specifically disabled with
`--disable-ffcall'. If disabled, the code reverts to the builtin
method for stack frame handling, but this rarely works on non ix86
machines and is not supported.
For this to work, you need to have the ffcall libraries, which you
can get from <ftp://ftp.santafe.edu/pub/gnu/> or
You need to have the ffcall libraries, which you can get from
<ftp://www.gnustep.org/pub/gnustep/libs/> or
<http://clisp.cons.org/~haible/>. You also need to have a special
version of the Objective-C library (as of gcc 2.95.x the required hooks
are not in the standard library). You can get this library from
<ftp://www.gnustep.org/pub/gnustep/contrib/libobjc-hh.tar.gz> or patch
the standard library with the patch at
<ftp://www.gnustep.org/pub/gnustep/contrib/libobjc-ffi.patch>.
<ftp://www.gnustep.org/pub/gnustep/libs/libobjc-0.9.1.tar.gz>.
Compilation
===========
To compile this library, type make. After this is complete, type make
install (make sure you are the root user). Some additional options you can
use with make are `debug=yes' to make a debugging version of the library and
`shared=no' to make a static version of the library. See the gnustep-make
package for more information on these options.
install (make sure you are the root user). Some additional options you
can use with make are `debug=yes' to make a debugging version of the
library and `shared=no' to make a static version of the library. See
the gstep-make package for more information on these options.
If you can't install gstep-base as root, be sure to edit the
`Tools/gdomap.h' file and uncomment the last line.

51
NEWS
View file

@ -1,7 +1,56 @@
News
****
The currently released version of the library is `0.6.6'.
The currently released version of the library is `0.9.1'.
Noteworthy changes in version `0.9.1'
=====================================
* Fixes for building on FreeBSD
* Unicode support for -initWithFormat:
* NSDate pass dates over DO bycopy unless explicit byref.
* Updated for Makefile package changes.
Noteworthy changes in version `0.9.0'
=====================================
* Workaround when no host IP set.
* Standardized non-NS filenames
* Lots of code simplifications and standardization.
* Added key/value methods to NSObject.
* Updated DO and NSInvocation to use ffcall libraries.
* New GSHTTPURLHandle class for http and https support.
* New GSMime class for MIME parsing
* Made DO threadsafe.
* Added extension to NSThread to allow JIGS to map java threads to
gnustep threads.
* Modifications to make it easier to port to Apple runtime.
* Added framework support to NSBundle
* Added localization support
* Better unicode conversion.
* New NSNull class.
* Major rewrite of NSString
* Port to MinGW/Windows
* Removed obsolete classes.
Noteworthy changes in version `0.6.6'
=====================================

2
README
View file

@ -18,7 +18,7 @@ Initial reading
The file `NEWS' has the library's feature history.
The files `INSTALL' or `GNUstep-HOWTO' (from the core package) gives
The files `INSTALL' or `GNUstep-HOWTO' (from the web site) gives
instructions for installing the library.
How can you help?