INSTALL revision 23a8d56d
123a8d56dSmrgInstallation Instructions
223a8d56dSmrg*************************
323a8d56dSmrg
423a8d56dSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
523a8d56dSmrg2006, 2007, 2008 Free Software Foundation, Inc.
623a8d56dSmrg
723a8d56dSmrg   This file is free documentation; the Free Software Foundation gives
823a8d56dSmrgunlimited permission to copy, distribute and modify it.
923a8d56dSmrg
1023a8d56dSmrgBasic Installation
1123a8d56dSmrg==================
1223a8d56dSmrg
1323a8d56dSmrg   Briefly, the shell commands `./configure; make; make install' should
1423a8d56dSmrgconfigure, build, and install this package.  The following
1523a8d56dSmrgmore-detailed instructions are generic; see the `README' file for
1623a8d56dSmrginstructions specific to this package.
1723a8d56dSmrg
1823a8d56dSmrg   The `configure' shell script attempts to guess correct values for
1923a8d56dSmrgvarious system-dependent variables used during compilation.  It uses
2023a8d56dSmrgthose values to create a `Makefile' in each directory of the package.
2123a8d56dSmrgIt may also create one or more `.h' files containing system-dependent
2223a8d56dSmrgdefinitions.  Finally, it creates a shell script `config.status' that
2323a8d56dSmrgyou can run in the future to recreate the current configuration, and a
2423a8d56dSmrgfile `config.log' containing compiler output (useful mainly for
2523a8d56dSmrgdebugging `configure').
2623a8d56dSmrg
2723a8d56dSmrg   It can also use an optional file (typically called `config.cache'
2823a8d56dSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
2923a8d56dSmrgthe results of its tests to speed up reconfiguring.  Caching is
3023a8d56dSmrgdisabled by default to prevent problems with accidental use of stale
3123a8d56dSmrgcache files.
3223a8d56dSmrg
3323a8d56dSmrg   If you need to do unusual things to compile the package, please try
3423a8d56dSmrgto figure out how `configure' could check whether to do them, and mail
3523a8d56dSmrgdiffs or instructions to the address given in the `README' so they can
3623a8d56dSmrgbe considered for the next release.  If you are using the cache, and at
3723a8d56dSmrgsome point `config.cache' contains results you don't want to keep, you
3823a8d56dSmrgmay remove or edit it.
3923a8d56dSmrg
4023a8d56dSmrg   The file `configure.ac' (or `configure.in') is used to create
4123a8d56dSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
4223a8d56dSmrgyou want to change it or regenerate `configure' using a newer version
4323a8d56dSmrgof `autoconf'.
4423a8d56dSmrg
4523a8d56dSmrgThe simplest way to compile this package is:
4623a8d56dSmrg
4723a8d56dSmrg  1. `cd' to the directory containing the package's source code and type
4823a8d56dSmrg     `./configure' to configure the package for your system.
4923a8d56dSmrg
5023a8d56dSmrg     Running `configure' might take a while.  While running, it prints
5123a8d56dSmrg     some messages telling which features it is checking for.
5223a8d56dSmrg
5323a8d56dSmrg  2. Type `make' to compile the package.
5423a8d56dSmrg
5523a8d56dSmrg  3. Optionally, type `make check' to run any self-tests that come with
5623a8d56dSmrg     the package.
5723a8d56dSmrg
5823a8d56dSmrg  4. Type `make install' to install the programs and any data files and
5923a8d56dSmrg     documentation.
6023a8d56dSmrg
6123a8d56dSmrg  5. You can remove the program binaries and object files from the
6223a8d56dSmrg     source code directory by typing `make clean'.  To also remove the
6323a8d56dSmrg     files that `configure' created (so you can compile the package for
6423a8d56dSmrg     a different kind of computer), type `make distclean'.  There is
6523a8d56dSmrg     also a `make maintainer-clean' target, but that is intended mainly
6623a8d56dSmrg     for the package's developers.  If you use it, you may have to get
6723a8d56dSmrg     all sorts of other programs in order to regenerate files that came
6823a8d56dSmrg     with the distribution.
6923a8d56dSmrg
7023a8d56dSmrg  6. Often, you can also type `make uninstall' to remove the installed
7123a8d56dSmrg     files again.
7223a8d56dSmrg
7323a8d56dSmrgCompilers and Options
7423a8d56dSmrg=====================
7523a8d56dSmrg
7623a8d56dSmrg   Some systems require unusual options for compilation or linking that
7723a8d56dSmrgthe `configure' script does not know about.  Run `./configure --help'
7823a8d56dSmrgfor details on some of the pertinent environment variables.
7923a8d56dSmrg
8023a8d56dSmrg   You can give `configure' initial values for configuration parameters
8123a8d56dSmrgby setting variables in the command line or in the environment.  Here
8223a8d56dSmrgis an example:
8323a8d56dSmrg
8423a8d56dSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
8523a8d56dSmrg
8623a8d56dSmrg   *Note Defining Variables::, for more details.
8723a8d56dSmrg
8823a8d56dSmrgCompiling For Multiple Architectures
8923a8d56dSmrg====================================
9023a8d56dSmrg
9123a8d56dSmrg   You can compile the package for more than one kind of computer at the
9223a8d56dSmrgsame time, by placing the object files for each architecture in their
9323a8d56dSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
9423a8d56dSmrgdirectory where you want the object files and executables to go and run
9523a8d56dSmrgthe `configure' script.  `configure' automatically checks for the
9623a8d56dSmrgsource code in the directory that `configure' is in and in `..'.
9723a8d56dSmrg
9823a8d56dSmrg   With a non-GNU `make', it is safer to compile the package for one
9923a8d56dSmrgarchitecture at a time in the source code directory.  After you have
10023a8d56dSmrginstalled the package for one architecture, use `make distclean' before
10123a8d56dSmrgreconfiguring for another architecture.
10223a8d56dSmrg
10323a8d56dSmrg   On MacOS X 10.5 and later systems, you can create libraries and
10423a8d56dSmrgexecutables that work on multiple system types--known as "fat" or
10523a8d56dSmrg"universal" binaries--by specifying multiple `-arch' options to the
10623a8d56dSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
10723a8d56dSmrgthis:
10823a8d56dSmrg
10923a8d56dSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
11023a8d56dSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
11123a8d56dSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
11223a8d56dSmrg
11323a8d56dSmrg   This is not guaranteed to produce working output in all cases, you
11423a8d56dSmrgmay have to build one architecture at a time and combine the results
11523a8d56dSmrgusing the `lipo' tool if you have problems.
11623a8d56dSmrg
11723a8d56dSmrgInstallation Names
11823a8d56dSmrg==================
11923a8d56dSmrg
12023a8d56dSmrg   By default, `make install' installs the package's commands under
12123a8d56dSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
12223a8d56dSmrgcan specify an installation prefix other than `/usr/local' by giving
12323a8d56dSmrg`configure' the option `--prefix=PREFIX'.
12423a8d56dSmrg
12523a8d56dSmrg   You can specify separate installation prefixes for
12623a8d56dSmrgarchitecture-specific files and architecture-independent files.  If you
12723a8d56dSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
12823a8d56dSmrgPREFIX as the prefix for installing programs and libraries.
12923a8d56dSmrgDocumentation and other data files still use the regular prefix.
13023a8d56dSmrg
13123a8d56dSmrg   In addition, if you use an unusual directory layout you can give
13223a8d56dSmrgoptions like `--bindir=DIR' to specify different values for particular
13323a8d56dSmrgkinds of files.  Run `configure --help' for a list of the directories
13423a8d56dSmrgyou can set and what kinds of files go in them.
13523a8d56dSmrg
13623a8d56dSmrg   If the package supports it, you can cause programs to be installed
13723a8d56dSmrgwith an extra prefix or suffix on their names by giving `configure' the
13823a8d56dSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
13923a8d56dSmrg
14023a8d56dSmrgOptional Features
14123a8d56dSmrg=================
14223a8d56dSmrg
14323a8d56dSmrg   Some packages pay attention to `--enable-FEATURE' options to
14423a8d56dSmrg`configure', where FEATURE indicates an optional part of the package.
14523a8d56dSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
14623a8d56dSmrgis something like `gnu-as' or `x' (for the X Window System).  The
14723a8d56dSmrg`README' should mention any `--enable-' and `--with-' options that the
14823a8d56dSmrgpackage recognizes.
14923a8d56dSmrg
15023a8d56dSmrg   For packages that use the X Window System, `configure' can usually
15123a8d56dSmrgfind the X include and library files automatically, but if it doesn't,
15223a8d56dSmrgyou can use the `configure' options `--x-includes=DIR' and
15323a8d56dSmrg`--x-libraries=DIR' to specify their locations.
15423a8d56dSmrg
15523a8d56dSmrgParticular systems
15623a8d56dSmrg==================
15723a8d56dSmrg
15823a8d56dSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
15923a8d56dSmrgCC is not installed, it is recommended to use the following options in
16023a8d56dSmrgorder to use an ANSI C compiler:
16123a8d56dSmrg
16223a8d56dSmrg     ./configure CC="cc -Ae"
16323a8d56dSmrg
16423a8d56dSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
16523a8d56dSmrg
16623a8d56dSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
16723a8d56dSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
16823a8d56dSmrga workaround.  If GNU CC is not installed, it is therefore recommended
16923a8d56dSmrgto try
17023a8d56dSmrg
17123a8d56dSmrg     ./configure CC="cc"
17223a8d56dSmrg
17323a8d56dSmrgand if that doesn't work, try
17423a8d56dSmrg
17523a8d56dSmrg     ./configure CC="cc -nodtk"
17623a8d56dSmrg
17723a8d56dSmrgSpecifying the System Type
17823a8d56dSmrg==========================
17923a8d56dSmrg
18023a8d56dSmrg   There may be some features `configure' cannot figure out
18123a8d56dSmrgautomatically, but needs to determine by the type of machine the package
18223a8d56dSmrgwill run on.  Usually, assuming the package is built to be run on the
18323a8d56dSmrg_same_ architectures, `configure' can figure that out, but if it prints
18423a8d56dSmrga message saying it cannot guess the machine type, give it the
18523a8d56dSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
18623a8d56dSmrgtype, such as `sun4', or a canonical name which has the form:
18723a8d56dSmrg
18823a8d56dSmrg     CPU-COMPANY-SYSTEM
18923a8d56dSmrg
19023a8d56dSmrgwhere SYSTEM can have one of these forms:
19123a8d56dSmrg
19223a8d56dSmrg     OS KERNEL-OS
19323a8d56dSmrg
19423a8d56dSmrg   See the file `config.sub' for the possible values of each field.  If
19523a8d56dSmrg`config.sub' isn't included in this package, then this package doesn't
19623a8d56dSmrgneed to know the machine type.
19723a8d56dSmrg
19823a8d56dSmrg   If you are _building_ compiler tools for cross-compiling, you should
19923a8d56dSmrguse the option `--target=TYPE' to select the type of system they will
20023a8d56dSmrgproduce code for.
20123a8d56dSmrg
20223a8d56dSmrg   If you want to _use_ a cross compiler, that generates code for a
20323a8d56dSmrgplatform different from the build platform, you should specify the
20423a8d56dSmrg"host" platform (i.e., that on which the generated programs will
20523a8d56dSmrgeventually be run) with `--host=TYPE'.
20623a8d56dSmrg
20723a8d56dSmrgSharing Defaults
20823a8d56dSmrg================
20923a8d56dSmrg
21023a8d56dSmrg   If you want to set default values for `configure' scripts to share,
21123a8d56dSmrgyou can create a site shell script called `config.site' that gives
21223a8d56dSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
21323a8d56dSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
21423a8d56dSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
21523a8d56dSmrg`CONFIG_SITE' environment variable to the location of the site script.
21623a8d56dSmrgA warning: not all `configure' scripts look for a site script.
21723a8d56dSmrg
21823a8d56dSmrgDefining Variables
21923a8d56dSmrg==================
22023a8d56dSmrg
22123a8d56dSmrg   Variables not defined in a site shell script can be set in the
22223a8d56dSmrgenvironment passed to `configure'.  However, some packages may run
22323a8d56dSmrgconfigure again during the build, and the customized values of these
22423a8d56dSmrgvariables may be lost.  In order to avoid this problem, you should set
22523a8d56dSmrgthem in the `configure' command line, using `VAR=value'.  For example:
22623a8d56dSmrg
22723a8d56dSmrg     ./configure CC=/usr/local2/bin/gcc
22823a8d56dSmrg
22923a8d56dSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
23023a8d56dSmrgoverridden in the site shell script).
23123a8d56dSmrg
23223a8d56dSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
23323a8d56dSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
23423a8d56dSmrg
23523a8d56dSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
23623a8d56dSmrg
23723a8d56dSmrg`configure' Invocation
23823a8d56dSmrg======================
23923a8d56dSmrg
24023a8d56dSmrg   `configure' recognizes the following options to control how it
24123a8d56dSmrgoperates.
24223a8d56dSmrg
24323a8d56dSmrg`--help'
24423a8d56dSmrg`-h'
24523a8d56dSmrg     Print a summary of all of the options to `configure', and exit.
24623a8d56dSmrg
24723a8d56dSmrg`--help=short'
24823a8d56dSmrg`--help=recursive'
24923a8d56dSmrg     Print a summary of the options unique to this package's
25023a8d56dSmrg     `configure', and exit.  The `short' variant lists options used
25123a8d56dSmrg     only in the top level, while the `recursive' variant lists options
25223a8d56dSmrg     also present in any nested packages.
25323a8d56dSmrg
25423a8d56dSmrg`--version'
25523a8d56dSmrg`-V'
25623a8d56dSmrg     Print the version of Autoconf used to generate the `configure'
25723a8d56dSmrg     script, and exit.
25823a8d56dSmrg
25923a8d56dSmrg`--cache-file=FILE'
26023a8d56dSmrg     Enable the cache: use and save the results of the tests in FILE,
26123a8d56dSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
26223a8d56dSmrg     disable caching.
26323a8d56dSmrg
26423a8d56dSmrg`--config-cache'
26523a8d56dSmrg`-C'
26623a8d56dSmrg     Alias for `--cache-file=config.cache'.
26723a8d56dSmrg
26823a8d56dSmrg`--quiet'
26923a8d56dSmrg`--silent'
27023a8d56dSmrg`-q'
27123a8d56dSmrg     Do not print messages saying which checks are being made.  To
27223a8d56dSmrg     suppress all normal output, redirect it to `/dev/null' (any error
27323a8d56dSmrg     messages will still be shown).
27423a8d56dSmrg
27523a8d56dSmrg`--srcdir=DIR'
27623a8d56dSmrg     Look for the package's source code in directory DIR.  Usually
27723a8d56dSmrg     `configure' can determine that directory automatically.
27823a8d56dSmrg
27923a8d56dSmrg`--prefix=DIR'
28023a8d56dSmrg     Use DIR as the installation prefix.  *Note Installation Names::
28123a8d56dSmrg     for more details, including other options available for fine-tuning
28223a8d56dSmrg     the installation locations.
28323a8d56dSmrg
28423a8d56dSmrg`--no-create'
28523a8d56dSmrg`-n'
28623a8d56dSmrg     Run the configure checks, but stop before creating any output
28723a8d56dSmrg     files.
28823a8d56dSmrg
28923a8d56dSmrg`configure' also accepts some other, not widely useful, options.  Run
29023a8d56dSmrg`configure --help' for more details.
29123a8d56dSmrg
292