aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL106
1 files changed, 57 insertions, 49 deletions
diff --git a/INSTALL b/INSTALL
index 54caf7c1..d3c5b40a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,13 +1,19 @@
1Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software 1Installation Instructions
2Foundation, Inc. 2*************************
3 3
4 This file is free documentation; the Free Software Foundation gives 4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
52006, 2007 Free Software Foundation, Inc.
6
7This file is free documentation; the Free Software Foundation gives
5unlimited permission to copy, distribute and modify it. 8unlimited permission to copy, distribute and modify it.
6 9
7Basic Installation 10Basic Installation
8================== 11==================
9 12
10 These are generic installation instructions. 13Briefly, the shell commands `./configure; make; make install' should
14configure, build, and install this package. The following
15more-detailed instructions are generic; see the `README' file for
16instructions specific to this package.
11 17
12 The `configure' shell script attempts to guess correct values for 18 The `configure' shell script attempts to guess correct values for
13various system-dependent variables used during compilation. It uses 19various system-dependent variables used during compilation. It uses
@@ -20,9 +26,9 @@ debugging `configure').
20 26
21 It can also use an optional file (typically called `config.cache' 27 It can also use an optional file (typically called `config.cache'
22and enabled with `--cache-file=config.cache' or simply `-C') that saves 28and enabled with `--cache-file=config.cache' or simply `-C') that saves
23the results of its tests to speed up reconfiguring. (Caching is 29the results of its tests to speed up reconfiguring. Caching is
24disabled by default to prevent problems with accidental use of stale 30disabled by default to prevent problems with accidental use of stale
25cache files.) 31cache files.
26 32
27 If you need to do unusual things to compile the package, please try 33 If you need to do unusual things to compile the package, please try
28to figure out how `configure' could check whether to do them, and mail 34to figure out how `configure' could check whether to do them, and mail
@@ -32,20 +38,17 @@ some point `config.cache' contains results you don't want to keep, you
32may remove or edit it. 38may remove or edit it.
33 39
34 The file `configure.ac' (or `configure.in') is used to create 40 The file `configure.ac' (or `configure.in') is used to create
35`configure' by a program called `autoconf'. You only need 41`configure' by a program called `autoconf'. You need `configure.ac' if
36`configure.ac' if you want to change it or regenerate `configure' using 42you want to change it or regenerate `configure' using a newer version
37a newer version of `autoconf'. 43of `autoconf'.
38 44
39The simplest way to compile this package is: 45The simplest way to compile this package is:
40 46
41 1. `cd' to the directory containing the package's source code and type 47 1. `cd' to the directory containing the package's source code and type
42 `./configure' to configure the package for your system. If you're 48 `./configure' to configure the package for your system.
43 using `csh' on an old version of System V, you might need to type
44 `sh ./configure' instead to prevent `csh' from trying to execute
45 `configure' itself.
46 49
47 Running `configure' takes awhile. While running, it prints some 50 Running `configure' might take a while. While running, it prints
48 messages telling which features it is checking for. 51 some messages telling which features it is checking for.
49 52
50 2. Type `make' to compile the package. 53 2. Type `make' to compile the package.
51 54
@@ -64,54 +67,55 @@ The simplest way to compile this package is:
64 all sorts of other programs in order to regenerate files that came 67 all sorts of other programs in order to regenerate files that came
65 with the distribution. 68 with the distribution.
66 69
70 6. Often, you can also type `make uninstall' to remove the installed
71 files again.
72
67Compilers and Options 73Compilers and Options
68===================== 74=====================
69 75
70 Some systems require unusual options for compilation or linking that 76Some systems require unusual options for compilation or linking that the
71the `configure' script does not know about. Run `./configure --help' 77`configure' script does not know about. Run `./configure --help' for
72for details on some of the pertinent environment variables. 78details on some of the pertinent environment variables.
73 79
74 You can give `configure' initial values for configuration parameters 80 You can give `configure' initial values for configuration parameters
75by setting variables in the command line or in the environment. Here 81by setting variables in the command line or in the environment. Here
76is an example: 82is an example:
77 83
78 ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix 84 ./configure CC=c99 CFLAGS=-g LIBS=-lposix
79 85
80 *Note Defining Variables::, for more details. 86 *Note Defining Variables::, for more details.
81 87
82Compiling For Multiple Architectures 88Compiling For Multiple Architectures
83==================================== 89====================================
84 90
85 You can compile the package for more than one kind of computer at the 91You can compile the package for more than one kind of computer at the
86same time, by placing the object files for each architecture in their 92same time, by placing the object files for each architecture in their
87own directory. To do this, you must use a version of `make' that 93own directory. To do this, you can use GNU `make'. `cd' to the
88supports the `VPATH' variable, such as GNU `make'. `cd' to the
89directory where you want the object files and executables to go and run 94directory where you want the object files and executables to go and run
90the `configure' script. `configure' automatically checks for the 95the `configure' script. `configure' automatically checks for the
91source code in the directory that `configure' is in and in `..'. 96source code in the directory that `configure' is in and in `..'.
92 97
93 If you have to use a `make' that does not support the `VPATH' 98 With a non-GNU `make', it is safer to compile the package for one
94variable, you have to compile the package for one architecture at a 99architecture at a time in the source code directory. After you have
95time in the source code directory. After you have installed the 100installed the package for one architecture, use `make distclean' before
96package for one architecture, use `make distclean' before reconfiguring 101reconfiguring for another architecture.
97for another architecture.
98 102
99Installation Names 103Installation Names
100================== 104==================
101 105
102 By default, `make install' will install the package's files in 106By default, `make install' installs the package's commands under
103`/usr/local/bin', `/usr/local/man', etc. You can specify an 107`/usr/local/bin', include files under `/usr/local/include', etc. You
104installation prefix other than `/usr/local' by giving `configure' the 108can specify an installation prefix other than `/usr/local' by giving
105option `--prefix=PATH'. 109`configure' the option `--prefix=PREFIX'.
106 110
107 You can specify separate installation prefixes for 111 You can specify separate installation prefixes for
108architecture-specific files and architecture-independent files. If you 112architecture-specific files and architecture-independent files. If you
109give `configure' the option `--exec-prefix=PATH', the package will use 113pass the option `--exec-prefix=PREFIX' to `configure', the package uses
110PATH as the prefix for installing programs and libraries. 114PREFIX as the prefix for installing programs and libraries.
111Documentation and other data files will still use the regular prefix. 115Documentation and other data files still use the regular prefix.
112 116
113 In addition, if you use an unusual directory layout you can give 117 In addition, if you use an unusual directory layout you can give
114options like `--bindir=PATH' to specify different values for particular 118options like `--bindir=DIR' to specify different values for particular
115kinds of files. Run `configure --help' for a list of the directories 119kinds of files. Run `configure --help' for a list of the directories
116you can set and what kinds of files go in them. 120you can set and what kinds of files go in them.
117 121
@@ -122,7 +126,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
122Optional Features 126Optional Features
123================= 127=================
124 128
125 Some packages pay attention to `--enable-FEATURE' options to 129Some packages pay attention to `--enable-FEATURE' options to
126`configure', where FEATURE indicates an optional part of the package. 130`configure', where FEATURE indicates an optional part of the package.
127They may also pay attention to `--with-PACKAGE' options, where PACKAGE 131They may also pay attention to `--with-PACKAGE' options, where PACKAGE
128is something like `gnu-as' or `x' (for the X Window System). The 132is something like `gnu-as' or `x' (for the X Window System). The
@@ -137,11 +141,11 @@ you can use the `configure' options `--x-includes=DIR' and
137Specifying the System Type 141Specifying the System Type
138========================== 142==========================
139 143
140 There may be some features `configure' cannot figure out 144There may be some features `configure' cannot figure out automatically,
141automatically, but needs to determine by the type of machine the package 145but needs to determine by the type of machine the package will run on.
142will run on. Usually, assuming the package is built to be run on the 146Usually, assuming the package is built to be run on the _same_
143_same_ architectures, `configure' can figure that out, but if it prints 147architectures, `configure' can figure that out, but if it prints a
144a message saying it cannot guess the machine type, give it the 148message saying it cannot guess the machine type, give it the
145`--build=TYPE' option. TYPE can either be a short name for the system 149`--build=TYPE' option. TYPE can either be a short name for the system
146type, such as `sun4', or a canonical name which has the form: 150type, such as `sun4', or a canonical name which has the form:
147 151
@@ -156,7 +160,7 @@ where SYSTEM can have one of these forms:
156need to know the machine type. 160need to know the machine type.
157 161
158 If you are _building_ compiler tools for cross-compiling, you should 162 If you are _building_ compiler tools for cross-compiling, you should
159use the `--target=TYPE' option to select the type of system they will 163use the option `--target=TYPE' to select the type of system they will
160produce code for. 164produce code for.
161 165
162 If you want to _use_ a cross compiler, that generates code for a 166 If you want to _use_ a cross compiler, that generates code for a
@@ -167,9 +171,9 @@ eventually be run) with `--host=TYPE'.
167Sharing Defaults 171Sharing Defaults
168================ 172================
169 173
170 If you want to set default values for `configure' scripts to share, 174If you want to set default values for `configure' scripts to share, you
171you can create a site shell script called `config.site' that gives 175can create a site shell script called `config.site' that gives default
172default values for variables like `CC', `cache_file', and `prefix'. 176values for variables like `CC', `cache_file', and `prefix'.
173`configure' looks for `PREFIX/share/config.site' if it exists, then 177`configure' looks for `PREFIX/share/config.site' if it exists, then
174`PREFIX/etc/config.site' if it exists. Or, you can set the 178`PREFIX/etc/config.site' if it exists. Or, you can set the
175`CONFIG_SITE' environment variable to the location of the site script. 179`CONFIG_SITE' environment variable to the location of the site script.
@@ -178,7 +182,7 @@ A warning: not all `configure' scripts look for a site script.
178Defining Variables 182Defining Variables
179================== 183==================
180 184
181 Variables not defined in a site shell script can be set in the 185Variables not defined in a site shell script can be set in the
182environment passed to `configure'. However, some packages may run 186environment passed to `configure'. However, some packages may run
183configure again during the build, and the customized values of these 187configure again during the build, and the customized values of these
184variables may be lost. In order to avoid this problem, you should set 188variables may be lost. In order to avoid this problem, you should set
@@ -186,14 +190,18 @@ them in the `configure' command line, using `VAR=value'. For example:
186 190
187 ./configure CC=/usr/local2/bin/gcc 191 ./configure CC=/usr/local2/bin/gcc
188 192
189will cause the specified gcc to be used as the C compiler (unless it is 193causes the specified `gcc' to be used as the C compiler (unless it is
190overridden in the site shell script). 194overridden in the site shell script).
191 195
196Unfortunately, this technique does not work for `CONFIG_SHELL' due to
197an Autoconf bug. Until the bug is fixed you can use this workaround:
198
199 CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
200
192`configure' Invocation 201`configure' Invocation
193====================== 202======================
194 203
195 `configure' recognizes the following options to control how it 204`configure' recognizes the following options to control how it operates.
196operates.
197 205
198`--help' 206`--help'
199`-h' 207`-h'