1
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
4
This file is free documentation; the Free Software Foundation gives
1
Installation Instructions
2
*************************
4
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
2006, 2007 Free Software Foundation, Inc.
7
This file is free documentation; the Free Software Foundation gives
5
8
unlimited permission to copy, distribute and modify it.
10
These are generic installation instructions.
13
Briefly, the shell commands `./configure; make; make install' should
14
configure, build, and install this package. The following
15
more-detailed instructions are generic; see the `README' file for
16
instructions specific to this package.
12
18
The `configure' shell script attempts to guess correct values for
13
19
various system-dependent variables used during compilation. It uses
32
38
may remove or edit it.
34
40
The file `configure.ac' (or `configure.in') is used to create
35
`configure' by a program called `autoconf'. You only need
36
`configure.ac' if you want to change it or regenerate `configure' using
37
a newer version of `autoconf'.
41
`configure' by a program called `autoconf'. You need `configure.ac' if
42
you want to change it or regenerate `configure' using a newer version
39
45
The simplest way to compile this package is:
41
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
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
48
`./configure' to configure the package for your system.
47
Running `configure' takes awhile. While running, it prints some
48
messages telling which features it is checking for.
50
Running `configure' might take a while. While running, it prints
51
some messages telling which features it is checking for.
50
53
2. Type `make' to compile the package.
64
67
all sorts of other programs in order to regenerate files that came
65
68
with the distribution.
70
6. Often, you can also type `make uninstall' to remove the installed
67
73
Compilers and Options
68
74
=====================
70
Some systems require unusual options for compilation or linking that
71
the `configure' script does not know about. Run `./configure --help'
72
for details on some of the pertinent environment variables.
76
Some systems require unusual options for compilation or linking that the
77
`configure' script does not know about. Run `./configure --help' for
78
details on some of the pertinent environment variables.
74
80
You can give `configure' initial values for configuration parameters
75
81
by setting variables in the command line or in the environment. Here
78
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
84
./configure CC=c99 CFLAGS=-g LIBS=-lposix
80
86
*Note Defining Variables::, for more details.
82
88
Compiling For Multiple Architectures
83
89
====================================
85
You can compile the package for more than one kind of computer at the
91
You can compile the package for more than one kind of computer at the
86
92
same time, by placing the object files for each architecture in their
87
own directory. To do this, you must use a version of `make' that
88
supports the `VPATH' variable, such as GNU `make'. `cd' to the
93
own directory. To do this, you can use GNU `make'. `cd' to the
89
94
directory where you want the object files and executables to go and run
90
95
the `configure' script. `configure' automatically checks for the
91
96
source code in the directory that `configure' is in and in `..'.
93
If you have to use a `make' that does not support the `VPATH'
94
variable, you have to compile the package for one architecture at a
95
time in the source code directory. After you have installed the
96
package for one architecture, use `make distclean' before reconfiguring
97
for another architecture.
98
With a non-GNU `make', it is safer to compile the package for one
99
architecture at a time in the source code directory. After you have
100
installed the package for one architecture, use `make distclean' before
101
reconfiguring for another architecture.
99
103
Installation Names
100
104
==================
102
By default, `make install' will install the package's files in
103
`/usr/local/bin', `/usr/local/man', etc. You can specify an
104
installation prefix other than `/usr/local' by giving `configure' the
105
option `--prefix=PATH'.
106
By default, `make install' installs the package's commands under
107
`/usr/local/bin', include files under `/usr/local/include', etc. You
108
can specify an installation prefix other than `/usr/local' by giving
109
`configure' the option `--prefix=PREFIX'.
107
111
You can specify separate installation prefixes for
108
112
architecture-specific files and architecture-independent files. If you
109
give `configure' the option `--exec-prefix=PATH', the package will use
110
PATH as the prefix for installing programs and libraries.
111
Documentation and other data files will still use the regular prefix.
113
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
114
PREFIX as the prefix for installing programs and libraries.
115
Documentation and other data files still use the regular prefix.
113
117
In addition, if you use an unusual directory layout you can give
114
options like `--bindir=PATH' to specify different values for particular
118
options like `--bindir=DIR' to specify different values for particular
115
119
kinds of files. Run `configure --help' for a list of the directories
116
120
you can set and what kinds of files go in them.
137
141
Specifying the System Type
138
142
==========================
140
There may be some features `configure' cannot figure out
141
automatically, but needs to determine by the type of machine the package
142
will run on. Usually, assuming the package is built to be run on the
143
_same_ architectures, `configure' can figure that out, but if it prints
144
a message saying it cannot guess the machine type, give it the
144
There may be some features `configure' cannot figure out automatically,
145
but needs to determine by the type of machine the package will run on.
146
Usually, assuming the package is built to be run on the _same_
147
architectures, `configure' can figure that out, but if it prints a
148
message saying it cannot guess the machine type, give it the
145
149
`--build=TYPE' option. TYPE can either be a short name for the system
146
150
type, such as `sun4', or a canonical name which has the form:
170
If you want to set default values for `configure' scripts to share,
171
you can create a site shell script called `config.site' that gives
172
default values for variables like `CC', `cache_file', and `prefix'.
174
If you want to set default values for `configure' scripts to share, you
175
can create a site shell script called `config.site' that gives default
176
values for variables like `CC', `cache_file', and `prefix'.
173
177
`configure' looks for `PREFIX/share/config.site' if it exists, then
174
178
`PREFIX/etc/config.site' if it exists. Or, you can set the
175
179
`CONFIG_SITE' environment variable to the location of the site script.
187
191
./configure CC=/usr/local2/bin/gcc
189
will cause the specified gcc to be used as the C compiler (unless it is
193
causes the specified `gcc' to be used as the C compiler (unless it is
190
194
overridden in the site shell script).
196
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
197
an Autoconf bug. Until the bug is fixed you can use this workaround:
199
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
192
201
`configure' Invocation
193
202
======================
195
`configure' recognizes the following options to control how it
204
`configure' recognizes the following options to control how it operates.