More documentation work

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@24892 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2007-03-17 20:19:11 +00:00
parent 3e9c5ec61f
commit 8c2b43631c
3 changed files with 165 additions and 71 deletions

View file

@ -1,3 +1,15 @@
2007-03-17 Nicola Pero <nicola.pero@meta-innovation.com>
* Documentation/gnustep-howto.texi: Updated. In particular:
removed all references to obsolete GNUSTEP_SYSTEM_ROOT, mention
the existence of various filesystem layouts and of the new setup
options, and updated explanations of how to checkout the source
code.
* Documentation/machines.texi (RedHat/Intel): Renamed to
'RedHat/i386'; marked as 'Supported' and added some doc.
(CentOS/i386): New section.
(FedoraCore/i386): New section.
2007-03-17 Nicola Pero <nicola.pero@meta-innovation.com>
* Documentation/make.texi: Changed the basic example to use

View file

@ -20,7 +20,7 @@ Last Update: @today{}
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1996 - 2002 Free Software Foundation, Inc.
Copyright @copyright{} 1996 - 2007 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
@ -38,7 +38,7 @@ any later version published by the Free Software Foundation.
This document explains how to build the different components of the
GNUstep core libraries and GNUstep Launchpad.
Copyright (C) 1996 - 2002 Free Software Foundation, Inc.
Copyright (C) 1996 - 2007 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Public License, Version 1.0 or
@ -170,12 +170,12 @@ Although it is not required, GNUstep will work much better if you use it
with the WindowMaker window manager.
Get WindowMaker from @url{http://www.windowmaker.info}.
@item gnustep-objc package (for gcc version < 3.0 ONLY or MINGW/Cygwin) (RECOMMENDED)
@item gnustep-objc package (REQUIRED BUT ONLY for gcc version < 3.0 or MINGW/Cygwin)
Note: Do not install this library unless you are sure you need it.
You probably don't need it except on MinGW and Cygwin (regardless of the
gcc version you have).
This is a special version of the Objective-C runtime that include several
bug fixes and features that were not in gcc versions previous to 3.0.
This is a special version of the Objective-C runtime that is compiled
as a shared library.
It is available at @url{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.
@ -225,28 +225,41 @@ the gnustep-make Documentation directory (such as README.MingW for Windows).
@node Core Package, , Compiling and Installing, Compiling and Installing
@section 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:
The GNUstep packages uses the Autoconf mechanism for configuration; it
checks some host capabilities which are used by all GNUstep software.
The first package you will compile is gnustep-make. To configure
gnustep-make just type:
@example
./configure
@end example
The GNUstep makefile package needs a root directory. If the
GNUSTEP_SYSTEM_ROOT environment variable is set then configure will
determine the root directory from its value (by removing the final
/System path component from it). You can also specify the root
directory when you run configure with the prefix paramater; the
following command makes /usr/local/GNUstep the root directory:
The GNUstep makefile package can be configured to use different types
of filesystem layouts. By default, GNUstep is installed with a
GNUstep filesystem layout into /usr/GNUstep. That is a good,
recommended default if you don't have an opinion on which filesystem
layout to use.
But you can also install it somewhere else by using the prefix
parameter; the following command makes /usr/local/GNUstep the root
directory:
@example
./configure --prefix=/usr/local/GNUstep
@end example
If you do not have the GNUSTEP_SYSTEM_ROOT environment variable set
and you do not specify a root directory when running configure, then
configure will use /usr/GNUstep as the default root directory.
You can also install GNUstep using an FHS layout (or some other filesystem layout
of your choice) by using the with-layout parameter; the following command
configures GNUstep to use the standard FHS (unix) filesystem layout:
@example
./configure --with-layout=fhs
@end example
In this document we will always present examples that assume that you
are using the default GNUstep filesystem layout in /usr/GNUstep. If
you are using a different layout, you will need to make the obvious
changes.
@menu
* Alternate Library Setup::
@ -272,15 +285,15 @@ make
make install
@end example
Start with the Makefile Pacakge (gnustep-make). After installing
gnustep-make you need to execute GNUstep's shell configuration
script, as follows:
Start with the Makefile Package (gnustep-make). After installing
gnustep-make you need to execute GNUstep's shell configuration script,
as follows:
@example
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
@end example
before proceeding any further.
before proceeding any further.
NOTE for gcc 2.X or MinGW users: Now install gnustep-objc. Before building
gnustep-objc, edit the @file{GNUmakefile} and set the @var{THREADING}
@ -314,40 +327,71 @@ administrator to start the gdomap server using it.
@node Environment Setup, GNUstep Home, Additional Installation, Additional Installation
@section Environment Setup
Add the shell script @file{GNUstep.sh} located in the Makefile
package to your shell startup file (such as @file{.profile}). For instance,
if your GNUSTEP_SYSTEM_ROOT is @file{/usr/GNUstep/System},
You need to make sure your environment is properly setup in order to
compile and run GNUstep software. The steps to setup your environment
differ slightly depending on your filesystem layout.
There is a way of setting up your environment that always works:
sourcing the @file{GNUstep.sh} shell script before using GNUstep. The
shell script @file{GNUstep.sh} is located in the Makefile package; you
may want to add it to your shell startup file (such as
@file{.profile}). For instance, if you installed GNUstep with the
default GNUstep filesystem layout in @file{/usr/GNUstep}, then adding
@example
. /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
@end example
in your @file{.profile} file will work (Note the period at the beginning
of the line, and the space between the period and the following path;
if your GNUSTEP_SYSTEM_ROOT is different, you need to replace
@file{/usr/GNUstep/System} with your GNUSTEP_SYSTEM_ROOT).
It defines environment variables that are needed to find
GNUstep files and executables. Users of csh need to use the
@file{GNUstep.csh} script. Read the make package @file{README} for more
info. Some systems, like GNU/Linux have an @file{/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 @file{GNUstep.sh} there. For csh or tcsh, try
in your @file{.profile} file will work (Note the period at the
beginning of the line, and the space between the period and the
following path; if you installed GNUstep somewhere else, you need to
replace @file{/usr/GNUstep/System/Library/Makefiles} with the path to
your @file{GNUstep.sh} script). The script defines environment
variables that are needed to find GNUstep files and executables.
Users of csh need to use the @file{GNUstep.csh} script. Read the make
package @file{README} for more info. Some systems, like GNU/Linux have
an @file{/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 @file{GNUstep.sh} there. For
csh or tcsh, try
@example
source /usr/GNUstep/System/Library/Makefiles/GNUstep.csh
@end example
Finally, in most filesystem configuration it's also possible to
manually set up your environment by setting PATH, the linker library
paths and the @code{GNUSTEP_MAKEFILES} variable (instead of using
@file{GNUstep.sh}). For example, on GNU/Linux (with a default GNUstep
installation), instead of sourcing @file{GNUstep.sh} you could manually
add the Tools directories to your PATH:
@example
PATH="/usr/GNUstep/System/Tools:/usr/GNUstep/Local/Tools:$PATH"
@end example
manually add @file{/usr/GNUstep/System/Library/Libraries} and
@file{/usr/GNUstep/Local/Library/Libraries} to your
@file{/etc/ld.so.conf} file (don't forget to run @code{ldconfig} every
time you install a library), and set the environment variable
@code{GNUSTEP_MAKEFILES} when you want to compile something:
@example
GNUSTEP_MAKEFILES=/usr/GNUstep/System/Library/Makefiles
@end example
@node GNUstep Home, Time Zone, Environment Setup, Additional Installation
@section GNUstep Home
Your home GNUstep directory should be created automatically the first
time you use a GNUstep tool or application.
This is where user defaults are kept as well as
other user configuration files. User installed apps, libraries, etc
are also here (if the default user directory is used). By default this
is the directory @file{GNUstep} under your home directory, but you can change
this (see the gnustep-make installation documentation).
time you use a GNUstep tool or application. This is where user
defaults are kept as well as other user configuration files. User
installed apps, libraries, etc are also here (if the default user
directory is used). By default this is the directory @file{GNUstep}
under your home directory, but you can change this (see the
gnustep-make installation documentation).
@node Time Zone, GNUstep deamons, GNUstep Home, Additional Installation
@section Time Zone
@ -360,21 +404,23 @@ GNUstep defaults utility to set @kbd{Local Time Zone} to your local time
zone. Type something like @kbd{defaults write NSGlobalDomain "Local
Time Zone" GB}. Where @kbd{GB} is a time zone abbreviation.
See @file{$GNUSTEP_SYSTEM_ROOT/Library/Libraries/Resources/gnustep-bsae/NSTimeZones/zones} for typical time zones):
See
@file{/usr/GNUstep/System/Library/Libraries/gnustep-base/Versions/1.14/Resources/NSTimeZones/zones/}
(or equivalent on your system depending on your filesystem layout) for
typical time zones.
@node GNUstep deamons, , Time Zone, Additional Installation
@section GNUstep deamons
Set up your system to execute some GNUstep deamons. If you don't do
this, they will be started automatically when you run your first GNUstep
app:
Set up your system to execute some GNUstep deamons. This is optional
because if you don't do this, they will be started automatically when
you run your first GNUstep app:
@itemize @bullet
@item gdomap - Put this in a system startup file, like @file{/etc/rc.local} or @file{/etc/rc.d/rc.local} (customize for your system)
@example
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep/System
if [ -f $GNUSTEP_SYSTEM_ROOT/Tools/gdomap ]; then
$GNUSTEP_SYSTEM_ROOT/Tools/gdomap
if [ -f /usr/GNUstep/System/Tools/gdomap ]; then
/usr/GNUstep/System/Tools/gdomap
fi
@end example
@item gdnc - Start after sourcing @file{GNUstep.sh} (e.g. in .profile)
@ -396,17 +442,17 @@ make_services
@node Tools and Applications, Machine Specific, Additional Installation, Top
@chapter Test Tools and Applications
Example applications are located in the gstep-examples package. To make these,
just uncompress and untar this package, cd to the appropriate
directory, and type make. You will need to install the GNUstep core libraries
first before doing this.
Example applications are located in the gstep-examples package. To
build these, just uncompress and untar this package, cd to the
appropriate directory, and type make. You will need to install the
GNUstep core libraries first before doing this.
To run the examples. Use the openapp utility that is part of the GNUstep
makefile package (and stored in
@file{$GNUSTEP_SYSTEM_ROOT/Tools}). Usage is:
To run the examples. Use the openapp utility that is part of the
GNUstep makefile package (and stored in
@file{/usr/GNUstep/System/Tools}). Usage is:
@example
openapp application [additional arguments to app]
openapp application_name [additional arguments to app]
@end example
Good Luck!
@ -426,16 +472,16 @@ to @url{http://www.gnustep.org/resources/sources.html} for information on how
to get the sourcecode.
If you haven't already done so, change to the directory, where you
want the source to reside. To get a list of potential modules to check out,
want the source to reside. To checkout all of the GNUstep repository,
type
@example
cvs -z3 checkout -c
svn co http://svn.gna.org/svn/gnustep/modules
@end example
For instance, to check our @file{core}, which contains all the GNUstep
code libraries:
To check out only the @file{core}, which contains all the GNUstep core
libraries:
@example
cvs -z3 checkout core
svn co http://svn.gna.org/svn/gnustep/modules/core
@end example
After you have checked out the source you can compile it as
@ -443,7 +489,7 @@ usual. To update the source, go into the directory of the source tree
you want to update, for example, go into 'base', and type:
@example
cvs -z3 update -Pd
svn update
@end example
You don't have to re-checkout after you have the source, just update!

View file

@ -23,6 +23,7 @@ GNUstep @email{bug-gnustep@@gnu.org}.
@menu
* Compilers::
* CentOS/i386::
* Darwin/ix86::
* Darwin/PowerPC::
* Debian/Alpha::
@ -30,6 +31,7 @@ GNUstep @email{bug-gnustep@@gnu.org}.
* Debian/em64t::
* Debian/PowerPC::
* Debian/SPARC::
* FedoraCore/i386::
* FreeBSD 5.x::
* FreeBSD 4.x::
* FreeBSD 3.x::
@ -47,7 +49,7 @@ GNUstep @email{bug-gnustep@@gnu.org}.
* Netwinder::
* OpenBSD 3.x::
* OSF/Alpha::
* RedHat/Intel::
* RedHat/i386::
* Slackware/Intel::
* Slackware/Sparc::
* Solaris 2.5.1/Sparc::
@ -63,7 +65,7 @@ GNUstep @email{bug-gnustep@@gnu.org}.
@end menu
@c -----------------------------------------
@node Compilers, Darwin/ix86, Machine Specific, Machine Specific
@node Compilers, CentOS/i386, Machine Specific, Machine Specific
@section Compilers
A recommended compiler is listed for each machine, if known. You should try
@ -132,7 +134,15 @@ setp procedures to run correctly.
@end table
@c -----------------------------------------
@node Darwin/ix86, Darwin/PowerPC, Compilers, Machine Specific
@node CentOS/i386, Darwin/ix86, Compilers, Machine Specific
@section CentOS/ix86 (@emph{Supported})
This RedHat variant is well-tested and well-supported (tested at least
up to CentOS release 4.4). For more information, please check the
section on RedHat/i386 below.
@c -----------------------------------------
@node Darwin/ix86, Darwin/PowerPC, CentOS/i386, Machine Specific
@section Darwin/ix86 (@emph{Unsupported})
Currently tested on Darwin 7.x
@ -234,13 +244,21 @@ Tested on 'unstable'.
Tested on sid.
@c -----------------------------------------
@node Debian/SPARC, FreeBSD 5.x, Debian/PowerPC, Machine Specific
@node Debian/SPARC, FedoraCore/i386, Debian/PowerPC, Machine Specific
@section Debian/SPARC (@emph{Release})
Tested on sid.
@c -----------------------------------------
@node FreeBSD 5.x, FreeBSD 4.x, Debian/SPARC, Machine Specific
@node FedoraCore/i386, FreeBSD 5.x, Debian/SPARC, Machine Specific
@section FedoraCore/ix86 (@emph{Supported})
This RedHat variant is well-tested and well-supported (tested at least
up to Fedora Core release 6). For more information, please check the
section on RedHat/i386 below.
@c -----------------------------------------
@node FreeBSD 5.x, FreeBSD 4.x, FedoraCore/i386, Machine Specific
@section FreeBSD 5.x (@emph{Supported})
Tested on 5.0, 5.1, 5.3
@ -501,7 +519,7 @@ Ports at
@url{http://mail.rochester.edu/~asveikau/gnustep-openbsd/}
@c -----------------------------------------
@node OSF/Alpha, RedHat/Intel, OpenBSD 3.x, Machine Specific
@node OSF/Alpha, RedHat/i386, OpenBSD 3.x, Machine Specific
@section OSF/Alpha (@emph{Needs Testing, Unstable})
@c Contact: suzukis@file.phys.tohoku.ac.jp
@ -525,11 +543,29 @@ ADDTIONAL_TOOL_LIBS in the GNUmakefile(.preamble).
@end table
@c -----------------------------------------
@node RedHat/Intel, Slackware/Intel, OSF/Alpha, Machine Specific
@section RedHat/Intel (@emph{Unsupported})
@node RedHat/i386, Slackware/Intel, OSF/Alpha, Machine Specific
@section RedHat/i386 (@emph{Supported})
RedHat and variants/clones such as Fedora Core and CentOS are all very
well supported and are regularly tested with all GNUstep releases.
@table @var
@item Recommended compiler
The default compiler works very well.
@item Extra libs needed
All extra libs needed are easily available from standard packages; the
only tricky one is ffcall. If you don't find an RPM for that one,
download it directly from the GNUstep web site
(http://www.gnustep.org).
@item Special Instructions
None.
@end table
@c -----------------------------------------
@node Slackware/Intel, Slackware/Sparc, RedHat/Intel, Machine Specific
@node Slackware/Intel, Slackware/Sparc, RedHat/i386, Machine Specific
@section Slackware/Intel (@emph{Unsupported})
@c -----------------------------------------