INSTALL revision 5f5b92ff
15f5b92ffSmrgInstallation Instructions
25f5b92ffSmrg*************************
35f5b92ffSmrg
45f5b92ffSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
55f5b92ffSmrg2006, 2007, 2008 Free Software Foundation, Inc.
65f5b92ffSmrg
75f5b92ffSmrg   This file is free documentation; the Free Software Foundation gives
85f5b92ffSmrgunlimited permission to copy, distribute and modify it.
95f5b92ffSmrg
105f5b92ffSmrgBasic Installation
115f5b92ffSmrg==================
125f5b92ffSmrg
135f5b92ffSmrg   Briefly, the shell commands `./configure; make; make install' should
145f5b92ffSmrgconfigure, build, and install this package.  The following
155f5b92ffSmrgmore-detailed instructions are generic; see the `README' file for
165f5b92ffSmrginstructions specific to this package.
175f5b92ffSmrg
185f5b92ffSmrg   The `configure' shell script attempts to guess correct values for
195f5b92ffSmrgvarious system-dependent variables used during compilation.  It uses
205f5b92ffSmrgthose values to create a `Makefile' in each directory of the package.
215f5b92ffSmrgIt may also create one or more `.h' files containing system-dependent
225f5b92ffSmrgdefinitions.  Finally, it creates a shell script `config.status' that
235f5b92ffSmrgyou can run in the future to recreate the current configuration, and a
245f5b92ffSmrgfile `config.log' containing compiler output (useful mainly for
255f5b92ffSmrgdebugging `configure').
265f5b92ffSmrg
275f5b92ffSmrg   It can also use an optional file (typically called `config.cache'
285f5b92ffSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
295f5b92ffSmrgthe results of its tests to speed up reconfiguring.  Caching is
305f5b92ffSmrgdisabled by default to prevent problems with accidental use of stale
315f5b92ffSmrgcache files.
325f5b92ffSmrg
335f5b92ffSmrg   If you need to do unusual things to compile the package, please try
345f5b92ffSmrgto figure out how `configure' could check whether to do them, and mail
355f5b92ffSmrgdiffs or instructions to the address given in the `README' so they can
365f5b92ffSmrgbe considered for the next release.  If you are using the cache, and at
375f5b92ffSmrgsome point `config.cache' contains results you don't want to keep, you
385f5b92ffSmrgmay remove or edit it.
395f5b92ffSmrg
405f5b92ffSmrg   The file `configure.ac' (or `configure.in') is used to create
415f5b92ffSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
425f5b92ffSmrgyou want to change it or regenerate `configure' using a newer version
435f5b92ffSmrgof `autoconf'.
445f5b92ffSmrg
455f5b92ffSmrgThe simplest way to compile this package is:
465f5b92ffSmrg
475f5b92ffSmrg  1. `cd' to the directory containing the package's source code and type
485f5b92ffSmrg     `./configure' to configure the package for your system.
495f5b92ffSmrg
505f5b92ffSmrg     Running `configure' might take a while.  While running, it prints
515f5b92ffSmrg     some messages telling which features it is checking for.
525f5b92ffSmrg
535f5b92ffSmrg  2. Type `make' to compile the package.
545f5b92ffSmrg
555f5b92ffSmrg  3. Optionally, type `make check' to run any self-tests that come with
565f5b92ffSmrg     the package.
575f5b92ffSmrg
585f5b92ffSmrg  4. Type `make install' to install the programs and any data files and
595f5b92ffSmrg     documentation.
605f5b92ffSmrg
615f5b92ffSmrg  5. You can remove the program binaries and object files from the
625f5b92ffSmrg     source code directory by typing `make clean'.  To also remove the
635f5b92ffSmrg     files that `configure' created (so you can compile the package for
645f5b92ffSmrg     a different kind of computer), type `make distclean'.  There is
655f5b92ffSmrg     also a `make maintainer-clean' target, but that is intended mainly
665f5b92ffSmrg     for the package's developers.  If you use it, you may have to get
675f5b92ffSmrg     all sorts of other programs in order to regenerate files that came
685f5b92ffSmrg     with the distribution.
695f5b92ffSmrg
705f5b92ffSmrg  6. Often, you can also type `make uninstall' to remove the installed
715f5b92ffSmrg     files again.
725f5b92ffSmrg
735f5b92ffSmrgCompilers and Options
745f5b92ffSmrg=====================
755f5b92ffSmrg
765f5b92ffSmrg   Some systems require unusual options for compilation or linking that
775f5b92ffSmrgthe `configure' script does not know about.  Run `./configure --help'
785f5b92ffSmrgfor details on some of the pertinent environment variables.
795f5b92ffSmrg
805f5b92ffSmrg   You can give `configure' initial values for configuration parameters
815f5b92ffSmrgby setting variables in the command line or in the environment.  Here
825f5b92ffSmrgis an example:
835f5b92ffSmrg
845f5b92ffSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
855f5b92ffSmrg
865f5b92ffSmrg   *Note Defining Variables::, for more details.
875f5b92ffSmrg
885f5b92ffSmrgCompiling For Multiple Architectures
895f5b92ffSmrg====================================
905f5b92ffSmrg
915f5b92ffSmrg   You can compile the package for more than one kind of computer at the
925f5b92ffSmrgsame time, by placing the object files for each architecture in their
935f5b92ffSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
945f5b92ffSmrgdirectory where you want the object files and executables to go and run
955f5b92ffSmrgthe `configure' script.  `configure' automatically checks for the
965f5b92ffSmrgsource code in the directory that `configure' is in and in `..'.
975f5b92ffSmrg
985f5b92ffSmrg   With a non-GNU `make', it is safer to compile the package for one
995f5b92ffSmrgarchitecture at a time in the source code directory.  After you have
1005f5b92ffSmrginstalled the package for one architecture, use `make distclean' before
1015f5b92ffSmrgreconfiguring for another architecture.
1025f5b92ffSmrg
1035f5b92ffSmrg   On MacOS X 10.5 and later systems, you can create libraries and
1045f5b92ffSmrgexecutables that work on multiple system types--known as "fat" or
1055f5b92ffSmrg"universal" binaries--by specifying multiple `-arch' options to the
1065f5b92ffSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
1075f5b92ffSmrgthis:
1085f5b92ffSmrg
1095f5b92ffSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1105f5b92ffSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1115f5b92ffSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
1125f5b92ffSmrg
1135f5b92ffSmrg   This is not guaranteed to produce working output in all cases, you
1145f5b92ffSmrgmay have to build one architecture at a time and combine the results
1155f5b92ffSmrgusing the `lipo' tool if you have problems.
1165f5b92ffSmrg
1175f5b92ffSmrgInstallation Names
1185f5b92ffSmrg==================
1195f5b92ffSmrg
1205f5b92ffSmrg   By default, `make install' installs the package's commands under
1215f5b92ffSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
1225f5b92ffSmrgcan specify an installation prefix other than `/usr/local' by giving
1235f5b92ffSmrg`configure' the option `--prefix=PREFIX'.
1245f5b92ffSmrg
1255f5b92ffSmrg   You can specify separate installation prefixes for
1265f5b92ffSmrgarchitecture-specific files and architecture-independent files.  If you
1275f5b92ffSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
1285f5b92ffSmrgPREFIX as the prefix for installing programs and libraries.
1295f5b92ffSmrgDocumentation and other data files still use the regular prefix.
1305f5b92ffSmrg
1315f5b92ffSmrg   In addition, if you use an unusual directory layout you can give
1325f5b92ffSmrgoptions like `--bindir=DIR' to specify different values for particular
1335f5b92ffSmrgkinds of files.  Run `configure --help' for a list of the directories
1345f5b92ffSmrgyou can set and what kinds of files go in them.
1355f5b92ffSmrg
1365f5b92ffSmrg   If the package supports it, you can cause programs to be installed
1375f5b92ffSmrgwith an extra prefix or suffix on their names by giving `configure' the
1385f5b92ffSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1395f5b92ffSmrg
1405f5b92ffSmrgOptional Features
1415f5b92ffSmrg=================
1425f5b92ffSmrg
1435f5b92ffSmrg   Some packages pay attention to `--enable-FEATURE' options to
1445f5b92ffSmrg`configure', where FEATURE indicates an optional part of the package.
1455f5b92ffSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1465f5b92ffSmrgis something like `gnu-as' or `x' (for the X Window System).  The
1475f5b92ffSmrg`README' should mention any `--enable-' and `--with-' options that the
1485f5b92ffSmrgpackage recognizes.
1495f5b92ffSmrg
1505f5b92ffSmrg   For packages that use the X Window System, `configure' can usually
1515f5b92ffSmrgfind the X include and library files automatically, but if it doesn't,
1525f5b92ffSmrgyou can use the `configure' options `--x-includes=DIR' and
1535f5b92ffSmrg`--x-libraries=DIR' to specify their locations.
1545f5b92ffSmrg
1555f5b92ffSmrgParticular systems
1565f5b92ffSmrg==================
1575f5b92ffSmrg
1585f5b92ffSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
1595f5b92ffSmrgCC is not installed, it is recommended to use the following options in
1605f5b92ffSmrgorder to use an ANSI C compiler:
1615f5b92ffSmrg
1625f5b92ffSmrg     ./configure CC="cc -Ae"
1635f5b92ffSmrg
1645f5b92ffSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
1655f5b92ffSmrg
1665f5b92ffSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
1675f5b92ffSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
1685f5b92ffSmrga workaround.  If GNU CC is not installed, it is therefore recommended
1695f5b92ffSmrgto try
1705f5b92ffSmrg
1715f5b92ffSmrg     ./configure CC="cc"
1725f5b92ffSmrg
1735f5b92ffSmrgand if that doesn't work, try
1745f5b92ffSmrg
1755f5b92ffSmrg     ./configure CC="cc -nodtk"
1765f5b92ffSmrg
1775f5b92ffSmrgSpecifying the System Type
1785f5b92ffSmrg==========================
1795f5b92ffSmrg
1805f5b92ffSmrg   There may be some features `configure' cannot figure out
1815f5b92ffSmrgautomatically, but needs to determine by the type of machine the package
1825f5b92ffSmrgwill run on.  Usually, assuming the package is built to be run on the
1835f5b92ffSmrg_same_ architectures, `configure' can figure that out, but if it prints
1845f5b92ffSmrga message saying it cannot guess the machine type, give it the
1855f5b92ffSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
1865f5b92ffSmrgtype, such as `sun4', or a canonical name which has the form:
1875f5b92ffSmrg
1885f5b92ffSmrg     CPU-COMPANY-SYSTEM
1895f5b92ffSmrg
1905f5b92ffSmrgwhere SYSTEM can have one of these forms:
1915f5b92ffSmrg
1925f5b92ffSmrg     OS KERNEL-OS
1935f5b92ffSmrg
1945f5b92ffSmrg   See the file `config.sub' for the possible values of each field.  If
1955f5b92ffSmrg`config.sub' isn't included in this package, then this package doesn't
1965f5b92ffSmrgneed to know the machine type.
1975f5b92ffSmrg
1985f5b92ffSmrg   If you are _building_ compiler tools for cross-compiling, you should
1995f5b92ffSmrguse the option `--target=TYPE' to select the type of system they will
2005f5b92ffSmrgproduce code for.
2015f5b92ffSmrg
2025f5b92ffSmrg   If you want to _use_ a cross compiler, that generates code for a
2035f5b92ffSmrgplatform different from the build platform, you should specify the
2045f5b92ffSmrg"host" platform (i.e., that on which the generated programs will
2055f5b92ffSmrgeventually be run) with `--host=TYPE'.
2065f5b92ffSmrg
2075f5b92ffSmrgSharing Defaults
2085f5b92ffSmrg================
2095f5b92ffSmrg
2105f5b92ffSmrg   If you want to set default values for `configure' scripts to share,
2115f5b92ffSmrgyou can create a site shell script called `config.site' that gives
2125f5b92ffSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
2135f5b92ffSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
2145f5b92ffSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
2155f5b92ffSmrg`CONFIG_SITE' environment variable to the location of the site script.
2165f5b92ffSmrgA warning: not all `configure' scripts look for a site script.
2175f5b92ffSmrg
2185f5b92ffSmrgDefining Variables
2195f5b92ffSmrg==================
2205f5b92ffSmrg
2215f5b92ffSmrg   Variables not defined in a site shell script can be set in the
2225f5b92ffSmrgenvironment passed to `configure'.  However, some packages may run
2235f5b92ffSmrgconfigure again during the build, and the customized values of these
2245f5b92ffSmrgvariables may be lost.  In order to avoid this problem, you should set
2255f5b92ffSmrgthem in the `configure' command line, using `VAR=value'.  For example:
2265f5b92ffSmrg
2275f5b92ffSmrg     ./configure CC=/usr/local2/bin/gcc
2285f5b92ffSmrg
2295f5b92ffSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
2305f5b92ffSmrgoverridden in the site shell script).
2315f5b92ffSmrg
2325f5b92ffSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
2335f5b92ffSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
2345f5b92ffSmrg
2355f5b92ffSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2365f5b92ffSmrg
2375f5b92ffSmrg`configure' Invocation
2385f5b92ffSmrg======================
2395f5b92ffSmrg
2405f5b92ffSmrg   `configure' recognizes the following options to control how it
2415f5b92ffSmrgoperates.
2425f5b92ffSmrg
2435f5b92ffSmrg`--help'
2445f5b92ffSmrg`-h'
2455f5b92ffSmrg     Print a summary of all of the options to `configure', and exit.
2465f5b92ffSmrg
2475f5b92ffSmrg`--help=short'
2485f5b92ffSmrg`--help=recursive'
2495f5b92ffSmrg     Print a summary of the options unique to this package's
2505f5b92ffSmrg     `configure', and exit.  The `short' variant lists options used
2515f5b92ffSmrg     only in the top level, while the `recursive' variant lists options
2525f5b92ffSmrg     also present in any nested packages.
2535f5b92ffSmrg
2545f5b92ffSmrg`--version'
2555f5b92ffSmrg`-V'
2565f5b92ffSmrg     Print the version of Autoconf used to generate the `configure'
2575f5b92ffSmrg     script, and exit.
2585f5b92ffSmrg
2595f5b92ffSmrg`--cache-file=FILE'
2605f5b92ffSmrg     Enable the cache: use and save the results of the tests in FILE,
2615f5b92ffSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2625f5b92ffSmrg     disable caching.
2635f5b92ffSmrg
2645f5b92ffSmrg`--config-cache'
2655f5b92ffSmrg`-C'
2665f5b92ffSmrg     Alias for `--cache-file=config.cache'.
2675f5b92ffSmrg
2685f5b92ffSmrg`--quiet'
2695f5b92ffSmrg`--silent'
2705f5b92ffSmrg`-q'
2715f5b92ffSmrg     Do not print messages saying which checks are being made.  To
2725f5b92ffSmrg     suppress all normal output, redirect it to `/dev/null' (any error
2735f5b92ffSmrg     messages will still be shown).
2745f5b92ffSmrg
2755f5b92ffSmrg`--srcdir=DIR'
2765f5b92ffSmrg     Look for the package's source code in directory DIR.  Usually
2775f5b92ffSmrg     `configure' can determine that directory automatically.
2785f5b92ffSmrg
2795f5b92ffSmrg`--prefix=DIR'
2805f5b92ffSmrg     Use DIR as the installation prefix.  *Note Installation Names::
2815f5b92ffSmrg     for more details, including other options available for fine-tuning
2825f5b92ffSmrg     the installation locations.
2835f5b92ffSmrg
2845f5b92ffSmrg`--no-create'
2855f5b92ffSmrg`-n'
2865f5b92ffSmrg     Run the configure checks, but stop before creating any output
2875f5b92ffSmrg     files.
2885f5b92ffSmrg
2895f5b92ffSmrg`configure' also accepts some other, not widely useful, options.  Run
2905f5b92ffSmrg`configure --help' for more details.
2915f5b92ffSmrg
292