1996-09-03 18:09:16 +00:00
|
|
|
@c -*- texinfo -*-
|
|
|
|
@chapter Installation
|
|
|
|
|
|
|
|
@ifset TEXT-ONLY
|
|
|
|
@include version.texi
|
|
|
|
@end ifset
|
|
|
|
|
|
|
|
This file documents the installation of the GNUstep GUI
|
1997-03-28 22:21:23 +00:00
|
|
|
Library, @samp{gnustep-gui}. Copyright (C) 1996 Free Software
|
1996-09-03 18:09:16 +00:00
|
|
|
Foundation, Inc. You may copy, distribute, and modify it freely as long
|
|
|
|
as you preserve this copyright notice and permission notice.
|
|
|
|
|
|
|
|
This is version @value{GNUSTEP-GUI-VERSION} of the GNUstep GUI library.
|
|
|
|
|
1997-03-28 22:21:23 +00:00
|
|
|
@section Installing @samp{gnustep-gui}
|
1996-09-03 18:09:16 +00:00
|
|
|
|
|
|
|
Here is a quick-and-dirty example of installation commands:
|
|
|
|
|
|
|
|
@example
|
1997-03-28 22:21:23 +00:00
|
|
|
./configure --prefix=/usr/GNUstep
|
1996-09-03 18:09:16 +00:00
|
|
|
make
|
|
|
|
make install
|
|
|
|
@end example
|
|
|
|
|
|
|
|
Here are more detailed instructions.
|
|
|
|
|
|
|
|
@enumerate
|
|
|
|
@item
|
|
|
|
Install @samp{gcc}. The library requires gcc version
|
1997-03-28 22:21:23 +00:00
|
|
|
@value{GNUSTEP-GUI-GCC} or later.
|
1996-09-03 18:09:16 +00:00
|
|
|
|
|
|
|
@item
|
1997-07-07 16:56:52 +00:00
|
|
|
Install @samp{gnustep-base} or @samp{libFoundation}. This library requires the
|
|
|
|
classes either in the GNUstep Base Library or libFoundation. You must also
|
|
|
|
apply the Objective-C Runtime patches to GCC which makes the runtime
|
|
|
|
thread-safe, if your version of GCC lacks them.
|
1996-09-03 18:09:16 +00:00
|
|
|
|
1996-10-04 00:55:26 +00:00
|
|
|
@item
|
|
|
|
Install the @samp{TIFF} library. This library requires the header files
|
|
|
|
in the TIFF library to compile; the TIFF library is used for the NSImage
|
|
|
|
and associated classes for reading, writing, and manipulating tiff files.
|
|
|
|
|
|
|
|
@item
|
|
|
|
Install @samp{DGS}. Though this library does not directly use the Display
|
|
|
|
Ghostscript System; it does require the DPS client library headers
|
|
|
|
in order to compile. You should have at least version
|
|
|
|
@value{GNUSTEP-GUI-DGS}; likewise, you could just install the DPS client
|
|
|
|
library itself in which use version @value{GNUSTEP-GUI-DPSCLIENT}.
|
|
|
|
|
1996-09-03 18:09:16 +00:00
|
|
|
@item
|
|
|
|
Configure the package for your system. In the directory that this
|
|
|
|
file is in, type @file{./configure}. If you're using @file{csh} on an old
|
|
|
|
version of System V, you might need to type @samp{sh configure} instead
|
|
|
|
to prevent @samp{csh} from trying to execute @file{configure} itself.
|
|
|
|
|
|
|
|
The @file{configure} shell script attempts to guess correct values for
|
|
|
|
various system-dependent variables used during compilation, and
|
|
|
|
creates the Makefile(s) (one in each subdirectory of the source
|
|
|
|
directory). In some packages it creates a C header file
|
|
|
|
containing system-dependent definitions. It also creates a file
|
|
|
|
@file{config.status} that you can run in the future to recreate the
|
|
|
|
current configuration.
|
|
|
|
|
|
|
|
Running @file{configure} takes less than a minute or two. While it is
|
|
|
|
running, it prints some messages that tell what it is doing. If
|
|
|
|
you don't want to see the messages, run @file{configure} with its
|
|
|
|
standard output redirected to @file{/dev/null}; for example:
|
|
|
|
@smallexample
|
|
|
|
./configure >/dev/null
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
To compile the package in a different directory from the one
|
|
|
|
containing the source code, you must use a version of make that
|
|
|
|
supports the VPATH variable, such as GNU make. @samp{cd} to the
|
|
|
|
directory where you want the object files and executables to go and
|
|
|
|
run @file{configure}. @file{configure} automatically checks for the
|
|
|
|
source code in the directory that @file{configure} is in and in
|
|
|
|
@file{..}. If for some reason @file{configure} is not in the source
|
|
|
|
code directory that you are configuring, then it will report that it
|
|
|
|
can't find the source code. In that case, run @file{configure} with
|
|
|
|
the option @samp{--srcdir=DIR}, where DIR is the directory that
|
|
|
|
contains the source code.
|
|
|
|
|
|
|
|
By default, @samp{make install} will install the package's files in
|
|
|
|
/usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify
|
|
|
|
an installation prefix other than /usr/local by giving
|
|
|
|
@file{configure} the option @samp{--prefix=PATH}. Alternately, you
|
|
|
|
can do so by giving a value for the @samp{prefix} variable when you
|
|
|
|
run @samp{make}, e.g.,
|
|
|
|
@smallexample
|
|
|
|
make prefix=/usr/gnu
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
You can specify separate installation prefixes for
|
|
|
|
architecture-specific files and architecture-independent files. If
|
|
|
|
you give @file{configure} the option @samp{--exec_prefix=PATH} or set
|
|
|
|
the @samp{make} variable @samp{exec_prefix} to PATH, the package will
|
|
|
|
use PATH as the prefix for installing programs and libraries. Data
|
|
|
|
files and documentation will still use the regular prefix. Normally,
|
|
|
|
all files are installed using the regular prefix.
|
|
|
|
|
|
|
|
You can tell @file{configure} to figure out the configuration for your
|
|
|
|
system, and record it in @file{config.status}, without actually
|
|
|
|
configuring the package (creating Makefile(s) and perhaps a
|
|
|
|
configuration header file). To do this, give @file{configure} the
|
|
|
|
@samp{--no-create} option. Later, you can run @file{./config.status}
|
|
|
|
to actually configure the package. This option is useful mainly in
|
|
|
|
@file{Makefile} rules for updating @file{config.status} and
|
|
|
|
@file{Makefile}. You can also give @file{config.status} the
|
|
|
|
@samp{--recheck} option, which makes it re-run @file{configure} with
|
|
|
|
the same arguments you used before. This is useful if you change
|
|
|
|
@file{configure}.
|
|
|
|
|
|
|
|
@file{configure} ignores any other arguments that you give it.
|
|
|
|
|
|
|
|
If your system requires unusual options for compilation or linking
|
|
|
|
that @file{configure} doesn't know about, you can give
|
|
|
|
@file{configure} initial values for some variables by setting them in
|
|
|
|
the environment. In Bourne-compatible shells, you can do that on the
|
|
|
|
command line like this:
|
|
|
|
@smallexample
|
|
|
|
CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
The @samp{make} variables that you might want to override with
|
|
|
|
environment variables when running @file{configure} are:
|
|
|
|
|
|
|
|
(For these variables, any value given in the environment overrides
|
|
|
|
the value that `configure' would choose:)
|
|
|
|
@table @samp
|
|
|
|
|
|
|
|
@item CC
|
|
|
|
C compiler program. Default is @samp{cc}, or @samp{gcc} if @samp{gcc} is in
|
|
|
|
your PATH.
|
|
|
|
|
|
|
|
@item INSTALL
|
|
|
|
Program to use to install files. Default is @samp{install} if you
|
|
|
|
have it, @samp{install.sh} otherwise.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
(For these variables, any value given in the environment is added
|
|
|
|
to the value that @file{configure} chooses:)
|
|
|
|
@table @samp
|
|
|
|
|
|
|
|
@item DEFS
|
|
|
|
Configuration options, in the form @samp{-Dfoo -Dbar ...}
|
|
|
|
|
|
|
|
@item LIBS
|
|
|
|
Libraries to link with, in the form @samp{-lfoo -lbar ...}
|
|
|
|
@end table
|
|
|
|
|
|
|
|
If you need to do unusual things to compile the package, we
|
|
|
|
encourage you to figure out how @file{configure.in} could check whether to
|
|
|
|
do them, and mail diffs or instructions to the address given in
|
|
|
|
the @file{README} so we can include them in the next release.
|
|
|
|
|
|
|
|
@item
|
|
|
|
Type @samp{make} to compile the package. If you want, you can override
|
|
|
|
the @samp{make} variables @samp{CFLAGS} and @samp{LDFLAGS} like this:
|
|
|
|
@smallexample
|
|
|
|
make CFLAGS=-O2 LDFLAGS=-s
|
|
|
|
@end smallexample
|
|
|
|
|
|
|
|
@item
|
|
|
|
Type @samp{make install} to install the library, data files, header
|
|
|
|
files, and documentation.
|
|
|
|
|
|
|
|
@item
|
|
|
|
You can remove the program binaries and object files from the
|
|
|
|
source directory by typing @samp{make clean}. To also remove the
|
|
|
|
Makefile(s), and @file{config.status} (all the files that @file{configure}
|
|
|
|
created), type @samp{make distclean}.
|
|
|
|
|
|
|
|
The file @file{configure.in} is used as a template to create
|
|
|
|
@file{configure} by a program called @file{autoconf}. You will only
|
|
|
|
need it if you want to regenerate @file{configure} using a newer
|
|
|
|
version of @file{autoconf}.
|
|
|
|
@end enumerate
|