INSTALL revision c41d98af
1c41d98afSmrgInstallation Instructions
2c41d98afSmrg*************************
3c41d98afSmrg
4c41d98afSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5c41d98afSmrg2006, 2007, 2008 Free Software Foundation, Inc.
6c41d98afSmrg
7c41d98afSmrg   This file is free documentation; the Free Software Foundation gives
8c41d98afSmrgunlimited permission to copy, distribute and modify it.
9c41d98afSmrg
10c41d98afSmrgBasic Installation
11c41d98afSmrg==================
12c41d98afSmrg
13c41d98afSmrg   Briefly, the shell commands `./configure; make; make install' should
14c41d98afSmrgconfigure, build, and install this package.  The following
15c41d98afSmrgmore-detailed instructions are generic; see the `README' file for
16c41d98afSmrginstructions specific to this package.
17c41d98afSmrg
18c41d98afSmrg   The `configure' shell script attempts to guess correct values for
19c41d98afSmrgvarious system-dependent variables used during compilation.  It uses
20c41d98afSmrgthose values to create a `Makefile' in each directory of the package.
21c41d98afSmrgIt may also create one or more `.h' files containing system-dependent
22c41d98afSmrgdefinitions.  Finally, it creates a shell script `config.status' that
23c41d98afSmrgyou can run in the future to recreate the current configuration, and a
24c41d98afSmrgfile `config.log' containing compiler output (useful mainly for
25c41d98afSmrgdebugging `configure').
26c41d98afSmrg
27c41d98afSmrg   It can also use an optional file (typically called `config.cache'
28c41d98afSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
29c41d98afSmrgthe results of its tests to speed up reconfiguring.  Caching is
30c41d98afSmrgdisabled by default to prevent problems with accidental use of stale
31c41d98afSmrgcache files.
32c41d98afSmrg
33c41d98afSmrg   If you need to do unusual things to compile the package, please try
34c41d98afSmrgto figure out how `configure' could check whether to do them, and mail
35c41d98afSmrgdiffs or instructions to the address given in the `README' so they can
36c41d98afSmrgbe considered for the next release.  If you are using the cache, and at
37c41d98afSmrgsome point `config.cache' contains results you don't want to keep, you
38c41d98afSmrgmay remove or edit it.
39c41d98afSmrg
40c41d98afSmrg   The file `configure.ac' (or `configure.in') is used to create
41c41d98afSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
42c41d98afSmrgyou want to change it or regenerate `configure' using a newer version
43c41d98afSmrgof `autoconf'.
44c41d98afSmrg
45c41d98afSmrgThe simplest way to compile this package is:
46c41d98afSmrg
47c41d98afSmrg  1. `cd' to the directory containing the package's source code and type
48c41d98afSmrg     `./configure' to configure the package for your system.
49c41d98afSmrg
50c41d98afSmrg     Running `configure' might take a while.  While running, it prints
51c41d98afSmrg     some messages telling which features it is checking for.
52c41d98afSmrg
53c41d98afSmrg  2. Type `make' to compile the package.
54c41d98afSmrg
55c41d98afSmrg  3. Optionally, type `make check' to run any self-tests that come with
56c41d98afSmrg     the package.
57c41d98afSmrg
58c41d98afSmrg  4. Type `make install' to install the programs and any data files and
59c41d98afSmrg     documentation.
60c41d98afSmrg
61c41d98afSmrg  5. You can remove the program binaries and object files from the
62c41d98afSmrg     source code directory by typing `make clean'.  To also remove the
63c41d98afSmrg     files that `configure' created (so you can compile the package for
64c41d98afSmrg     a different kind of computer), type `make distclean'.  There is
65c41d98afSmrg     also a `make maintainer-clean' target, but that is intended mainly
66c41d98afSmrg     for the package's developers.  If you use it, you may have to get
67c41d98afSmrg     all sorts of other programs in order to regenerate files that came
68c41d98afSmrg     with the distribution.
69c41d98afSmrg
70c41d98afSmrg  6. Often, you can also type `make uninstall' to remove the installed
71c41d98afSmrg     files again.
72c41d98afSmrg
73c41d98afSmrgCompilers and Options
74c41d98afSmrg=====================
75c41d98afSmrg
76c41d98afSmrg   Some systems require unusual options for compilation or linking that
77c41d98afSmrgthe `configure' script does not know about.  Run `./configure --help'
78c41d98afSmrgfor details on some of the pertinent environment variables.
79c41d98afSmrg
80c41d98afSmrg   You can give `configure' initial values for configuration parameters
81c41d98afSmrgby setting variables in the command line or in the environment.  Here
82c41d98afSmrgis an example:
83c41d98afSmrg
84c41d98afSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
85c41d98afSmrg
86c41d98afSmrg   *Note Defining Variables::, for more details.
87c41d98afSmrg
88c41d98afSmrgCompiling For Multiple Architectures
89c41d98afSmrg====================================
90c41d98afSmrg
91c41d98afSmrg   You can compile the package for more than one kind of computer at the
92c41d98afSmrgsame time, by placing the object files for each architecture in their
93c41d98afSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
94c41d98afSmrgdirectory where you want the object files and executables to go and run
95c41d98afSmrgthe `configure' script.  `configure' automatically checks for the
96c41d98afSmrgsource code in the directory that `configure' is in and in `..'.
97c41d98afSmrg
98c41d98afSmrg   With a non-GNU `make', it is safer to compile the package for one
99c41d98afSmrgarchitecture at a time in the source code directory.  After you have
100c41d98afSmrginstalled the package for one architecture, use `make distclean' before
101c41d98afSmrgreconfiguring for another architecture.
102c41d98afSmrg
103c41d98afSmrg   On MacOS X 10.5 and later systems, you can create libraries and
104c41d98afSmrgexecutables that work on multiple system types--known as "fat" or
105c41d98afSmrg"universal" binaries--by specifying multiple `-arch' options to the
106c41d98afSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
107c41d98afSmrgthis:
108c41d98afSmrg
109c41d98afSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
110c41d98afSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
111c41d98afSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
112c41d98afSmrg
113c41d98afSmrg   This is not guaranteed to produce working output in all cases, you
114c41d98afSmrgmay have to build one architecture at a time and combine the results
115c41d98afSmrgusing the `lipo' tool if you have problems.
116c41d98afSmrg
117c41d98afSmrgInstallation Names
118c41d98afSmrg==================
119c41d98afSmrg
120c41d98afSmrg   By default, `make install' installs the package's commands under
121c41d98afSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
122c41d98afSmrgcan specify an installation prefix other than `/usr/local' by giving
123c41d98afSmrg`configure' the option `--prefix=PREFIX'.
124c41d98afSmrg
125c41d98afSmrg   You can specify separate installation prefixes for
126c41d98afSmrgarchitecture-specific files and architecture-independent files.  If you
127c41d98afSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
128c41d98afSmrgPREFIX as the prefix for installing programs and libraries.
129c41d98afSmrgDocumentation and other data files still use the regular prefix.
130c41d98afSmrg
131c41d98afSmrg   In addition, if you use an unusual directory layout you can give
132c41d98afSmrgoptions like `--bindir=DIR' to specify different values for particular
133c41d98afSmrgkinds of files.  Run `configure --help' for a list of the directories
134c41d98afSmrgyou can set and what kinds of files go in them.
135c41d98afSmrg
136c41d98afSmrg   If the package supports it, you can cause programs to be installed
137c41d98afSmrgwith an extra prefix or suffix on their names by giving `configure' the
138c41d98afSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
139c41d98afSmrg
140c41d98afSmrgOptional Features
141c41d98afSmrg=================
142c41d98afSmrg
143c41d98afSmrg   Some packages pay attention to `--enable-FEATURE' options to
144c41d98afSmrg`configure', where FEATURE indicates an optional part of the package.
145c41d98afSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
146c41d98afSmrgis something like `gnu-as' or `x' (for the X Window System).  The
147c41d98afSmrg`README' should mention any `--enable-' and `--with-' options that the
148c41d98afSmrgpackage recognizes.
149c41d98afSmrg
150c41d98afSmrg   For packages that use the X Window System, `configure' can usually
151c41d98afSmrgfind the X include and library files automatically, but if it doesn't,
152c41d98afSmrgyou can use the `configure' options `--x-includes=DIR' and
153c41d98afSmrg`--x-libraries=DIR' to specify their locations.
154c41d98afSmrg
155c41d98afSmrgParticular systems
156c41d98afSmrg==================
157c41d98afSmrg
158c41d98afSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
159c41d98afSmrgCC is not installed, it is recommended to use the following options in
160c41d98afSmrgorder to use an ANSI C compiler:
161c41d98afSmrg
162c41d98afSmrg     ./configure CC="cc -Ae"
163c41d98afSmrg
164c41d98afSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
165c41d98afSmrg
166c41d98afSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
167c41d98afSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
168c41d98afSmrga workaround.  If GNU CC is not installed, it is therefore recommended
169c41d98afSmrgto try
170c41d98afSmrg
171c41d98afSmrg     ./configure CC="cc"
172c41d98afSmrg
173c41d98afSmrgand if that doesn't work, try
174c41d98afSmrg
175c41d98afSmrg     ./configure CC="cc -nodtk"
176c41d98afSmrg
177c41d98afSmrgSpecifying the System Type
178c41d98afSmrg==========================
179c41d98afSmrg
180c41d98afSmrg   There may be some features `configure' cannot figure out
181c41d98afSmrgautomatically, but needs to determine by the type of machine the package
182c41d98afSmrgwill run on.  Usually, assuming the package is built to be run on the
183c41d98afSmrg_same_ architectures, `configure' can figure that out, but if it prints
184c41d98afSmrga message saying it cannot guess the machine type, give it the
185c41d98afSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
186c41d98afSmrgtype, such as `sun4', or a canonical name which has the form:
187c41d98afSmrg
188c41d98afSmrg     CPU-COMPANY-SYSTEM
189c41d98afSmrg
190c41d98afSmrgwhere SYSTEM can have one of these forms:
191c41d98afSmrg
192c41d98afSmrg     OS KERNEL-OS
193c41d98afSmrg
194c41d98afSmrg   See the file `config.sub' for the possible values of each field.  If
195c41d98afSmrg`config.sub' isn't included in this package, then this package doesn't
196c41d98afSmrgneed to know the machine type.
197c41d98afSmrg
198c41d98afSmrg   If you are _building_ compiler tools for cross-compiling, you should
199c41d98afSmrguse the option `--target=TYPE' to select the type of system they will
200c41d98afSmrgproduce code for.
201c41d98afSmrg
202c41d98afSmrg   If you want to _use_ a cross compiler, that generates code for a
203c41d98afSmrgplatform different from the build platform, you should specify the
204c41d98afSmrg"host" platform (i.e., that on which the generated programs will
205c41d98afSmrgeventually be run) with `--host=TYPE'.
206c41d98afSmrg
207c41d98afSmrgSharing Defaults
208c41d98afSmrg================
209c41d98afSmrg
210c41d98afSmrg   If you want to set default values for `configure' scripts to share,
211c41d98afSmrgyou can create a site shell script called `config.site' that gives
212c41d98afSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
213c41d98afSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
214c41d98afSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
215c41d98afSmrg`CONFIG_SITE' environment variable to the location of the site script.
216c41d98afSmrgA warning: not all `configure' scripts look for a site script.
217c41d98afSmrg
218c41d98afSmrgDefining Variables
219c41d98afSmrg==================
220c41d98afSmrg
221c41d98afSmrg   Variables not defined in a site shell script can be set in the
222c41d98afSmrgenvironment passed to `configure'.  However, some packages may run
223c41d98afSmrgconfigure again during the build, and the customized values of these
224c41d98afSmrgvariables may be lost.  In order to avoid this problem, you should set
225c41d98afSmrgthem in the `configure' command line, using `VAR=value'.  For example:
226c41d98afSmrg
227c41d98afSmrg     ./configure CC=/usr/local2/bin/gcc
228c41d98afSmrg
229c41d98afSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
230c41d98afSmrgoverridden in the site shell script).
231c41d98afSmrg
232c41d98afSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
233c41d98afSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
234c41d98afSmrg
235c41d98afSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
236c41d98afSmrg
237c41d98afSmrg`configure' Invocation
238c41d98afSmrg======================
239c41d98afSmrg
240c41d98afSmrg   `configure' recognizes the following options to control how it
241c41d98afSmrgoperates.
242c41d98afSmrg
243c41d98afSmrg`--help'
244c41d98afSmrg`-h'
245c41d98afSmrg     Print a summary of all of the options to `configure', and exit.
246c41d98afSmrg
247c41d98afSmrg`--help=short'
248c41d98afSmrg`--help=recursive'
249c41d98afSmrg     Print a summary of the options unique to this package's
250c41d98afSmrg     `configure', and exit.  The `short' variant lists options used
251c41d98afSmrg     only in the top level, while the `recursive' variant lists options
252c41d98afSmrg     also present in any nested packages.
253c41d98afSmrg
254c41d98afSmrg`--version'
255c41d98afSmrg`-V'
256c41d98afSmrg     Print the version of Autoconf used to generate the `configure'
257c41d98afSmrg     script, and exit.
258c41d98afSmrg
259c41d98afSmrg`--cache-file=FILE'
260c41d98afSmrg     Enable the cache: use and save the results of the tests in FILE,
261c41d98afSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
262c41d98afSmrg     disable caching.
263c41d98afSmrg
264c41d98afSmrg`--config-cache'
265c41d98afSmrg`-C'
266c41d98afSmrg     Alias for `--cache-file=config.cache'.
267c41d98afSmrg
268c41d98afSmrg`--quiet'
269c41d98afSmrg`--silent'
270c41d98afSmrg`-q'
271c41d98afSmrg     Do not print messages saying which checks are being made.  To
272c41d98afSmrg     suppress all normal output, redirect it to `/dev/null' (any error
273c41d98afSmrg     messages will still be shown).
274c41d98afSmrg
275c41d98afSmrg`--srcdir=DIR'
276c41d98afSmrg     Look for the package's source code in directory DIR.  Usually
277c41d98afSmrg     `configure' can determine that directory automatically.
278c41d98afSmrg
279c41d98afSmrg`--prefix=DIR'
280c41d98afSmrg     Use DIR as the installation prefix.  *Note Installation Names::
281c41d98afSmrg     for more details, including other options available for fine-tuning
282c41d98afSmrg     the installation locations.
283c41d98afSmrg
284c41d98afSmrg`--no-create'
285c41d98afSmrg`-n'
286c41d98afSmrg     Run the configure checks, but stop before creating any output
287c41d98afSmrg     files.
288c41d98afSmrg
289c41d98afSmrg`configure' also accepts some other, not widely useful, options.  Run
290c41d98afSmrg`configure --help' for more details.
291c41d98afSmrg
292