158551SkrisBasic Installation 258551Skris================== 358551Skris 458551Skris These are generic installation instructions. 558551Skris 658551Skris The `configure' shell script attempts to guess correct values for 758551Skrisvarious system-dependent variables used during compilation. It uses 858551Skristhose values to create a `Makefile' in each directory of the package. 958551SkrisIt may also create one or more `.h' files containing system-dependent 1058551Skrisdefinitions. Finally, it creates a shell script `config.status' that 1158551Skrisyou can run in the future to recreate the current configuration, a file 1258551Skris`config.cache' that saves the results of its tests to speed up 1358551Skrisreconfiguring, and a file `config.log' containing compiler output 1458551Skris(useful mainly for debugging `configure'). 1558551Skris 1658551Skris If you need to do unusual things to compile the package, please try 1758551Skristo figure out how `configure' could check whether to do them, and mail 1858551Skrisdiffs or instructions to the address given in the `README' so they can 1958551Skrisbe considered for the next release. If at some point `config.cache' 2058551Skriscontains results you don't want to keep, you may remove or edit it. 2158551Skris 22228060Sbapt The file `configure.ac' is used to create `configure' by a program 23228060Sbaptcalled `autoconf'. You only need `configure.ac' if you want to change 2458551Skrisit or regenerate `configure' using a newer version of `autoconf'. 2558551Skris 2658551SkrisThe simplest way to compile this package is: 2758551Skris 2858551Skris 1. `cd' to the directory containing the package's source code and type 2958551Skris `./configure' to configure the package for your system. If you're 3058551Skris using `csh' on an old version of System V, you might need to type 3158551Skris `sh ./configure' instead to prevent `csh' from trying to execute 3258551Skris `configure' itself. 3358551Skris 3467064Sobrien Running `configure' takes a while. While running, it prints some 3558551Skris messages telling which features it is checking for. 3658551Skris 3758551Skris 2. Type `make' to compile the package. 3858551Skris 3958551Skris 3. Optionally, type `make check' to run any self-tests that come with 4058551Skris the package. 4158551Skris 4258551Skris 4. Type `make install' to install the programs and any data files and 4358551Skris documentation. 4458551Skris 4558551Skris 5. You can remove the program binaries and object files from the 4658551Skris source code directory by typing `make clean'. To also remove the 4758551Skris files that `configure' created (so you can compile the package for 4858551Skris a different kind of computer), type `make distclean'. There is 4958551Skris also a `make maintainer-clean' target, but that is intended mainly 5058551Skris for the package's developers. If you use it, you may have to get 5158551Skris all sorts of other programs in order to regenerate files that came 5258551Skris with the distribution. 5358551Skris 5458551SkrisCompilers and Options 5558551Skris===================== 5658551Skris 5758551Skris Some systems require unusual options for compilation or linking that 5858551Skristhe `configure' script does not know about. You can give `configure' 5958551Skrisinitial values for variables by setting them in the environment. Using 6058551Skrisa Bourne-compatible shell, you can do that on the command line like 6158551Skristhis: 6258551Skris CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure 6358551Skris 6458551SkrisOr on systems that have the `env' program, you can do it like this: 6558551Skris env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure 6658551Skris 6758551SkrisCompiling For Multiple Architectures 6858551Skris==================================== 6958551Skris 7058551Skris You can compile the package for more than one kind of computer at the 7158551Skrissame time, by placing the object files for each architecture in their 7258551Skrisown directory. To do this, you must use a version of `make' that 7358551Skrissupports the `VPATH' variable, such as GNU `make'. `cd' to the 7458551Skrisdirectory where you want the object files and executables to go and run 7558551Skristhe `configure' script. `configure' automatically checks for the 7658551Skrissource code in the directory that `configure' is in and in `..'. 7758551Skris 7858551Skris If you have to use a `make' that does not supports the `VPATH' 7958551Skrisvariable, you have to compile the package for one architecture at a time 8058551Skrisin the source code directory. After you have installed the package for 8158551Skrisone architecture, use `make distclean' before reconfiguring for another 8258551Skrisarchitecture. 8358551Skris 8458551SkrisInstallation Names 8558551Skris================== 8658551Skris 8758551Skris By default, `make install' will install the package's files in 8858551Skris`/usr/local/bin', `/usr/local/man', etc. You can specify an 8958551Skrisinstallation prefix other than `/usr/local' by giving `configure' the 9058551Skrisoption `--prefix=PATH'. 9158551Skris 9258551Skris You can specify separate installation prefixes for 9358551Skrisarchitecture-specific files and architecture-independent files. If you 9458551Skrisgive `configure' the option `--exec-prefix=PATH', the package will use 9558551SkrisPATH as the prefix for installing programs and libraries. 9658551SkrisDocumentation and other data files will still use the regular prefix. 9758551Skris 9858551Skris In addition, if you use an unusual directory layout you can give 9958551Skrisoptions like `--bindir=PATH' to specify different values for particular 10058551Skriskinds of files. Run `configure --help' for a list of the directories 10158551Skrisyou can set and what kinds of files go in them. 10258551Skris 10358551Skris If the package supports it, you can cause programs to be installed 10458551Skriswith an extra prefix or suffix on their names by giving `configure' the 10558551Skrisoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 10658551Skris 10758551SkrisOptional Features 10858551Skris================= 10958551Skris 11058551Skris Some packages pay attention to `--enable-FEATURE' options to 11158551Skris`configure', where FEATURE indicates an optional part of the package. 11258551SkrisThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 11358551Skrisis something like `gnu-as' or `x' (for the X Window System). The 11458551Skris`README' should mention any `--enable-' and `--with-' options that the 11558551Skrispackage recognizes. 11658551Skris 11758551Skris For packages that use the X Window System, `configure' can usually 11858551Skrisfind the X include and library files automatically, but if it doesn't, 11958551Skrisyou can use the `configure' options `--x-includes=DIR' and 12058551Skris`--x-libraries=DIR' to specify their locations. 12158551Skris 12258551SkrisSpecifying the System Type 12358551Skris========================== 12458551Skris 12558551Skris There may be some features `configure' can not figure out 12658551Skrisautomatically, but needs to determine by the type of host the package 12758551Skriswill run on. Usually `configure' can figure that out, but if it prints 12858551Skrisa message saying it can not guess the host type, give it the 12958551Skris`--host=TYPE' option. TYPE can either be a short name for the system 13058551Skristype, such as `sun4', or a canonical name with three fields: 13158551Skris CPU-COMPANY-SYSTEM 13258551Skris 13358551SkrisSee the file `config.sub' for the possible values of each field. If 13458551Skris`config.sub' isn't included in this package, then this package doesn't 13558551Skrisneed to know the host type. 13658551Skris 13758551Skris If you are building compiler tools for cross-compiling, you can also 13858551Skrisuse the `--target=TYPE' option to select the type of system they will 13958551Skrisproduce code for and the `--build=TYPE' option to select the type of 14058551Skrissystem on which you are compiling the package. 14158551Skris 14258551SkrisSharing Defaults 14358551Skris================ 14458551Skris 14558551Skris If you want to set default values for `configure' scripts to share, 14658551Skrisyou can create a site shell script called `config.site' that gives 14758551Skrisdefault values for variables like `CC', `cache_file', and `prefix'. 14858551Skris`configure' looks for `PREFIX/share/config.site' if it exists, then 14958551Skris`PREFIX/etc/config.site' if it exists. Or, you can set the 15058551Skris`CONFIG_SITE' environment variable to the location of the site script. 15158551SkrisA warning: not all `configure' scripts look for a site script. 15258551Skris 15358551SkrisOperation Controls 15458551Skris================== 15558551Skris 15658551Skris `configure' recognizes the following options to control how it 15758551Skrisoperates. 15858551Skris 15958551Skris`--cache-file=FILE' 16058551Skris Use and save the results of the tests in FILE instead of 16158551Skris `./config.cache'. Set FILE to `/dev/null' to disable caching, for 16258551Skris debugging `configure'. 16358551Skris 16458551Skris`--help' 16558551Skris Print a summary of the options to `configure', and exit. 16658551Skris 16758551Skris`--quiet' 16858551Skris`--silent' 16958551Skris`-q' 17067064Sobrien Do not print messages saying which checks are being made. To 17167064Sobrien suppress all normal output, redirect it to `/dev/null' (any error 17267064Sobrien messages will still be shown). 17358551Skris 17458551Skris`--srcdir=DIR' 17558551Skris Look for the package's source code in directory DIR. Usually 17658551Skris `configure' can determine that directory automatically. 17758551Skris 17858551Skris`--version' 17958551Skris Print the version of Autoconf used to generate the `configure' 18058551Skris script, and exit. 18158551Skris 18258551Skris`configure' also accepts some other, not widely useful, options. 18358551Skris 184