From 4b209425e8b6b1fcea9b6446787f9e947900b88d Mon Sep 17 00:00:00 2001 From: fedor Date: Mon, 2 Mar 1998 16:31:00 +0000 Subject: [PATCH] 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 --- ANNOUNCE | 4 +- ChangeLog | 7 + Documentation/faq.tmpl.texi | 70 ++-- Documentation/gnustep-howto.tmpl.texi | 176 ++++++---- Documentation/news.tmpl.texi | 8 +- GNUstep-HOWTO | 455 ++++++++++++++++++++++++++ NEWS | 10 +- Version | 2 +- 8 files changed, 627 insertions(+), 105 deletions(-) create mode 100644 GNUstep-HOWTO diff --git a/ANNOUNCE b/ANNOUNCE index 14bf2f675..02c3f9102 100644 --- a/ANNOUNCE +++ b/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 diff --git a/ChangeLog b/ChangeLog index 1bb68abf5..4c1089adb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Mar 2 10:04:57 1998 Adam Fedor + + * 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 * configure.in: Use AC_CHECK_HEADERS instead of AC_CHECK_HEADER. diff --git a/Documentation/faq.tmpl.texi b/Documentation/faq.tmpl.texi index b929b5d94..7ba133f0f 100644 --- a/Documentation/faq.tmpl.texi +++ b/Documentation/faq.tmpl.texi @@ -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 diff --git a/Documentation/gnustep-howto.tmpl.texi b/Documentation/gnustep-howto.tmpl.texi index d4efc3f36..726e3b2e9 100644 --- a/Documentation/gnustep-howto.tmpl.texi +++ b/Documentation/gnustep-howto.tmpl.texi @@ -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. diff --git a/Documentation/news.tmpl.texi b/Documentation/news.tmpl.texi index 2d20b8806..3f7680672 100644 --- a/Documentation/news.tmpl.texi +++ b/Documentation/news.tmpl.texi @@ -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 diff --git a/GNUstep-HOWTO b/GNUstep-HOWTO new file mode 100644 index 000000000..bca699cb2 --- /dev/null +++ b/GNUstep-HOWTO @@ -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 , + Ovidiu Predescu , + Adam Fedor . + + 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! + diff --git a/NEWS b/NEWS index 9f29f3109..e4cd9a7cd 100644 --- a/NEWS +++ b/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 - . * Implemented several new OpenStep methods and classes (e.g. NSTask) and speed improvements for others (NSArray, NSData, NSString), - from Richard Frith-Macdonald . + + * gdomap now handles subnet addressing and machines with multiple IP + addresses from Richard Frith-Macdonald + . Noteworthy changes in version `0.4.0' ===================================== diff --git a/Version b/Version index 2bcaaea48..dd223d913 100644 --- a/Version +++ b/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)