2
2
*************************
4
4
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
2006 Free Software Foundation, Inc.
5
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
7
This file is free documentation; the Free Software Foundation gives
7
This file is free documentation; the Free Software Foundation gives
8
8
unlimited permission to copy, distribute and modify it.
13
Briefly, the shell commands `./configure; make; make install' should
13
Briefly, the shell commands `./configure; make; make install' should
14
14
configure, build, and install this package. The following
15
15
more-detailed instructions are generic; see the `README' file for
16
16
instructions specific to this package.
67
67
all sorts of other programs in order to regenerate files that came
68
68
with the distribution.
70
6. Often, you can also type `make uninstall' to remove the installed
70
73
Compilers and Options
71
74
=====================
73
Some systems require unusual options for compilation or linking that the
74
`configure' script does not know about. Run `./configure --help' for
75
details on some of the pertinent environment variables.
76
Some systems require unusual options for compilation or linking that
77
the `configure' script does not know about. Run `./configure --help'
78
for details on some of the pertinent environment variables.
77
80
You can give `configure' initial values for configuration parameters
78
81
by setting variables in the command line or in the environment. Here
85
88
Compiling For Multiple Architectures
86
89
====================================
88
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
89
92
same time, by placing the object files for each architecture in their
90
93
own directory. To do this, you can use GNU `make'. `cd' to the
91
94
directory where you want the object files and executables to go and run
97
100
installed the package for one architecture, use `make distclean' before
98
101
reconfiguring for another architecture.
103
On MacOS X 10.5 and later systems, you can create libraries and
104
executables that work on multiple system types--known as "fat" or
105
"universal" binaries--by specifying multiple `-arch' options to the
106
compiler but only a single `-arch' option to the preprocessor. Like
109
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
110
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
111
CPP="gcc -E" CXXCPP="g++ -E"
113
This is not guaranteed to produce working output in all cases, you
114
may have to build one architecture at a time and combine the results
115
using the `lipo' tool if you have problems.
100
117
Installation Names
101
118
==================
103
By default, `make install' installs the package's commands under
120
By default, `make install' installs the package's commands under
104
121
`/usr/local/bin', include files under `/usr/local/include', etc. You
105
122
can specify an installation prefix other than `/usr/local' by giving
106
123
`configure' the option `--prefix=PREFIX'.
123
140
Optional Features
124
141
=================
126
Some packages pay attention to `--enable-FEATURE' options to
143
Some packages pay attention to `--enable-FEATURE' options to
127
144
`configure', where FEATURE indicates an optional part of the package.
128
145
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
129
146
is something like `gnu-as' or `x' (for the X Window System). The
135
152
you can use the `configure' options `--x-includes=DIR' and
136
153
`--x-libraries=DIR' to specify their locations.
158
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
159
CC is not installed, it is recommended to use the following options in
160
order to use an ANSI C compiler:
162
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
164
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
166
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
167
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
168
a workaround. If GNU CC is not installed, it is therefore recommended
173
and if that doesn't work, try
175
./configure CC="cc -nodtk"
177
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
178
directory contains several dysfunctional programs; working variants of
179
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
180
in your `PATH', put it _after_ `/usr/bin'.
182
On Haiku, software installed for all users goes in `/boot/common',
183
not `/usr/local'. It is recommended to use the following options:
185
./configure --prefix=/boot/common
138
187
Specifying the System Type
139
188
==========================
141
There may be some features `configure' cannot figure out automatically,
142
but needs to determine by the type of machine the package will run on.
143
Usually, assuming the package is built to be run on the _same_
144
architectures, `configure' can figure that out, but if it prints a
145
message saying it cannot guess the machine type, give it the
190
There may be some features `configure' cannot figure out
191
automatically, but needs to determine by the type of machine the package
192
will run on. Usually, assuming the package is built to be run on the
193
_same_ architectures, `configure' can figure that out, but if it prints
194
a message saying it cannot guess the machine type, give it the
146
195
`--build=TYPE' option. TYPE can either be a short name for the system
147
196
type, such as `sun4', or a canonical name which has the form:
171
If you want to set default values for `configure' scripts to share, you
172
can create a site shell script called `config.site' that gives default
173
values for variables like `CC', `cache_file', and `prefix'.
221
If you want to set default values for `configure' scripts to share,
222
you can create a site shell script called `config.site' that gives
223
default values for variables like `CC', `cache_file', and `prefix'.
174
224
`configure' looks for `PREFIX/share/config.site' if it exists, then
175
225
`PREFIX/etc/config.site' if it exists. Or, you can set the
176
226
`CONFIG_SITE' environment variable to the location of the site script.
179
229
Defining Variables
180
230
==================
182
Variables not defined in a site shell script can be set in the
232
Variables not defined in a site shell script can be set in the
183
233
environment passed to `configure'. However, some packages may run
184
234
configure again during the build, and the customized values of these
185
235
variables may be lost. In order to avoid this problem, you should set
198
248
`configure' Invocation
199
249
======================
201
`configure' recognizes the following options to control how it operates.
251
`configure' recognizes the following options to control how it
205
Print a summary of the options to `configure', and exit.
256
Print a summary of all of the options to `configure', and exit.
260
Print a summary of the options unique to this package's
261
`configure', and exit. The `short' variant lists options used
262
only in the top level, while the `recursive' variant lists options
263
also present in any nested packages.
229
287
Look for the package's source code in directory DIR. Usually
230
288
`configure' can determine that directory automatically.
291
Use DIR as the installation prefix. *Note Installation Names::
292
for more details, including other options available for fine-tuning
293
the installation locations.
297
Run the configure checks, but stop before creating any output
232
300
`configure' also accepts some other, not widely useful, options. Run
233
301
`configure --help' for more details.