INSTALL revision 2d1d20fc
12d1d20fcSmrgInstallation Instructions
22d1d20fcSmrg*************************
32d1d20fcSmrg
42d1d20fcSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
52d1d20fcSmrg2006, 2007, 2008 Free Software Foundation, Inc.
62d1d20fcSmrg
72d1d20fcSmrg   This file is free documentation; the Free Software Foundation gives
82d1d20fcSmrgunlimited permission to copy, distribute and modify it.
92d1d20fcSmrg
102d1d20fcSmrgBasic Installation
112d1d20fcSmrg==================
122d1d20fcSmrg
132d1d20fcSmrg   Briefly, the shell commands `./configure; make; make install' should
142d1d20fcSmrgconfigure, build, and install this package.  The following
152d1d20fcSmrgmore-detailed instructions are generic; see the `README' file for
162d1d20fcSmrginstructions specific to this package.
172d1d20fcSmrg
182d1d20fcSmrg   The `configure' shell script attempts to guess correct values for
192d1d20fcSmrgvarious system-dependent variables used during compilation.  It uses
202d1d20fcSmrgthose values to create a `Makefile' in each directory of the package.
212d1d20fcSmrgIt may also create one or more `.h' files containing system-dependent
222d1d20fcSmrgdefinitions.  Finally, it creates a shell script `config.status' that
232d1d20fcSmrgyou can run in the future to recreate the current configuration, and a
242d1d20fcSmrgfile `config.log' containing compiler output (useful mainly for
252d1d20fcSmrgdebugging `configure').
262d1d20fcSmrg
272d1d20fcSmrg   It can also use an optional file (typically called `config.cache'
282d1d20fcSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
292d1d20fcSmrgthe results of its tests to speed up reconfiguring.  Caching is
302d1d20fcSmrgdisabled by default to prevent problems with accidental use of stale
312d1d20fcSmrgcache files.
322d1d20fcSmrg
332d1d20fcSmrg   If you need to do unusual things to compile the package, please try
342d1d20fcSmrgto figure out how `configure' could check whether to do them, and mail
352d1d20fcSmrgdiffs or instructions to the address given in the `README' so they can
362d1d20fcSmrgbe considered for the next release.  If you are using the cache, and at
372d1d20fcSmrgsome point `config.cache' contains results you don't want to keep, you
382d1d20fcSmrgmay remove or edit it.
392d1d20fcSmrg
402d1d20fcSmrg   The file `configure.ac' (or `configure.in') is used to create
412d1d20fcSmrg`configure' by a program called `autoconf'.  You need `configure.ac' if
422d1d20fcSmrgyou want to change it or regenerate `configure' using a newer version
432d1d20fcSmrgof `autoconf'.
442d1d20fcSmrg
452d1d20fcSmrgThe simplest way to compile this package is:
462d1d20fcSmrg
472d1d20fcSmrg  1. `cd' to the directory containing the package's source code and type
482d1d20fcSmrg     `./configure' to configure the package for your system.
492d1d20fcSmrg
502d1d20fcSmrg     Running `configure' might take a while.  While running, it prints
512d1d20fcSmrg     some messages telling which features it is checking for.
522d1d20fcSmrg
532d1d20fcSmrg  2. Type `make' to compile the package.
542d1d20fcSmrg
552d1d20fcSmrg  3. Optionally, type `make check' to run any self-tests that come with
562d1d20fcSmrg     the package.
572d1d20fcSmrg
582d1d20fcSmrg  4. Type `make install' to install the programs and any data files and
592d1d20fcSmrg     documentation.
602d1d20fcSmrg
612d1d20fcSmrg  5. You can remove the program binaries and object files from the
622d1d20fcSmrg     source code directory by typing `make clean'.  To also remove the
632d1d20fcSmrg     files that `configure' created (so you can compile the package for
642d1d20fcSmrg     a different kind of computer), type `make distclean'.  There is
652d1d20fcSmrg     also a `make maintainer-clean' target, but that is intended mainly
662d1d20fcSmrg     for the package's developers.  If you use it, you may have to get
672d1d20fcSmrg     all sorts of other programs in order to regenerate files that came
682d1d20fcSmrg     with the distribution.
692d1d20fcSmrg
702d1d20fcSmrg  6. Often, you can also type `make uninstall' to remove the installed
712d1d20fcSmrg     files again.
722d1d20fcSmrg
732d1d20fcSmrgCompilers and Options
742d1d20fcSmrg=====================
752d1d20fcSmrg
762d1d20fcSmrg   Some systems require unusual options for compilation or linking that
772d1d20fcSmrgthe `configure' script does not know about.  Run `./configure --help'
782d1d20fcSmrgfor details on some of the pertinent environment variables.
792d1d20fcSmrg
802d1d20fcSmrg   You can give `configure' initial values for configuration parameters
812d1d20fcSmrgby setting variables in the command line or in the environment.  Here
822d1d20fcSmrgis an example:
832d1d20fcSmrg
842d1d20fcSmrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
852d1d20fcSmrg
862d1d20fcSmrg   *Note Defining Variables::, for more details.
872d1d20fcSmrg
882d1d20fcSmrgCompiling For Multiple Architectures
892d1d20fcSmrg====================================
902d1d20fcSmrg
912d1d20fcSmrg   You can compile the package for more than one kind of computer at the
922d1d20fcSmrgsame time, by placing the object files for each architecture in their
932d1d20fcSmrgown directory.  To do this, you can use GNU `make'.  `cd' to the
942d1d20fcSmrgdirectory where you want the object files and executables to go and run
952d1d20fcSmrgthe `configure' script.  `configure' automatically checks for the
962d1d20fcSmrgsource code in the directory that `configure' is in and in `..'.
972d1d20fcSmrg
982d1d20fcSmrg   With a non-GNU `make', it is safer to compile the package for one
992d1d20fcSmrgarchitecture at a time in the source code directory.  After you have
1002d1d20fcSmrginstalled the package for one architecture, use `make distclean' before
1012d1d20fcSmrgreconfiguring for another architecture.
1022d1d20fcSmrg
1032d1d20fcSmrg   On MacOS X 10.5 and later systems, you can create libraries and
1042d1d20fcSmrgexecutables that work on multiple system types--known as "fat" or
1052d1d20fcSmrg"universal" binaries--by specifying multiple `-arch' options to the
1062d1d20fcSmrgcompiler but only a single `-arch' option to the preprocessor.  Like
1072d1d20fcSmrgthis:
1082d1d20fcSmrg
1092d1d20fcSmrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1102d1d20fcSmrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1112d1d20fcSmrg                 CPP="gcc -E" CXXCPP="g++ -E"
1122d1d20fcSmrg
1132d1d20fcSmrg   This is not guaranteed to produce working output in all cases, you
1142d1d20fcSmrgmay have to build one architecture at a time and combine the results
1152d1d20fcSmrgusing the `lipo' tool if you have problems.
1162d1d20fcSmrg
1172d1d20fcSmrgInstallation Names
1182d1d20fcSmrg==================
1192d1d20fcSmrg
1202d1d20fcSmrg   By default, `make install' installs the package's commands under
1212d1d20fcSmrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
1222d1d20fcSmrgcan specify an installation prefix other than `/usr/local' by giving
1232d1d20fcSmrg`configure' the option `--prefix=PREFIX'.
1242d1d20fcSmrg
1252d1d20fcSmrg   You can specify separate installation prefixes for
1262d1d20fcSmrgarchitecture-specific files and architecture-independent files.  If you
1272d1d20fcSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
1282d1d20fcSmrgPREFIX as the prefix for installing programs and libraries.
1292d1d20fcSmrgDocumentation and other data files still use the regular prefix.
1302d1d20fcSmrg
1312d1d20fcSmrg   In addition, if you use an unusual directory layout you can give
1322d1d20fcSmrgoptions like `--bindir=DIR' to specify different values for particular
1332d1d20fcSmrgkinds of files.  Run `configure --help' for a list of the directories
1342d1d20fcSmrgyou can set and what kinds of files go in them.
1352d1d20fcSmrg
1362d1d20fcSmrg   If the package supports it, you can cause programs to be installed
1372d1d20fcSmrgwith an extra prefix or suffix on their names by giving `configure' the
1382d1d20fcSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1392d1d20fcSmrg
1402d1d20fcSmrgOptional Features
1412d1d20fcSmrg=================
1422d1d20fcSmrg
1432d1d20fcSmrg   Some packages pay attention to `--enable-FEATURE' options to
1442d1d20fcSmrg`configure', where FEATURE indicates an optional part of the package.
1452d1d20fcSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1462d1d20fcSmrgis something like `gnu-as' or `x' (for the X Window System).  The
1472d1d20fcSmrg`README' should mention any `--enable-' and `--with-' options that the
1482d1d20fcSmrgpackage recognizes.
1492d1d20fcSmrg
1502d1d20fcSmrg   For packages that use the X Window System, `configure' can usually
1512d1d20fcSmrgfind the X include and library files automatically, but if it doesn't,
1522d1d20fcSmrgyou can use the `configure' options `--x-includes=DIR' and
1532d1d20fcSmrg`--x-libraries=DIR' to specify their locations.
1542d1d20fcSmrg
1552d1d20fcSmrgParticular systems
1562d1d20fcSmrg==================
1572d1d20fcSmrg
1582d1d20fcSmrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
1592d1d20fcSmrgCC is not installed, it is recommended to use the following options in
1602d1d20fcSmrgorder to use an ANSI C compiler:
1612d1d20fcSmrg
1622d1d20fcSmrg     ./configure CC="cc -Ae"
1632d1d20fcSmrg
1642d1d20fcSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
1652d1d20fcSmrg
1662d1d20fcSmrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
1672d1d20fcSmrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
1682d1d20fcSmrga workaround.  If GNU CC is not installed, it is therefore recommended
1692d1d20fcSmrgto try
1702d1d20fcSmrg
1712d1d20fcSmrg     ./configure CC="cc"
1722d1d20fcSmrg
1732d1d20fcSmrgand if that doesn't work, try
1742d1d20fcSmrg
1752d1d20fcSmrg     ./configure CC="cc -nodtk"
1762d1d20fcSmrg
1772d1d20fcSmrgSpecifying the System Type
1782d1d20fcSmrg==========================
1792d1d20fcSmrg
1802d1d20fcSmrg   There may be some features `configure' cannot figure out
1812d1d20fcSmrgautomatically, but needs to determine by the type of machine the package
1822d1d20fcSmrgwill run on.  Usually, assuming the package is built to be run on the
1832d1d20fcSmrg_same_ architectures, `configure' can figure that out, but if it prints
1842d1d20fcSmrga message saying it cannot guess the machine type, give it the
1852d1d20fcSmrg`--build=TYPE' option.  TYPE can either be a short name for the system
1862d1d20fcSmrgtype, such as `sun4', or a canonical name which has the form:
1872d1d20fcSmrg
1882d1d20fcSmrg     CPU-COMPANY-SYSTEM
1892d1d20fcSmrg
1902d1d20fcSmrgwhere SYSTEM can have one of these forms:
1912d1d20fcSmrg
1922d1d20fcSmrg     OS KERNEL-OS
1932d1d20fcSmrg
1942d1d20fcSmrg   See the file `config.sub' for the possible values of each field.  If
1952d1d20fcSmrg`config.sub' isn't included in this package, then this package doesn't
1962d1d20fcSmrgneed to know the machine type.
1972d1d20fcSmrg
1982d1d20fcSmrg   If you are _building_ compiler tools for cross-compiling, you should
1992d1d20fcSmrguse the option `--target=TYPE' to select the type of system they will
2002d1d20fcSmrgproduce code for.
2012d1d20fcSmrg
2022d1d20fcSmrg   If you want to _use_ a cross compiler, that generates code for a
2032d1d20fcSmrgplatform different from the build platform, you should specify the
2042d1d20fcSmrg"host" platform (i.e., that on which the generated programs will
2052d1d20fcSmrgeventually be run) with `--host=TYPE'.
2062d1d20fcSmrg
2072d1d20fcSmrgSharing Defaults
2082d1d20fcSmrg================
2092d1d20fcSmrg
2102d1d20fcSmrg   If you want to set default values for `configure' scripts to share,
2112d1d20fcSmrgyou can create a site shell script called `config.site' that gives
2122d1d20fcSmrgdefault values for variables like `CC', `cache_file', and `prefix'.
2132d1d20fcSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then
2142d1d20fcSmrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
2152d1d20fcSmrg`CONFIG_SITE' environment variable to the location of the site script.
2162d1d20fcSmrgA warning: not all `configure' scripts look for a site script.
2172d1d20fcSmrg
2182d1d20fcSmrgDefining Variables
2192d1d20fcSmrg==================
2202d1d20fcSmrg
2212d1d20fcSmrg   Variables not defined in a site shell script can be set in the
2222d1d20fcSmrgenvironment passed to `configure'.  However, some packages may run
2232d1d20fcSmrgconfigure again during the build, and the customized values of these
2242d1d20fcSmrgvariables may be lost.  In order to avoid this problem, you should set
2252d1d20fcSmrgthem in the `configure' command line, using `VAR=value'.  For example:
2262d1d20fcSmrg
2272d1d20fcSmrg     ./configure CC=/usr/local2/bin/gcc
2282d1d20fcSmrg
2292d1d20fcSmrgcauses the specified `gcc' to be used as the C compiler (unless it is
2302d1d20fcSmrgoverridden in the site shell script).
2312d1d20fcSmrg
2322d1d20fcSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
2332d1d20fcSmrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
2342d1d20fcSmrg
2352d1d20fcSmrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2362d1d20fcSmrg
2372d1d20fcSmrg`configure' Invocation
2382d1d20fcSmrg======================
2392d1d20fcSmrg
2402d1d20fcSmrg   `configure' recognizes the following options to control how it
2412d1d20fcSmrgoperates.
2422d1d20fcSmrg
2432d1d20fcSmrg`--help'
2442d1d20fcSmrg`-h'
2452d1d20fcSmrg     Print a summary of all of the options to `configure', and exit.
2462d1d20fcSmrg
2472d1d20fcSmrg`--help=short'
2482d1d20fcSmrg`--help=recursive'
2492d1d20fcSmrg     Print a summary of the options unique to this package's
2502d1d20fcSmrg     `configure', and exit.  The `short' variant lists options used
2512d1d20fcSmrg     only in the top level, while the `recursive' variant lists options
2522d1d20fcSmrg     also present in any nested packages.
2532d1d20fcSmrg
2542d1d20fcSmrg`--version'
2552d1d20fcSmrg`-V'
2562d1d20fcSmrg     Print the version of Autoconf used to generate the `configure'
2572d1d20fcSmrg     script, and exit.
2582d1d20fcSmrg
2592d1d20fcSmrg`--cache-file=FILE'
2602d1d20fcSmrg     Enable the cache: use and save the results of the tests in FILE,
2612d1d20fcSmrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2622d1d20fcSmrg     disable caching.
2632d1d20fcSmrg
2642d1d20fcSmrg`--config-cache'
2652d1d20fcSmrg`-C'
2662d1d20fcSmrg     Alias for `--cache-file=config.cache'.
2672d1d20fcSmrg
2682d1d20fcSmrg`--quiet'
2692d1d20fcSmrg`--silent'
2702d1d20fcSmrg`-q'
2712d1d20fcSmrg     Do not print messages saying which checks are being made.  To
2722d1d20fcSmrg     suppress all normal output, redirect it to `/dev/null' (any error
2732d1d20fcSmrg     messages will still be shown).
2742d1d20fcSmrg
2752d1d20fcSmrg`--srcdir=DIR'
2762d1d20fcSmrg     Look for the package's source code in directory DIR.  Usually
2772d1d20fcSmrg     `configure' can determine that directory automatically.
2782d1d20fcSmrg
2792d1d20fcSmrg`--prefix=DIR'
2802d1d20fcSmrg     Use DIR as the installation prefix.  *Note Installation Names::
2812d1d20fcSmrg     for more details, including other options available for fine-tuning
2822d1d20fcSmrg     the installation locations.
2832d1d20fcSmrg
2842d1d20fcSmrg`--no-create'
2852d1d20fcSmrg`-n'
2862d1d20fcSmrg     Run the configure checks, but stop before creating any output
2872d1d20fcSmrg     files.
2882d1d20fcSmrg
2892d1d20fcSmrg`configure' also accepts some other, not widely useful, options.  Run
2902d1d20fcSmrg`configure --help' for more details.
2912d1d20fcSmrg
292