INSTALL revision a966c04f
11.1SjruohoCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
21.1SjruohoFoundation, Inc.
31.1Sjruoho
41.1Sjruoho   This file is free documentation; the Free Software Foundation gives
51.1Sjruohounlimited permission to copy, distribute and modify it.
61.1Sjruoho
71.1SjruohoBasic Installation
81.1Sjruoho==================
91.1Sjruoho
101.1Sjruoho   These are generic installation instructions.
111.1Sjruoho
121.1Sjruoho   The `configure' shell script attempts to guess correct values for
131.1Sjruohovarious system-dependent variables used during compilation.  It uses
141.1Sjruohothose values to create a `Makefile' in each directory of the package.
151.1SjruohoIt may also create one or more `.h' files containing system-dependent
161.1Sjruohodefinitions.  Finally, it creates a shell script `config.status' that
171.1Sjruohoyou can run in the future to recreate the current configuration, and a
181.1Sjruohofile `config.log' containing compiler output (useful mainly for
191.1Sjruohodebugging `configure').
201.1Sjruoho
211.1Sjruoho   It can also use an optional file (typically called `config.cache'
221.1Sjruohoand enabled with `--cache-file=config.cache' or simply `-C') that saves
231.1Sjruohothe results of its tests to speed up reconfiguring.  (Caching is
241.1Sjruohodisabled by default to prevent problems with accidental use of stale
251.1Sjruohocache files.)
261.1Sjruoho
271.1Sjruoho   If you need to do unusual things to compile the package, please try
281.1Sjruohoto figure out how `configure' could check whether to do them, and mail
291.1Sjruohodiffs or instructions to the address given in the `README' so they can
301.1Sjruohobe considered for the next release.  If you are using the cache, and at
311.1Sjruohosome point `config.cache' contains results you don't want to keep, you
321.1Sjruohomay remove or edit it.
331.1Sjruoho
341.1Sjruoho   The file `configure.ac' (or `configure.in') is used to create
351.1Sjruoho`configure' by a program called `autoconf'.  You only need
361.1Sjruoho`configure.ac' if you want to change it or regenerate `configure' using
371.1Sjruohoa newer version of `autoconf'.
381.1Sjruoho
391.1SjruohoThe simplest way to compile this package is:
401.1Sjruoho
411.1Sjruoho  1. `cd' to the directory containing the package's source code and type
421.1Sjruoho     `./configure' to configure the package for your system.  If you're
431.1Sjruoho     using `csh' on an old version of System V, you might need to type
441.1Sjruoho     `sh ./configure' instead to prevent `csh' from trying to execute
451.1Sjruoho     `configure' itself.
461.1Sjruoho
471.1Sjruoho     Running `configure' takes awhile.  While running, it prints some
481.1Sjruoho     messages telling which features it is checking for.
491.1Sjruoho
501.1Sjruoho  2. Type `make' to compile the package.
511.1Sjruoho
521.1Sjruoho  3. Optionally, type `make check' to run any self-tests that come with
531.1Sjruoho     the package.
541.1Sjruoho
551.1Sjruoho  4. Type `make install' to install the programs and any data files and
561.1Sjruoho     documentation.
571.1Sjruoho
581.1Sjruoho  5. You can remove the program binaries and object files from the
591.1Sjruoho     source code directory by typing `make clean'.  To also remove the
601.1Sjruoho     files that `configure' created (so you can compile the package for
611.1Sjruoho     a different kind of computer), type `make distclean'.  There is
621.1Sjruoho     also a `make maintainer-clean' target, but that is intended mainly
631.1Sjruoho     for the package's developers.  If you use it, you may have to get
641.1Sjruoho     all sorts of other programs in order to regenerate files that came
651.1Sjruoho     with the distribution.
661.1Sjruoho
671.1SjruohoCompilers and Options
681.1Sjruoho=====================
691.1Sjruoho
701.1Sjruoho   Some systems require unusual options for compilation or linking that
711.1Sjruohothe `configure' script does not know about.  Run `./configure --help'
721.1Sjruohofor details on some of the pertinent environment variables.
731.1Sjruoho
741.1Sjruoho   You can give `configure' initial values for configuration parameters
751.1Sjruohoby setting variables in the command line or in the environment.  Here
761.1Sjruohois an example:
771.1Sjruoho
781.1Sjruoho     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
791.1Sjruoho
801.1Sjruoho   *Note Defining Variables::, for more details.
811.1Sjruoho
821.1SjruohoCompiling For Multiple Architectures
831.1Sjruoho====================================
841.1Sjruoho
851.1Sjruoho   You can compile the package for more than one kind of computer at the
861.1Sjruohosame time, by placing the object files for each architecture in their
871.1Sjruohoown directory.  To do this, you must use a version of `make' that
881.1Sjruohosupports the `VPATH' variable, such as GNU `make'.  `cd' to the
891.1Sjruohodirectory where you want the object files and executables to go and run
901.1Sjruohothe `configure' script.  `configure' automatically checks for the
911.1Sjruohosource code in the directory that `configure' is in and in `..'.
921.1Sjruoho
931.1Sjruoho   If you have to use a `make' that does not support the `VPATH'
941.1Sjruohovariable, you have to compile the package for one architecture at a
951.1Sjruohotime in the source code directory.  After you have installed the
961.1Sjruohopackage for one architecture, use `make distclean' before reconfiguring
971.1Sjruohofor another architecture.
981.1Sjruoho
991.1SjruohoInstallation Names
1001.1Sjruoho==================
1011.1Sjruoho
1021.1Sjruoho   By default, `make install' will install the package's files in
1031.1Sjruoho`/usr/local/bin', `/usr/local/man', etc.  You can specify an
1041.1Sjruohoinstallation prefix other than `/usr/local' by giving `configure' the
1051.1Sjruohooption `--prefix=PATH'.
1061.1Sjruoho
1071.1Sjruoho   You can specify separate installation prefixes for
1081.1Sjruohoarchitecture-specific files and architecture-independent files.  If you
1091.1Sjruohogive `configure' the option `--exec-prefix=PATH', the package will use
1101.1SjruohoPATH as the prefix for installing programs and libraries.
1111.1SjruohoDocumentation and other data files will still use the regular prefix.
1121.1Sjruoho
1131.1Sjruoho   In addition, if you use an unusual directory layout you can give
1141.1Sjruohooptions like `--bindir=PATH' to specify different values for particular
1151.1Sjruohokinds of files.  Run `configure --help' for a list of the directories
1161.1Sjruohoyou can set and what kinds of files go in them.
1171.1Sjruoho
1181.1Sjruoho   If the package supports it, you can cause programs to be installed
1191.1Sjruohowith an extra prefix or suffix on their names by giving `configure' the
1201.1Sjruohooption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
1211.1Sjruoho
1221.1SjruohoOptional Features
1231.1Sjruoho=================
1241.1Sjruoho
1251.1Sjruoho   Some packages pay attention to `--enable-FEATURE' options to
1261.1Sjruoho`configure', where FEATURE indicates an optional part of the package.
1271.1SjruohoThey may also pay attention to `--with-PACKAGE' options, where PACKAGE
1281.1Sjruohois something like `gnu-as' or `x' (for the X Window System).  The
1291.1Sjruoho`README' should mention any `--enable-' and `--with-' options that the
1301.1Sjruohopackage recognizes.
1311.1Sjruoho
1321.1Sjruoho   For packages that use the X Window System, `configure' can usually
1331.1Sjruohofind the X include and library files automatically, but if it doesn't,
1341.1Sjruohoyou can use the `configure' options `--x-includes=DIR' and
1351.1Sjruoho`--x-libraries=DIR' to specify their locations.
1361.1Sjruoho
1371.1SjruohoSpecifying the System Type
1381.1Sjruoho==========================
1391.1Sjruoho
1401.1Sjruoho   There may be some features `configure' cannot figure out
1411.1Sjruohoautomatically, but needs to determine by the type of machine the package
1421.1Sjruohowill run on.  Usually, assuming the package is built to be run on the
1431.1Sjruoho_same_ architectures, `configure' can figure that out, but if it prints
1441.1Sjruohoa message saying it cannot guess the machine type, give it the
1451.1Sjruoho`--build=TYPE' option.  TYPE can either be a short name for the system
1461.1Sjruohotype, such as `sun4', or a canonical name which has the form:
1471.1Sjruoho
1481.1Sjruoho     CPU-COMPANY-SYSTEM
1491.1Sjruoho
1501.1Sjruohowhere SYSTEM can have one of these forms:
1511.1Sjruoho
1521.1Sjruoho     OS KERNEL-OS
1531.1Sjruoho
1541.1Sjruoho   See the file `config.sub' for the possible values of each field.  If
1551.1Sjruoho`config.sub' isn't included in this package, then this package doesn't
1561.1Sjruohoneed to know the machine type.
1571.1Sjruoho
1581.1Sjruoho   If you are _building_ compiler tools for cross-compiling, you should
1591.1Sjruohouse the `--target=TYPE' option to select the type of system they will
1601.1Sjruohoproduce code for.
1611.1Sjruoho
1621.1Sjruoho   If you want to _use_ a cross compiler, that generates code for a
1631.1Sjruohoplatform different from the build platform, you should specify the
1641.1Sjruoho"host" platform (i.e., that on which the generated programs will
1651.1Sjruohoeventually be run) with `--host=TYPE'.
1661.1Sjruoho
1671.1SjruohoSharing Defaults
1681.1Sjruoho================
1691.1Sjruoho
1701.1Sjruoho   If you want to set default values for `configure' scripts to share,
1711.1Sjruohoyou can create a site shell script called `config.site' that gives
1721.1Sjruohodefault values for variables like `CC', `cache_file', and `prefix'.
1731.1Sjruoho`configure' looks for `PREFIX/share/config.site' if it exists, then
1741.1Sjruoho`PREFIX/etc/config.site' if it exists.  Or, you can set the
1751.1Sjruoho`CONFIG_SITE' environment variable to the location of the site script.
1761.1SjruohoA warning: not all `configure' scripts look for a site script.
1771.1Sjruoho
1781.1SjruohoDefining Variables
1791.1Sjruoho==================
1801.1Sjruoho
1811.1Sjruoho   Variables not defined in a site shell script can be set in the
1821.1Sjruohoenvironment passed to `configure'.  However, some packages may run
1831.1Sjruohoconfigure again during the build, and the customized values of these
1841.1Sjruohovariables may be lost.  In order to avoid this problem, you should set
1851.1Sjruohothem in the `configure' command line, using `VAR=value'.  For example:
1861.1Sjruoho
1871.1Sjruoho     ./configure CC=/usr/local2/bin/gcc
188
189will cause the specified gcc to be used as the C compiler (unless it is
190overridden in the site shell script).
191
192`configure' Invocation
193======================
194
195   `configure' recognizes the following options to control how it
196operates.
197
198`--help'
199`-h'
200     Print a summary of the options to `configure', and exit.
201
202`--version'
203`-V'
204     Print the version of Autoconf used to generate the `configure'
205     script, and exit.
206
207`--cache-file=FILE'
208     Enable the cache: use and save the results of the tests in FILE,
209     traditionally `config.cache'.  FILE defaults to `/dev/null' to
210     disable caching.
211
212`--config-cache'
213`-C'
214     Alias for `--cache-file=config.cache'.
215
216`--quiet'
217`--silent'
218`-q'
219     Do not print messages saying which checks are being made.  To
220     suppress all normal output, redirect it to `/dev/null' (any error
221     messages will still be shown).
222
223`--srcdir=DIR'
224     Look for the package's source code in directory DIR.  Usually
225     `configure' can determine that directory automatically.
226
227`configure' also accepts some other, not widely useful, options.  Run
228`configure --help' for more details.
229
230