INSTALL revision 4fbc8bde
14fbc8bdeSmrgInstallation Instructions 24fbc8bdeSmrg************************* 34fbc8bdeSmrg 44fbc8bdeSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 54fbc8bdeSmrg2006, 2007, 2008 Free Software Foundation, Inc. 64fbc8bdeSmrg 74fbc8bdeSmrg This file is free documentation; the Free Software Foundation gives 84fbc8bdeSmrgunlimited permission to copy, distribute and modify it. 94fbc8bdeSmrg 104fbc8bdeSmrgBasic Installation 114fbc8bdeSmrg================== 124fbc8bdeSmrg 134fbc8bdeSmrg Briefly, the shell commands `./configure; make; make install' should 144fbc8bdeSmrgconfigure, build, and install this package. The following 154fbc8bdeSmrgmore-detailed instructions are generic; see the `README' file for 164fbc8bdeSmrginstructions specific to this package. 174fbc8bdeSmrg 184fbc8bdeSmrg The `configure' shell script attempts to guess correct values for 194fbc8bdeSmrgvarious system-dependent variables used during compilation. It uses 204fbc8bdeSmrgthose values to create a `Makefile' in each directory of the package. 214fbc8bdeSmrgIt may also create one or more `.h' files containing system-dependent 224fbc8bdeSmrgdefinitions. Finally, it creates a shell script `config.status' that 234fbc8bdeSmrgyou can run in the future to recreate the current configuration, and a 244fbc8bdeSmrgfile `config.log' containing compiler output (useful mainly for 254fbc8bdeSmrgdebugging `configure'). 264fbc8bdeSmrg 274fbc8bdeSmrg It can also use an optional file (typically called `config.cache' 284fbc8bdeSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves 294fbc8bdeSmrgthe results of its tests to speed up reconfiguring. Caching is 304fbc8bdeSmrgdisabled by default to prevent problems with accidental use of stale 314fbc8bdeSmrgcache files. 324fbc8bdeSmrg 334fbc8bdeSmrg If you need to do unusual things to compile the package, please try 344fbc8bdeSmrgto figure out how `configure' could check whether to do them, and mail 354fbc8bdeSmrgdiffs or instructions to the address given in the `README' so they can 364fbc8bdeSmrgbe considered for the next release. If you are using the cache, and at 374fbc8bdeSmrgsome point `config.cache' contains results you don't want to keep, you 384fbc8bdeSmrgmay remove or edit it. 394fbc8bdeSmrg 404fbc8bdeSmrg The file `configure.ac' (or `configure.in') is used to create 414fbc8bdeSmrg`configure' by a program called `autoconf'. You need `configure.ac' if 424fbc8bdeSmrgyou want to change it or regenerate `configure' using a newer version 434fbc8bdeSmrgof `autoconf'. 444fbc8bdeSmrg 454fbc8bdeSmrgThe simplest way to compile this package is: 464fbc8bdeSmrg 474fbc8bdeSmrg 1. `cd' to the directory containing the package's source code and type 484fbc8bdeSmrg `./configure' to configure the package for your system. 494fbc8bdeSmrg 504fbc8bdeSmrg Running `configure' might take a while. While running, it prints 514fbc8bdeSmrg some messages telling which features it is checking for. 524fbc8bdeSmrg 534fbc8bdeSmrg 2. Type `make' to compile the package. 544fbc8bdeSmrg 554fbc8bdeSmrg 3. Optionally, type `make check' to run any self-tests that come with 564fbc8bdeSmrg the package. 574fbc8bdeSmrg 584fbc8bdeSmrg 4. Type `make install' to install the programs and any data files and 594fbc8bdeSmrg documentation. 604fbc8bdeSmrg 614fbc8bdeSmrg 5. You can remove the program binaries and object files from the 624fbc8bdeSmrg source code directory by typing `make clean'. To also remove the 634fbc8bdeSmrg files that `configure' created (so you can compile the package for 644fbc8bdeSmrg a different kind of computer), type `make distclean'. There is 654fbc8bdeSmrg also a `make maintainer-clean' target, but that is intended mainly 664fbc8bdeSmrg for the package's developers. If you use it, you may have to get 674fbc8bdeSmrg all sorts of other programs in order to regenerate files that came 684fbc8bdeSmrg with the distribution. 694fbc8bdeSmrg 704fbc8bdeSmrg 6. Often, you can also type `make uninstall' to remove the installed 714fbc8bdeSmrg files again. 724fbc8bdeSmrg 734fbc8bdeSmrgCompilers and Options 744fbc8bdeSmrg===================== 754fbc8bdeSmrg 764fbc8bdeSmrg Some systems require unusual options for compilation or linking that 774fbc8bdeSmrgthe `configure' script does not know about. Run `./configure --help' 784fbc8bdeSmrgfor details on some of the pertinent environment variables. 794fbc8bdeSmrg 804fbc8bdeSmrg You can give `configure' initial values for configuration parameters 814fbc8bdeSmrgby setting variables in the command line or in the environment. Here 824fbc8bdeSmrgis an example: 834fbc8bdeSmrg 844fbc8bdeSmrg ./configure CC=c99 CFLAGS=-g LIBS=-lposix 854fbc8bdeSmrg 864fbc8bdeSmrg *Note Defining Variables::, for more details. 874fbc8bdeSmrg 884fbc8bdeSmrgCompiling For Multiple Architectures 894fbc8bdeSmrg==================================== 904fbc8bdeSmrg 914fbc8bdeSmrg You can compile the package for more than one kind of computer at the 924fbc8bdeSmrgsame time, by placing the object files for each architecture in their 934fbc8bdeSmrgown directory. To do this, you can use GNU `make'. `cd' to the 944fbc8bdeSmrgdirectory where you want the object files and executables to go and run 954fbc8bdeSmrgthe `configure' script. `configure' automatically checks for the 964fbc8bdeSmrgsource code in the directory that `configure' is in and in `..'. 974fbc8bdeSmrg 984fbc8bdeSmrg With a non-GNU `make', it is safer to compile the package for one 994fbc8bdeSmrgarchitecture at a time in the source code directory. After you have 1004fbc8bdeSmrginstalled the package for one architecture, use `make distclean' before 1014fbc8bdeSmrgreconfiguring for another architecture. 1024fbc8bdeSmrg 1034fbc8bdeSmrg On MacOS X 10.5 and later systems, you can create libraries and 1044fbc8bdeSmrgexecutables that work on multiple system types--known as "fat" or 1054fbc8bdeSmrg"universal" binaries--by specifying multiple `-arch' options to the 1064fbc8bdeSmrgcompiler but only a single `-arch' option to the preprocessor. Like 1074fbc8bdeSmrgthis: 1084fbc8bdeSmrg 1094fbc8bdeSmrg ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1104fbc8bdeSmrg CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1114fbc8bdeSmrg CPP="gcc -E" CXXCPP="g++ -E" 1124fbc8bdeSmrg 1134fbc8bdeSmrg This is not guaranteed to produce working output in all cases, you 1144fbc8bdeSmrgmay have to build one architecture at a time and combine the results 1154fbc8bdeSmrgusing the `lipo' tool if you have problems. 1164fbc8bdeSmrg 1174fbc8bdeSmrgInstallation Names 1184fbc8bdeSmrg================== 1194fbc8bdeSmrg 1204fbc8bdeSmrg By default, `make install' installs the package's commands under 1214fbc8bdeSmrg`/usr/local/bin', include files under `/usr/local/include', etc. You 1224fbc8bdeSmrgcan specify an installation prefix other than `/usr/local' by giving 1234fbc8bdeSmrg`configure' the option `--prefix=PREFIX'. 1244fbc8bdeSmrg 1254fbc8bdeSmrg You can specify separate installation prefixes for 1264fbc8bdeSmrgarchitecture-specific files and architecture-independent files. If you 1274fbc8bdeSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses 1284fbc8bdeSmrgPREFIX as the prefix for installing programs and libraries. 1294fbc8bdeSmrgDocumentation and other data files still use the regular prefix. 1304fbc8bdeSmrg 1314fbc8bdeSmrg In addition, if you use an unusual directory layout you can give 1324fbc8bdeSmrgoptions like `--bindir=DIR' to specify different values for particular 1334fbc8bdeSmrgkinds of files. Run `configure --help' for a list of the directories 1344fbc8bdeSmrgyou can set and what kinds of files go in them. 1354fbc8bdeSmrg 1364fbc8bdeSmrg If the package supports it, you can cause programs to be installed 1374fbc8bdeSmrgwith an extra prefix or suffix on their names by giving `configure' the 1384fbc8bdeSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 1394fbc8bdeSmrg 1404fbc8bdeSmrgOptional Features 1414fbc8bdeSmrg================= 1424fbc8bdeSmrg 1434fbc8bdeSmrg Some packages pay attention to `--enable-FEATURE' options to 1444fbc8bdeSmrg`configure', where FEATURE indicates an optional part of the package. 1454fbc8bdeSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 1464fbc8bdeSmrgis something like `gnu-as' or `x' (for the X Window System). The 1474fbc8bdeSmrg`README' should mention any `--enable-' and `--with-' options that the 1484fbc8bdeSmrgpackage recognizes. 1494fbc8bdeSmrg 1504fbc8bdeSmrg For packages that use the X Window System, `configure' can usually 1514fbc8bdeSmrgfind the X include and library files automatically, but if it doesn't, 1524fbc8bdeSmrgyou can use the `configure' options `--x-includes=DIR' and 1534fbc8bdeSmrg`--x-libraries=DIR' to specify their locations. 1544fbc8bdeSmrg 1554fbc8bdeSmrgParticular systems 1564fbc8bdeSmrg================== 1574fbc8bdeSmrg 1584fbc8bdeSmrg On HP-UX, the default C compiler is not ANSI C compatible. If GNU 1594fbc8bdeSmrgCC is not installed, it is recommended to use the following options in 1604fbc8bdeSmrgorder to use an ANSI C compiler: 1614fbc8bdeSmrg 1624fbc8bdeSmrg ./configure CC="cc -Ae" 1634fbc8bdeSmrg 1644fbc8bdeSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX. 1654fbc8bdeSmrg 1664fbc8bdeSmrg On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 1674fbc8bdeSmrgparse its `<wchar.h>' header file. The option `-nodtk' can be used as 1684fbc8bdeSmrga workaround. If GNU CC is not installed, it is therefore recommended 1694fbc8bdeSmrgto try 1704fbc8bdeSmrg 1714fbc8bdeSmrg ./configure CC="cc" 1724fbc8bdeSmrg 1734fbc8bdeSmrgand if that doesn't work, try 1744fbc8bdeSmrg 1754fbc8bdeSmrg ./configure CC="cc -nodtk" 1764fbc8bdeSmrg 1774fbc8bdeSmrgSpecifying the System Type 1784fbc8bdeSmrg========================== 1794fbc8bdeSmrg 1804fbc8bdeSmrg There may be some features `configure' cannot figure out 1814fbc8bdeSmrgautomatically, but needs to determine by the type of machine the package 1824fbc8bdeSmrgwill run on. Usually, assuming the package is built to be run on the 1834fbc8bdeSmrg_same_ architectures, `configure' can figure that out, but if it prints 1844fbc8bdeSmrga message saying it cannot guess the machine type, give it the 1854fbc8bdeSmrg`--build=TYPE' option. TYPE can either be a short name for the system 1864fbc8bdeSmrgtype, such as `sun4', or a canonical name which has the form: 1874fbc8bdeSmrg 1884fbc8bdeSmrg CPU-COMPANY-SYSTEM 1894fbc8bdeSmrg 1904fbc8bdeSmrgwhere SYSTEM can have one of these forms: 1914fbc8bdeSmrg 1924fbc8bdeSmrg OS KERNEL-OS 1934fbc8bdeSmrg 1944fbc8bdeSmrg See the file `config.sub' for the possible values of each field. If 1954fbc8bdeSmrg`config.sub' isn't included in this package, then this package doesn't 1964fbc8bdeSmrgneed to know the machine type. 1974fbc8bdeSmrg 1984fbc8bdeSmrg If you are _building_ compiler tools for cross-compiling, you should 1994fbc8bdeSmrguse the option `--target=TYPE' to select the type of system they will 2004fbc8bdeSmrgproduce code for. 2014fbc8bdeSmrg 2024fbc8bdeSmrg If you want to _use_ a cross compiler, that generates code for a 2034fbc8bdeSmrgplatform different from the build platform, you should specify the 2044fbc8bdeSmrg"host" platform (i.e., that on which the generated programs will 2054fbc8bdeSmrgeventually be run) with `--host=TYPE'. 2064fbc8bdeSmrg 2074fbc8bdeSmrgSharing Defaults 2084fbc8bdeSmrg================ 2094fbc8bdeSmrg 2104fbc8bdeSmrg If you want to set default values for `configure' scripts to share, 2114fbc8bdeSmrgyou can create a site shell script called `config.site' that gives 2124fbc8bdeSmrgdefault values for variables like `CC', `cache_file', and `prefix'. 2134fbc8bdeSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then 2144fbc8bdeSmrg`PREFIX/etc/config.site' if it exists. Or, you can set the 2154fbc8bdeSmrg`CONFIG_SITE' environment variable to the location of the site script. 2164fbc8bdeSmrgA warning: not all `configure' scripts look for a site script. 2174fbc8bdeSmrg 2184fbc8bdeSmrgDefining Variables 2194fbc8bdeSmrg================== 2204fbc8bdeSmrg 2214fbc8bdeSmrg Variables not defined in a site shell script can be set in the 2224fbc8bdeSmrgenvironment passed to `configure'. However, some packages may run 2234fbc8bdeSmrgconfigure again during the build, and the customized values of these 2244fbc8bdeSmrgvariables may be lost. In order to avoid this problem, you should set 2254fbc8bdeSmrgthem in the `configure' command line, using `VAR=value'. For example: 2264fbc8bdeSmrg 2274fbc8bdeSmrg ./configure CC=/usr/local2/bin/gcc 2284fbc8bdeSmrg 2294fbc8bdeSmrgcauses the specified `gcc' to be used as the C compiler (unless it is 2304fbc8bdeSmrgoverridden in the site shell script). 2314fbc8bdeSmrg 2324fbc8bdeSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to 2334fbc8bdeSmrgan Autoconf bug. Until the bug is fixed you can use this workaround: 2344fbc8bdeSmrg 2354fbc8bdeSmrg CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 2364fbc8bdeSmrg 2374fbc8bdeSmrg`configure' Invocation 2384fbc8bdeSmrg====================== 2394fbc8bdeSmrg 2404fbc8bdeSmrg `configure' recognizes the following options to control how it 2414fbc8bdeSmrgoperates. 2424fbc8bdeSmrg 2434fbc8bdeSmrg`--help' 2444fbc8bdeSmrg`-h' 2454fbc8bdeSmrg Print a summary of all of the options to `configure', and exit. 2464fbc8bdeSmrg 2474fbc8bdeSmrg`--help=short' 2484fbc8bdeSmrg`--help=recursive' 2494fbc8bdeSmrg Print a summary of the options unique to this package's 2504fbc8bdeSmrg `configure', and exit. The `short' variant lists options used 2514fbc8bdeSmrg only in the top level, while the `recursive' variant lists options 2524fbc8bdeSmrg also present in any nested packages. 2534fbc8bdeSmrg 2544fbc8bdeSmrg`--version' 2554fbc8bdeSmrg`-V' 2564fbc8bdeSmrg Print the version of Autoconf used to generate the `configure' 2574fbc8bdeSmrg script, and exit. 2584fbc8bdeSmrg 2594fbc8bdeSmrg`--cache-file=FILE' 2604fbc8bdeSmrg Enable the cache: use and save the results of the tests in FILE, 2614fbc8bdeSmrg traditionally `config.cache'. FILE defaults to `/dev/null' to 2624fbc8bdeSmrg disable caching. 2634fbc8bdeSmrg 2644fbc8bdeSmrg`--config-cache' 2654fbc8bdeSmrg`-C' 2664fbc8bdeSmrg Alias for `--cache-file=config.cache'. 2674fbc8bdeSmrg 2684fbc8bdeSmrg`--quiet' 2694fbc8bdeSmrg`--silent' 2704fbc8bdeSmrg`-q' 2714fbc8bdeSmrg Do not print messages saying which checks are being made. To 2724fbc8bdeSmrg suppress all normal output, redirect it to `/dev/null' (any error 2734fbc8bdeSmrg messages will still be shown). 2744fbc8bdeSmrg 2754fbc8bdeSmrg`--srcdir=DIR' 2764fbc8bdeSmrg Look for the package's source code in directory DIR. Usually 2774fbc8bdeSmrg `configure' can determine that directory automatically. 2784fbc8bdeSmrg 2794fbc8bdeSmrg`--prefix=DIR' 2804fbc8bdeSmrg Use DIR as the installation prefix. *Note Installation Names:: 2814fbc8bdeSmrg for more details, including other options available for fine-tuning 2824fbc8bdeSmrg the installation locations. 2834fbc8bdeSmrg 2844fbc8bdeSmrg`--no-create' 2854fbc8bdeSmrg`-n' 2864fbc8bdeSmrg Run the configure checks, but stop before creating any output 2874fbc8bdeSmrg files. 2884fbc8bdeSmrg 2894fbc8bdeSmrg`configure' also accepts some other, not widely useful, options. Run 2904fbc8bdeSmrg`configure --help' for more details. 2914fbc8bdeSmrg 292