mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-23 00:41:02 +00:00
Updates for version 0.5.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2763 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
d9212b5293
commit
736fdfa8a2
8 changed files with 627 additions and 105 deletions
4
ANNOUNCE
4
ANNOUNCE
|
@ -1,7 +1,7 @@
|
|||
Announcement
|
||||
************
|
||||
|
||||
The GNUstep Base Library, version 0.4.0, is now available.
|
||||
The GNUstep Base Library, version 0.5.0, is now available.
|
||||
|
||||
What is the GNUstep Base Library?
|
||||
=================================
|
||||
|
@ -23,7 +23,7 @@ implemented as wrappers around more featureful GNU classes.
|
|||
Where can you get it? How can you compile it?
|
||||
==============================================
|
||||
|
||||
The gstepbase-0.4.0.tar.gz distribution file has been placed on
|
||||
The gstepbase-0.5.0.tar.gz distribution file has been placed on
|
||||
`ftp.gnu.org' in `pub/gnu'.
|
||||
|
||||
The library requires gcc 2.8.0 or higher. Significant sections of
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
Mon Mar 2 10:04:57 1998 Adam Fedor <fedor@doc.com>
|
||||
|
||||
* Version: Version 0.5.0.
|
||||
* ANNOUNCE, NEWS, GNUstep-HOWTO: Update.
|
||||
* doc/faq.tmpl.texi, doc/gnustep-howto.tmpl.texi,
|
||||
doc/news.tmpl.texi: Likewise.
|
||||
|
||||
Thu Feb 26 12:49:10 1998 Adam Fedor <fedor@doc.com>
|
||||
|
||||
* configure.in: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER.
|
||||
|
|
|
@ -40,8 +40,8 @@ which to find GNUstep information without hype.
|
|||
@item @b{What is GNUstep?}
|
||||
|
||||
GNUstep is the Free Software Foundation's effort to implement NeXT
|
||||
Software Inc.'s OpenStep Standard. The project is not finished, however
|
||||
some components are useable now.
|
||||
Software Inc.'s (now Apple) OpenStep Standard. The project is not
|
||||
finished, however some components are useable now.
|
||||
|
||||
The GNUstep project consists of the following sub-projects:
|
||||
|
||||
|
@ -128,6 +128,20 @@ He has been involved and hacking in the NeXT community since NeXTSTEP
|
|||
version 0.8; he has been working on GNU Objective C and the Base Library
|
||||
since 1993.
|
||||
|
||||
@item Scott Christley @email{scottc@@net-community.com} is in charge of
|
||||
the GUI library and the InterfaceModeler project, which is currently in
|
||||
the design stages. He is also the maintainer of the Objective-C
|
||||
language and runtime for GCC.
|
||||
|
||||
@item Richard Frith-Macdonald @email{richard@@brainstorm.co.uk} is
|
||||
responsible in large part for the distributed objects system as well as
|
||||
many other classes in the GNUstep base library.
|
||||
|
||||
@item Ovidiu Predescu @email{ovidiu@@net-community.com} is doing a lot of work
|
||||
on the GUI and XDPS backend, wrote the Makefile package, and also, along
|
||||
with Mircea Ion Oancea wrote the Foundation extensions and the alternate
|
||||
Foundation library libFoundation.
|
||||
|
||||
@item Pascal Forget @email{pascal@@wsc.com} is working on the GUI
|
||||
Library in conjunction with Scott Christley. He has worked with Randy
|
||||
Chapman's DisplayGhostScript and X Windows as a GNUstep GUI backend.
|
||||
|
@ -136,11 +150,6 @@ Chapman's DisplayGhostScript and X Windows as a GNUstep GUI backend.
|
|||
on the GNUstep DisplayGhostScript Server, adding DPS extensions to
|
||||
GhostScript, including pswrap work.
|
||||
|
||||
@item Scott Christley @email{scottc@@net-community.com} is in charge of
|
||||
the GUI library and the InterfaceModeler project, which is currently in
|
||||
the design stages. He is also the maintainer of the Objective-C
|
||||
language and runtime for GCC.
|
||||
|
||||
@end itemize
|
||||
|
||||
There are many others who have made significant contributions to
|
||||
|
@ -167,9 +176,7 @@ Please send corrections to the FAQ maintainer.
|
|||
|
||||
There is a WWW site at @url{http://www.gnustep.org}, (and its mirror
|
||||
@url{http://www.NMR.EMBL-Heidelberg.DE/gnustep}, that contains many
|
||||
useful pointers. The technical information in this FAQ may be more up
|
||||
to date than the WWW pages since this FAQ is maintained directly by the
|
||||
people who are developing GNUstep code.
|
||||
useful pointers.
|
||||
|
||||
There are several mailing lists:
|
||||
|
||||
|
@ -201,9 +208,10 @@ may be invited to join. We apologize in advance, but, for the sake of
|
|||
efficient communication, the list is not open to people who are not
|
||||
actively contributing significant coding work to the project; don't
|
||||
bother asking to be added unless you have already been in contact with
|
||||
Andrew McCallum about source code contributions. If you would like to
|
||||
make code contributions, by all means, contact McCallum. This list is
|
||||
maintained by McCallum @email{mccallum@@gnu.ai.mit.edu}.
|
||||
Adam Fedor about source code contributions. If you would like to make
|
||||
code contributions, by all means, contact Adam. This list is maintained
|
||||
by Adam @email{fedor@@gnu.org} and Andrew McCallum
|
||||
@email{mccallum@@gnu.org}.
|
||||
|
||||
@end itemize
|
||||
|
||||
|
@ -211,13 +219,8 @@ maintained by McCallum @email{mccallum@@gnu.ai.mit.edu}.
|
|||
@item @b{What is the current state of the project? When can I expect it to be completed?}
|
||||
|
||||
The Base Library is about 90 percent done. Significant useful work can
|
||||
already be done using the library. The GUI library is about 45
|
||||
percent done. It is going through a major transition at the moment
|
||||
to coordinate work from multiple developers, DisplayPostscript, and
|
||||
the non-OpenStep objcX library into a single package that will be made
|
||||
available to the public. The DisplayPostscript and drawing support
|
||||
is also in transition.
|
||||
|
||||
already be done using the library. The GUI library is about 65
|
||||
percent done.
|
||||
More detailed information about the state of each of the sub-projects
|
||||
can be found at the above mentioned web sites.
|
||||
|
||||
|
@ -325,10 +328,11 @@ library. It can be obtained from @url{ftp://prep.ai.mit.edu/pub/gnu},
|
|||
or any other mirror of the GNU archives. As far as I know, the GNU
|
||||
Objective C Runtime runs on all, platforms on which GCC runs.
|
||||
|
||||
GCC version 2.7.2 does not contain the thread-safe features, but GCC version 2.8.0 will. A patch for thread-safe features is provided
|
||||
with the latest developer snaphots of the GNUstep Base Library. There
|
||||
are currently thread-safe backends for DEC OSF/1, Solaris, IRIX, Linux, and
|
||||
WindowsNT. Volunteers are solicited for writing additional back-ends.
|
||||
GCC version 2.8.0 or later is required for GNUstep. You can also use
|
||||
egcs version 1.0.1 or later. Both compilers should contain the
|
||||
thread-safe features. There are currently thread-safe backends for DEC
|
||||
OSF/1, Solaris, IRIX, Linux, and WindowsNT. Volunteers are solicited
|
||||
for writing additional back-ends.
|
||||
|
||||
@item @b{Does it allow a mixture of Objective C and C++}
|
||||
|
||||
|
@ -337,7 +341,7 @@ containing both Objective C and C++. People at Cygnus have mentioned
|
|||
that they would be willing to do the work---if they were paid for it, of
|
||||
course. Several people are interested in seeing this happen. Send
|
||||
email to @samp{discussion@@gnustep.org} and
|
||||
@samp{gnu-objc@@prep.ai.mit.edu} if you are interesting in pushing this
|
||||
@samp{gnu-objc@@gnu.org} if you are interesting in pushing this
|
||||
issue, so that the efforts of all those people interested can be
|
||||
coordinated.
|
||||
|
||||
|
@ -361,10 +365,6 @@ contains more information about GNU Objective C.
|
|||
|
||||
@include base-desc.texi
|
||||
|
||||
There is more (although perhaps out-of-date) information available at
|
||||
the GNUstep Base Library homepage at
|
||||
@url{http://www.cs.rochester.edu/u/mccallum/gnustep-base}.
|
||||
|
||||
|
||||
@item @b{What is its current state of development?}
|
||||
|
||||
|
@ -490,21 +490,21 @@ as NeXT's; be warned, however, that they are not compatible with each
|
|||
other. They have different class heirarchies, different instance
|
||||
variables, different method names, different implementation strategies
|
||||
and different network message formats. You cannot communicate with a
|
||||
NeXT NXConnection using a GNU Connection.
|
||||
NeXT NSConnection using a GNU Connection.
|
||||
|
||||
Here are some differences between GNU distributed objects and NeXT's
|
||||
distributed objects: NXConnection creates NXProxy objects for local
|
||||
distributed objects: NSConnection creates NSProxy objects for local
|
||||
objects as well as remote objects; GNU Connection doesn't need and
|
||||
doesn't create proxies for local objects. NXProxy asks it's remote
|
||||
doesn't create proxies for local objects. NSProxy asks it's remote
|
||||
target for the method encoding types and caches the results; GNU Proxy
|
||||
gets the types directly from the local GNU "typed selector" mechanism
|
||||
and has no need for querying the remote target or caching encoding
|
||||
types. The NXProxy for the remote root object always has name 0 and,
|
||||
once set, you cannot change the root object of a NXConnection; the GNU
|
||||
types. The NSProxy for the remote root object always has name 0 and,
|
||||
once set, you cannot change the root object of a NSConnection; the GNU
|
||||
Proxy for the remote root object has a target address value just like
|
||||
all other Proxy's, and you can change the root object as many times as
|
||||
you like. See the "lacking-capabilities" list below for a partial
|
||||
list of things that NXConnection can do that GNU Connection cannot.]
|
||||
list of things that NSConnection can do that GNU Connection cannot.]
|
||||
|
||||
|
||||
Here is a partial list of what the current distributed objects system
|
||||
|
|
|
@ -79,7 +79,7 @@ FoundationExt.
|
|||
@section Getting the files
|
||||
|
||||
Most of the files needed by GNUstep are available from the following ftp
|
||||
sites. Except for gcc, gdb, make and libtiff, alpha.gnu.org
|
||||
sites. Except for gcc, gdb, make and libtiff, alpha.gnu.org and ftp.gnustep.org
|
||||
should contain the latest versions of all the required
|
||||
packages.
|
||||
|
||||
|
@ -110,29 +110,32 @@ make-3.75.tar.gz (You need GNU make to compile GNUstep).
|
|||
gdb-4.16-objc-971112.diff.gz (A patch for easier debugging of Objective-C).
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
tiff-v3.4beta036-tar.gz (The TIFF library), or
|
||||
tiff-970711.tar.gz
|
||||
tiff-970711.tar.gz (The TIFF library), or
|
||||
you can use tiff-v3.4beta036-tar.gz or greater version
|
||||
ftp://ftp.sgi.com/graphics/tiff/
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
|
||||
pcthreads-1.1.0.tar.gz (PCThreads for Linux/GNU Inel x86 systems)
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
|
||||
gstep-make-0.4.0.tar.gz (Makefile package)
|
||||
dgs-970711.tar.gz (The Display Ghostscript distribution)
|
||||
gstep-base-0.4.0.tar.gz (Foundation)
|
||||
gstep-gui-0.4.0.tar.gz (AppKit)
|
||||
gstep-xdps-0.4.0.tar.gz (X11/PostScript backend)
|
||||
gstep-core-0.5.0.tar.gz (Contains gstep-make, -extensions, -base, -gui, -xdps)
|
||||
gstep-make-0.5.0.tar.gz (Makefile package)
|
||||
gstep-base-0.5.0.tar.gz (Foundation)
|
||||
gstep-gui-0.5.0.tar.gz (AppKit)
|
||||
gstep-xdps-0.5.0.tar.gz (X11/PostScript backend)
|
||||
extensions-0.5.0.tar.gz (Foundation extensions)
|
||||
dgs-0.5.0.tar.gz (The Display Ghostscript distribution)
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
libFoundation-0.8.0.tar.gz (Foundation)
|
||||
libFoundation-0.8.0.tar.gz (Alternate Foundation)
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
|
||||
FoundationExt-0.8.1.tar.gz (Foundation extentions (optional))
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
@end example
|
||||
|
||||
You may get either one of the Foundations libraries (you only need to
|
||||
|
@ -142,14 +145,14 @@ Note that you should get the latest version available, not necessarily
|
|||
the one listed here. For the more adventurous, and since the project is
|
||||
still in development, it might be better to get the latest snapshot
|
||||
located in the snap or snapshot subdirectories at
|
||||
ftp://alpha.gnu.org/gnu/gnustep or the other appropriate ftp locations.
|
||||
ftp://alpha.gnu.org/gnu/gnustep/snap or the other appropriate ftp locations.
|
||||
|
||||
For the following instructions, some version numbers are replaced by XXX.
|
||||
You shoule replace the 'X's with the version of the package you have.
|
||||
|
||||
@section Compiling and Installing the packages
|
||||
|
||||
@subsection Compiling make
|
||||
@subsection Compiling GNU make
|
||||
|
||||
GNU make is required to compile all GNUstep packages.
|
||||
|
||||
|
@ -163,49 +166,6 @@ su root
|
|||
make install
|
||||
@end example
|
||||
|
||||
@subsection Installing the Makefile package
|
||||
|
||||
First decide where you want the GNUstep files to go, and use this as
|
||||
an argument to configure in the makefile package. If you don't choose
|
||||
a location, the default is /usr/GNUstep. The example below shows how
|
||||
to configure the packages for installation in /usr/local/GNUstep.
|
||||
|
||||
@example
|
||||
tar fvxz gstep-make-XXXXXX.tar.gz
|
||||
cd gstep-make-XXXXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
If you are using, or intend to compile the GCC Objective-C runtime with
|
||||
threads, you need to specify the thread package you are using when
|
||||
running configure:
|
||||
|
||||
@example
|
||||
LIBS=-lpthread; ./configure --prefix=/usr/local/GNUstep
|
||||
@end example
|
||||
|
||||
After this you should add the shell script @file{GNUstep.sh} in the makefile
|
||||
package to you initialization file (such as @file{.profile}). For instance:
|
||||
|
||||
@example
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
@end example
|
||||
|
||||
in your @file{.profile} file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh need
|
||||
to change the @file{GNUstep.sh} script so it will work with csh. Read the
|
||||
@file{README} for more info.
|
||||
|
||||
GNUstep packages will automatically install in this directory structure. You
|
||||
can install other packages (such as gcc) in the same structure if you specify
|
||||
the GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
@example
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
@end example
|
||||
|
||||
@subsection Compiling PCThreads
|
||||
|
||||
For Linux/GNU systems on Intel x86 processors, the PCThreads library is
|
||||
|
@ -336,6 +296,89 @@ make bootstrap
|
|||
whatever you want.
|
||||
@end table
|
||||
|
||||
@subsection Installing the GNUstep libraries
|
||||
|
||||
If you have the gstep-core package, you can make and install all the
|
||||
GNUstep core packages at one time. If you already have a TIFF library
|
||||
and a Display Postscript system installed, you can do this following the
|
||||
example instructions below. If you don't already have a TIFF library or
|
||||
DPS, you have to do things in a slightly different order.
|
||||
|
||||
If you have the separate gstep packages, skip to the next section
|
||||
(Installing the Makefile package).
|
||||
|
||||
First decide where you want the GNUstep files to go, and use this as
|
||||
an argument to configure. If you don't choose
|
||||
a location, the default is /usr/GNUstep. The example below shows how
|
||||
to configure the packages for installation in /usr/local/GNUstep.
|
||||
|
||||
If you don't have libtiff or DPS,
|
||||
first make and install the Makefile package, the TIFF library and DGS,
|
||||
as shown in the following three sections.
|
||||
|
||||
After you have libtiff and DPS/DGS installed, make the core libraries:
|
||||
|
||||
@example
|
||||
tar fvxz gstep-core-XXXXX.tar.gz
|
||||
cd gstep-core-XXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
make
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
With the various GNUstep libraries you can use the various
|
||||
switches, shared, debug. As in ``make shared=no debug=yes'' (Make sure
|
||||
you use the same switches for every package you compile, and also when
|
||||
you install).
|
||||
|
||||
Skip to the Additional Instructions sections to finish up installation
|
||||
of the GNUstep system.
|
||||
|
||||
@subsection Installing the Makefile package
|
||||
|
||||
Decide where you want the GNUstep files to go, and use this as
|
||||
an argument to configure in the makefile package. If you don't choose
|
||||
a location, the default is /usr/GNUstep. The example below shows how
|
||||
to configure the packages for installation in /usr/local/GNUstep.
|
||||
|
||||
@example
|
||||
tar fvxz gstep-make-XXXXXX.tar.gz
|
||||
cd gstep-make-XXXXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
make
|
||||
su root
|
||||
make install
|
||||
@end example
|
||||
|
||||
If you are using, or intend to compile the GCC Objective-C runtime with
|
||||
threads, you need to specify the thread package you are using when
|
||||
running configure:
|
||||
|
||||
@example
|
||||
LIBS=-lpthread; ./configure --prefix=/usr/local/GNUstep
|
||||
@end example
|
||||
|
||||
After this you should add the shell script @file{GNUstep.sh} in the makefile
|
||||
package to you initialization file (such as @file{.profile}). For instance:
|
||||
|
||||
@example
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
@end example
|
||||
|
||||
in your @file{.profile} file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh need
|
||||
to change the @file{GNUstep.sh} script so it will work with csh. Read the
|
||||
@file{README} for more info.
|
||||
|
||||
GNUstep packages will automatically install in this directory structure. You
|
||||
can install other packages (such as gcc) in the same structure if you specify
|
||||
the GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
@example
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
@end example
|
||||
|
||||
@subsection Compiling libtiff
|
||||
|
||||
You don't need a customized version of libtiff, or necessarily even the
|
||||
|
@ -368,12 +411,8 @@ above.
|
|||
make install
|
||||
@end example
|
||||
|
||||
@subsection Building a Foundation library
|
||||
|
||||
With this and the following packages that use the GNUstep makefile
|
||||
package you can use the various switches,
|
||||
shared, debug. As in ``make shared=no debug=yes'' (Make sure you use the
|
||||
same switches for every package you compile, and also when you install).
|
||||
@subsection Building a Foundation library
|
||||
|
||||
If you work with gstep-base:
|
||||
|
||||
|
@ -452,6 +491,19 @@ Compiling:
|
|||
|
||||
@section Additional Installation
|
||||
|
||||
If you haven't already done so when installing the Makefile package,
|
||||
you should add the shell script @file{GNUstep.sh} in the Makefile
|
||||
package to you initialization file (such as @file{.profile}). For instance:
|
||||
|
||||
@example
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
@end example
|
||||
|
||||
in your @file{.profile} file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh need
|
||||
to change the @file{GNUstep.sh} script so it will work with csh. Read the
|
||||
@file{README} for more info.
|
||||
|
||||
Set up your home GNUstep directory. This is where user defaults are
|
||||
kept, and in the future, other files may be kept there.
|
||||
|
||||
|
|
|
@ -9,11 +9,15 @@ The currently released version of the library is
|
|||
@itemize @bullet
|
||||
|
||||
@item Improvements to the NSInvocation class, from Masatake Yamato
|
||||
@email{masata-y@aist-nara.ac.jp}.
|
||||
@email{masata-y@@aist-nara.ac.jp}.
|
||||
|
||||
@item Implemented several new OpenStep methods and classes (e.g. NSTask)
|
||||
and speed improvements for others (NSArray, NSData, NSString),
|
||||
from Richard Frith-Macdonald @email{richard@brainstorm.co.uk}.
|
||||
from Richard Frith-Macdonald @email{richard@@brainstorm.co.uk}.
|
||||
|
||||
@item gdomap now handles subnet addressing and machines with multiple
|
||||
IP addresses
|
||||
from Richard Frith-Macdonald @email{richard@@brainstorm.co.uk}.
|
||||
|
||||
@end itemize
|
||||
|
||||
|
|
455
GNUstep-HOWTO
Normal file
455
GNUstep-HOWTO
Normal file
|
@ -0,0 +1,455 @@
|
|||
Installation
|
||||
************
|
||||
|
||||
GNUstep-HOWTO
|
||||
|
||||
Last Update: 2 March 1998
|
||||
|
||||
This document explains how to build the different components
|
||||
of GNUstep.
|
||||
|
||||
Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
|
||||
Authors: Pascal Forget <pascal@wsc.com>,
|
||||
Ovidiu Predescu <ovidiu@net-community.com>,
|
||||
Adam Fedor <fedor@doc.com>.
|
||||
|
||||
This file is part of GNUstep.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
This document explains how to build the GNUstep project along with all
|
||||
the tools required to develop applications with it.
|
||||
|
||||
In order to easily compile and debug GNUstep projects, you will need a
|
||||
modified version of the GNU C compiler gcc and of the GNU debugger gdb.
|
||||
|
||||
You will need at least 80Mb of hard disk space in order to compile the
|
||||
GNUstep project. Luckily, you can delete the object files and the
|
||||
uncompressed source code after each piece of the project has been
|
||||
successfully built and installed in order to save some space. The
|
||||
biggest offender is the gcc compiler, which eats up 50Mb of hard disk
|
||||
space while it compiles.
|
||||
|
||||
Summary
|
||||
=======
|
||||
|
||||
Currently, you pretty much need to get and install the latest versions
|
||||
of the following packages:
|
||||
gcc or egcs
|
||||
gdb and patch to make it work with better Objective-C
|
||||
GNU make
|
||||
tiff library
|
||||
DGS or Adobe DPS
|
||||
gstep-make
|
||||
gstep-base or libFoundation
|
||||
gstep-gui
|
||||
gstep-xpds
|
||||
FoundationExt.
|
||||
|
||||
Getting the files
|
||||
=================
|
||||
|
||||
Most of the files needed by GNUstep are available from the following ftp
|
||||
sites. Except for gcc, gdb, make and libtiff, alpha.gnu.org and
|
||||
ftp.gnustep.org should contain the latest versions of all the required
|
||||
packages.
|
||||
|
||||
`ftp://ftp.gnu.org/pub/gnu'
|
||||
gcc, gdb, and other GNU tools, and GNUstep public releases
|
||||
|
||||
`ftp://ftp.sgi.com/graphics/tiff'
|
||||
TIFF library
|
||||
|
||||
`ftp://alpha.gnu.org/gnu/gnustep'
|
||||
GNUstep developer releases and snapshots
|
||||
|
||||
`ftp://ftp.gnustep.org/pub/gnustep'
|
||||
All GNUstep releases
|
||||
|
||||
You need the following packages of either the version given or any later
|
||||
version, in order to compile GNUstep.
|
||||
|
||||
gcc-2.8.0.tar.gz (The GCC compiler)
|
||||
ftp://ftp.gnu.org/pub/gnu or from other GNU mirror sites.
|
||||
You can also use egcs-1.0.1.tar.gz, from ftp://ftp.cygnus.com/pub/egcs
|
||||
|
||||
gdb-4.16.tar.gz (The gdb debugger)
|
||||
make-3.75.tar.gz (You need GNU make to compile GNUstep).
|
||||
ftp://ftp.gnu.org/pub/gnu or from other GNU mirror sites.
|
||||
|
||||
gdb-4.16-objc-971112.diff.gz (A patch for easier debugging of Objective-C).
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
tiff-970711.tar.gz (The TIFF library), or
|
||||
you can use tiff-v3.4beta036-tar.gz or greater version
|
||||
ftp://ftp.sgi.com/graphics/tiff/
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
|
||||
pcthreads-1.1.0.tar.gz (PCThreads for Linux/GNU Inel x86 systems)
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
|
||||
gstep-core-0.5.0.tar.gz (Contains gstep-make, -extensions, -base, -gui, -xdps)
|
||||
gstep-make-0.5.0.tar.gz (Makefile package)
|
||||
gstep-base-0.5.0.tar.gz (Foundation)
|
||||
gstep-gui-0.5.0.tar.gz (AppKit)
|
||||
gstep-xdps-0.5.0.tar.gz (X11/PostScript backend)
|
||||
extensions-0.5.0.tar.gz (Foundation extensions)
|
||||
dgs-0.5.0.tar.gz (The Display Ghostscript distribution)
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
|
||||
libFoundation-0.8.0.tar.gz (Alternate Foundation)
|
||||
ftp://ftp.gnustep.org/pub/gnustep
|
||||
ftp://alpha.gnu.org/gnu/gnustep
|
||||
ftp://ftp.gnu.org/pub/gnu
|
||||
|
||||
You may get either one of the Foundations libraries (you only need to
|
||||
take one of them, not both) gstep-base or libFoundation.
|
||||
|
||||
Note that you should get the latest version available, not necessarily
|
||||
the one listed here. For the more adventurous, and since the project is
|
||||
still in development, it might be better to get the latest snapshot
|
||||
located in the snap or snapshot subdirectories at
|
||||
ftp://alpha.gnu.org/gnu/gnustep/snap or the other appropriate ftp
|
||||
locations.
|
||||
|
||||
For the following instructions, some version numbers are replaced by
|
||||
XXX. You shoule replace the 'X's with the version of the package you
|
||||
have.
|
||||
|
||||
Compiling and Installing the packages
|
||||
=====================================
|
||||
|
||||
Compiling GNU make
|
||||
------------------
|
||||
|
||||
GNU make is required to compile all GNUstep packages.
|
||||
|
||||
cd /usr/src
|
||||
tar fvxz make-XXX.tar.gz
|
||||
cd make-XXX
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Compiling PCThreads
|
||||
-------------------
|
||||
|
||||
For Linux/GNU systems on Intel x86 processors, the PCThreads library is
|
||||
known to work with GNUstep. PCThreads version 1.1.0 is an enhanced
|
||||
version of PCThread 1.0.0 with better support for GNUstep.
|
||||
|
||||
cd /usr/src
|
||||
tar fvxz pcthreads-1.1.0.tar.gz
|
||||
cd pcthreads-1.1.0
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
If you are using the GNUstep makefile package and wish PCThreads to be
|
||||
installed with the GNUstep directory structure; then you should specify
|
||||
the GNUstep system root as the prefix when you configure the package.
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
Compiling GCC
|
||||
-------------
|
||||
|
||||
The following commands assume that all the aforementioned files have
|
||||
been copied to the /usr/src directory on your machine.
|
||||
|
||||
1. Uncompress gcc:
|
||||
cd /usr/src
|
||||
tar fvxz gcc-2.8.0.tar.gz
|
||||
|
||||
2. Configure the gcc compiler's makefile for your machine:
|
||||
./configure
|
||||
|
||||
If you are using the GNUstep makefile package and wish gcc to be
|
||||
installed with the GNUstep directory structure; then you should
|
||||
specify the GNUstep system root as the prefix when you configure
|
||||
the package.
|
||||
|
||||
To enable multiple threads in the Objective-C library use the
|
||||
-ENABLE-THREADS=LIB argument to configure, where LIB is the
|
||||
thread library to use or -DISABLE-THREADS to use a
|
||||
single-threaded Objective-C runtime.
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
4. Compile gcc
|
||||
make bootstrap
|
||||
|
||||
5. Wait
|
||||
If you have a Pentium Pro, go drink a coffee.
|
||||
If you have a fast Pentium, count from 0 to 100 in your head.
|
||||
If you have a slow Pentium, go eat a bagel.
|
||||
If you have a 486, go watch the news.
|
||||
If you have a 386, come back tomorrow.
|
||||
|
||||
6. Install gcc
|
||||
su root
|
||||
make install
|
||||
|
||||
7. Delete the gcc directory if you're low on disk space
|
||||
rm -rf /usr/src/gcc-2.8.0
|
||||
|
||||
Patching and Compiling GDB
|
||||
--------------------------
|
||||
|
||||
Uncompress GDB, and patch it:
|
||||
cd /usr/src
|
||||
tar fvxz gdb-4.16.tar.gz
|
||||
gunzip gdb-4.16-objc-971112.diff.gz
|
||||
cd gdb-4.16
|
||||
patch -p1 < ../gdb-4.16-objc-971112.diff
|
||||
|
||||
Configure, compile and install gdb:
|
||||
cd /usr/src/gdb-4.16
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
If you are using the GNUstep makefile package and wish gdb to be
|
||||
installed with the GNUstep directory structure; then you should
|
||||
specify the GNUstep system root as the prefix when you configure
|
||||
the package.
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
4. Make sure gdb is where you think it is
|
||||
On Linux/GNU, gdb should be installed in /usr/bin, whereas on
|
||||
other systems, the default installation path is usually
|
||||
/usr/local/bin. If you have a Linux/GNU box, you can do this:
|
||||
|
||||
ln -s /usr/local/bin/gdb /usr/bin/gdb
|
||||
|
||||
Note that this is only a suggestion, you are free to do whatever
|
||||
you want.
|
||||
|
||||
Installing the GNUstep libraries
|
||||
--------------------------------
|
||||
|
||||
If you have the gstep-core package, you can make and install all the
|
||||
GNUstep core packages at one time. If you already have a TIFF library
|
||||
and a Display Postscript system installed, you can do this following the
|
||||
example instructions below. If you don't already have a TIFF library or
|
||||
DPS, you have to do things in a slightly different order.
|
||||
|
||||
If you have the separate gstep packages, skip to the next section
|
||||
(Installing the Makefile package).
|
||||
|
||||
First decide where you want the GNUstep files to go, and use this as an
|
||||
argument to configure. If you don't choose a location, the default is
|
||||
/usr/GNUstep. The example below shows how to configure the packages
|
||||
for installation in /usr/local/GNUstep.
|
||||
|
||||
If you don't have libtiff or DPS, first make and install the Makefile
|
||||
package, the TIFF library and DGS, as shown in the following three
|
||||
sections.
|
||||
|
||||
After you have libtiff and DPS/DGS installed, make the core libraries:
|
||||
|
||||
tar fvxz gstep-core-XXXXX.tar.gz
|
||||
cd gstep-core-XXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
With the various GNUstep libraries you can use the various switches,
|
||||
shared, debug. As in ``make shared=no debug=yes'' (Make sure you use
|
||||
the same switches for every package you compile, and also when you
|
||||
install).
|
||||
|
||||
Skip to the Additional Instructions sections to finish up installation
|
||||
of the GNUstep system.
|
||||
|
||||
Installing the Makefile package
|
||||
-------------------------------
|
||||
|
||||
Decide where you want the GNUstep files to go, and use this as an
|
||||
argument to configure in the makefile package. If you don't choose a
|
||||
location, the default is /usr/GNUstep. The example below shows how to
|
||||
configure the packages for installation in /usr/local/GNUstep.
|
||||
|
||||
tar fvxz gstep-make-XXXXXX.tar.gz
|
||||
cd gstep-make-XXXXXX
|
||||
./configure --prefix=/usr/local/GNUstep
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
If you are using, or intend to compile the GCC Objective-C runtime with
|
||||
threads, you need to specify the thread package you are using when
|
||||
running configure:
|
||||
|
||||
LIBS=-lpthread; ./configure --prefix=/usr/local/GNUstep
|
||||
|
||||
After this you should add the shell script `GNUstep.sh' in the makefile
|
||||
package to you initialization file (such as `.profile'). For instance:
|
||||
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
|
||||
in your `.profile' file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh need to
|
||||
change the `GNUstep.sh' script so it will work with csh. Read the
|
||||
`README' for more info.
|
||||
|
||||
GNUstep packages will automatically install in this directory
|
||||
structure. You can install other packages (such as gcc) in the same
|
||||
structure if you specify the GNUstep system root as the prefix when you
|
||||
configure the package.
|
||||
|
||||
./configure --prefix=$GNUSTEP_SYSTEM_ROOT
|
||||
|
||||
Compiling libtiff
|
||||
-----------------
|
||||
|
||||
You don't need a customized version of libtiff, or necessarily even the
|
||||
newest one, but the customized version located at the GNUstep ftp sites
|
||||
will install in the GNUstep directory structure.
|
||||
|
||||
cd /usr/src
|
||||
tar fvxz tiff-XXXXX.tar.gz
|
||||
cd tiff-XXX
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Building DGS
|
||||
------------
|
||||
|
||||
If you have a real Display Postscript system already on your computer,
|
||||
you don't necessarily need DGS. Linux/GNU michines need DGS. You can
|
||||
also read the file DGS-HOWTO located at the ftp machines listed above.
|
||||
|
||||
tar fvxz dgs-XXXXXX.tar.gz
|
||||
cd dgs-XXXXXX
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Building a Foundation library
|
||||
-----------------------------
|
||||
|
||||
If you work with gstep-base:
|
||||
|
||||
cd /usr/src
|
||||
tar fvxz gstep-base-XXXXXX.tar.gz
|
||||
cd gstep-base-XXXXXX
|
||||
./configure
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
On some Linux systems, you may have to change the optimization level
|
||||
(particularly if you get an error compiling mframe.m):
|
||||
|
||||
make OPTFLAG=-O
|
||||
|
||||
If you work with libFoundation:
|
||||
|
||||
cd /usr/src
|
||||
tar zxf libFoundation-0.8.0.tar.gz
|
||||
cd libFoundation-0.8.0/libFoundation
|
||||
./configure --with-gnustep
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Building the GUI libraries
|
||||
--------------------------
|
||||
|
||||
Compile the GUI library:
|
||||
|
||||
cd /usr/src
|
||||
tar zxf gstep-gui-XXXXXX.tar.gz
|
||||
cd gstep-gui
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Compile the XDPS library:
|
||||
|
||||
cd /usr/src
|
||||
tar zxf gstep-xdps-XXXXXX.tar.gz
|
||||
cd gstep-xdps
|
||||
./configure
|
||||
make
|
||||
cd Testing
|
||||
make
|
||||
|
||||
Building the Foundation extensions
|
||||
----------------------------------
|
||||
|
||||
The Foundation extensions have some useful features in them. The one
|
||||
reason you definitely might want to use it is to read in GNUstep model
|
||||
files which store User Interface structures in ASCII format, and can
|
||||
also be used to translate NeXT and OpenStep NIB files to GNUstep model
|
||||
format.
|
||||
|
||||
Compiling:
|
||||
|
||||
cd /usr/src
|
||||
tar zxf FoundationExt-XXX.tar.gz
|
||||
cd extensions
|
||||
make
|
||||
su root
|
||||
make install
|
||||
|
||||
Additional Installation
|
||||
=======================
|
||||
|
||||
If you haven't already done so when installing the Makefile package,
|
||||
you should add the shell script `GNUstep.sh' in the Makefile package to
|
||||
you initialization file (such as `.profile'). For instance:
|
||||
|
||||
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
||||
|
||||
in your `.profile' file will work. It defines environment variables that
|
||||
are needed to find GNUstep files and executables. Users of csh need to
|
||||
change the `GNUstep.sh' script so it will work with csh. Read the
|
||||
`README' for more info.
|
||||
|
||||
Set up your home GNUstep directory. This is where user defaults are
|
||||
kept, and in the future, other files may be kept there.
|
||||
|
||||
cd
|
||||
mkdir GNUstep
|
||||
|
||||
Next, set your local time zone. There are three ways to do this, pick
|
||||
one:
|
||||
|
||||
1. Use the dwrite utility to set ``Local Time Zone'' to your local
|
||||
time zone.
|
||||
|
||||
2. Set the TZ environment variable.
|
||||
|
||||
3. Create the file
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
`$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/gnustep/NSTimeZones/localtime'
|
||||
with the name of the local time zone in it.
|
||||
|
||||
Finally, run the tests in the Testing directory. Use the openapp utility
|
||||
that is part of the GNUstep makefile package (and stored in
|
||||
`$GNUSTEP_SYSTEM_ROOT/Tools'). Usage is:
|
||||
|
||||
openapp [--library-combo=...] application [additional arguments to app]
|
||||
|
||||
Good Luck!
|
||||
|
10
NEWS
10
NEWS
|
@ -1,17 +1,21 @@
|
|||
News
|
||||
****
|
||||
|
||||
The currently released version of the library is `0.4.0'.
|
||||
The currently released version of the library is `0.5.0'.
|
||||
|
||||
Noteworthy changes in version `0.5.0'
|
||||
=====================================
|
||||
|
||||
* Improvements to the NSInvocation class, from Masatake Yamato
|
||||
<masata-y
|
||||
<masata-y@aist-nara.ac.jp>.
|
||||
|
||||
* Implemented several new OpenStep methods and classes (e.g. NSTask)
|
||||
and speed improvements for others (NSArray, NSData, NSString),
|
||||
from Richard Frith-Macdonald <richard
|
||||
from Richard Frith-Macdonald <richard@brainstorm.co.uk>.
|
||||
|
||||
* gdomap now handles subnet addressing and machines with multiple IP
|
||||
addresses from Richard Frith-Macdonald
|
||||
<richard@brainstorm.co.uk>.
|
||||
|
||||
Noteworthy changes in version `0.4.0'
|
||||
=====================================
|
||||
|
|
2
Version
2
Version
|
@ -5,7 +5,7 @@ GCC_VERSION=2.8.0
|
|||
|
||||
# The version number of this release.
|
||||
MAJOR_VERSION=0
|
||||
MINOR_VERSION=4
|
||||
MINOR_VERSION=5
|
||||
SUBMINOR_VERSION=0
|
||||
GNUSTEP_BASE_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
|
||||
VERSION=$(GNUSTEP_BASE_VERSION)
|
||||
|
|
Loading…
Reference in a new issue