INSTALL revision 48e69166
148e69166SmrgInstallation Instructions 248e69166Smrg************************* 348e69166Smrg 448e69166SmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 548e69166Smrg2006, 2007, 2008 Free Software Foundation, Inc. 648e69166Smrg 748e69166Smrg This file is free documentation; the Free Software Foundation gives 848e69166Smrgunlimited permission to copy, distribute and modify it. 948e69166Smrg 1048e69166SmrgBasic Installation 1148e69166Smrg================== 1248e69166Smrg 1348e69166Smrg Briefly, the shell commands `./configure; make; make install' should 1448e69166Smrgconfigure, build, and install this package. The following 1548e69166Smrgmore-detailed instructions are generic; see the `README' file for 1648e69166Smrginstructions specific to this package. 1748e69166Smrg 1848e69166Smrg The `configure' shell script attempts to guess correct values for 1948e69166Smrgvarious system-dependent variables used during compilation. It uses 2048e69166Smrgthose values to create a `Makefile' in each directory of the package. 2148e69166SmrgIt may also create one or more `.h' files containing system-dependent 2248e69166Smrgdefinitions. Finally, it creates a shell script `config.status' that 2348e69166Smrgyou can run in the future to recreate the current configuration, and a 2448e69166Smrgfile `config.log' containing compiler output (useful mainly for 2548e69166Smrgdebugging `configure'). 2648e69166Smrg 2748e69166Smrg It can also use an optional file (typically called `config.cache' 2848e69166Smrgand enabled with `--cache-file=config.cache' or simply `-C') that saves 2948e69166Smrgthe results of its tests to speed up reconfiguring. Caching is 3048e69166Smrgdisabled by default to prevent problems with accidental use of stale 3148e69166Smrgcache files. 3248e69166Smrg 3348e69166Smrg If you need to do unusual things to compile the package, please try 3448e69166Smrgto figure out how `configure' could check whether to do them, and mail 3548e69166Smrgdiffs or instructions to the address given in the `README' so they can 3648e69166Smrgbe considered for the next release. If you are using the cache, and at 3748e69166Smrgsome point `config.cache' contains results you don't want to keep, you 3848e69166Smrgmay remove or edit it. 3948e69166Smrg 4048e69166Smrg The file `configure.ac' (or `configure.in') is used to create 4148e69166Smrg`configure' by a program called `autoconf'. You need `configure.ac' if 4248e69166Smrgyou want to change it or regenerate `configure' using a newer version 4348e69166Smrgof `autoconf'. 4448e69166Smrg 4548e69166SmrgThe simplest way to compile this package is: 4648e69166Smrg 4748e69166Smrg 1. `cd' to the directory containing the package's source code and type 4848e69166Smrg `./configure' to configure the package for your system. 4948e69166Smrg 5048e69166Smrg Running `configure' might take a while. While running, it prints 5148e69166Smrg some messages telling which features it is checking for. 5248e69166Smrg 5348e69166Smrg 2. Type `make' to compile the package. 5448e69166Smrg 5548e69166Smrg 3. Optionally, type `make check' to run any self-tests that come with 5648e69166Smrg the package. 5748e69166Smrg 5848e69166Smrg 4. Type `make install' to install the programs and any data files and 5948e69166Smrg documentation. 6048e69166Smrg 6148e69166Smrg 5. You can remove the program binaries and object files from the 6248e69166Smrg source code directory by typing `make clean'. To also remove the 6348e69166Smrg files that `configure' created (so you can compile the package for 6448e69166Smrg a different kind of computer), type `make distclean'. There is 6548e69166Smrg also a `make maintainer-clean' target, but that is intended mainly 6648e69166Smrg for the package's developers. If you use it, you may have to get 6748e69166Smrg all sorts of other programs in order to regenerate files that came 6848e69166Smrg with the distribution. 6948e69166Smrg 7048e69166Smrg 6. Often, you can also type `make uninstall' to remove the installed 7148e69166Smrg files again. 7248e69166Smrg 7348e69166SmrgCompilers and Options 7448e69166Smrg===================== 7548e69166Smrg 7648e69166Smrg Some systems require unusual options for compilation or linking that 7748e69166Smrgthe `configure' script does not know about. Run `./configure --help' 7848e69166Smrgfor details on some of the pertinent environment variables. 7948e69166Smrg 8048e69166Smrg You can give `configure' initial values for configuration parameters 8148e69166Smrgby setting variables in the command line or in the environment. Here 8248e69166Smrgis an example: 8348e69166Smrg 8448e69166Smrg ./configure CC=c99 CFLAGS=-g LIBS=-lposix 8548e69166Smrg 8648e69166Smrg *Note Defining Variables::, for more details. 8748e69166Smrg 8848e69166SmrgCompiling For Multiple Architectures 8948e69166Smrg==================================== 9048e69166Smrg 9148e69166Smrg You can compile the package for more than one kind of computer at the 9248e69166Smrgsame time, by placing the object files for each architecture in their 9348e69166Smrgown directory. To do this, you can use GNU `make'. `cd' to the 9448e69166Smrgdirectory where you want the object files and executables to go and run 9548e69166Smrgthe `configure' script. `configure' automatically checks for the 9648e69166Smrgsource code in the directory that `configure' is in and in `..'. 9748e69166Smrg 9848e69166Smrg With a non-GNU `make', it is safer to compile the package for one 9948e69166Smrgarchitecture at a time in the source code directory. After you have 10048e69166Smrginstalled the package for one architecture, use `make distclean' before 10148e69166Smrgreconfiguring for another architecture. 10248e69166Smrg 10348e69166Smrg On MacOS X 10.5 and later systems, you can create libraries and 10448e69166Smrgexecutables that work on multiple system types--known as "fat" or 10548e69166Smrg"universal" binaries--by specifying multiple `-arch' options to the 10648e69166Smrgcompiler but only a single `-arch' option to the preprocessor. Like 10748e69166Smrgthis: 10848e69166Smrg 10948e69166Smrg ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 11048e69166Smrg CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 11148e69166Smrg CPP="gcc -E" CXXCPP="g++ -E" 11248e69166Smrg 11348e69166Smrg This is not guaranteed to produce working output in all cases, you 11448e69166Smrgmay have to build one architecture at a time and combine the results 11548e69166Smrgusing the `lipo' tool if you have problems. 11648e69166Smrg 11748e69166SmrgInstallation Names 11848e69166Smrg================== 11948e69166Smrg 12048e69166Smrg By default, `make install' installs the package's commands under 12148e69166Smrg`/usr/local/bin', include files under `/usr/local/include', etc. You 12248e69166Smrgcan specify an installation prefix other than `/usr/local' by giving 12348e69166Smrg`configure' the option `--prefix=PREFIX'. 12448e69166Smrg 12548e69166Smrg You can specify separate installation prefixes for 12648e69166Smrgarchitecture-specific files and architecture-independent files. If you 12748e69166Smrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses 12848e69166SmrgPREFIX as the prefix for installing programs and libraries. 12948e69166SmrgDocumentation and other data files still use the regular prefix. 13048e69166Smrg 13148e69166Smrg In addition, if you use an unusual directory layout you can give 13248e69166Smrgoptions like `--bindir=DIR' to specify different values for particular 13348e69166Smrgkinds of files. Run `configure --help' for a list of the directories 13448e69166Smrgyou can set and what kinds of files go in them. 13548e69166Smrg 13648e69166Smrg If the package supports it, you can cause programs to be installed 13748e69166Smrgwith an extra prefix or suffix on their names by giving `configure' the 13848e69166Smrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 13948e69166Smrg 14048e69166SmrgOptional Features 14148e69166Smrg================= 14248e69166Smrg 14348e69166Smrg Some packages pay attention to `--enable-FEATURE' options to 14448e69166Smrg`configure', where FEATURE indicates an optional part of the package. 14548e69166SmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 14648e69166Smrgis something like `gnu-as' or `x' (for the X Window System). The 14748e69166Smrg`README' should mention any `--enable-' and `--with-' options that the 14848e69166Smrgpackage recognizes. 14948e69166Smrg 15048e69166Smrg For packages that use the X Window System, `configure' can usually 15148e69166Smrgfind the X include and library files automatically, but if it doesn't, 15248e69166Smrgyou can use the `configure' options `--x-includes=DIR' and 15348e69166Smrg`--x-libraries=DIR' to specify their locations. 15448e69166Smrg 15548e69166SmrgParticular systems 15648e69166Smrg================== 15748e69166Smrg 15848e69166Smrg On HP-UX, the default C compiler is not ANSI C compatible. If GNU 15948e69166SmrgCC is not installed, it is recommended to use the following options in 16048e69166Smrgorder to use an ANSI C compiler: 16148e69166Smrg 16248e69166Smrg ./configure CC="cc -Ae" 16348e69166Smrg 16448e69166Smrgand if that doesn't work, install pre-built binaries of GCC for HP-UX. 16548e69166Smrg 16648e69166Smrg On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 16748e69166Smrgparse its `<wchar.h>' header file. The option `-nodtk' can be used as 16848e69166Smrga workaround. If GNU CC is not installed, it is therefore recommended 16948e69166Smrgto try 17048e69166Smrg 17148e69166Smrg ./configure CC="cc" 17248e69166Smrg 17348e69166Smrgand if that doesn't work, try 17448e69166Smrg 17548e69166Smrg ./configure CC="cc -nodtk" 17648e69166Smrg 17748e69166SmrgSpecifying the System Type 17848e69166Smrg========================== 17948e69166Smrg 18048e69166Smrg There may be some features `configure' cannot figure out 18148e69166Smrgautomatically, but needs to determine by the type of machine the package 18248e69166Smrgwill run on. Usually, assuming the package is built to be run on the 18348e69166Smrg_same_ architectures, `configure' can figure that out, but if it prints 18448e69166Smrga message saying it cannot guess the machine type, give it the 18548e69166Smrg`--build=TYPE' option. TYPE can either be a short name for the system 18648e69166Smrgtype, such as `sun4', or a canonical name which has the form: 18748e69166Smrg 18848e69166Smrg CPU-COMPANY-SYSTEM 18948e69166Smrg 19048e69166Smrgwhere SYSTEM can have one of these forms: 19148e69166Smrg 19248e69166Smrg OS KERNEL-OS 19348e69166Smrg 19448e69166Smrg See the file `config.sub' for the possible values of each field. If 19548e69166Smrg`config.sub' isn't included in this package, then this package doesn't 19648e69166Smrgneed to know the machine type. 19748e69166Smrg 19848e69166Smrg If you are _building_ compiler tools for cross-compiling, you should 19948e69166Smrguse the option `--target=TYPE' to select the type of system they will 20048e69166Smrgproduce code for. 20148e69166Smrg 20248e69166Smrg If you want to _use_ a cross compiler, that generates code for a 20348e69166Smrgplatform different from the build platform, you should specify the 20448e69166Smrg"host" platform (i.e., that on which the generated programs will 20548e69166Smrgeventually be run) with `--host=TYPE'. 20648e69166Smrg 20748e69166SmrgSharing Defaults 20848e69166Smrg================ 20948e69166Smrg 21048e69166Smrg If you want to set default values for `configure' scripts to share, 21148e69166Smrgyou can create a site shell script called `config.site' that gives 21248e69166Smrgdefault values for variables like `CC', `cache_file', and `prefix'. 21348e69166Smrg`configure' looks for `PREFIX/share/config.site' if it exists, then 21448e69166Smrg`PREFIX/etc/config.site' if it exists. Or, you can set the 21548e69166Smrg`CONFIG_SITE' environment variable to the location of the site script. 21648e69166SmrgA warning: not all `configure' scripts look for a site script. 21748e69166Smrg 21848e69166SmrgDefining Variables 21948e69166Smrg================== 22048e69166Smrg 22148e69166Smrg Variables not defined in a site shell script can be set in the 22248e69166Smrgenvironment passed to `configure'. However, some packages may run 22348e69166Smrgconfigure again during the build, and the customized values of these 22448e69166Smrgvariables may be lost. In order to avoid this problem, you should set 22548e69166Smrgthem in the `configure' command line, using `VAR=value'. For example: 22648e69166Smrg 22748e69166Smrg ./configure CC=/usr/local2/bin/gcc 22848e69166Smrg 22948e69166Smrgcauses the specified `gcc' to be used as the C compiler (unless it is 23048e69166Smrgoverridden in the site shell script). 23148e69166Smrg 23248e69166SmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to 23348e69166Smrgan Autoconf bug. Until the bug is fixed you can use this workaround: 23448e69166Smrg 23548e69166Smrg CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 23648e69166Smrg 23748e69166Smrg`configure' Invocation 23848e69166Smrg====================== 23948e69166Smrg 24048e69166Smrg `configure' recognizes the following options to control how it 24148e69166Smrgoperates. 24248e69166Smrg 24348e69166Smrg`--help' 24448e69166Smrg`-h' 24548e69166Smrg Print a summary of all of the options to `configure', and exit. 24648e69166Smrg 24748e69166Smrg`--help=short' 24848e69166Smrg`--help=recursive' 24948e69166Smrg Print a summary of the options unique to this package's 25048e69166Smrg `configure', and exit. The `short' variant lists options used 25148e69166Smrg only in the top level, while the `recursive' variant lists options 25248e69166Smrg also present in any nested packages. 25348e69166Smrg 25448e69166Smrg`--version' 25548e69166Smrg`-V' 25648e69166Smrg Print the version of Autoconf used to generate the `configure' 25748e69166Smrg script, and exit. 25848e69166Smrg 25948e69166Smrg`--cache-file=FILE' 26048e69166Smrg Enable the cache: use and save the results of the tests in FILE, 26148e69166Smrg traditionally `config.cache'. FILE defaults to `/dev/null' to 26248e69166Smrg disable caching. 26348e69166Smrg 26448e69166Smrg`--config-cache' 26548e69166Smrg`-C' 26648e69166Smrg Alias for `--cache-file=config.cache'. 26748e69166Smrg 26848e69166Smrg`--quiet' 26948e69166Smrg`--silent' 27048e69166Smrg`-q' 27148e69166Smrg Do not print messages saying which checks are being made. To 27248e69166Smrg suppress all normal output, redirect it to `/dev/null' (any error 27348e69166Smrg messages will still be shown). 27448e69166Smrg 27548e69166Smrg`--srcdir=DIR' 27648e69166Smrg Look for the package's source code in directory DIR. Usually 27748e69166Smrg `configure' can determine that directory automatically. 27848e69166Smrg 27948e69166Smrg`--prefix=DIR' 28048e69166Smrg Use DIR as the installation prefix. *Note Installation Names:: 28148e69166Smrg for more details, including other options available for fine-tuning 28248e69166Smrg the installation locations. 28348e69166Smrg 28448e69166Smrg`--no-create' 28548e69166Smrg`-n' 28648e69166Smrg Run the configure checks, but stop before creating any output 28748e69166Smrg files. 28848e69166Smrg 28948e69166Smrg`configure' also accepts some other, not widely useful, options. Run 29048e69166Smrg`configure --help' for more details. 29148e69166Smrg 292