Corrected line wrapping

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@18714 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Quentin Mathe 2004-02-29 03:39:54 +00:00
parent 5f83c3e2cf
commit 29ae096d82

View file

@ -2,19 +2,24 @@ Date : 15-Jan-2004
Last update: 26-Feb-2004 (tested under Mac OS X 10.3 / Darwin 7)
--> must be verified on x86-darwin-7, powerpc-apple-darwin-6
Authors: Adam Fedor <fedor@gnu.org>
Quentin MathŽ <qmathe@club-internet.fr>
Quentin Mathé <qmathe@club-internet.fr>
PURPOSE
-------
This document is intended to provide a step by step instruction on how to get the GNUstep installed on Mac OS X and Darwin.
This document is intended to provide a step by step instruction on how to get
the GNUstep installed on Mac OS X and Darwin.
Note: GNUstep seems to install on Mac OS X 10.2 / Darwin 6, but the bundles support seems to be broken, then applications based on GNUstep-gui will not work. (Must be verified)
Note: GNUstep seems to install on Mac OS X 10.2 / Darwin 6, but the bundles
support seems to be broken, then applications based on GNUstep-gui will not
work. (Must be verified)
COMMONLY USED SYMBOLS
---------------------
<> denotes a variable depending on your preferences. To be replaced with the actual values from your system. For instance, if you installed gcc in /opt/local
<> denotes a variable depending on your preferences. To be replaced with the
actual values from
your system. For instance, if you installed gcc in /opt/local
./configure CC='<gcc install dir>/bin/gcc'
@ -41,7 +46,9 @@ If you get errors like below, just do:
make clean
make
The second or the third time, the errors should disappear.
It's probably due to some potential issues between FSF GCC and the libtool/ld Mac OS X / Darwin versions.
It's probably due to some potential issues between FSF GCC and the libtool/ld
Mac OS X / Darwin
versions.
Linking subproject x11 ...
/usr/bin/ld: shared_obj/xdnd.o bad magic number (not a Mach-O file)
@ -65,7 +72,9 @@ libpng (Optional, highly recommended)
libffi (Required, only contained in the gcc distributions and pyobjc)
ffcall (On Darwin x86 - use instead of libffi)
Xfree86 (Required, already in Mac OS X 10.3/Darwin 7, to know more read below, needed for 10.2 / Darwin 6 and earlier)
Xfree86 (Required, already in Mac OS X 10.3/Darwin 7, to know more read below,
needed for 10.2 /
Darwin 6 and earlier)
libart2 (Optional, but required in the case you choose to use the art backend)
freetype2 (Optional, but required in the case you choose to use the art backend)
@ -75,7 +84,11 @@ dlcompat (Required, to be able to load bundles, included with Fink installation)
Obtaining GNUstep
-----------------
The main GNUstep project pages tell you how to get hold of this. You can get the latest release of the following libraries. However, since Mac OS X support is currently evolving, we recommend that you get the latest snapshot or code from CVS.
The main GNUstep project pages tell you how to get hold of this. You can get the
latest release of
the following libraries. However, since Mac OS X support is currently evolving,
we recommend that
you get the latest snapshot or code from CVS.
You need these gnustep packages:
@ -86,17 +99,23 @@ GNUstep-back
Targets
-------
For GNUstep, there are several combinations of Objective-C runtime, Foundation library and Application Kit library possible, called library combos.
For GNUstep, there are several combinations of Objective-C runtime, Foundation
library and
Application Kit library possible, called library combos.
The usual notation is:
objcruntime-foundation-applicationkit
Theoretically possible are:
gnu-gnu-gnu # gnu-objc runtime with gnustep-base and gnustep-gui. Most widely tested.
apple-gnu-gnu # apple-objc runtime with gnustep libraries. Does currently not work
apple-apple-gnu # Apple Foundation with gnustep-gui on the top. Only of academically interest.
apple-apple-apple # Cocoa with GNUstep additions. For porting GNUstep apps to Cocoa.
gnu-gnu-gnu # gnu-objc runtime with gnustep-base and gnustep-gui. Most
widely tested.
apple-gnu-gnu # apple-objc runtime with gnustep libraries. Does currently
not work
apple-apple-gnu # Apple Foundation with gnustep-gui on the top. Only of
academically interest.
apple-apple-apple # Cocoa with GNUstep additions. For porting GNUstep apps to
Cocoa.
All gnu-*-apple library combos are purely theoretical and only available to the
folks inside Apple since no mortal person ever saw the Cocoa source code. ;-)
@ -109,28 +128,39 @@ FSF GCC, gnu-gnu-gnu
Unfortunately, using Apple GCC with gnu-gnu-gnu doesn't appear to work currently
(see below for more info), so this option really isn't open now.
In addition, if you are on Mac OS X, you can also use the Apple Foundation and AppKit
frameworks to do GNUstep development with Cocoa, but this only works with the Apple compiler:
In addition, if you are on Mac OS X, you can also use the Apple Foundation and
AppKit
frameworks to do GNUstep development with Cocoa, but this only works with the
Apple compiler:
Apple GCC, apple-apple-apple
GNUstep on Darwin x86
---------------------
For GNUstep on Darwin x86, Apple GCC compiles GNUstep-base, but causes strange problems when running programs (e.g. the program hangs while allocating memory or executes methods multiple times). So we have to use FSF GCC.
For GNUstep on Darwin x86, Apple GCC compiles GNUstep-base, but causes strange
problems when
running programs (e.g. the program hangs while allocating memory or executes
methods multiple
times). So we have to use FSF GCC.
Additionally, libffi has not been ported to Darwin x86, so you will need to install ffcall instead.
Additionally, libffi has not been ported to Darwin x86, so you will need to
install ffcall
instead.
ffcall (ftp://ftp.gnustep.org/pub/gnustep/libs or ftp://ftp.santafe.edu/pub/gnu/ffcall-1.9.tar.gz)
ffcall (ftp://ftp.gnustep.org/pub/gnustep/libs or
ftp://ftp.santafe.edu/pub/gnu/ffcall-1.9.tar.gz)
See instructions below for building ffcall.
GNUstep on Darwin PowerPC
-------------------------
Haven't been able to get Apple GCC on Mac OS X 10.2 / Darwin 6 to compile GNUstep-base.
Haven't been able to get Apple GCC on Mac OS X 10.2 / Darwin 6 to compile
GNUstep-base.
The compiler crashes with various errors.
You need the FSF GCC compiler here. You need at least version 3.3.2. (While version
You need the FSF GCC compiler here. You need at least version 3.3.2. (While
version
3.3.2 works, it will not install libffi)
Building FSF-GCC
@ -144,7 +174,9 @@ ln -s /usr/bin/c++filt /usr/bin/c++filt3 # missing on Darwin x86 ?
and then configure gcc with:
mkdir build # create a sibling to the toplevel source dir
mkdir build # create a sibling to the
toplevel source
dir
cd build
<dir>/gcc-X.X.X/configure --enable-languages=c,objc # don't try to build c++
make bootstrap
@ -158,11 +190,13 @@ gcc on Darwin doesn't appear to support threads.
Darwin PowerPC:
configure and build as follows (tested using gcc-3.3.2 on Mac OS X 10.2 and 10.3):
configure and build as follows (tested using gcc-3.3.2 on Mac OS X 10.2 and
10.3):
mkdir build
cd build
<dir>/gcc-x.x.x/configure [ --prefix=<gcc install dir>] # by default gcc installs in /usr/local
<dir>/gcc-x.x.x/configure [ --prefix=<gcc install dir>] # by default gcc
installs in /usr/local
make bootstrap
make install
cd <gcc install dir>/lib
@ -185,12 +219,15 @@ else use [CC='<gcc install dir>/bin/gcc'] when running configure.
then:
./configure --with-library-combo=gnu-gnu-gnu [--prefix=<GNUstep install dir>] [CC='<gcc install dir>/bin/gcc']
./configure --with-library-combo=gnu-gnu-gnu [--prefix=<GNUstep install dir>]
[CC='<gcc install dir>/bin/gcc']
(apple-apple-apple is the default if you don't specify gnu-gnu-gnu). If you
want to be able to compile for different targets/platforms together. Do this:
./configure --with-library-combo=gnu-gnu-gnu -disable-flattened --enable-multi-platform [--prefix=<GNUstep install dir>] [CC='<gcc install dir>/bin/gcc']
./configure --with-library-combo=gnu-gnu-gnu -disable-flattened
--enable-multi-platform [--prefix=<GNUstep install dir>] [CC='<gcc install
dir>/bin/gcc']
Now:
@ -211,7 +248,9 @@ This should build and install the GNU Objective-C runtime and headers for you.
Building and installing libffi (on Darwin PowerPC only !!!)
------------------------------
Untar the GNU gcc distribution, at least a version 3.4 series snapshot (even if you are not compiling the compiler) and:
Untar the GNU gcc distribution, at least a version 3.4 series snapshot (even if
you are not
compiling the compiler) and:
mkdir libffi-build
cd libffi-build
@ -219,9 +258,12 @@ cd libffi-build
make
make install
Note: the lastest 3.4 snapshot doesn't seem to have a working libffi on Mac OS X / Darwin.
Note: the lastest 3.4 snapshot doesn't seem to have a working libffi on Mac OS X
/ Darwin.
Use PyObjC libffi from http://pyobjc.sourceforge.net, in the case GNUstep-base install doesn't work with the 3.4 snapshot.
Use PyObjC libffi from http://pyobjc.sourceforge.net, in the case GNUstep-base
install doesn't
work with the 3.4 snapshot.
mkdir libffi-build
cd libffi-build
@ -248,15 +290,22 @@ Additional libraries
--------------------
Build and install and additional libraries listed above. You can also
get them via Fink (http://fink.sourceforge.net) or DarwinPorts (http://darwinports.opendarwin.org/) and sometimes they are already present on Mac OS X.
get them via Fink (http://fink.sourceforge.net) or DarwinPorts
(http://darwinports.opendarwin.org/) and sometimes they are already present on
Mac OS X.
And to have the additional libraries taken in account by the Mac OS X / Darwin linker with bourne shell like bash (Mac OS X 10.3), here is an example with Fink obtained libraries:
And to have the additional libraries taken in account by the Mac OS X / Darwin
linker with bourne
shell like bash (Mac OS X 10.3), here is an example with Fink obtained
libraries:
echo 'export DYLD_LIBRARY_PATH=<gcc install dir>/lib:/sw/lib:$DYLD_LIBRARY_PATH' >> ~/.profile
echo 'export DYLD_LIBRARY_PATH=<gcc install dir>/lib:/sw/lib:$DYLD_LIBRARY_PATH'
>> ~/.profile
with c shell like tcsh (Mac OS X 10.2):
echo 'setenv DYLD_LIBRARY_PATH <gcc install dir>/lib:/sw/lib:$DYLD_LIBRARY_PATH' >> ~/.tcshrc
echo 'setenv DYLD_LIBRARY_PATH <gcc install dir>/lib:/sw/lib:$DYLD_LIBRARY_PATH'
>> ~/.tcshrc
Source GNUstep.sh
-----------------
@ -316,18 +365,23 @@ followed by
Note: The gsnd server hasn't been ported to Mac OS X / Darwin yet.
In the case configure didn't found libjpeg, use --with-jpeg-library=<jpeg lib dir> --with-jpeg-include=<jpeg include dir> to have the libjpeg detected.
In the case configure didn't found libjpeg, use --with-jpeg-library=<jpeg lib
dir>
--with-jpeg-include=<jpeg include dir> to have the libjpeg detected.
Example with Fink:
./configure --disable-gsnd --with-jpeg-library=/sw/lib --with-jpeg-include=/sw/include
./configure --disable-gsnd --with-jpeg-library=/sw/lib
--with-jpeg-include=/sw/include
Building and installing GNUstep-back
------------------------------------
Warning !
You must have installed X11User.pkg from the Panther install disc and also X11SDK.pkg from the xCode Tools install disc to be able to compile GNUstep-back.
You must have installed X11User.pkg from the Panther install disc and also
X11SDK.pkg from the
xCode Tools install disc to be able to compile GNUstep-back.
In the back directory, type:
@ -335,7 +389,11 @@ In the back directory, type:
make
make install
In the case, you choose to use the art backend, you will need to have the freetype2 and libart2 libraries installed, first be sure to have libart2 in your path, for example, with Fink installation type:
In the case, you choose to use the art backend, you will need to have the
freetype2 and libart2
libraries installed, first be sure to have libart2 in your path, for example,
with Fink
installation type:
export DYLD_LIBRARY_PATH=/sw/lib:$DYLD_LIBRARY_PATH
@ -350,19 +408,31 @@ GNUstep apps with the art backend, as it needs to find libart2, so put the
above export DYLD_LIBRARY_PATH somewhere in your .profile (or do the export
before launching an application) [see the above "Additional Libraries" section].
The backend architecture which GNUstep-gui is built upon, has been written to be used within X Windows, then you need to start up an X Server (like Apple X11) to run the GNUstep-gui applications.
The backend architecture which GNUstep-gui is built upon, has been written to be
used within X
Windows, then you need to start up an X Server (like Apple X11) to run the
GNUstep-gui
applications.
Warning !
With the art backend, before to launch applications based on GNUstep-gui, in the shell, don't forget to edit the defaults (no need it to redo it later) :
With the art backend, before to launch applications based on GNUstep-gui, in the
shell, don't
forget to edit the defaults (no need it to redo it later) :
defaults write NSGlobalDomain XWindowBufferUseXShm NO
because Apple X11 doesn't support well shared memory for buffering (wich libart2 uses by default).
because Apple X11 doesn't support well shared memory for buffering (wich libart2
uses by default).
More informations on the art backend
------------------------------------
To have a working art backend... You will also need to download and install fonts, as it uses a specific font format. Use for example the file http://w1.423.telia.com/~u42308495/alex/backart/ArtResources-0.1.2.tar.bz2 and put the .nfont directories somewhere in $(GNUSTEP_SYSTEM_ROOT)/Library/Fonts
To have a working art backend... You will also need to download and install
fonts, as it uses a
specific font format. Use for example the file
http://w1.423.telia.com/~u42308495/alex/backart/ArtResources-0.1.2.tar.bz2 and
put the .nfont
directories somewhere in $(GNUSTEP_SYSTEM_ROOT)/Library/Fonts
Other fonts are available on http://www.knuddel.org/Downloads/Fonts/
@ -371,7 +441,9 @@ Window Maker
Window Maker is the standard window manager for GNUstep.
In the case, you choose to use it, don't forget to execute wmaker.inst else Window Maker will crash with signal 10.
In the case, you choose to use it, don't forget to execute wmaker.inst else
Window Maker will
crash with signal 10.
Example with Fink, do:
/sw/bin/wmaker.inst
@ -381,9 +453,14 @@ GNUstep daemons
Refer to GNUstep-HOWTO to know how to launch GNUstep daemons.
Note: If you try to start GNUstep daemons by hand with 'sudo opentool dameon', it won't work, because when you become root on Mac OS X / Darwin with sudo or su, DYLD_LIBRARY_PATH environment variable is erased, then to start them in the shell, do:
Note: If you try to start GNUstep daemons by hand with 'sudo opentool dameon',
it won't work,
because when you become root on Mac OS X / Darwin with sudo or su,
DYLD_LIBRARY_PATH environment
variable is erased, then to start them in the shell, do:
sudo opentool gdomap (gdomap doesn't rely on the GNUstep libraries or other special librairies)
sudo opentool gdomap (gdomap doesn't rely on the GNUstep libraries or other
special librairies)
su root
then with bourne shell like bash (Mac OS X 10.3):
@ -401,4 +478,4 @@ opentool gpbs
---
That's all.
That's all.