INSTALL revision 3f6d0e1d
13f6d0e1dSmrgInstallation Instructions
23f6d0e1dSmrg*************************
33f6d0e1dSmrg
43f6d0e1dSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
53f6d0e1dSmrg2006, 2007, 2008 Free Software Foundation, Inc.
63f6d0e1dSmrg
73f6d0e1dSmrg   This file is free documentation; the Free Software Foundation gives
83f6d0e1dSmrgunlimited permission to copy, distribute and modify it.
93f6d0e1dSmrg
103f6d0e1dSmrgBasic Installation
113f6d0e1dSmrg==================
123f6d0e1dSmrg
133f6d0e1dSmrg   Briefly, the shell commands `./configure; make; make install' should
143f6d0e1dSmrgconfigure, build, and install this package.  The following
153f6d0e1dSmrgmore-detailed instructions are generic; see the `README' file for
163f6d0e1dSmrginstructions specific to this package.
173f6d0e1dSmrg
183f6d0e1dSmrg   The `configure' shell script attempts to guess correct values for
193f6d0e1dSmrgvarious system-dependent variables used during compilation.  It uses
203f6d0e1dSmrgthose values to create a `Makefile' in each directory of the package.
213f6d0e1dSmrgIt may also create one or more `.h' files containing system-dependent
223f6d0e1dSmrgdefinitions.  Finally, it creates a shell script `config.status' that
233f6d0e1dSmrgyou can run in the future to recreate the current configuration, and a
243f6d0e1dSmrgfile `config.log' containing compiler output (useful mainly for
253f6d0e1dSmrgdebugging `configure').
263f6d0e1dSmrg
273f6d0e1dSmrg   It can also use an optional file (typically called `config.cache'
283f6d0e1dSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
293f6d0e1dSmrgthe results of its tests to speed up reconfiguring.  Caching is
303f6d0e1dSmrgdisabled by default to prevent problems with accidental use of stale
313f6d0e1dSmrgcache files.
323f6d0e1dSmrg
333f6d0e1dSmrg   If you need to do unusual things to compile the package, please try
343f6d0e1dSmrgto figure out how `configure' could check whether to do them, and mail
353f6d0e1dSmrgdiffs or instructions to the address given in the `README' so they can
363f6d0e1dSmrgbe considered for the next release.  If you are using the cache, and at
373f6d0e1dSmrgsome point `config.cache' contains results you don't want to keep, you
383f6d0e1dSmrgmay remove or edit it.
393f6d0e1dSmrg
403f6d0e1dSmrg   The file `configure.ac' (or `configure.in') is used to create
413f6d0e1dSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
423f6d0e1dSmrgyou want to change it or regenerate `configure' using a newer version
433f6d0e1dSmrgof `autoconf'.
443f6d0e1dSmrg
453f6d0e1dSmrgThe simplest way to compile this package is:
463f6d0e1dSmrg
473f6d0e1dSmrg  1. `cd' to the directory containing the package's source code and type
483f6d0e1dSmrg     `./configure' to configure the package for your system.
493f6d0e1dSmrg
503f6d0e1dSmrg     Running `configure' might take a while.  While running, it prints
513f6d0e1dSmrg     some messages telling which features it is checking for.
523f6d0e1dSmrg
533f6d0e1dSmrg  2. Type `make' to compile the package.
543f6d0e1dSmrg
553f6d0e1dSmrg  3. Optionally, type `make check' to run any self-tests that come with
563f6d0e1dSmrg     the package.
573f6d0e1dSmrg
583f6d0e1dSmrg  4. Type `make install' to install the programs and any data files and
593f6d0e1dSmrg     documentation.
603f6d0e1dSmrg
613f6d0e1dSmrg  5. You can remove the program binaries and object files from the
623f6d0e1dSmrg     source code directory by typing `make clean'.  To also remove the
633f6d0e1dSmrg     files that `configure' created (so you can compile the package for
643f6d0e1dSmrg     a different kind of computer), type `make distclean'.  There is
653f6d0e1dSmrg     also a `make maintainer-clean' target, but that is intended mainly
663f6d0e1dSmrg     for the package's developers.  If you use it, you may have to get
673f6d0e1dSmrg     all sorts of other programs in order to regenerate files that came
683f6d0e1dSmrg     with the distribution.
693f6d0e1dSmrg
703f6d0e1dSmrg  6. Often, you can also type `make uninstall' to remove the installed
713f6d0e1dSmrg     files again.
723f6d0e1dSmrg
733f6d0e1dSmrgCompilers and Options
743f6d0e1dSmrg=====================
753f6d0e1dSmrg
763f6d0e1dSmrg   Some systems require unusual options for compilation or linking that
773f6d0e1dSmrgthe `configure' script does not know about.  Run `./configure --help'
783f6d0e1dSmrgfor details on some of the pertinent environment variables.
793f6d0e1dSmrg
803f6d0e1dSmrg   You can give `configure' initial values for configuration parameters
813f6d0e1dSmrgby setting variables in the command line or in the environment.  Here
823f6d0e1dSmrgis an example:
833f6d0e1dSmrg
843f6d0e1dSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
853f6d0e1dSmrg
863f6d0e1dSmrg   *Note Defining Variables::, for more details.
873f6d0e1dSmrg
883f6d0e1dSmrgCompiling For Multiple Architectures
893f6d0e1dSmrg====================================
903f6d0e1dSmrg
913f6d0e1dSmrg   You can compile the package for more than one kind of computer at the
923f6d0e1dSmrgsame time, by placing the object files for each architecture in their
933f6d0e1dSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
943f6d0e1dSmrgdirectory where you want the object files and executables to go and run
953f6d0e1dSmrgthe `configure' script.  `configure' automatically checks for the
963f6d0e1dSmrgsource code in the directory that `configure' is in and in `..'.
973f6d0e1dSmrg
983f6d0e1dSmrg   With a non-GNU `make', it is safer to compile the package for one
993f6d0e1dSmrgarchitecture at a time in the source code directory.  After you have
1003f6d0e1dSmrginstalled the package for one architecture, use `make distclean' before
1013f6d0e1dSmrgreconfiguring for another architecture.
1023f6d0e1dSmrg
1033f6d0e1dSmrg   On MacOS X 10.5 and later systems, you can create libraries and
1043f6d0e1dSmrgexecutables that work on multiple system types--known as "fat" or
1053f6d0e1dSmrg"universal" binaries--by specifying multiple `-arch' options to the
1063f6d0e1dSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
1073f6d0e1dSmrgthis:
1083f6d0e1dSmrg
1093f6d0e1dSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1103f6d0e1dSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1113f6d0e1dSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
1123f6d0e1dSmrg
1133f6d0e1dSmrg   This is not guaranteed to produce working output in all cases, you
1143f6d0e1dSmrgmay have to build one architecture at a time and combine the results
1153f6d0e1dSmrgusing the `lipo' tool if you have problems.
1163f6d0e1dSmrg
1173f6d0e1dSmrgInstallation Names
1183f6d0e1dSmrg==================
1193f6d0e1dSmrg
1203f6d0e1dSmrg   By default, `make install' installs the package's commands under
1213f6d0e1dSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
1223f6d0e1dSmrgcan specify an installation prefix other than `/usr/local' by giving
1233f6d0e1dSmrg`configure' the option `--prefix=PREFIX'.
1243f6d0e1dSmrg
1253f6d0e1dSmrg   You can specify separate installation prefixes for
1263f6d0e1dSmrgarchitecture-specific files and architecture-independent files.  If you
1273f6d0e1dSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
1283f6d0e1dSmrgPREFIX as the prefix for installing programs and libraries.
1293f6d0e1dSmrgDocumentation and other data files still use the regular prefix.
1303f6d0e1dSmrg
1313f6d0e1dSmrg   In addition, if you use an unusual directory layout you can give
1323f6d0e1dSmrgoptions like `--bindir=DIR' to specify different values for particular
1333f6d0e1dSmrgkinds of files.  Run `configure --help' for a list of the directories
1343f6d0e1dSmrgyou can set and what kinds of files go in them.
1353f6d0e1dSmrg
1363f6d0e1dSmrg   If the package supports it, you can cause programs to be installed
1373f6d0e1dSmrgwith an extra prefix or suffix on their names by giving `configure' the
1383f6d0e1dSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1393f6d0e1dSmrg
1403f6d0e1dSmrgOptional Features
1413f6d0e1dSmrg=================
1423f6d0e1dSmrg
1433f6d0e1dSmrg   Some packages pay attention to `--enable-FEATURE' options to
1443f6d0e1dSmrg`configure', where FEATURE indicates an optional part of the package.
1453f6d0e1dSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1463f6d0e1dSmrgis something like `gnu-as' or `x' (for the X Window System).  The
1473f6d0e1dSmrg`README' should mention any `--enable-' and `--with-' options that the
1483f6d0e1dSmrgpackage recognizes.
1493f6d0e1dSmrg
1503f6d0e1dSmrg   For packages that use the X Window System, `configure' can usually
1513f6d0e1dSmrgfind the X include and library files automatically, but if it doesn't,
1523f6d0e1dSmrgyou can use the `configure' options `--x-includes=DIR' and
1533f6d0e1dSmrg`--x-libraries=DIR' to specify their locations.
1543f6d0e1dSmrg
1553f6d0e1dSmrgParticular systems
1563f6d0e1dSmrg==================
1573f6d0e1dSmrg
1583f6d0e1dSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
1593f6d0e1dSmrgCC is not installed, it is recommended to use the following options in
1603f6d0e1dSmrgorder to use an ANSI C compiler:
1613f6d0e1dSmrg
1623f6d0e1dSmrg     ./configure CC="cc -Ae"
1633f6d0e1dSmrg
1643f6d0e1dSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
1653f6d0e1dSmrg
1663f6d0e1dSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
1673f6d0e1dSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
1683f6d0e1dSmrga workaround.  If GNU CC is not installed, it is therefore recommended
1693f6d0e1dSmrgto try
1703f6d0e1dSmrg
1713f6d0e1dSmrg     ./configure CC="cc"
1723f6d0e1dSmrg
1733f6d0e1dSmrgand if that doesn't work, try
1743f6d0e1dSmrg
1753f6d0e1dSmrg     ./configure CC="cc -nodtk"
1763f6d0e1dSmrg
1773f6d0e1dSmrgSpecifying the System Type
1783f6d0e1dSmrg==========================
1793f6d0e1dSmrg
1803f6d0e1dSmrg   There may be some features `configure' cannot figure out
1813f6d0e1dSmrgautomatically, but needs to determine by the type of machine the package
1823f6d0e1dSmrgwill run on.  Usually, assuming the package is built to be run on the
1833f6d0e1dSmrg_same_ architectures, `configure' can figure that out, but if it prints
1843f6d0e1dSmrga message saying it cannot guess the machine type, give it the
1853f6d0e1dSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
1863f6d0e1dSmrgtype, such as `sun4', or a canonical name which has the form:
1873f6d0e1dSmrg
1883f6d0e1dSmrg     CPU-COMPANY-SYSTEM
1893f6d0e1dSmrg
1903f6d0e1dSmrgwhere SYSTEM can have one of these forms:
1913f6d0e1dSmrg
1923f6d0e1dSmrg     OS KERNEL-OS
1933f6d0e1dSmrg
1943f6d0e1dSmrg   See the file `config.sub' for the possible values of each field.  If
1953f6d0e1dSmrg`config.sub' isn't included in this package, then this package doesn't
1963f6d0e1dSmrgneed to know the machine type.
1973f6d0e1dSmrg
1983f6d0e1dSmrg   If you are _building_ compiler tools for cross-compiling, you should
1993f6d0e1dSmrguse the option `--target=TYPE' to select the type of system they will
2003f6d0e1dSmrgproduce code for.
2013f6d0e1dSmrg
2023f6d0e1dSmrg   If you want to _use_ a cross compiler, that generates code for a
2033f6d0e1dSmrgplatform different from the build platform, you should specify the
2043f6d0e1dSmrg"host" platform (i.e., that on which the generated programs will
2053f6d0e1dSmrgeventually be run) with `--host=TYPE'.
2063f6d0e1dSmrg
2073f6d0e1dSmrgSharing Defaults
2083f6d0e1dSmrg================
2093f6d0e1dSmrg
2103f6d0e1dSmrg   If you want to set default values for `configure' scripts to share,
2113f6d0e1dSmrgyou can create a site shell script called `config.site' that gives
2123f6d0e1dSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
2133f6d0e1dSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
2143f6d0e1dSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
2153f6d0e1dSmrg`CONFIG_SITE' environment variable to the location of the site script.
2163f6d0e1dSmrgA warning: not all `configure' scripts look for a site script.
2173f6d0e1dSmrg
2183f6d0e1dSmrgDefining Variables
2193f6d0e1dSmrg==================
2203f6d0e1dSmrg
2213f6d0e1dSmrg   Variables not defined in a site shell script can be set in the
2223f6d0e1dSmrgenvironment passed to `configure'.  However, some packages may run
2233f6d0e1dSmrgconfigure again during the build, and the customized values of these
2243f6d0e1dSmrgvariables may be lost.  In order to avoid this problem, you should set
2253f6d0e1dSmrgthem in the `configure' command line, using `VAR=value'.  For example:
2263f6d0e1dSmrg
2273f6d0e1dSmrg     ./configure CC=/usr/local2/bin/gcc
2283f6d0e1dSmrg
2293f6d0e1dSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
2303f6d0e1dSmrgoverridden in the site shell script).
2313f6d0e1dSmrg
2323f6d0e1dSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
2333f6d0e1dSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
2343f6d0e1dSmrg
2353f6d0e1dSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2363f6d0e1dSmrg
2373f6d0e1dSmrg`configure' Invocation
2383f6d0e1dSmrg======================
2393f6d0e1dSmrg
2403f6d0e1dSmrg   `configure' recognizes the following options to control how it
2413f6d0e1dSmrgoperates.
2423f6d0e1dSmrg
2433f6d0e1dSmrg`--help'
2443f6d0e1dSmrg`-h'
2453f6d0e1dSmrg     Print a summary of all of the options to `configure', and exit.
2463f6d0e1dSmrg
2473f6d0e1dSmrg`--help=short'
2483f6d0e1dSmrg`--help=recursive'
2493f6d0e1dSmrg     Print a summary of the options unique to this package's
2503f6d0e1dSmrg     `configure', and exit.  The `short' variant lists options used
2513f6d0e1dSmrg     only in the top level, while the `recursive' variant lists options
2523f6d0e1dSmrg     also present in any nested packages.
2533f6d0e1dSmrg
2543f6d0e1dSmrg`--version'
2553f6d0e1dSmrg`-V'
2563f6d0e1dSmrg     Print the version of Autoconf used to generate the `configure'
2573f6d0e1dSmrg     script, and exit.
2583f6d0e1dSmrg
2593f6d0e1dSmrg`--cache-file=FILE'
2603f6d0e1dSmrg     Enable the cache: use and save the results of the tests in FILE,
2613f6d0e1dSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2623f6d0e1dSmrg     disable caching.
2633f6d0e1dSmrg
2643f6d0e1dSmrg`--config-cache'
2653f6d0e1dSmrg`-C'
2663f6d0e1dSmrg     Alias for `--cache-file=config.cache'.
2673f6d0e1dSmrg
2683f6d0e1dSmrg`--quiet'
2693f6d0e1dSmrg`--silent'
2703f6d0e1dSmrg`-q'
2713f6d0e1dSmrg     Do not print messages saying which checks are being made.  To
2723f6d0e1dSmrg     suppress all normal output, redirect it to `/dev/null' (any error
2733f6d0e1dSmrg     messages will still be shown).
2743f6d0e1dSmrg
2753f6d0e1dSmrg`--srcdir=DIR'
2763f6d0e1dSmrg     Look for the package's source code in directory DIR.  Usually
2773f6d0e1dSmrg     `configure' can determine that directory automatically.
2783f6d0e1dSmrg
2793f6d0e1dSmrg`--prefix=DIR'
2803f6d0e1dSmrg     Use DIR as the installation prefix.  *Note Installation Names::
2813f6d0e1dSmrg     for more details, including other options available for fine-tuning
2823f6d0e1dSmrg     the installation locations.
2833f6d0e1dSmrg
2843f6d0e1dSmrg`--no-create'
2853f6d0e1dSmrg`-n'
2863f6d0e1dSmrg     Run the configure checks, but stop before creating any output
2873f6d0e1dSmrg     files.
2883f6d0e1dSmrg
2893f6d0e1dSmrg`configure' also accepts some other, not widely useful, options.  Run
2903f6d0e1dSmrg`configure --help' for more details.
2913f6d0e1dSmrg
292