INSTALL revision 4fbc8bde
14fbc8bdeSmrgInstallation Instructions
24fbc8bdeSmrg*************************
34fbc8bdeSmrg
44fbc8bdeSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
54fbc8bdeSmrg2006, 2007, 2008 Free Software Foundation, Inc.
64fbc8bdeSmrg
74fbc8bdeSmrg   This file is free documentation; the Free Software Foundation gives
84fbc8bdeSmrgunlimited permission to copy, distribute and modify it.
94fbc8bdeSmrg
104fbc8bdeSmrgBasic Installation
114fbc8bdeSmrg==================
124fbc8bdeSmrg
134fbc8bdeSmrg   Briefly, the shell commands `./configure; make; make install' should
144fbc8bdeSmrgconfigure, build, and install this package.  The following
154fbc8bdeSmrgmore-detailed instructions are generic; see the `README' file for
164fbc8bdeSmrginstructions specific to this package.
174fbc8bdeSmrg
184fbc8bdeSmrg   The `configure' shell script attempts to guess correct values for
194fbc8bdeSmrgvarious system-dependent variables used during compilation.  It uses
204fbc8bdeSmrgthose values to create a `Makefile' in each directory of the package.
214fbc8bdeSmrgIt may also create one or more `.h' files containing system-dependent
224fbc8bdeSmrgdefinitions.  Finally, it creates a shell script `config.status' that
234fbc8bdeSmrgyou can run in the future to recreate the current configuration, and a
244fbc8bdeSmrgfile `config.log' containing compiler output (useful mainly for
254fbc8bdeSmrgdebugging `configure').
264fbc8bdeSmrg
274fbc8bdeSmrg   It can also use an optional file (typically called `config.cache'
284fbc8bdeSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
294fbc8bdeSmrgthe results of its tests to speed up reconfiguring.  Caching is
304fbc8bdeSmrgdisabled by default to prevent problems with accidental use of stale
314fbc8bdeSmrgcache files.
324fbc8bdeSmrg
334fbc8bdeSmrg   If you need to do unusual things to compile the package, please try
344fbc8bdeSmrgto figure out how `configure' could check whether to do them, and mail
354fbc8bdeSmrgdiffs or instructions to the address given in the `README' so they can
364fbc8bdeSmrgbe considered for the next release.  If you are using the cache, and at
374fbc8bdeSmrgsome point `config.cache' contains results you don't want to keep, you
384fbc8bdeSmrgmay remove or edit it.
394fbc8bdeSmrg
404fbc8bdeSmrg   The file `configure.ac' (or `configure.in') is used to create
414fbc8bdeSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
424fbc8bdeSmrgyou want to change it or regenerate `configure' using a newer version
434fbc8bdeSmrgof `autoconf'.
444fbc8bdeSmrg
454fbc8bdeSmrgThe simplest way to compile this package is:
464fbc8bdeSmrg
474fbc8bdeSmrg  1. `cd' to the directory containing the package's source code and type
484fbc8bdeSmrg     `./configure' to configure the package for your system.
494fbc8bdeSmrg
504fbc8bdeSmrg     Running `configure' might take a while.  While running, it prints
514fbc8bdeSmrg     some messages telling which features it is checking for.
524fbc8bdeSmrg
534fbc8bdeSmrg  2. Type `make' to compile the package.
544fbc8bdeSmrg
554fbc8bdeSmrg  3. Optionally, type `make check' to run any self-tests that come with
564fbc8bdeSmrg     the package.
574fbc8bdeSmrg
584fbc8bdeSmrg  4. Type `make install' to install the programs and any data files and
594fbc8bdeSmrg     documentation.
604fbc8bdeSmrg
614fbc8bdeSmrg  5. You can remove the program binaries and object files from the
624fbc8bdeSmrg     source code directory by typing `make clean'.  To also remove the
634fbc8bdeSmrg     files that `configure' created (so you can compile the package for
644fbc8bdeSmrg     a different kind of computer), type `make distclean'.  There is
654fbc8bdeSmrg     also a `make maintainer-clean' target, but that is intended mainly
664fbc8bdeSmrg     for the package's developers.  If you use it, you may have to get
674fbc8bdeSmrg     all sorts of other programs in order to regenerate files that came
684fbc8bdeSmrg     with the distribution.
694fbc8bdeSmrg
704fbc8bdeSmrg  6. Often, you can also type `make uninstall' to remove the installed
714fbc8bdeSmrg     files again.
724fbc8bdeSmrg
734fbc8bdeSmrgCompilers and Options
744fbc8bdeSmrg=====================
754fbc8bdeSmrg
764fbc8bdeSmrg   Some systems require unusual options for compilation or linking that
774fbc8bdeSmrgthe `configure' script does not know about.  Run `./configure --help'
784fbc8bdeSmrgfor details on some of the pertinent environment variables.
794fbc8bdeSmrg
804fbc8bdeSmrg   You can give `configure' initial values for configuration parameters
814fbc8bdeSmrgby setting variables in the command line or in the environment.  Here
824fbc8bdeSmrgis an example:
834fbc8bdeSmrg
844fbc8bdeSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
854fbc8bdeSmrg
864fbc8bdeSmrg   *Note Defining Variables::, for more details.
874fbc8bdeSmrg
884fbc8bdeSmrgCompiling For Multiple Architectures
894fbc8bdeSmrg====================================
904fbc8bdeSmrg
914fbc8bdeSmrg   You can compile the package for more than one kind of computer at the
924fbc8bdeSmrgsame time, by placing the object files for each architecture in their
934fbc8bdeSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
944fbc8bdeSmrgdirectory where you want the object files and executables to go and run
954fbc8bdeSmrgthe `configure' script.  `configure' automatically checks for the
964fbc8bdeSmrgsource code in the directory that `configure' is in and in `..'.
974fbc8bdeSmrg
984fbc8bdeSmrg   With a non-GNU `make', it is safer to compile the package for one
994fbc8bdeSmrgarchitecture at a time in the source code directory.  After you have
1004fbc8bdeSmrginstalled the package for one architecture, use `make distclean' before
1014fbc8bdeSmrgreconfiguring for another architecture.
1024fbc8bdeSmrg
1034fbc8bdeSmrg   On MacOS X 10.5 and later systems, you can create libraries and
1044fbc8bdeSmrgexecutables that work on multiple system types--known as "fat" or
1054fbc8bdeSmrg"universal" binaries--by specifying multiple `-arch' options to the
1064fbc8bdeSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
1074fbc8bdeSmrgthis:
1084fbc8bdeSmrg
1094fbc8bdeSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1104fbc8bdeSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1114fbc8bdeSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
1124fbc8bdeSmrg
1134fbc8bdeSmrg   This is not guaranteed to produce working output in all cases, you
1144fbc8bdeSmrgmay have to build one architecture at a time and combine the results
1154fbc8bdeSmrgusing the `lipo' tool if you have problems.
1164fbc8bdeSmrg
1174fbc8bdeSmrgInstallation Names
1184fbc8bdeSmrg==================
1194fbc8bdeSmrg
1204fbc8bdeSmrg   By default, `make install' installs the package's commands under
1214fbc8bdeSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
1224fbc8bdeSmrgcan specify an installation prefix other than `/usr/local' by giving
1234fbc8bdeSmrg`configure' the option `--prefix=PREFIX'.
1244fbc8bdeSmrg
1254fbc8bdeSmrg   You can specify separate installation prefixes for
1264fbc8bdeSmrgarchitecture-specific files and architecture-independent files.  If you
1274fbc8bdeSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
1284fbc8bdeSmrgPREFIX as the prefix for installing programs and libraries.
1294fbc8bdeSmrgDocumentation and other data files still use the regular prefix.
1304fbc8bdeSmrg
1314fbc8bdeSmrg   In addition, if you use an unusual directory layout you can give
1324fbc8bdeSmrgoptions like `--bindir=DIR' to specify different values for particular
1334fbc8bdeSmrgkinds of files.  Run `configure --help' for a list of the directories
1344fbc8bdeSmrgyou can set and what kinds of files go in them.
1354fbc8bdeSmrg
1364fbc8bdeSmrg   If the package supports it, you can cause programs to be installed
1374fbc8bdeSmrgwith an extra prefix or suffix on their names by giving `configure' the
1384fbc8bdeSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1394fbc8bdeSmrg
1404fbc8bdeSmrgOptional Features
1414fbc8bdeSmrg=================
1424fbc8bdeSmrg
1434fbc8bdeSmrg   Some packages pay attention to `--enable-FEATURE' options to
1444fbc8bdeSmrg`configure', where FEATURE indicates an optional part of the package.
1454fbc8bdeSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1464fbc8bdeSmrgis something like `gnu-as' or `x' (for the X Window System).  The
1474fbc8bdeSmrg`README' should mention any `--enable-' and `--with-' options that the
1484fbc8bdeSmrgpackage recognizes.
1494fbc8bdeSmrg
1504fbc8bdeSmrg   For packages that use the X Window System, `configure' can usually
1514fbc8bdeSmrgfind the X include and library files automatically, but if it doesn't,
1524fbc8bdeSmrgyou can use the `configure' options `--x-includes=DIR' and
1534fbc8bdeSmrg`--x-libraries=DIR' to specify their locations.
1544fbc8bdeSmrg
1554fbc8bdeSmrgParticular systems
1564fbc8bdeSmrg==================
1574fbc8bdeSmrg
1584fbc8bdeSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
1594fbc8bdeSmrgCC is not installed, it is recommended to use the following options in
1604fbc8bdeSmrgorder to use an ANSI C compiler:
1614fbc8bdeSmrg
1624fbc8bdeSmrg     ./configure CC="cc -Ae"
1634fbc8bdeSmrg
1644fbc8bdeSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
1654fbc8bdeSmrg
1664fbc8bdeSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
1674fbc8bdeSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
1684fbc8bdeSmrga workaround.  If GNU CC is not installed, it is therefore recommended
1694fbc8bdeSmrgto try
1704fbc8bdeSmrg
1714fbc8bdeSmrg     ./configure CC="cc"
1724fbc8bdeSmrg
1734fbc8bdeSmrgand if that doesn't work, try
1744fbc8bdeSmrg
1754fbc8bdeSmrg     ./configure CC="cc -nodtk"
1764fbc8bdeSmrg
1774fbc8bdeSmrgSpecifying the System Type
1784fbc8bdeSmrg==========================
1794fbc8bdeSmrg
1804fbc8bdeSmrg   There may be some features `configure' cannot figure out
1814fbc8bdeSmrgautomatically, but needs to determine by the type of machine the package
1824fbc8bdeSmrgwill run on.  Usually, assuming the package is built to be run on the
1834fbc8bdeSmrg_same_ architectures, `configure' can figure that out, but if it prints
1844fbc8bdeSmrga message saying it cannot guess the machine type, give it the
1854fbc8bdeSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
1864fbc8bdeSmrgtype, such as `sun4', or a canonical name which has the form:
1874fbc8bdeSmrg
1884fbc8bdeSmrg     CPU-COMPANY-SYSTEM
1894fbc8bdeSmrg
1904fbc8bdeSmrgwhere SYSTEM can have one of these forms:
1914fbc8bdeSmrg
1924fbc8bdeSmrg     OS KERNEL-OS
1934fbc8bdeSmrg
1944fbc8bdeSmrg   See the file `config.sub' for the possible values of each field.  If
1954fbc8bdeSmrg`config.sub' isn't included in this package, then this package doesn't
1964fbc8bdeSmrgneed to know the machine type.
1974fbc8bdeSmrg
1984fbc8bdeSmrg   If you are _building_ compiler tools for cross-compiling, you should
1994fbc8bdeSmrguse the option `--target=TYPE' to select the type of system they will
2004fbc8bdeSmrgproduce code for.
2014fbc8bdeSmrg
2024fbc8bdeSmrg   If you want to _use_ a cross compiler, that generates code for a
2034fbc8bdeSmrgplatform different from the build platform, you should specify the
2044fbc8bdeSmrg"host" platform (i.e., that on which the generated programs will
2054fbc8bdeSmrgeventually be run) with `--host=TYPE'.
2064fbc8bdeSmrg
2074fbc8bdeSmrgSharing Defaults
2084fbc8bdeSmrg================
2094fbc8bdeSmrg
2104fbc8bdeSmrg   If you want to set default values for `configure' scripts to share,
2114fbc8bdeSmrgyou can create a site shell script called `config.site' that gives
2124fbc8bdeSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
2134fbc8bdeSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
2144fbc8bdeSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
2154fbc8bdeSmrg`CONFIG_SITE' environment variable to the location of the site script.
2164fbc8bdeSmrgA warning: not all `configure' scripts look for a site script.
2174fbc8bdeSmrg
2184fbc8bdeSmrgDefining Variables
2194fbc8bdeSmrg==================
2204fbc8bdeSmrg
2214fbc8bdeSmrg   Variables not defined in a site shell script can be set in the
2224fbc8bdeSmrgenvironment passed to `configure'.  However, some packages may run
2234fbc8bdeSmrgconfigure again during the build, and the customized values of these
2244fbc8bdeSmrgvariables may be lost.  In order to avoid this problem, you should set
2254fbc8bdeSmrgthem in the `configure' command line, using `VAR=value'.  For example:
2264fbc8bdeSmrg
2274fbc8bdeSmrg     ./configure CC=/usr/local2/bin/gcc
2284fbc8bdeSmrg
2294fbc8bdeSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
2304fbc8bdeSmrgoverridden in the site shell script).
2314fbc8bdeSmrg
2324fbc8bdeSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
2334fbc8bdeSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
2344fbc8bdeSmrg
2354fbc8bdeSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2364fbc8bdeSmrg
2374fbc8bdeSmrg`configure' Invocation
2384fbc8bdeSmrg======================
2394fbc8bdeSmrg
2404fbc8bdeSmrg   `configure' recognizes the following options to control how it
2414fbc8bdeSmrgoperates.
2424fbc8bdeSmrg
2434fbc8bdeSmrg`--help'
2444fbc8bdeSmrg`-h'
2454fbc8bdeSmrg     Print a summary of all of the options to `configure', and exit.
2464fbc8bdeSmrg
2474fbc8bdeSmrg`--help=short'
2484fbc8bdeSmrg`--help=recursive'
2494fbc8bdeSmrg     Print a summary of the options unique to this package's
2504fbc8bdeSmrg     `configure', and exit.  The `short' variant lists options used
2514fbc8bdeSmrg     only in the top level, while the `recursive' variant lists options
2524fbc8bdeSmrg     also present in any nested packages.
2534fbc8bdeSmrg
2544fbc8bdeSmrg`--version'
2554fbc8bdeSmrg`-V'
2564fbc8bdeSmrg     Print the version of Autoconf used to generate the `configure'
2574fbc8bdeSmrg     script, and exit.
2584fbc8bdeSmrg
2594fbc8bdeSmrg`--cache-file=FILE'
2604fbc8bdeSmrg     Enable the cache: use and save the results of the tests in FILE,
2614fbc8bdeSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2624fbc8bdeSmrg     disable caching.
2634fbc8bdeSmrg
2644fbc8bdeSmrg`--config-cache'
2654fbc8bdeSmrg`-C'
2664fbc8bdeSmrg     Alias for `--cache-file=config.cache'.
2674fbc8bdeSmrg
2684fbc8bdeSmrg`--quiet'
2694fbc8bdeSmrg`--silent'
2704fbc8bdeSmrg`-q'
2714fbc8bdeSmrg     Do not print messages saying which checks are being made.  To
2724fbc8bdeSmrg     suppress all normal output, redirect it to `/dev/null' (any error
2734fbc8bdeSmrg     messages will still be shown).
2744fbc8bdeSmrg
2754fbc8bdeSmrg`--srcdir=DIR'
2764fbc8bdeSmrg     Look for the package's source code in directory DIR.  Usually
2774fbc8bdeSmrg     `configure' can determine that directory automatically.
2784fbc8bdeSmrg
2794fbc8bdeSmrg`--prefix=DIR'
2804fbc8bdeSmrg     Use DIR as the installation prefix.  *Note Installation Names::
2814fbc8bdeSmrg     for more details, including other options available for fine-tuning
2824fbc8bdeSmrg     the installation locations.
2834fbc8bdeSmrg
2844fbc8bdeSmrg`--no-create'
2854fbc8bdeSmrg`-n'
2864fbc8bdeSmrg     Run the configure checks, but stop before creating any output
2874fbc8bdeSmrg     files.
2884fbc8bdeSmrg
2894fbc8bdeSmrg`configure' also accepts some other, not widely useful, options.  Run
2904fbc8bdeSmrg`configure --help' for more details.
2914fbc8bdeSmrg
292