INSTALL revision 7cf0acd0
17cf0acd0SmrgInstallation Instructions
27cf0acd0Smrg*************************
37cf0acd0Smrg
47cf0acd0SmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
57cf0acd0Smrg2006, 2007, 2008 Free Software Foundation, Inc.
67cf0acd0Smrg
77cf0acd0Smrg   This file is free documentation; the Free Software Foundation gives
87cf0acd0Smrgunlimited permission to copy, distribute and modify it.
97cf0acd0Smrg
107cf0acd0SmrgBasic Installation
117cf0acd0Smrg==================
127cf0acd0Smrg
137cf0acd0Smrg   Briefly, the shell commands `./configure; make; make install' should
147cf0acd0Smrgconfigure, build, and install this package.  The following
157cf0acd0Smrgmore-detailed instructions are generic; see the `README' file for
167cf0acd0Smrginstructions specific to this package.
177cf0acd0Smrg
187cf0acd0Smrg   The `configure' shell script attempts to guess correct values for
197cf0acd0Smrgvarious system-dependent variables used during compilation.  It uses
207cf0acd0Smrgthose values to create a `Makefile' in each directory of the package.
217cf0acd0SmrgIt may also create one or more `.h' files containing system-dependent
227cf0acd0Smrgdefinitions.  Finally, it creates a shell script `config.status' that
237cf0acd0Smrgyou can run in the future to recreate the current configuration, and a
247cf0acd0Smrgfile `config.log' containing compiler output (useful mainly for
257cf0acd0Smrgdebugging `configure').
267cf0acd0Smrg
277cf0acd0Smrg   It can also use an optional file (typically called `config.cache'
287cf0acd0Smrgand enabled with `--cache-file=config.cache' or simply `-C') that saves
297cf0acd0Smrgthe results of its tests to speed up reconfiguring.  Caching is
307cf0acd0Smrgdisabled by default to prevent problems with accidental use of stale
317cf0acd0Smrgcache files.
327cf0acd0Smrg
337cf0acd0Smrg   If you need to do unusual things to compile the package, please try
347cf0acd0Smrgto figure out how `configure' could check whether to do them, and mail
357cf0acd0Smrgdiffs or instructions to the address given in the `README' so they can
367cf0acd0Smrgbe considered for the next release.  If you are using the cache, and at
377cf0acd0Smrgsome point `config.cache' contains results you don't want to keep, you
387cf0acd0Smrgmay remove or edit it.
397cf0acd0Smrg
407cf0acd0Smrg   The file `configure.ac' (or `configure.in') is used to create
417cf0acd0Smrg`configure' by a program called `autoconf'.  You need `configure.ac' if
427cf0acd0Smrgyou want to change it or regenerate `configure' using a newer version
437cf0acd0Smrgof `autoconf'.
447cf0acd0Smrg
457cf0acd0SmrgThe simplest way to compile this package is:
467cf0acd0Smrg
477cf0acd0Smrg  1. `cd' to the directory containing the package's source code and type
487cf0acd0Smrg     `./configure' to configure the package for your system.
497cf0acd0Smrg
507cf0acd0Smrg     Running `configure' might take a while.  While running, it prints
517cf0acd0Smrg     some messages telling which features it is checking for.
527cf0acd0Smrg
537cf0acd0Smrg  2. Type `make' to compile the package.
547cf0acd0Smrg
557cf0acd0Smrg  3. Optionally, type `make check' to run any self-tests that come with
567cf0acd0Smrg     the package.
577cf0acd0Smrg
587cf0acd0Smrg  4. Type `make install' to install the programs and any data files and
597cf0acd0Smrg     documentation.
607cf0acd0Smrg
617cf0acd0Smrg  5. You can remove the program binaries and object files from the
627cf0acd0Smrg     source code directory by typing `make clean'.  To also remove the
637cf0acd0Smrg     files that `configure' created (so you can compile the package for
647cf0acd0Smrg     a different kind of computer), type `make distclean'.  There is
657cf0acd0Smrg     also a `make maintainer-clean' target, but that is intended mainly
667cf0acd0Smrg     for the package's developers.  If you use it, you may have to get
677cf0acd0Smrg     all sorts of other programs in order to regenerate files that came
687cf0acd0Smrg     with the distribution.
697cf0acd0Smrg
707cf0acd0Smrg  6. Often, you can also type `make uninstall' to remove the installed
717cf0acd0Smrg     files again.
727cf0acd0Smrg
737cf0acd0SmrgCompilers and Options
747cf0acd0Smrg=====================
757cf0acd0Smrg
767cf0acd0Smrg   Some systems require unusual options for compilation or linking that
777cf0acd0Smrgthe `configure' script does not know about.  Run `./configure --help'
787cf0acd0Smrgfor details on some of the pertinent environment variables.
797cf0acd0Smrg
807cf0acd0Smrg   You can give `configure' initial values for configuration parameters
817cf0acd0Smrgby setting variables in the command line or in the environment.  Here
827cf0acd0Smrgis an example:
837cf0acd0Smrg
847cf0acd0Smrg     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
857cf0acd0Smrg
867cf0acd0Smrg   *Note Defining Variables::, for more details.
877cf0acd0Smrg
887cf0acd0SmrgCompiling For Multiple Architectures
897cf0acd0Smrg====================================
907cf0acd0Smrg
917cf0acd0Smrg   You can compile the package for more than one kind of computer at the
927cf0acd0Smrgsame time, by placing the object files for each architecture in their
937cf0acd0Smrgown directory.  To do this, you can use GNU `make'.  `cd' to the
947cf0acd0Smrgdirectory where you want the object files and executables to go and run
957cf0acd0Smrgthe `configure' script.  `configure' automatically checks for the
967cf0acd0Smrgsource code in the directory that `configure' is in and in `..'.
977cf0acd0Smrg
987cf0acd0Smrg   With a non-GNU `make', it is safer to compile the package for one
997cf0acd0Smrgarchitecture at a time in the source code directory.  After you have
1007cf0acd0Smrginstalled the package for one architecture, use `make distclean' before
1017cf0acd0Smrgreconfiguring for another architecture.
1027cf0acd0Smrg
1037cf0acd0Smrg   On MacOS X 10.5 and later systems, you can create libraries and
1047cf0acd0Smrgexecutables that work on multiple system types--known as "fat" or
1057cf0acd0Smrg"universal" binaries--by specifying multiple `-arch' options to the
1067cf0acd0Smrgcompiler but only a single `-arch' option to the preprocessor.  Like
1077cf0acd0Smrgthis:
1087cf0acd0Smrg
1097cf0acd0Smrg     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1107cf0acd0Smrg                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
1117cf0acd0Smrg                 CPP="gcc -E" CXXCPP="g++ -E"
1127cf0acd0Smrg
1137cf0acd0Smrg   This is not guaranteed to produce working output in all cases, you
1147cf0acd0Smrgmay have to build one architecture at a time and combine the results
1157cf0acd0Smrgusing the `lipo' tool if you have problems.
1167cf0acd0Smrg
1177cf0acd0SmrgInstallation Names
1187cf0acd0Smrg==================
1197cf0acd0Smrg
1207cf0acd0Smrg   By default, `make install' installs the package's commands under
1217cf0acd0Smrg`/usr/local/bin', include files under `/usr/local/include', etc.  You
1227cf0acd0Smrgcan specify an installation prefix other than `/usr/local' by giving
1237cf0acd0Smrg`configure' the option `--prefix=PREFIX'.
1247cf0acd0Smrg
1257cf0acd0Smrg   You can specify separate installation prefixes for
1267cf0acd0Smrgarchitecture-specific files and architecture-independent files.  If you
1277cf0acd0Smrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses
1287cf0acd0SmrgPREFIX as the prefix for installing programs and libraries.
1297cf0acd0SmrgDocumentation and other data files still use the regular prefix.
1307cf0acd0Smrg
1317cf0acd0Smrg   In addition, if you use an unusual directory layout you can give
1327cf0acd0Smrgoptions like `--bindir=DIR' to specify different values for particular
1337cf0acd0Smrgkinds of files.  Run `configure --help' for a list of the directories
1347cf0acd0Smrgyou can set and what kinds of files go in them.
1357cf0acd0Smrg
1367cf0acd0Smrg   If the package supports it, you can cause programs to be installed
1377cf0acd0Smrgwith an extra prefix or suffix on their names by giving `configure' the
1387cf0acd0Smrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1397cf0acd0Smrg
1407cf0acd0SmrgOptional Features
1417cf0acd0Smrg=================
1427cf0acd0Smrg
1437cf0acd0Smrg   Some packages pay attention to `--enable-FEATURE' options to
1447cf0acd0Smrg`configure', where FEATURE indicates an optional part of the package.
1457cf0acd0SmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1467cf0acd0Smrgis something like `gnu-as' or `x' (for the X Window System).  The
1477cf0acd0Smrg`README' should mention any `--enable-' and `--with-' options that the
1487cf0acd0Smrgpackage recognizes.
1497cf0acd0Smrg
1507cf0acd0Smrg   For packages that use the X Window System, `configure' can usually
1517cf0acd0Smrgfind the X include and library files automatically, but if it doesn't,
1527cf0acd0Smrgyou can use the `configure' options `--x-includes=DIR' and
1537cf0acd0Smrg`--x-libraries=DIR' to specify their locations.
1547cf0acd0Smrg
1557cf0acd0SmrgParticular systems
1567cf0acd0Smrg==================
1577cf0acd0Smrg
1587cf0acd0Smrg   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
1597cf0acd0SmrgCC is not installed, it is recommended to use the following options in
1607cf0acd0Smrgorder to use an ANSI C compiler:
1617cf0acd0Smrg
1627cf0acd0Smrg     ./configure CC="cc -Ae"
1637cf0acd0Smrg
1647cf0acd0Smrgand if that doesn't work, install pre-built binaries of GCC for HP-UX.
1657cf0acd0Smrg
1667cf0acd0Smrg   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
1677cf0acd0Smrgparse its `<wchar.h>' header file.  The option `-nodtk' can be used as
1687cf0acd0Smrga workaround.  If GNU CC is not installed, it is therefore recommended
1697cf0acd0Smrgto try
1707cf0acd0Smrg
1717cf0acd0Smrg     ./configure CC="cc"
1727cf0acd0Smrg
1737cf0acd0Smrgand if that doesn't work, try
1747cf0acd0Smrg
1757cf0acd0Smrg     ./configure CC="cc -nodtk"
1767cf0acd0Smrg
1777cf0acd0SmrgSpecifying the System Type
1787cf0acd0Smrg==========================
1797cf0acd0Smrg
1807cf0acd0Smrg   There may be some features `configure' cannot figure out
1817cf0acd0Smrgautomatically, but needs to determine by the type of machine the package
1827cf0acd0Smrgwill run on.  Usually, assuming the package is built to be run on the
1837cf0acd0Smrg_same_ architectures, `configure' can figure that out, but if it prints
1847cf0acd0Smrga message saying it cannot guess the machine type, give it the
1857cf0acd0Smrg`--build=TYPE' option.  TYPE can either be a short name for the system
1867cf0acd0Smrgtype, such as `sun4', or a canonical name which has the form:
1877cf0acd0Smrg
1887cf0acd0Smrg     CPU-COMPANY-SYSTEM
1897cf0acd0Smrg
1907cf0acd0Smrgwhere SYSTEM can have one of these forms:
1917cf0acd0Smrg
1927cf0acd0Smrg     OS KERNEL-OS
1937cf0acd0Smrg
1947cf0acd0Smrg   See the file `config.sub' for the possible values of each field.  If
1957cf0acd0Smrg`config.sub' isn't included in this package, then this package doesn't
1967cf0acd0Smrgneed to know the machine type.
1977cf0acd0Smrg
1987cf0acd0Smrg   If you are _building_ compiler tools for cross-compiling, you should
1997cf0acd0Smrguse the option `--target=TYPE' to select the type of system they will
2007cf0acd0Smrgproduce code for.
2017cf0acd0Smrg
2027cf0acd0Smrg   If you want to _use_ a cross compiler, that generates code for a
2037cf0acd0Smrgplatform different from the build platform, you should specify the
2047cf0acd0Smrg"host" platform (i.e., that on which the generated programs will
2057cf0acd0Smrgeventually be run) with `--host=TYPE'.
2067cf0acd0Smrg
2077cf0acd0SmrgSharing Defaults
2087cf0acd0Smrg================
2097cf0acd0Smrg
2107cf0acd0Smrg   If you want to set default values for `configure' scripts to share,
2117cf0acd0Smrgyou can create a site shell script called `config.site' that gives
2127cf0acd0Smrgdefault values for variables like `CC', `cache_file', and `prefix'.
2137cf0acd0Smrg`configure' looks for `PREFIX/share/config.site' if it exists, then
2147cf0acd0Smrg`PREFIX/etc/config.site' if it exists.  Or, you can set the
2157cf0acd0Smrg`CONFIG_SITE' environment variable to the location of the site script.
2167cf0acd0SmrgA warning: not all `configure' scripts look for a site script.
2177cf0acd0Smrg
2187cf0acd0SmrgDefining Variables
2197cf0acd0Smrg==================
2207cf0acd0Smrg
2217cf0acd0Smrg   Variables not defined in a site shell script can be set in the
2227cf0acd0Smrgenvironment passed to `configure'.  However, some packages may run
2237cf0acd0Smrgconfigure again during the build, and the customized values of these
2247cf0acd0Smrgvariables may be lost.  In order to avoid this problem, you should set
2257cf0acd0Smrgthem in the `configure' command line, using `VAR=value'.  For example:
2267cf0acd0Smrg
2277cf0acd0Smrg     ./configure CC=/usr/local2/bin/gcc
2287cf0acd0Smrg
2297cf0acd0Smrgcauses the specified `gcc' to be used as the C compiler (unless it is
2307cf0acd0Smrgoverridden in the site shell script).
2317cf0acd0Smrg
2327cf0acd0SmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to
2337cf0acd0Smrgan Autoconf bug.  Until the bug is fixed you can use this workaround:
2347cf0acd0Smrg
2357cf0acd0Smrg     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
2367cf0acd0Smrg
2377cf0acd0Smrg`configure' Invocation
2387cf0acd0Smrg======================
2397cf0acd0Smrg
2407cf0acd0Smrg   `configure' recognizes the following options to control how it
2417cf0acd0Smrgoperates.
2427cf0acd0Smrg
2437cf0acd0Smrg`--help'
2447cf0acd0Smrg`-h'
2457cf0acd0Smrg     Print a summary of all of the options to `configure', and exit.
2467cf0acd0Smrg
2477cf0acd0Smrg`--help=short'
2487cf0acd0Smrg`--help=recursive'
2497cf0acd0Smrg     Print a summary of the options unique to this package's
2507cf0acd0Smrg     `configure', and exit.  The `short' variant lists options used
2517cf0acd0Smrg     only in the top level, while the `recursive' variant lists options
2527cf0acd0Smrg     also present in any nested packages.
2537cf0acd0Smrg
2547cf0acd0Smrg`--version'
2557cf0acd0Smrg`-V'
2567cf0acd0Smrg     Print the version of Autoconf used to generate the `configure'
2577cf0acd0Smrg     script, and exit.
2587cf0acd0Smrg
2597cf0acd0Smrg`--cache-file=FILE'
2607cf0acd0Smrg     Enable the cache: use and save the results of the tests in FILE,
2617cf0acd0Smrg     traditionally `config.cache'.  FILE defaults to `/dev/null' to
2627cf0acd0Smrg     disable caching.
2637cf0acd0Smrg
2647cf0acd0Smrg`--config-cache'
2657cf0acd0Smrg`-C'
2667cf0acd0Smrg     Alias for `--cache-file=config.cache'.
2677cf0acd0Smrg
2687cf0acd0Smrg`--quiet'
2697cf0acd0Smrg`--silent'
2707cf0acd0Smrg`-q'
2717cf0acd0Smrg     Do not print messages saying which checks are being made.  To
2727cf0acd0Smrg     suppress all normal output, redirect it to `/dev/null' (any error
2737cf0acd0Smrg     messages will still be shown).
2747cf0acd0Smrg
2757cf0acd0Smrg`--srcdir=DIR'
2767cf0acd0Smrg     Look for the package's source code in directory DIR.  Usually
2777cf0acd0Smrg     `configure' can determine that directory automatically.
2787cf0acd0Smrg
2797cf0acd0Smrg`--prefix=DIR'
2807cf0acd0Smrg     Use DIR as the installation prefix.  *Note Installation Names::
2817cf0acd0Smrg     for more details, including other options available for fine-tuning
2827cf0acd0Smrg     the installation locations.
2837cf0acd0Smrg
2847cf0acd0Smrg`--no-create'
2857cf0acd0Smrg`-n'
2867cf0acd0Smrg     Run the configure checks, but stop before creating any output
2877cf0acd0Smrg     files.
2887cf0acd0Smrg
2897cf0acd0Smrg`configure' also accepts some other, not widely useful, options.  Run
2907cf0acd0Smrg`configure --help' for more details.
2917cf0acd0Smrg
292