INSTALL revision 48e69166
148e69166SmrgInstallation Instructions
248e69166Smrg*************************
348e69166Smrg
448e69166SmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
548e69166Smrg2006, 2007, 2008 Free Software Foundation, Inc.
648e69166Smrg
748e69166Smrg   This file is free documentation; the Free Software Foundation gives
848e69166Smrgunlimited permission to copy, distribute and modify it.
948e69166Smrg
1048e69166SmrgBasic Installation
1148e69166Smrg==================
1248e69166Smrg
1348e69166Smrg   Briefly, the shell commands `./configure; make; make install' should
1448e69166Smrgconfigure, build, and install this package.  The following
1548e69166Smrgmore-detailed instructions are generic; see the `README' file for
1648e69166Smrginstructions specific to this package.
1748e69166Smrg
1848e69166Smrg   The `configure' shell script attempts to guess correct values for
1948e69166Smrgvarious system-dependent variables used during compilation.  It uses
2048e69166Smrgthose values to create a `Makefile' in each directory of the package.
2148e69166SmrgIt may also create one or more `.h' files containing system-dependent
2248e69166Smrgdefinitions.  Finally, it creates a shell script `config.status' that
2348e69166Smrgyou can run in the future to recreate the current configuration, and a
2448e69166Smrgfile `config.log' containing compiler output (useful mainly for
2548e69166Smrgdebugging `configure').
2648e69166Smrg
2748e69166Smrg   It can also use an optional file (typically called `config.cache'
2848e69166Smrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
2948e69166Smrgthe results of its tests to speed up reconfiguring.  Caching is
3048e69166Smrgdisabled by default to prevent problems with accidental use of stale
3148e69166Smrgcache files.
3248e69166Smrg
3348e69166Smrg   If you need to do unusual things to compile the package, please try
3448e69166Smrgto figure out how `configure' could check whether to do them, and mail
3548e69166Smrgdiffs or instructions to the address given in the `README' so they can
3648e69166Smrgbe considered for the next release.  If you are using the cache, and at
3748e69166Smrgsome point `config.cache' contains results you don't want to keep, you
3848e69166Smrgmay remove or edit it.
3948e69166Smrg
4048e69166Smrg   The file `configure.ac' (or `configure.in') is used to create
4148e69166Smrg`configure' by a program called `autoconf'.  You need `configure.ac' if
4248e69166Smrgyou want to change it or regenerate `configure' using a newer version
4348e69166Smrgof `autoconf'.
4448e69166Smrg
4548e69166SmrgThe simplest way to compile this package is:
4648e69166Smrg
4748e69166Smrg  1. `cd' to the directory containing the package's source code and type
4848e69166Smrg     `./configure' to configure the package for your system.
4948e69166Smrg
5048e69166Smrg     Running `configure' might take a while.  While running, it prints
5148e69166Smrg     some messages telling which features it is checking for.
5248e69166Smrg
5348e69166Smrg  2. Type `make' to compile the package.
5448e69166Smrg
5548e69166Smrg  3. Optionally, type `make check' to run any self-tests that come with
5648e69166Smrg     the package.
5748e69166Smrg
5848e69166Smrg  4. Type `make install' to install the programs and any data files and
5948e69166Smrg     documentation.
6048e69166Smrg
6148e69166Smrg  5. You can remove the program binaries and object files from the
6248e69166Smrg     source code directory by typing `make clean'.  To also remove the
6348e69166Smrg     files that `configure' created (so you can compile the package for
6448e69166Smrg     a different kind of computer), type `make distclean'.  There is
6548e69166Smrg     also a `make maintainer-clean' target, but that is intended mainly
6648e69166Smrg     for the package's developers.  If you use it, you may have to get
6748e69166Smrg     all sorts of other programs in order to regenerate files that came
6848e69166Smrg     with the distribution.
6948e69166Smrg
7048e69166Smrg  6. Often, you can also type `make uninstall' to remove the installed
7148e69166Smrg     files again.
7248e69166Smrg
7348e69166SmrgCompilers and Options
7448e69166Smrg=====================
7548e69166Smrg
7648e69166Smrg   Some systems require unusual options for compilation or linking that
7748e69166Smrgthe `configure' script does not know about.  Run `./configure --help'
7848e69166Smrgfor details on some of the pertinent environment variables.
7948e69166Smrg
8048e69166Smrg   You can give `configure' initial values for configuration parameters
8148e69166Smrgby setting variables in the command line or in the environment.  Here
8248e69166Smrgis an example:
8348e69166Smrg
8448e69166Smrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
8548e69166Smrg
8648e69166Smrg   *Note Defining Variables::, for more details.
8748e69166Smrg
8848e69166SmrgCompiling For Multiple Architectures
8948e69166Smrg====================================
9048e69166Smrg
9148e69166Smrg   You can compile the package for more than one kind of computer at the
9248e69166Smrgsame time, by placing the object files for each architecture in their
9348e69166Smrgown directory.  To do this, you can use GNU `make'.  `cd' to the
9448e69166Smrgdirectory where you want the object files and executables to go and run
9548e69166Smrgthe `configure' script.  `configure' automatically checks for the
9648e69166Smrgsource code in the directory that `configure' is in and in `..'.
9748e69166Smrg
9848e69166Smrg   With a non-GNU `make', it is safer to compile the package for one
9948e69166Smrgarchitecture at a time in the source code directory.  After you have
10048e69166Smrginstalled the package for one architecture, use `make distclean' before
10148e69166Smrgreconfiguring for another architecture.
10248e69166Smrg
10348e69166Smrg   On MacOS X 10.5 and later systems, you can create libraries and
10448e69166Smrgexecutables that work on multiple system types--known as "fat" or
10548e69166Smrg"universal" binaries--by specifying multiple `-arch' options to the
10648e69166Smrgcompiler but only a single `-arch' option to the preprocessor.  Like
10748e69166Smrgthis:
10848e69166Smrg
10948e69166Smrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
11048e69166Smrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
11148e69166Smrg                 CPP="gcc -E" CXXCPP="g++ -E"
11248e69166Smrg
11348e69166Smrg   This is not guaranteed to produce working output in all cases, you
11448e69166Smrgmay have to build one architecture at a time and combine the results
11548e69166Smrgusing the `lipo' tool if you have problems.
11648e69166Smrg
11748e69166SmrgInstallation Names
11848e69166Smrg==================
11948e69166Smrg
12048e69166Smrg   By default, `make install' installs the package's commands under
12148e69166Smrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
12248e69166Smrgcan specify an installation prefix other than `/usr/local' by giving
12348e69166Smrg`configure' the option `--prefix=PREFIX'.
12448e69166Smrg
12548e69166Smrg   You can specify separate installation prefixes for
12648e69166Smrgarchitecture-specific files and architecture-independent files.  If you
12748e69166Smrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
12848e69166SmrgPREFIX as the prefix for installing programs and libraries.
12948e69166SmrgDocumentation and other data files still use the regular prefix.
13048e69166Smrg
13148e69166Smrg   In addition, if you use an unusual directory layout you can give
13248e69166Smrgoptions like `--bindir=DIR' to specify different values for particular
13348e69166Smrgkinds of files.  Run `configure --help' for a list of the directories
13448e69166Smrgyou can set and what kinds of files go in them.
13548e69166Smrg
13648e69166Smrg   If the package supports it, you can cause programs to be installed
13748e69166Smrgwith an extra prefix or suffix on their names by giving `configure' the
13848e69166Smrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
13948e69166Smrg
14048e69166SmrgOptional Features
14148e69166Smrg=================
14248e69166Smrg
14348e69166Smrg   Some packages pay attention to `--enable-FEATURE' options to
14448e69166Smrg`configure', where FEATURE indicates an optional part of the package.
14548e69166SmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
14648e69166Smrgis something like `gnu-as' or `x' (for the X Window System).  The
14748e69166Smrg`README' should mention any `--enable-' and `--with-' options that the
14848e69166Smrgpackage recognizes.
14948e69166Smrg
15048e69166Smrg   For packages that use the X Window System, `configure' can usually
15148e69166Smrgfind the X include and library files automatically, but if it doesn't,
15248e69166Smrgyou can use the `configure' options `--x-includes=DIR' and
15348e69166Smrg`--x-libraries=DIR' to specify their locations.
15448e69166Smrg
15548e69166SmrgParticular systems
15648e69166Smrg==================
15748e69166Smrg
15848e69166Smrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
15948e69166SmrgCC is not installed, it is recommended to use the following options in
16048e69166Smrgorder to use an ANSI C compiler:
16148e69166Smrg
16248e69166Smrg     ./configure CC="cc -Ae"
16348e69166Smrg
16448e69166Smrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
16548e69166Smrg
16648e69166Smrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
16748e69166Smrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
16848e69166Smrga workaround.  If GNU CC is not installed, it is therefore recommended
16948e69166Smrgto try
17048e69166Smrg
17148e69166Smrg     ./configure CC="cc"
17248e69166Smrg
17348e69166Smrgand if that doesn't work, try
17448e69166Smrg
17548e69166Smrg     ./configure CC="cc -nodtk"
17648e69166Smrg
17748e69166SmrgSpecifying the System Type
17848e69166Smrg==========================
17948e69166Smrg
18048e69166Smrg   There may be some features `configure' cannot figure out
18148e69166Smrgautomatically, but needs to determine by the type of machine the package
18248e69166Smrgwill run on.  Usually, assuming the package is built to be run on the
18348e69166Smrg_same_ architectures, `configure' can figure that out, but if it prints
18448e69166Smrga message saying it cannot guess the machine type, give it the
18548e69166Smrg`--build=TYPE' option.  TYPE can either be a short name for the system
18648e69166Smrgtype, such as `sun4', or a canonical name which has the form:
18748e69166Smrg
18848e69166Smrg     CPU-COMPANY-SYSTEM
18948e69166Smrg
19048e69166Smrgwhere SYSTEM can have one of these forms:
19148e69166Smrg
19248e69166Smrg     OS KERNEL-OS
19348e69166Smrg
19448e69166Smrg   See the file `config.sub' for the possible values of each field.  If
19548e69166Smrg`config.sub' isn't included in this package, then this package doesn't
19648e69166Smrgneed to know the machine type.
19748e69166Smrg
19848e69166Smrg   If you are _building_ compiler tools for cross-compiling, you should
19948e69166Smrguse the option `--target=TYPE' to select the type of system they will
20048e69166Smrgproduce code for.
20148e69166Smrg
20248e69166Smrg   If you want to _use_ a cross compiler, that generates code for a
20348e69166Smrgplatform different from the build platform, you should specify the
20448e69166Smrg"host" platform (i.e., that on which the generated programs will
20548e69166Smrgeventually be run) with `--host=TYPE'.
20648e69166Smrg
20748e69166SmrgSharing Defaults
20848e69166Smrg================
20948e69166Smrg
21048e69166Smrg   If you want to set default values for `configure' scripts to share,
21148e69166Smrgyou can create a site shell script called `config.site' that gives
21248e69166Smrgdefault values for variables like `CC', `cache_file', and `prefix'.
21348e69166Smrg`configure' looks for `PREFIX/share/config.site' if it exists, then
21448e69166Smrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
21548e69166Smrg`CONFIG_SITE' environment variable to the location of the site script.
21648e69166SmrgA warning: not all `configure' scripts look for a site script.
21748e69166Smrg
21848e69166SmrgDefining Variables
21948e69166Smrg==================
22048e69166Smrg
22148e69166Smrg   Variables not defined in a site shell script can be set in the
22248e69166Smrgenvironment passed to `configure'.  However, some packages may run
22348e69166Smrgconfigure again during the build, and the customized values of these
22448e69166Smrgvariables may be lost.  In order to avoid this problem, you should set
22548e69166Smrgthem in the `configure' command line, using `VAR=value'.  For example:
22648e69166Smrg
22748e69166Smrg     ./configure CC=/usr/local2/bin/gcc
22848e69166Smrg
22948e69166Smrgcauses the specified `gcc' to be used as the C compiler (unless it is
23048e69166Smrgoverridden in the site shell script).
23148e69166Smrg
23248e69166SmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
23348e69166Smrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
23448e69166Smrg
23548e69166Smrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
23648e69166Smrg
23748e69166Smrg`configure' Invocation
23848e69166Smrg======================
23948e69166Smrg
24048e69166Smrg   `configure' recognizes the following options to control how it
24148e69166Smrgoperates.
24248e69166Smrg
24348e69166Smrg`--help'
24448e69166Smrg`-h'
24548e69166Smrg     Print a summary of all of the options to `configure', and exit.
24648e69166Smrg
24748e69166Smrg`--help=short'
24848e69166Smrg`--help=recursive'
24948e69166Smrg     Print a summary of the options unique to this package's
25048e69166Smrg     `configure', and exit.  The `short' variant lists options used
25148e69166Smrg     only in the top level, while the `recursive' variant lists options
25248e69166Smrg     also present in any nested packages.
25348e69166Smrg
25448e69166Smrg`--version'
25548e69166Smrg`-V'
25648e69166Smrg     Print the version of Autoconf used to generate the `configure'
25748e69166Smrg     script, and exit.
25848e69166Smrg
25948e69166Smrg`--cache-file=FILE'
26048e69166Smrg     Enable the cache: use and save the results of the tests in FILE,
26148e69166Smrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
26248e69166Smrg     disable caching.
26348e69166Smrg
26448e69166Smrg`--config-cache'
26548e69166Smrg`-C'
26648e69166Smrg     Alias for `--cache-file=config.cache'.
26748e69166Smrg
26848e69166Smrg`--quiet'
26948e69166Smrg`--silent'
27048e69166Smrg`-q'
27148e69166Smrg     Do not print messages saying which checks are being made.  To
27248e69166Smrg     suppress all normal output, redirect it to `/dev/null' (any error
27348e69166Smrg     messages will still be shown).
27448e69166Smrg
27548e69166Smrg`--srcdir=DIR'
27648e69166Smrg     Look for the package's source code in directory DIR.  Usually
27748e69166Smrg     `configure' can determine that directory automatically.
27848e69166Smrg
27948e69166Smrg`--prefix=DIR'
28048e69166Smrg     Use DIR as the installation prefix.  *Note Installation Names::
28148e69166Smrg     for more details, including other options available for fine-tuning
28248e69166Smrg     the installation locations.
28348e69166Smrg
28448e69166Smrg`--no-create'
28548e69166Smrg`-n'
28648e69166Smrg     Run the configure checks, but stop before creating any output
28748e69166Smrg     files.
28848e69166Smrg
28948e69166Smrg`configure' also accepts some other, not widely useful, options.  Run
29048e69166Smrg`configure --help' for more details.
29148e69166Smrg
292