2
2
*************************
4
4
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
5
2006, 2007 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
77
the `configure' script does not know about. Run `./configure --help'
78
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.
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.
117
103
Installation Names
118
104
==================
120
By default, `make install' installs the package's commands under
106
By default, `make install' installs the package's commands under
121
107
`/usr/local/bin', include files under `/usr/local/include', etc. You
122
108
can specify an installation prefix other than `/usr/local' by giving
123
109
`configure' the option `--prefix=PREFIX'.
140
126
Optional Features
141
127
=================
143
Some packages pay attention to `--enable-FEATURE' options to
129
Some packages pay attention to `--enable-FEATURE' options to
144
130
`configure', where FEATURE indicates an optional part of the package.
145
131
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
146
132
is something like `gnu-as' or `x' (for the X Window System). The
152
138
you can use the `configure' options `--x-includes=DIR' and
153
139
`--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
187
141
Specifying the System Type
188
142
==========================
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
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
195
149
`--build=TYPE' option. TYPE can either be a short name for the system
196
150
type, such as `sun4', or a canonical name which has the form:
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
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'.
224
177
`configure' looks for `PREFIX/share/config.site' if it exists, then
225
178
`PREFIX/etc/config.site' if it exists. Or, you can set the
226
179
`CONFIG_SITE' environment variable to the location of the site script.
229
182
Defining Variables
230
183
==================
232
Variables not defined in a site shell script can be set in the
185
Variables not defined in a site shell script can be set in the
233
186
environment passed to `configure'. However, some packages may run
234
187
configure again during the build, and the customized values of these
235
188
variables may be lost. In order to avoid this problem, you should set
248
201
`configure' Invocation
249
202
======================
251
`configure' recognizes the following options to control how it
204
`configure' recognizes the following options to control how it operates.
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.
208
Print a summary of the options to `configure', and exit.
287
232
Look for the package's source code in directory DIR. Usually
288
233
`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
300
235
`configure' also accepts some other, not widely useful, options. Run
301
236
`configure --help' for more details.