INSTALL revision 27702724
127702724SmrgInstallation Instructions 227702724Smrg************************* 327702724Smrg 427702724SmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free 527702724SmrgSoftware Foundation, Inc. 627702724Smrg 727702724SmrgThis file is free documentation; the Free Software Foundation gives 827702724Smrgunlimited permission to copy, distribute and modify it. 927702724Smrg 1027702724SmrgBasic Installation 1127702724Smrg================== 1227702724Smrg 1327702724SmrgThese are generic installation instructions. 1427702724Smrg 1527702724Smrg The `configure' shell script attempts to guess correct values for 1627702724Smrgvarious system-dependent variables used during compilation. It uses 1727702724Smrgthose values to create a `Makefile' in each directory of the package. 1827702724SmrgIt may also create one or more `.h' files containing system-dependent 1927702724Smrgdefinitions. Finally, it creates a shell script `config.status' that 2027702724Smrgyou can run in the future to recreate the current configuration, and a 2127702724Smrgfile `config.log' containing compiler output (useful mainly for 2227702724Smrgdebugging `configure'). 2327702724Smrg 2427702724Smrg It can also use an optional file (typically called `config.cache' 2527702724Smrgand enabled with `--cache-file=config.cache' or simply `-C') that saves 2627702724Smrgthe results of its tests to speed up reconfiguring. (Caching is 2727702724Smrgdisabled by default to prevent problems with accidental use of stale 2827702724Smrgcache files.) 2927702724Smrg 3027702724Smrg If you need to do unusual things to compile the package, please try 3127702724Smrgto figure out how `configure' could check whether to do them, and mail 3227702724Smrgdiffs or instructions to the address given in the `README' so they can 3327702724Smrgbe considered for the next release. If you are using the cache, and at 3427702724Smrgsome point `config.cache' contains results you don't want to keep, you 3527702724Smrgmay remove or edit it. 3627702724Smrg 3727702724Smrg The file `configure.ac' (or `configure.in') is used to create 3827702724Smrg`configure' by a program called `autoconf'. You only need 3927702724Smrg`configure.ac' if you want to change it or regenerate `configure' using 4027702724Smrga newer version of `autoconf'. 4127702724Smrg 4227702724SmrgThe simplest way to compile this package is: 4327702724Smrg 4427702724Smrg 1. `cd' to the directory containing the package's source code and type 4527702724Smrg `./configure' to configure the package for your system. If you're 4627702724Smrg using `csh' on an old version of System V, you might need to type 4727702724Smrg `sh ./configure' instead to prevent `csh' from trying to execute 4827702724Smrg `configure' itself. 4927702724Smrg 5027702724Smrg Running `configure' takes awhile. While running, it prints some 5127702724Smrg messages telling which features it is checking for. 5227702724Smrg 5327702724Smrg 2. Type `make' to compile the package. 5427702724Smrg 5527702724Smrg 3. Optionally, type `make check' to run any self-tests that come with 5627702724Smrg the package. 5727702724Smrg 5827702724Smrg 4. Type `make install' to install the programs and any data files and 5927702724Smrg documentation. 6027702724Smrg 6127702724Smrg 5. You can remove the program binaries and object files from the 6227702724Smrg source code directory by typing `make clean'. To also remove the 6327702724Smrg files that `configure' created (so you can compile the package for 6427702724Smrg a different kind of computer), type `make distclean'. There is 6527702724Smrg also a `make maintainer-clean' target, but that is intended mainly 6627702724Smrg for the package's developers. If you use it, you may have to get 6727702724Smrg all sorts of other programs in order to regenerate files that came 6827702724Smrg with the distribution. 6927702724Smrg 7027702724SmrgCompilers and Options 7127702724Smrg===================== 7227702724Smrg 7327702724SmrgSome systems require unusual options for compilation or linking that the 7427702724Smrg`configure' script does not know about. Run `./configure --help' for 7527702724Smrgdetails on some of the pertinent environment variables. 7627702724Smrg 7727702724Smrg You can give `configure' initial values for configuration parameters 7827702724Smrgby setting variables in the command line or in the environment. Here 7927702724Smrgis an example: 8027702724Smrg 8127702724Smrg ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix 8227702724Smrg 8327702724Smrg *Note Defining Variables::, for more details. 8427702724Smrg 8527702724SmrgCompiling For Multiple Architectures 8627702724Smrg==================================== 8727702724Smrg 8827702724SmrgYou can compile the package for more than one kind of computer at the 8927702724Smrgsame time, by placing the object files for each architecture in their 9027702724Smrgown directory. To do this, you must use a version of `make' that 9127702724Smrgsupports the `VPATH' variable, such as GNU `make'. `cd' to the 9227702724Smrgdirectory where you want the object files and executables to go and run 9327702724Smrgthe `configure' script. `configure' automatically checks for the 9427702724Smrgsource code in the directory that `configure' is in and in `..'. 9527702724Smrg 9627702724Smrg If you have to use a `make' that does not support the `VPATH' 9727702724Smrgvariable, you have to compile the package for one architecture at a 9827702724Smrgtime in the source code directory. After you have installed the 9927702724Smrgpackage for one architecture, use `make distclean' before reconfiguring 10027702724Smrgfor another architecture. 10127702724Smrg 10227702724SmrgInstallation Names 10327702724Smrg================== 10427702724Smrg 10527702724SmrgBy default, `make install' will install the package's files in 10627702724Smrg`/usr/local/bin', `/usr/local/man', etc. You can specify an 10727702724Smrginstallation prefix other than `/usr/local' by giving `configure' the 10827702724Smrgoption `--prefix=PREFIX'. 10927702724Smrg 11027702724Smrg You can specify separate installation prefixes for 11127702724Smrgarchitecture-specific files and architecture-independent files. If you 11227702724Smrggive `configure' the option `--exec-prefix=PREFIX', the package will 11327702724Smrguse PREFIX as the prefix for installing programs and libraries. 11427702724SmrgDocumentation and other data files will still use the regular prefix. 11527702724Smrg 11627702724Smrg In addition, if you use an unusual directory layout you can give 11727702724Smrgoptions like `--bindir=DIR' to specify different values for particular 11827702724Smrgkinds of files. Run `configure --help' for a list of the directories 11927702724Smrgyou can set and what kinds of files go in them. 12027702724Smrg 12127702724Smrg If the package supports it, you can cause programs to be installed 12227702724Smrgwith an extra prefix or suffix on their names by giving `configure' the 12327702724Smrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 12427702724Smrg 12527702724SmrgOptional Features 12627702724Smrg================= 12727702724Smrg 12827702724SmrgSome packages pay attention to `--enable-FEATURE' options to 12927702724Smrg`configure', where FEATURE indicates an optional part of the package. 13027702724SmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 13127702724Smrgis something like `gnu-as' or `x' (for the X Window System). The 13227702724Smrg`README' should mention any `--enable-' and `--with-' options that the 13327702724Smrgpackage recognizes. 13427702724Smrg 13527702724Smrg For packages that use the X Window System, `configure' can usually 13627702724Smrgfind the X include and library files automatically, but if it doesn't, 13727702724Smrgyou can use the `configure' options `--x-includes=DIR' and 13827702724Smrg`--x-libraries=DIR' to specify their locations. 13927702724Smrg 14027702724SmrgSpecifying the System Type 14127702724Smrg========================== 14227702724Smrg 14327702724SmrgThere may be some features `configure' cannot figure out automatically, 14427702724Smrgbut needs to determine by the type of machine the package will run on. 14527702724SmrgUsually, assuming the package is built to be run on the _same_ 14627702724Smrgarchitectures, `configure' can figure that out, but if it prints a 14727702724Smrgmessage saying it cannot guess the machine type, give it the 14827702724Smrg`--build=TYPE' option. TYPE can either be a short name for the system 14927702724Smrgtype, such as `sun4', or a canonical name which has the form: 15027702724Smrg 15127702724Smrg CPU-COMPANY-SYSTEM 15227702724Smrg 15327702724Smrgwhere SYSTEM can have one of these forms: 15427702724Smrg 15527702724Smrg OS KERNEL-OS 15627702724Smrg 15727702724Smrg See the file `config.sub' for the possible values of each field. If 15827702724Smrg`config.sub' isn't included in this package, then this package doesn't 15927702724Smrgneed to know the machine type. 16027702724Smrg 16127702724Smrg If you are _building_ compiler tools for cross-compiling, you should 16227702724Smrguse the `--target=TYPE' option to select the type of system they will 16327702724Smrgproduce code for. 16427702724Smrg 16527702724Smrg If you want to _use_ a cross compiler, that generates code for a 16627702724Smrgplatform different from the build platform, you should specify the 16727702724Smrg"host" platform (i.e., that on which the generated programs will 16827702724Smrgeventually be run) with `--host=TYPE'. 16927702724Smrg 17027702724SmrgSharing Defaults 17127702724Smrg================ 17227702724Smrg 17327702724SmrgIf you want to set default values for `configure' scripts to share, you 17427702724Smrgcan create a site shell script called `config.site' that gives default 17527702724Smrgvalues for variables like `CC', `cache_file', and `prefix'. 17627702724Smrg`configure' looks for `PREFIX/share/config.site' if it exists, then 17727702724Smrg`PREFIX/etc/config.site' if it exists. Or, you can set the 17827702724Smrg`CONFIG_SITE' environment variable to the location of the site script. 17927702724SmrgA warning: not all `configure' scripts look for a site script. 18027702724Smrg 18127702724SmrgDefining Variables 18227702724Smrg================== 18327702724Smrg 18427702724SmrgVariables not defined in a site shell script can be set in the 18527702724Smrgenvironment passed to `configure'. However, some packages may run 18627702724Smrgconfigure again during the build, and the customized values of these 18727702724Smrgvariables may be lost. In order to avoid this problem, you should set 18827702724Smrgthem in the `configure' command line, using `VAR=value'. For example: 18927702724Smrg 19027702724Smrg ./configure CC=/usr/local2/bin/gcc 19127702724Smrg 19227702724Smrgcauses the specified `gcc' to be used as the C compiler (unless it is 19327702724Smrgoverridden in the site shell script). Here is a another example: 19427702724Smrg 19527702724Smrg /bin/bash ./configure CONFIG_SHELL=/bin/bash 19627702724Smrg 19727702724SmrgHere the `CONFIG_SHELL=/bin/bash' operand causes subsequent 19827702724Smrgconfiguration-related scripts to be executed by `/bin/bash'. 19927702724Smrg 20027702724Smrg`configure' Invocation 20127702724Smrg====================== 20227702724Smrg 20327702724Smrg`configure' recognizes the following options to control how it operates. 20427702724Smrg 20527702724Smrg`--help' 20627702724Smrg`-h' 20727702724Smrg Print a summary of the options to `configure', and exit. 20827702724Smrg 20927702724Smrg`--version' 21027702724Smrg`-V' 21127702724Smrg Print the version of Autoconf used to generate the `configure' 21227702724Smrg script, and exit. 21327702724Smrg 21427702724Smrg`--cache-file=FILE' 21527702724Smrg Enable the cache: use and save the results of the tests in FILE, 21627702724Smrg traditionally `config.cache'. FILE defaults to `/dev/null' to 21727702724Smrg disable caching. 21827702724Smrg 21927702724Smrg`--config-cache' 22027702724Smrg`-C' 22127702724Smrg Alias for `--cache-file=config.cache'. 22227702724Smrg 22327702724Smrg`--quiet' 22427702724Smrg`--silent' 22527702724Smrg`-q' 22627702724Smrg Do not print messages saying which checks are being made. To 22727702724Smrg suppress all normal output, redirect it to `/dev/null' (any error 22827702724Smrg messages will still be shown). 22927702724Smrg 23027702724Smrg`--srcdir=DIR' 23127702724Smrg Look for the package's source code in directory DIR. Usually 23227702724Smrg `configure' can determine that directory automatically. 23327702724Smrg 23427702724Smrg`configure' also accepts some other, not widely useful, options. Run 23527702724Smrg`configure --help' for more details. 23627702724Smrg 237