2
2
*************************
4
4
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
2006, 2007 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.
73
73
Compilers and Options
74
74
=====================
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.
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.
80
80
You can give `configure' initial values for configuration parameters
81
81
by setting variables in the command line or in the environment. Here
88
88
Compiling For Multiple Architectures
89
89
====================================
91
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
92
92
same time, by placing the object files for each architecture in their
93
93
own directory. To do this, you can use GNU `make'. `cd' to the
94
94
directory where you want the object files and executables to go and run
100
100
installed the package for one architecture, use `make distclean' before
101
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.
103
117
Installation Names
104
118
==================
106
By default, `make install' installs the package's commands under
120
By default, `make install' installs the package's commands under
107
121
`/usr/local/bin', include files under `/usr/local/include', etc. You
108
122
can specify an installation prefix other than `/usr/local' by giving
109
123
`configure' the option `--prefix=PREFIX'.
126
140
Optional Features
127
141
=================
129
Some packages pay attention to `--enable-FEATURE' options to
143
Some packages pay attention to `--enable-FEATURE' options to
130
144
`configure', where FEATURE indicates an optional part of the package.
131
145
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
132
146
is something like `gnu-as' or `x' (for the X Window System). The
138
152
you can use the `configure' options `--x-includes=DIR' and
139
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
141
187
Specifying the System Type
142
188
==========================
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
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
149
195
`--build=TYPE' option. TYPE can either be a short name for the system
150
196
type, such as `sun4', or a canonical name which has the form:
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'.
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'.
177
224
`configure' looks for `PREFIX/share/config.site' if it exists, then
178
225
`PREFIX/etc/config.site' if it exists. Or, you can set the
179
226
`CONFIG_SITE' environment variable to the location of the site script.
182
229
Defining Variables
183
230
==================
185
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
186
233
environment passed to `configure'. However, some packages may run
187
234
configure again during the build, and the customized values of these
188
235
variables may be lost. In order to avoid this problem, you should set
201
248
`configure' Invocation
202
249
======================
204
`configure' recognizes the following options to control how it operates.
251
`configure' recognizes the following options to control how it
208
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.
232
287
Look for the package's source code in directory DIR. Usually
233
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
235
300
`configure' also accepts some other, not widely useful, options. Run
236
301
`configure --help' for more details.