2001-02-26 19:12:47 +00:00
|
|
|
GNUstep HOWTO
|
|
|
|
*************
|
|
|
|
|
2002-07-28 02:52:52 +00:00
|
|
|
Last Update: 26 July 2002
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
This document explains how to build the different components of the
|
2001-04-10 03:19:42 +00:00
|
|
|
GNUstep core libraries and GNUstep Launchpad.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Copyright (C) 1996 - 2001 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
|
|
under the terms of the GNU Free Documentation License, Version 1.1 or
|
|
|
|
any later version published by the Free Software Foundation.
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
************
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
This document explains how to build the GNUstep core libraries or
|
|
|
|
GNUstep Launchpad. The core libraries, along with associated tools and
|
|
|
|
other files provide everything necessary for a working GNUstep system.
|
|
|
|
GNUstep Launchpad consists of the non-graphical libraries of GNUstep.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
In order to easily compile and debug GNUstep projects, you will need
|
|
|
|
the GNU Objective-C compiler `GCC' as well as various other GNU
|
|
|
|
packages.
|
|
|
|
|
|
|
|
You will need at least 80Mb of hard disk space (150Mb prefered) in
|
|
|
|
order to compile the GNUstep core libraries.
|
|
|
|
|
|
|
|
Summary
|
|
|
|
*******
|
|
|
|
|
|
|
|
In order to compile the libraries, you need to compile and install
|
|
|
|
the following packages first (if you don't already have them):
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
* gcc (Version 2.8.0 or greater, 3.0.4 or greater recommended)
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
* GNU make (Version 3.75 or greater)
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
* gdb, if you plan to do any debugging
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
You may also need to install some of the following libraries and
|
|
|
|
packages described below. Most of these packages are optional, but some
|
|
|
|
are required.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`ffcall libraries (HIGHLY RECOMMENDED)'
|
|
|
|
This is a library that provides stack frame handling for
|
|
|
|
NSInvocation and NSConnection. This library is highly recommended.
|
|
|
|
The previous builtin method for stack frame handling is no longer
|
|
|
|
supported and may be removed in the future. ffcall is under GNU
|
|
|
|
GPL. As a special exception, if used in GNUstep or in derivate
|
|
|
|
works of GNUstep, the included parts of ffcall are under GNU LGPL.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
`libffi library (OPTIONAL)'
|
|
|
|
This is a library that provides stack frame handling for
|
2002-06-11 02:06:35 +00:00
|
|
|
NSInvocation and NSConnection similar to ffcall. However, libffi
|
2002-07-04 03:36:09 +00:00
|
|
|
is not as well tested as ffcall so you should not use it unless
|
|
|
|
you are familiar with potential problems. Use this instead of
|
|
|
|
ffcall. You don't need both.
|
2002-04-30 19:48:51 +00:00
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`WindowMaker (Version >= 0.62) (OPTIONAL)'
|
2001-02-26 19:12:47 +00:00
|
|
|
GNUstep and WindowMaker work together to provide a consistant
|
|
|
|
interface. Although it is not required, GNUstep will work much
|
|
|
|
better if you use it with the WindowMaker window manager. In
|
|
|
|
addition, WindowMaker includes some functionality that GNUstep
|
|
|
|
uses that would otherwise not be available. Get WindowMaker from
|
|
|
|
<http://www.windowmaker.org>.
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`libxml2 (OPTIONAL)'
|
2001-02-26 19:12:47 +00:00
|
|
|
The libxml library (Version 2) is used to translate some of the
|
|
|
|
documentation for GNUstep and to provide suport for MacOS-X
|
|
|
|
compatible XML-based property-lists. It is recommended but not
|
|
|
|
currently required.
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`openssl (OPTIONAL)'
|
2001-02-26 19:12:47 +00:00
|
|
|
The openssl library is used to provide support for https
|
2002-01-07 15:24:55 +00:00
|
|
|
connections by the NSURL and HSURLHandle classes. This
|
|
|
|
functionality is compiled as a separate bundle since the OpenSSL
|
|
|
|
license is not compatible with GPL, and in the hopes that if
|
|
|
|
someone writes an openssl replacement, it can quickly be used by
|
|
|
|
creating another bundle.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`libiconv (OPTIONAL)'
|
2001-02-26 19:12:47 +00:00
|
|
|
Unicode support functions (iconv) come with glibc version 2.1 or
|
|
|
|
greater. If you don't have this, you can get the separate libiconv
|
|
|
|
library from <
|
|
|
|
http://clisp.cons.org/~haible/packages-libiconv.html>. However,
|
|
|
|
neither one is required to use GNUstep.
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
`gnustep-objc package (for gcc version < 3.0) (RECOMMENDED)'
|
2001-02-26 19:12:47 +00:00
|
|
|
This is a special version of the Objective-C runtime that include
|
2001-07-19 15:05:02 +00:00
|
|
|
several bug fixes and features that were not in gcc versions
|
|
|
|
previous to 3.0. It is available at
|
2001-02-26 19:12:47 +00:00
|
|
|
<ftp://ftp.gnustep.org/pub/gnustep/libs> which compiles using the
|
|
|
|
GNUstep Makefile package (so you don't have to get the entire gcc
|
|
|
|
dist). Make sure to set the THREADING variable in the GNUmakefile.
|
2001-04-10 03:19:42 +00:00
|
|
|
It's possible to compile the library static (make shared=no) and
|
|
|
|
just copy to the place where the gcc libobjc library is (type gcc
|
2002-03-14 15:48:30 +00:00
|
|
|
-v to get this location). Note you have to install gnustep-make
|
|
|
|
(below) before installing this library.
|
|
|
|
|
|
|
|
`The TIFF library (libtiff) (Version 3.4beta36 or greater) (REQUIRED)'
|
|
|
|
The GUI library uses this to handle loading and saving TIFF images.
|
|
|
|
|
|
|
|
`DGS, the XFree86 DPS extension, or Adobe DPS (OPTIONAL)'
|
|
|
|
If you want to use the features of a Display Postscript
|
|
|
|
(DPS)backend. Note that it is not required since you can use the
|
2002-04-30 19:48:51 +00:00
|
|
|
backend that is Xlib based. Note that the DPS backend is also
|
|
|
|
still experimental and not recommended. DPS can be obtained from
|
|
|
|
the following locations:
|
2002-03-14 15:48:30 +00:00
|
|
|
|
|
|
|
* DGS client/server, <ftp://ftp.gnustep.org/pub/gnustep/dgs>
|
|
|
|
|
|
|
|
* XFree86 DPS, <http://dps.sourceforge.net/>
|
|
|
|
|
|
|
|
* Adobe DPS, (contact your OS distributor)
|
|
|
|
|
|
|
|
`PCThreads (OPTIONAL)'
|
|
|
|
For GNU/Linux systems on Intel x86 processors. PCThreads is no
|
|
|
|
longer necessary (and should not be used) on GNU/Linux systems with
|
|
|
|
glibc version 2, such as Debian 2.0 and RedHat 5.x and greater.
|
|
|
|
|
|
|
|
`GDB and Objective-C patch (OPTIONAL)'
|
|
|
|
GDB can be obtained from <ftp://ftp.gnu.org/gnu/gdb>. The patch to
|
|
|
|
make it work better with GNUstep can be obtained from
|
2002-04-30 19:48:51 +00:00
|
|
|
<ftp://ftp.gnustep.org/pub/gnustep/patches>
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Compiling and Installing the packages
|
|
|
|
*************************************
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
Get the following individual packages:
|
|
|
|
|
|
|
|
* gnustep-make
|
|
|
|
|
|
|
|
* gnustep-base
|
|
|
|
|
|
|
|
* gnustep-gui
|
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
* gnustep-back
|
2002-03-14 15:48:30 +00:00
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
For GNUstep Launchpad, substitute `gnustep-guile' and `jigs' for
|
|
|
|
`gnustep-gui' and `gnustep-back'.
|
2002-03-14 15:48:30 +00:00
|
|
|
|
|
|
|
See <http://www.gnustep.org> for information on where to get these
|
2002-04-30 19:48:51 +00:00
|
|
|
packages.
|
2002-03-14 15:48:30 +00:00
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Make sure you install all the previously mentioned libraries first
|
|
|
|
before configuring and building GNUstep (Except you need to install
|
2002-03-14 15:48:30 +00:00
|
|
|
gnustep-objc after installing gnustep-make).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Note: you will need to be able to install packages as root (at least
|
|
|
|
the base library) for applications to work correctly.
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
For installation on specific systems, read the machine specific
|
|
|
|
instructions at the end of this document or appropriate README files in
|
|
|
|
the gnustep-make Documentation directory (such as README.MingW for
|
|
|
|
Windows).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Using a Display Postscript System
|
|
|
|
=================================
|
|
|
|
|
2002-03-14 15:48:30 +00:00
|
|
|
Please skip this instruction unless you really know what you are
|
|
|
|
doing. The DPS backend is not well developed. You are better off
|
2002-04-30 19:48:51 +00:00
|
|
|
sticking to the xlib-based backend.
|
2002-03-14 15:48:30 +00:00
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Install a Display PostScript system if you want to use the XDPS
|
2002-04-30 19:48:51 +00:00
|
|
|
backend. You do not need it if you want to use the xlib-based backend.
|
|
|
|
Some systems, like Sun Microcomputers(TM) already have a DPS system
|
2001-02-26 19:12:47 +00:00
|
|
|
installed. Linux/GNU systems need to use a free implementation of DPS
|
|
|
|
(described in the Introduction.)
|
|
|
|
|
|
|
|
If you are installing DGS, follow the installation instructions
|
|
|
|
included with the DGS package. If you are installing the XFree86 DPS
|
|
|
|
extension, follow the instructions included with that package (and note
|
|
|
|
that you need to be running XFree86 version 4.0 or greater).
|
|
|
|
|
|
|
|
Installing the Core Libraries
|
|
|
|
=============================
|
|
|
|
|
|
|
|
The GNUstep packages uses the Autoconf mechanism for configuration;
|
|
|
|
it checks some host capabilties which are used by all GNUstep software.
|
|
|
|
To configure just type:
|
|
|
|
|
|
|
|
./configure
|
|
|
|
|
|
|
|
The GNUstep makefile package needs a root directory. If the
|
|
|
|
GNUSTEP_SYSTEM_ROOT environment variable is set then configure will use
|
|
|
|
its value as the root directory. You can also specify the root
|
|
|
|
directory when you run configure with the prefix paramter; the
|
|
|
|
following command makes /usr/local/GNUstep the root directory:
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
./configure --prefix=/usr/local/GNUstep/System
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
If you do not have the GNUSTEP_SYSTEM_ROOT environment variable set
|
|
|
|
and you do not specify a root directory when running configure, then
|
2001-04-10 03:19:42 +00:00
|
|
|
configure will use /usr/GNUstep/System as the default root directory.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Alternate Library Setup
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
Read the installation instructions in the Makefile package (make)
|
|
|
|
for more installation options. Make sure you use the same configuration
|
|
|
|
options when configuring each GNUstep library.
|
|
|
|
|
|
|
|
Building the Package
|
|
|
|
--------------------
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
To build the individual packages, use this familiar set of commands
|
|
|
|
for each pacakge (add any additional options you decide upon):
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
Start with the Makefile Pacakge (gnustep-make). After installing
|
2001-02-26 19:12:47 +00:00
|
|
|
gnustep-make you need to execute GNUstep's shell configuration script,
|
|
|
|
as follows:
|
|
|
|
|
|
|
|
. /usr/GNUstep/System/Makefiles/GNUstep.sh
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
before proceeding any further. Then do gnustep-objc. Before building
|
|
|
|
gnustep-objc, edit `GNUmakefile' and set the THREADING variable to the
|
|
|
|
thread library used on your system (usually its posix, but you can
|
|
|
|
leave it at single if you don't need threads). At this point you should
|
|
|
|
probably re-configure, make and install gnustep-make, so it can pick up
|
|
|
|
on any threading information that gnustep-objc provides.
|
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
Now do gnustep-base, gnustep-gui and finally gnustep-back.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
NOTE: If you are trying to install the packages without root
|
2002-04-30 19:48:51 +00:00
|
|
|
permission, you may need to change one thing in the base library. Edit
|
|
|
|
the file gnustep-base/Tools/gdomap.h to uncomment the last line and
|
|
|
|
modify the specified port number to a port which you _know_ is not in
|
|
|
|
use on your network. You should only do this if absolutely necessary
|
|
|
|
since making this change will break communications with any systems
|
|
|
|
where an identical change has not been made. Also, the standard gdomap
|
|
|
|
port is the one officially registered with IANA and is reserved for use
|
|
|
|
by gdomap - it should only be changed if you can't get your system
|
|
|
|
administrator to start the gdomap server using it.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Additional Installation
|
|
|
|
***********************
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
Environment Setup
|
|
|
|
=================
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Add the shell script `GNUstep.sh' located in the Makefile package to
|
|
|
|
your shell startup file (such as `.profile'). For instance:
|
|
|
|
|
|
|
|
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep
|
|
|
|
export GNUSTEP_SYSTEM_ROOT
|
|
|
|
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
|
|
|
|
|
|
|
in your `.profile' file will work (Note the period at the beginning
|
|
|
|
of the line). It defines environment variables that are needed to find
|
|
|
|
GNUstep files and executables. Users of csh need to use the
|
|
|
|
`GNUstep.csh' script. Read the make package `README' for more info.
|
|
|
|
Some systems, like GNU/Linux have an `/etc/profile.d' directory where
|
|
|
|
scripts can be executed automatically. If you want to set up GNUstep
|
|
|
|
for every user on your system, you can try copying/linking the
|
|
|
|
`GNUstep.sh' there. For csh or tcsh, try
|
|
|
|
|
|
|
|
setenv GNUSTEP_SYSTEM_ROOT /usr/GNUstep
|
|
|
|
source $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.csh
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
GNUstep Home
|
|
|
|
============
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Set up your home GNUstep directory. This is where user defaults are
|
2002-01-07 15:24:55 +00:00
|
|
|
kept as well as other user configuration files. User installed apps,
|
|
|
|
libraries, etc are also here (if the default user directory is used).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
cd
|
|
|
|
mkdir GNUstep
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
Time Zone
|
|
|
|
=========
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Next, set your local time zone. There are four ways to do this, pick
|
|
|
|
one (see `$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/NSTimeZones/zones'
|
|
|
|
for typical time zones):
|
|
|
|
|
|
|
|
1. Use the defaults utility to set "Local Time Zone" to your local
|
|
|
|
time zone (defaults is installed with GNUstep in the Tools
|
|
|
|
directory). Type something like "defaults write NSGlobalDomain
|
|
|
|
"Local Time Zone" GB".
|
|
|
|
|
|
|
|
2. Set the GNUSTEP_TZ environment variable.
|
|
|
|
|
|
|
|
3. Create the file
|
|
|
|
`$GNUSTEP_SYSTEM_ROOT/Libraries/Resources/NSTimeZones/localtime'
|
|
|
|
with the name of the local time zone in it.
|
|
|
|
|
|
|
|
4. Set the TZ environment variable (this may conflict with other
|
|
|
|
software on your system though).
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
DPS Information
|
|
|
|
===============
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
If you are using a built-in DPS server, you may need to set the
|
|
|
|
PSRESOURCEPATH environment variable (on Solaris, it's set to
|
|
|
|
`/usr/openwin/lib/X11').
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
GNUstep deamons
|
|
|
|
===============
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Set up your system to execute some GNUstep deamons. If you don't do
|
2001-05-29 14:27:43 +00:00
|
|
|
this, they will be started automatically when you run your first GNUstep
|
|
|
|
app:
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
* gdomap - Put this in a system startup file, like `/etc/rc.local'
|
|
|
|
or `/etc/rc.d/rc.local' (customize for your system)
|
|
|
|
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep
|
2002-01-07 15:24:55 +00:00
|
|
|
if [ -f $GNUSTEP_SYSTEM_ROOT/Tools/ix86/linux-gnu/gdomap ]; then
|
|
|
|
$GNUSTEP_SYSTEM_ROOT/Tools/ix86/linux-gnu/gdomap
|
2001-02-26 19:12:47 +00:00
|
|
|
fi
|
|
|
|
|
2002-07-28 02:52:52 +00:00
|
|
|
* gdnc - Start after sourcing `GNUstep.sh' (e.g. in .profile)
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-07-28 02:52:52 +00:00
|
|
|
* gpbs - Same as with gdnc, make sure X-Windows is running.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
if [ `gdomap -L GDNCServer | grep -c Unable` == 1 ]; then
|
2001-02-26 19:12:47 +00:00
|
|
|
echo "Starting GNUstep services..."
|
|
|
|
gdnc
|
|
|
|
gpbs
|
|
|
|
fi
|
|
|
|
|
|
|
|
Test Tools and Applications
|
|
|
|
***************************
|
|
|
|
|
|
|
|
Test programs for the base library are in `base/Testing'. Example
|
|
|
|
applications are located in the gstep-examples package. To make these,
|
|
|
|
just uncompress and untar this package, cd to the appropriate
|
2001-04-10 03:19:42 +00:00
|
|
|
directory, and type make. You will need to install the GNUstep core
|
|
|
|
libraries first before doing this.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
To run the examples. 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!
|
|
|
|
|
|
|
|
Machine Specific Instructions
|
|
|
|
*****************************
|
|
|
|
|
|
|
|
Below is a list of machines that people have attempted to compile
|
|
|
|
GNUstep on. GNUstep compiles with little or no trouble on many of the
|
|
|
|
more popular operating systems. Some machines marked with _Unstable_
|
|
|
|
may have some trouble or may not work at all.
|
|
|
|
|
|
|
|
A recommended compiler is listed for each machine, if known. You
|
|
|
|
should try to use the recommended compiler for compiling GNUstep, as
|
|
|
|
GNUstep is quite complex and tends provoke a lot of errors in some
|
|
|
|
compilers. Even versions newer than the listed compiler may not work,
|
|
|
|
so don't just get the latest version of a compiler expecting it to be
|
|
|
|
better than previous versions.
|
|
|
|
|
|
|
|
If you have compiled GNUstep on a specific machine, please send
|
|
|
|
information about what you needed and any special instructions needed
|
|
|
|
to the GNUstep maintainer <gnustep-maintainers@gnu.org>.
|
|
|
|
|
|
|
|
If your having mysterious trouble with a machine, try compiling
|
|
|
|
GNUstep without optimization. Particularly in the newer GCC compilers,
|
|
|
|
optimization can break some code. The easiest way to do this is when
|
2001-04-10 03:19:42 +00:00
|
|
|
configuring, `CFLAGS="" ./configure'. Or when building, `make
|
|
|
|
OPTFLAG=""'.
|
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Darwin 5.x/PowerPC (_Unstable!_)
|
2001-04-10 03:19:42 +00:00
|
|
|
================================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
Default compiler has some odd memory(?) related problems. Use the
|
|
|
|
GNU runtime. Download the gcc3.1 compiler and configure it with
|
|
|
|
-enable-threads=posix. Usually the installed compiler will produce
|
|
|
|
object files for the NeXT runtime if you don't say gcc
|
|
|
|
-fgnu-runtime. To change this behaviour, edit
|
|
|
|
src-dir/gcc/config/darwin.h: You have to change the word #define
|
|
|
|
in line 73 to #undef. Then the runtime default is gnu. When
|
|
|
|
bootstrapping the compiler a nice working objective C gnu-runtime
|
|
|
|
library (which is a little bit faster than apples NeXT-runtime)
|
|
|
|
will be compiled and installed when make install. To use it, there
|
|
|
|
is one (important) thing left: After installing the compiler, you
|
|
|
|
have to go (probably as root) to install-dir/lib and produce the
|
|
|
|
following dynamic link: ln -s libobjc.a libobjc.dylib This might
|
|
|
|
seem senseless, but it forces the linker to use this library
|
|
|
|
instead of the NeXT-runtime!
|
2001-04-10 03:19:42 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
2002-07-28 02:52:52 +00:00
|
|
|
Compile ffcall if you want to use Distributed Ojects: See
|
|
|
|
instructions below. Some test (e.g. in callback) simply wont't
|
2002-06-11 02:06:35 +00:00
|
|
|
work.
|
2001-04-10 03:19:42 +00:00
|
|
|
|
|
|
|
`Special Instructions'
|
2002-07-28 02:52:52 +00:00
|
|
|
Compiling ffcall:
|
|
|
|
tar xf ffcall-1.8d.tar
|
|
|
|
cd ffcall-1.8d
|
|
|
|
configure
|
|
|
|
cd avcall
|
|
|
|
rm avcall-rs6000-sysv4.s
|
|
|
|
gcc avcall-rs6000.c -S -o avcall-rs6000-sysv4.s
|
|
|
|
make
|
|
|
|
make install-lib
|
|
|
|
cd ../callback/trampoline_r
|
|
|
|
ln -s trampoline_r.h.in trampoline_r.h
|
|
|
|
rm cache-rs6000-sysv4.s tramp-rs6000-sysv4.s
|
|
|
|
gcc cache.c -S -o cache-rs6000-sysv4.s
|
|
|
|
gcc trampoline.c -S -o tramp-rs6000-sysv4.s
|
|
|
|
cd ../vacall_r
|
|
|
|
rm vacall-rs6000-sysv4.s
|
|
|
|
gcc vacall-rs6000.c -S -o vacall-rs6000-sysv4.s -DREENTRANT
|
|
|
|
make
|
|
|
|
gcc -c misc.c -fno-common
|
|
|
|
ar cru .libs/libvacall.a vacall.o misc.o structcpy.o
|
|
|
|
cd ..
|
|
|
|
make
|
|
|
|
make install-lib
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Debian/DEC-Alpha
|
|
|
|
================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Unknown
|
|
|
|
|
2002-04-30 19:48:51 +00:00
|
|
|
FreeBSD 3.x
|
|
|
|
===========
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
If you're using zsh, some shell variables may not be set correctly
|
|
|
|
when executing GNUstep.sh. Try turing on SH_WORD_SPLIT (e.g. 'zsh
|
|
|
|
-sh-word-split', 'zsh -o shwordsplit', 'zsh -y' or by setting
|
|
|
|
'setopt SH_WORD_SPLIT' in one of zsh's startup files.)
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
FreeBSD 3.x
|
|
|
|
===========
|
|
|
|
|
|
|
|
Compiles "out of the box" on FreeBSD 3.4.
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
gcc 2.95.2
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
You need to use gmake not make to compile the GNUstep packages. A
|
|
|
|
special port of gdb can be used with the Objective-C patches from
|
|
|
|
<ftp://ftp.pcnet.com/users/eischen/FreeBSD/gdb-4.17-port.tar.gz>
|
|
|
|
|
|
|
|
The best compiler for GNUstep is the latest release of the GNU
|
|
|
|
Compiler Collection (GCC). You can find it at
|
|
|
|
<http://egcs.cygnus.com/>.
|
|
|
|
|
|
|
|
If you want to use the native POSIX threads support from `libc_r'
|
|
|
|
pass `--enable-threads=posix' to configure. This is the
|
|
|
|
recommended option as this is the FreeBSD threads package that
|
|
|
|
gives the best results -with others you may be unable to run some
|
|
|
|
examples like `diningPhilosophers'.
|
|
|
|
|
|
|
|
The whole compilation process can fail if you have another threads
|
|
|
|
library installed so watch out for installed packages like `pth'
|
|
|
|
and such. Besides the support for libc_r, GNUstep will also look
|
|
|
|
for `pth' and `pcthreads', so if you have installed them and they
|
|
|
|
aren't detected prepare to write a nice bug report.
|
|
|
|
|
|
|
|
This can be done more much easily by using the port version. Just
|
|
|
|
`cd' to `/usr/ports/lang/egcs' and do a `"make WANT_THREADS=yes
|
|
|
|
install"'. Easy.
|
|
|
|
|
|
|
|
If configure cannot find tiff.h or the tiff library and you have
|
|
|
|
it installed in a non-standard place (even `/usr/local'), you may
|
|
|
|
need to pass these flags to configure:
|
|
|
|
`CFLAGS="-I/usr/local/include"' and `LDFLAGS="-L/usr/local/lib"'.
|
|
|
|
|
|
|
|
FreeBSD 2.x (_Unstable!_)
|
|
|
|
=========================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
gcc 2.8.x
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Only static libraries work on this system. Use /stand/sysinstall
|
|
|
|
to install these packages if you have not already done so:
|
|
|
|
|
|
|
|
gmake (GNU make)
|
|
|
|
gcc 2.8.x
|
|
|
|
|
|
|
|
Seems to compile ok, but some tests crash. Possibly due to a
|
|
|
|
performace 'hack' in base. Might be a good idea to upgrade to
|
|
|
|
FreeBSD 3.x. You need to use gmake not make to compile the
|
|
|
|
GNUstep packages.
|
|
|
|
|
|
|
|
GNU-Linux/Intel (RedHat 5.x, 6.x, and 7.0)
|
|
|
|
==========================================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
With 5.x, the egcs compiler that comes with RedHat. Later versions
|
|
|
|
may have gcc installed, although 7.0 comes with a snapshot of gcc
|
|
|
|
(called 2.96) which is unsuitable for compiling Objective-C code.
|
|
|
|
For 7.0 you should install the egcs compatibility packages (or an
|
2002-04-30 19:48:51 +00:00
|
|
|
official gcc release). For RedHat 7.2 or later, the default gcc
|
|
|
|
apparently works fine (even if it is 2.96)
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Make sure you have a decent version of the compiler. Try `cc -v'
|
|
|
|
or `gcc -v' to get the version of the compiler. With 5.x, make
|
|
|
|
sure you set CC=egcs before configuring, as in:
|
|
|
|
|
|
|
|
export CC=egcs
|
|
|
|
configure ....
|
|
|
|
|
|
|
|
Since RedHat 5.x also comes standard with an old version of gcc.
|
|
|
|
|
|
|
|
On RedHat 7.0, configure like this
|
|
|
|
CC=egcs LDFLAGS="-u shmctl@GLIBC_2.2 -L/lib -lc -u getpwuid_r@GLIBC_2.1.2
|
|
|
|
-L/lib -lc -u getpwnam_r@GLIBC_2.1.2 -L/lib -lc" ./configure
|
|
|
|
|
2002-07-04 03:36:09 +00:00
|
|
|
GNU-Linux/PowerPC (LinuxPPC, Yellowdog)
|
|
|
|
=======================================
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-07-04 03:36:09 +00:00
|
|
|
egcs-1.1.2 (default compiler), or gcc-2.95. gcc-3.x works, but gdb
|
|
|
|
can't debug GNUstep executables.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
None.
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
You need to compile without optimization or the compiler will not
|
2001-04-10 03:19:42 +00:00
|
|
|
be able to compile several files (CFLAGS="" ./configure).
|
|
|
|
Compiling with CFLAGS="-O" also works. The gcc-2.95 compiler fixes
|
|
|
|
this problem. There may be a problem with the X server that
|
|
|
|
causes programs to crash with a X_QueryColors error. If so, get a
|
|
|
|
newer X server at
|
2002-07-04 03:36:09 +00:00
|
|
|
<ftp://ftp.linuxppc.org/linuxppc/contrib/linuxppc-1999/software/XFree86-FBDev-3.3.3.1-49b.ppc.rpm>
|
|
|
|
(or better).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Invocations (and DO) do not work well. The major problem is sending
|
|
|
|
data with data sizes less than 4 bytes (chars, shorts, etc). To fix
|
2001-04-10 03:19:42 +00:00
|
|
|
this, we recommend using the ffcall libraries (Read the instructions on
|
|
|
|
this in the configuration section).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Irix 6.5/MIPS
|
|
|
|
=============
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
You can't compile the base library with gcc2.95.x, and 3.1
|
|
|
|
compiles more of the Testing programs (nsarray) than 3.0.4 so 3.1
|
|
|
|
should be the recommended compiler. To use threads, it's necessary
|
|
|
|
to bootstrap a compiler yourself: configure with
|
|
|
|
-enable-threads=posix, that will work as long as you link EVERY
|
|
|
|
objective C executable with -lpthread, no matter what warnings the
|
|
|
|
irix linker produces!
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
2002-06-11 02:06:35 +00:00
|
|
|
Static libs only (make shared=no).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
MkLinux/PowerPC (MkLinux DR 3)
|
|
|
|
==============================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
egcs-2.90.25 980302 (egcs-1.0.2 prerelease) which comes standard
|
|
|
|
with DR 3.
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
None.
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Comes with a good version of gcc. Seems to compile and install
|
|
|
|
ok, althouth DR3 has an old version of glibc, which requires some
|
|
|
|
workarounds which should be taken care of in the configuration.
|
|
|
|
Not completely tested, so some aspects, particular object
|
|
|
|
invocations and DO may not work properly.
|
|
|
|
|
|
|
|
If you want threads, you'll probably have to get the latest gcc
|
|
|
|
compiler and glibc library (which has the threads library) and
|
|
|
|
install both.
|
|
|
|
|
|
|
|
NetBSD
|
|
|
|
======
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Extra libs needed'
|
2001-04-10 03:19:42 +00:00
|
|
|
libiconv
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Special Instructions'
|
2001-04-10 03:19:42 +00:00
|
|
|
See the README.NetBSD file located in the gnustep-make package.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Netwinder (_Unstable!_)
|
|
|
|
=======================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Build #12 of the system.
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
See <http://www.netwinder.org/~patrix>
|
|
|
|
|
|
|
|
OpenBSD 2.x (_Unstable!_)
|
|
|
|
==========================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Can only compile with static libraries. Gives a lot of warnings
|
|
|
|
|
|
|
|
OSF Alpha (_Unstable!_)
|
|
|
|
========================
|
|
|
|
|
|
|
|
Information is for Version 3.2C
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
egcs-1.1.1/1.1.2, gcc-2.95
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Can only compile with static libraries. Compiler may fail when
|
|
|
|
linking executables (e.g. gdnc). Standard ranlib and ar programs
|
|
|
|
are to feable to create libraries. Should use GNU binutils
|
|
|
|
versions. Linker sometimes fails to find symbols, in which case
|
|
|
|
you may need to link with a library twice. For instance, add an
|
2002-04-30 19:48:51 +00:00
|
|
|
extra -lgnustep-gui in ADDTIONAL_TOOL_LIBS in the
|
2001-02-26 19:12:47 +00:00
|
|
|
GNUmakefile(.preamble).
|
|
|
|
|
2002-07-04 03:36:09 +00:00
|
|
|
Slackware/Intel
|
|
|
|
===============
|
|
|
|
|
|
|
|
GNUstep has been tested on version 8.0 of Suse
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown.
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown.
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
Unknown.
|
|
|
|
|
2001-02-26 19:12:47 +00:00
|
|
|
Solaris 2.5.1/Sparc
|
|
|
|
===================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
tiff, Don't use the one in /usr/openwin
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
See the Solaris 2.6 section for more instructions.
|
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
Solaris 2.[67]/Sparc
|
|
|
|
====================
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Recommended compiler'
|
2001-04-10 03:19:42 +00:00
|
|
|
gcc 2.95.3. Version 2.95.2 has several bugs that GNUstep tickles.
|
2002-06-11 02:06:35 +00:00
|
|
|
gcc 3.04. Not 3.1 - does not compile parts of GNUstep.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
tiff, Don't use the one in /usr/openwin
|
|
|
|
|
|
|
|
`Special Instructions'
|
2002-06-11 02:06:35 +00:00
|
|
|
I think gcc provides posix threads on this system even if not
|
|
|
|
configured whith -enable-threads, but to use them, you have to
|
|
|
|
tell the gnumake configure script: The libraries you have to link
|
|
|
|
with are -lpthread -lrt (read man libposix4 for more details). You
|
|
|
|
have to call configure -with-thread-lib=-lpthread to avoid using
|
|
|
|
-lthread which doesn't work!
|
|
|
|
|
2002-07-04 03:36:09 +00:00
|
|
|
Using a POSIX shell (zsh or bash, which should come with Solaris)
|
|
|
|
is highly recommended. In fact, some functions, such as compiling
|
|
|
|
frameworks, will not work without it.
|
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Older Instructions: If you are using threads, make sure the
|
|
|
|
Objective-C runtime (libobjc that comes with gcc) is compiled with
|
|
|
|
threads enabled (This is true by default) AND that it is compiled with
|
|
|
|
the _REENTRANT flag defined (This does not seem to be true by default).
|
|
|
|
Or use the gnustep-objc package. Also make sure THREADS is set to
|
|
|
|
'posix' not 'solaris'.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
Solaris 2.7/Intel
|
|
|
|
=================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
Unknown.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Special Instructions'
|
2002-03-14 15:48:30 +00:00
|
|
|
Make sure there are no -g compiler flags (i.e. compiling with
|
|
|
|
debug=yes might be a problem). Unsure of correct bundle flags -
|
|
|
|
You might need to use the alternate flags listed in target.make,
|
|
|
|
line 989. Also, configuring gnustep-make with
|
|
|
|
`--disable-backend-bundle' might be necessary if you can't get
|
|
|
|
bundles to work. You will probable get a lot of text relocation
|
2001-02-26 19:12:47 +00:00
|
|
|
warnings, which probably can be ignored. See the other Solaris
|
|
|
|
instructions above for more information.
|
|
|
|
|
|
|
|
Suse 6.x/Intel
|
|
|
|
==============
|
|
|
|
|
|
|
|
GNUstep has been tested on version 6.2-6.4 of Suse
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Standard
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
None
|
|
|
|
|
|
|
|
`Special Instructions'
|
|
|
|
It seems that there is a problem with the default kernel build
|
|
|
|
distributed with Suse which means that the socket binding used by
|
|
|
|
gdnc doesn't work. If you recompile the kernel then it starts
|
|
|
|
working.
|
|
|
|
|
2002-07-04 03:36:09 +00:00
|
|
|
Suse/Intel
|
|
|
|
==========
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-07-04 03:36:09 +00:00
|
|
|
GNUstep has been tested on version 7.0 and 8.0 of Suse
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
Standard. gcc2.95.x, gcc3.0.x and gc3.1 work, but 2.95 is faster.
|
|
|
|
Compile with -threads-enabled (non-standard).
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
None
|
|
|
|
|
|
|
|
`Special Instructions'
|
2002-07-04 03:36:09 +00:00
|
|
|
Unknown.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Suse 7.x/PPC
|
|
|
|
============
|
|
|
|
|
|
|
|
GNUstep has been tested on version 7.0 of Suse
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Standard. gcc2.95.x, gcc3.0.x and gc3.1 work, but 2.95 is faster.
|
|
|
|
Compile with -threads-enabled (non-standard).
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
None
|
|
|
|
|
|
|
|
`Special Instructions'
|
2001-02-26 19:12:47 +00:00
|
|
|
Unixware-2.1.3/Intel
|
|
|
|
====================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
`Extra libs needed'
|
|
|
|
Unknown
|
|
|
|
|
|
|
|
Special Instructions for GNUstep installation on Unixware 2.1 systems
|
|
|
|
|
|
|
|
1
|
|
|
|
Tune the kernel to increase the argument space so that we can pass
|
|
|
|
long command-line argument strings to processes (which the
|
|
|
|
makefiles do) (/etc/conf/bin/idtune ARG_MAX 102400)
|
|
|
|
|
|
|
|
2
|
|
|
|
Install raft of the latest GNU software
|
|
|
|
|
|
|
|
gzip (you need this to unpack other stuff)
|
|
|
|
make (to build everything)
|
|
|
|
m4 (for autoconf etc)
|
|
|
|
autoconf (if you need to change anything)
|
|
|
|
bison
|
|
|
|
flex
|
|
|
|
binutils (required by gcc if you want to debug)
|
|
|
|
gcc-2.8.1
|
|
|
|
(configure --with-gnu-as --with-gnu-ld --with-stabs)
|
|
|
|
NB. gcc-2.8.1 needs a fix to __do_global_dtors_aux()
|
|
|
|
in crtstuff.c on Unixware 2.1.3
|
|
|
|
(and possibly other unixware versions)
|
|
|
|
The fix is already in recent versions of egcs.
|
|
|
|
|
|
|
|
==================================
|
|
|
|
static void
|
|
|
|
__do_global_dtors_aux ()
|
|
|
|
{
|
|
|
|
static func_ptr *p = __DTOR_LIST__ + 1;
|
|
|
|
static int completed = 0;
|
|
|
|
|
|
|
|
if (completed)
|
|
|
|
return;
|
|
|
|
|
|
|
|
while (*p)
|
|
|
|
{
|
|
|
|
p++;
|
|
|
|
(*(p-1)) ();
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef EH_FRAME_SECTION_ASM_OP
|
|
|
|
__deregister_frame_info (__EH_FRAME_BEGIN__);
|
|
|
|
#endif
|
|
|
|
completed = 1;
|
|
|
|
}
|
|
|
|
======================================
|
|
|
|
|
|
|
|
3
|
|
|
|
Having got gcc working - it's probably a good idea to rebuild all
|
|
|
|
your GNU software using it!
|
|
|
|
|
|
|
|
4
|
|
|
|
Build gstep as normal.
|
|
|
|
|
|
|
|
5
|
|
|
|
The SIOCGIFCONF ioctl sometimes doesn't work on unixware after
|
|
|
|
applying some of the OS patches.
|
|
|
|
|
|
|
|
So I have added a '-a' flag to gdomap to give it the name of a file
|
|
|
|
containing IP address and netmask information for the network
|
|
|
|
interfaces on the system.
|
|
|
|
|
|
|
|
You need to set up a file (I suggest '/etc/gdomap_addresses')
|
|
|
|
containing the information for your machine and modify your system
|
|
|
|
startup files in /etc/rc?.d to run gdomap, telling it to use that
|
|
|
|
file.
|
|
|
|
|
|
|
|
eg. If your machine has an IP address of '193.111.111.2' and is on
|
|
|
|
a class-C network, your /etc/gdomap_addresses file would contain
|
|
|
|
the line
|
|
|
|
|
|
|
|
193.111.111.2 255.255.255.0
|
|
|
|
|
|
|
|
and your startup file would contain the lines
|
|
|
|
|
|
|
|
. /usr/local/GNUstep/Makefiles/GNUstep.sh
|
|
|
|
gdomap -a /etc/gdomap_addresses
|
|
|
|
|
|
|
|
If you don't set gdomap up correctly, Distributed Objects will not
|
|
|
|
work.
|
|
|
|
|
|
|
|
Windows with CYGWIN (_Unstable!_)
|
|
|
|
=================================
|
|
|
|
|
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
gcc 2.95.3 (Cygwin release 1.1.8) or later
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Extra libs needed'
|
2001-04-10 03:19:42 +00:00
|
|
|
Objective-C library DLL (<ftp://ftp.gnustep.org/pub/gnustep/libs>)
|
2001-05-29 14:27:43 +00:00
|
|
|
for shared libs. It's a good idea to remove the libobjc.a that
|
|
|
|
comes with gcc (gcc -v for location) so that it isn't accidentally
|
2001-07-10 02:28:20 +00:00
|
|
|
found. For ffcall, you should get version 1.8b or above (the
|
|
|
|
earlier ones don't compile). There are still some problems with
|
|
|
|
structure passing, but that is generally not supportred on any
|
|
|
|
architecture.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
`Special Instructions'
|
2001-07-10 02:28:20 +00:00
|
|
|
On later versions of Cygwin you may be required to include the
|
|
|
|
win32api directory in CPPFLAGS when configuring:
|
|
|
|
|
|
|
|
CPPFLAGS=-I/usr/include/win32api ./configure
|
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Make sure you have good shared libraries for everthing. Sometimes a
|
|
|
|
bad shared library (like libtiff) will cause odd and untraceable
|
|
|
|
problems. See the README.MinGW for information on good libraries.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Make sure files and compilation done in Unix mode (no ^M in files,
|
|
|
|
EXPORT CYGWIN=BINMODE usually works if cygwin is not buggy). Gdomap
|
|
|
|
services not set up correctly. Must add services lines to
|
|
|
|
`C:\WINDOWS\services' (on Windows 98) or xxx (on Windows NT). Native
|
|
|
|
GUI backend is alpha version.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2002-06-11 02:06:35 +00:00
|
|
|
Windows with MinGW (_Unstable! As always..._)
|
|
|
|
=============================================
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
`Recommended compiler'
|
2002-06-11 02:06:35 +00:00
|
|
|
See below.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
`Extra libs needed'
|
2002-06-11 02:06:35 +00:00
|
|
|
See below.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
`Special Instructions'
|
|
|
|
See the `README.MinGW' file located in the gnustep-make
|
2002-06-11 02:06:35 +00:00
|
|
|
Documentation directory for instructions. Windows NT/2000/XP only.
|
|
|
|
Win98 machines and earlier are very buggy and are not supported.
|
|
|
|
Native GUI backend is alpha version.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
Getting Libraries via Anonymous CVS
|
|
|
|
***********************************
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
If you didn't get one of the snapshots, or if you want to be sure to
|
|
|
|
stay on the bleading edge, then you should get the libraries via CVS. Go
|
|
|
|
to <http://savannah.gnu.org/cvs/?group_id=99> for information on how to
|
|
|
|
get anonymous CVS access.
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
If you haven't already done so, change to the directory, where you
|
2001-04-10 03:19:42 +00:00
|
|
|
want the source to reside. To get a list of potential modules to check
|
|
|
|
out, type
|
|
|
|
cvs -z3 checkout -c
|
2001-02-26 19:12:47 +00:00
|
|
|
|
2001-04-10 03:19:42 +00:00
|
|
|
For instance, to check our `core', which contains all the GNUstep
|
|
|
|
code libraries:
|
2001-02-26 19:12:47 +00:00
|
|
|
cvs -z3 checkout core
|
|
|
|
|
|
|
|
After you have checked out the source you can compile it as usual.
|
|
|
|
To update the source, go into the directory of the source tree you want
|
2002-04-30 19:48:51 +00:00
|
|
|
to update, for example, go into 'base', and type:
|
2001-02-26 19:12:47 +00:00
|
|
|
|
|
|
|
cvs -z3 update -Pd
|
|
|
|
|
|
|
|
You don't have to re-checkout after you have the source, just update!
|
|
|
|
|
|
|
|
Acknowledgements
|
|
|
|
****************
|
|
|
|
|
|
|
|
Authors: Adam Fedor <fedor@gnu.org>,
|
|
|
|
Pascal Forget <pascal@wsc.com>,
|
|
|
|
Ovidiu Predescu <ovidiu@net-community.com>,
|
|
|
|
Camille Troillard <tuscland@wanadoo.fr>
|
|
|
|
Richard Frith-MacDonald <richard@brainstorm.co.uk>
|
|
|
|
|
|
|
|
This file is part of GNUstep.
|
|
|
|
|