INSTALL revision 3f6d0e1d
13f6d0e1dSmrgInstallation Instructions 23f6d0e1dSmrg************************* 33f6d0e1dSmrg 43f6d0e1dSmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 53f6d0e1dSmrg2006, 2007, 2008 Free Software Foundation, Inc. 63f6d0e1dSmrg 73f6d0e1dSmrg This file is free documentation; the Free Software Foundation gives 83f6d0e1dSmrgunlimited permission to copy, distribute and modify it. 93f6d0e1dSmrg 103f6d0e1dSmrgBasic Installation 113f6d0e1dSmrg================== 123f6d0e1dSmrg 133f6d0e1dSmrg Briefly, the shell commands `./configure; make; make install' should 143f6d0e1dSmrgconfigure, build, and install this package. The following 153f6d0e1dSmrgmore-detailed instructions are generic; see the `README' file for 163f6d0e1dSmrginstructions specific to this package. 173f6d0e1dSmrg 183f6d0e1dSmrg The `configure' shell script attempts to guess correct values for 193f6d0e1dSmrgvarious system-dependent variables used during compilation. It uses 203f6d0e1dSmrgthose values to create a `Makefile' in each directory of the package. 213f6d0e1dSmrgIt may also create one or more `.h' files containing system-dependent 223f6d0e1dSmrgdefinitions. Finally, it creates a shell script `config.status' that 233f6d0e1dSmrgyou can run in the future to recreate the current configuration, and a 243f6d0e1dSmrgfile `config.log' containing compiler output (useful mainly for 253f6d0e1dSmrgdebugging `configure'). 263f6d0e1dSmrg 273f6d0e1dSmrg It can also use an optional file (typically called `config.cache' 283f6d0e1dSmrgand enabled with `--cache-file=config.cache' or simply `-C') that saves 293f6d0e1dSmrgthe results of its tests to speed up reconfiguring. Caching is 303f6d0e1dSmrgdisabled by default to prevent problems with accidental use of stale 313f6d0e1dSmrgcache files. 323f6d0e1dSmrg 333f6d0e1dSmrg If you need to do unusual things to compile the package, please try 343f6d0e1dSmrgto figure out how `configure' could check whether to do them, and mail 353f6d0e1dSmrgdiffs or instructions to the address given in the `README' so they can 363f6d0e1dSmrgbe considered for the next release. If you are using the cache, and at 373f6d0e1dSmrgsome point `config.cache' contains results you don't want to keep, you 383f6d0e1dSmrgmay remove or edit it. 393f6d0e1dSmrg 403f6d0e1dSmrg The file `configure.ac' (or `configure.in') is used to create 413f6d0e1dSmrg`configure' by a program called `autoconf'. You need `configure.ac' if 423f6d0e1dSmrgyou want to change it or regenerate `configure' using a newer version 433f6d0e1dSmrgof `autoconf'. 443f6d0e1dSmrg 453f6d0e1dSmrgThe simplest way to compile this package is: 463f6d0e1dSmrg 473f6d0e1dSmrg 1. `cd' to the directory containing the package's source code and type 483f6d0e1dSmrg `./configure' to configure the package for your system. 493f6d0e1dSmrg 503f6d0e1dSmrg Running `configure' might take a while. While running, it prints 513f6d0e1dSmrg some messages telling which features it is checking for. 523f6d0e1dSmrg 533f6d0e1dSmrg 2. Type `make' to compile the package. 543f6d0e1dSmrg 553f6d0e1dSmrg 3. Optionally, type `make check' to run any self-tests that come with 563f6d0e1dSmrg the package. 573f6d0e1dSmrg 583f6d0e1dSmrg 4. Type `make install' to install the programs and any data files and 593f6d0e1dSmrg documentation. 603f6d0e1dSmrg 613f6d0e1dSmrg 5. You can remove the program binaries and object files from the 623f6d0e1dSmrg source code directory by typing `make clean'. To also remove the 633f6d0e1dSmrg files that `configure' created (so you can compile the package for 643f6d0e1dSmrg a different kind of computer), type `make distclean'. There is 653f6d0e1dSmrg also a `make maintainer-clean' target, but that is intended mainly 663f6d0e1dSmrg for the package's developers. If you use it, you may have to get 673f6d0e1dSmrg all sorts of other programs in order to regenerate files that came 683f6d0e1dSmrg with the distribution. 693f6d0e1dSmrg 703f6d0e1dSmrg 6. Often, you can also type `make uninstall' to remove the installed 713f6d0e1dSmrg files again. 723f6d0e1dSmrg 733f6d0e1dSmrgCompilers and Options 743f6d0e1dSmrg===================== 753f6d0e1dSmrg 763f6d0e1dSmrg Some systems require unusual options for compilation or linking that 773f6d0e1dSmrgthe `configure' script does not know about. Run `./configure --help' 783f6d0e1dSmrgfor details on some of the pertinent environment variables. 793f6d0e1dSmrg 803f6d0e1dSmrg You can give `configure' initial values for configuration parameters 813f6d0e1dSmrgby setting variables in the command line or in the environment. Here 823f6d0e1dSmrgis an example: 833f6d0e1dSmrg 843f6d0e1dSmrg ./configure CC=c99 CFLAGS=-g LIBS=-lposix 853f6d0e1dSmrg 863f6d0e1dSmrg *Note Defining Variables::, for more details. 873f6d0e1dSmrg 883f6d0e1dSmrgCompiling For Multiple Architectures 893f6d0e1dSmrg==================================== 903f6d0e1dSmrg 913f6d0e1dSmrg You can compile the package for more than one kind of computer at the 923f6d0e1dSmrgsame time, by placing the object files for each architecture in their 933f6d0e1dSmrgown directory. To do this, you can use GNU `make'. `cd' to the 943f6d0e1dSmrgdirectory where you want the object files and executables to go and run 953f6d0e1dSmrgthe `configure' script. `configure' automatically checks for the 963f6d0e1dSmrgsource code in the directory that `configure' is in and in `..'. 973f6d0e1dSmrg 983f6d0e1dSmrg With a non-GNU `make', it is safer to compile the package for one 993f6d0e1dSmrgarchitecture at a time in the source code directory. After you have 1003f6d0e1dSmrginstalled the package for one architecture, use `make distclean' before 1013f6d0e1dSmrgreconfiguring for another architecture. 1023f6d0e1dSmrg 1033f6d0e1dSmrg On MacOS X 10.5 and later systems, you can create libraries and 1043f6d0e1dSmrgexecutables that work on multiple system types--known as "fat" or 1053f6d0e1dSmrg"universal" binaries--by specifying multiple `-arch' options to the 1063f6d0e1dSmrgcompiler but only a single `-arch' option to the preprocessor. Like 1073f6d0e1dSmrgthis: 1083f6d0e1dSmrg 1093f6d0e1dSmrg ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1103f6d0e1dSmrg CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1113f6d0e1dSmrg CPP="gcc -E" CXXCPP="g++ -E" 1123f6d0e1dSmrg 1133f6d0e1dSmrg This is not guaranteed to produce working output in all cases, you 1143f6d0e1dSmrgmay have to build one architecture at a time and combine the results 1153f6d0e1dSmrgusing the `lipo' tool if you have problems. 1163f6d0e1dSmrg 1173f6d0e1dSmrgInstallation Names 1183f6d0e1dSmrg================== 1193f6d0e1dSmrg 1203f6d0e1dSmrg By default, `make install' installs the package's commands under 1213f6d0e1dSmrg`/usr/local/bin', include files under `/usr/local/include', etc. You 1223f6d0e1dSmrgcan specify an installation prefix other than `/usr/local' by giving 1233f6d0e1dSmrg`configure' the option `--prefix=PREFIX'. 1243f6d0e1dSmrg 1253f6d0e1dSmrg You can specify separate installation prefixes for 1263f6d0e1dSmrgarchitecture-specific files and architecture-independent files. If you 1273f6d0e1dSmrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses 1283f6d0e1dSmrgPREFIX as the prefix for installing programs and libraries. 1293f6d0e1dSmrgDocumentation and other data files still use the regular prefix. 1303f6d0e1dSmrg 1313f6d0e1dSmrg In addition, if you use an unusual directory layout you can give 1323f6d0e1dSmrgoptions like `--bindir=DIR' to specify different values for particular 1333f6d0e1dSmrgkinds of files. Run `configure --help' for a list of the directories 1343f6d0e1dSmrgyou can set and what kinds of files go in them. 1353f6d0e1dSmrg 1363f6d0e1dSmrg If the package supports it, you can cause programs to be installed 1373f6d0e1dSmrgwith an extra prefix or suffix on their names by giving `configure' the 1383f6d0e1dSmrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 1393f6d0e1dSmrg 1403f6d0e1dSmrgOptional Features 1413f6d0e1dSmrg================= 1423f6d0e1dSmrg 1433f6d0e1dSmrg Some packages pay attention to `--enable-FEATURE' options to 1443f6d0e1dSmrg`configure', where FEATURE indicates an optional part of the package. 1453f6d0e1dSmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 1463f6d0e1dSmrgis something like `gnu-as' or `x' (for the X Window System). The 1473f6d0e1dSmrg`README' should mention any `--enable-' and `--with-' options that the 1483f6d0e1dSmrgpackage recognizes. 1493f6d0e1dSmrg 1503f6d0e1dSmrg For packages that use the X Window System, `configure' can usually 1513f6d0e1dSmrgfind the X include and library files automatically, but if it doesn't, 1523f6d0e1dSmrgyou can use the `configure' options `--x-includes=DIR' and 1533f6d0e1dSmrg`--x-libraries=DIR' to specify their locations. 1543f6d0e1dSmrg 1553f6d0e1dSmrgParticular systems 1563f6d0e1dSmrg================== 1573f6d0e1dSmrg 1583f6d0e1dSmrg On HP-UX, the default C compiler is not ANSI C compatible. If GNU 1593f6d0e1dSmrgCC is not installed, it is recommended to use the following options in 1603f6d0e1dSmrgorder to use an ANSI C compiler: 1613f6d0e1dSmrg 1623f6d0e1dSmrg ./configure CC="cc -Ae" 1633f6d0e1dSmrg 1643f6d0e1dSmrgand if that doesn't work, install pre-built binaries of GCC for HP-UX. 1653f6d0e1dSmrg 1663f6d0e1dSmrg On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 1673f6d0e1dSmrgparse its `<wchar.h>' header file. The option `-nodtk' can be used as 1683f6d0e1dSmrga workaround. If GNU CC is not installed, it is therefore recommended 1693f6d0e1dSmrgto try 1703f6d0e1dSmrg 1713f6d0e1dSmrg ./configure CC="cc" 1723f6d0e1dSmrg 1733f6d0e1dSmrgand if that doesn't work, try 1743f6d0e1dSmrg 1753f6d0e1dSmrg ./configure CC="cc -nodtk" 1763f6d0e1dSmrg 1773f6d0e1dSmrgSpecifying the System Type 1783f6d0e1dSmrg========================== 1793f6d0e1dSmrg 1803f6d0e1dSmrg There may be some features `configure' cannot figure out 1813f6d0e1dSmrgautomatically, but needs to determine by the type of machine the package 1823f6d0e1dSmrgwill run on. Usually, assuming the package is built to be run on the 1833f6d0e1dSmrg_same_ architectures, `configure' can figure that out, but if it prints 1843f6d0e1dSmrga message saying it cannot guess the machine type, give it the 1853f6d0e1dSmrg`--build=TYPE' option. TYPE can either be a short name for the system 1863f6d0e1dSmrgtype, such as `sun4', or a canonical name which has the form: 1873f6d0e1dSmrg 1883f6d0e1dSmrg CPU-COMPANY-SYSTEM 1893f6d0e1dSmrg 1903f6d0e1dSmrgwhere SYSTEM can have one of these forms: 1913f6d0e1dSmrg 1923f6d0e1dSmrg OS KERNEL-OS 1933f6d0e1dSmrg 1943f6d0e1dSmrg See the file `config.sub' for the possible values of each field. If 1953f6d0e1dSmrg`config.sub' isn't included in this package, then this package doesn't 1963f6d0e1dSmrgneed to know the machine type. 1973f6d0e1dSmrg 1983f6d0e1dSmrg If you are _building_ compiler tools for cross-compiling, you should 1993f6d0e1dSmrguse the option `--target=TYPE' to select the type of system they will 2003f6d0e1dSmrgproduce code for. 2013f6d0e1dSmrg 2023f6d0e1dSmrg If you want to _use_ a cross compiler, that generates code for a 2033f6d0e1dSmrgplatform different from the build platform, you should specify the 2043f6d0e1dSmrg"host" platform (i.e., that on which the generated programs will 2053f6d0e1dSmrgeventually be run) with `--host=TYPE'. 2063f6d0e1dSmrg 2073f6d0e1dSmrgSharing Defaults 2083f6d0e1dSmrg================ 2093f6d0e1dSmrg 2103f6d0e1dSmrg If you want to set default values for `configure' scripts to share, 2113f6d0e1dSmrgyou can create a site shell script called `config.site' that gives 2123f6d0e1dSmrgdefault values for variables like `CC', `cache_file', and `prefix'. 2133f6d0e1dSmrg`configure' looks for `PREFIX/share/config.site' if it exists, then 2143f6d0e1dSmrg`PREFIX/etc/config.site' if it exists. Or, you can set the 2153f6d0e1dSmrg`CONFIG_SITE' environment variable to the location of the site script. 2163f6d0e1dSmrgA warning: not all `configure' scripts look for a site script. 2173f6d0e1dSmrg 2183f6d0e1dSmrgDefining Variables 2193f6d0e1dSmrg================== 2203f6d0e1dSmrg 2213f6d0e1dSmrg Variables not defined in a site shell script can be set in the 2223f6d0e1dSmrgenvironment passed to `configure'. However, some packages may run 2233f6d0e1dSmrgconfigure again during the build, and the customized values of these 2243f6d0e1dSmrgvariables may be lost. In order to avoid this problem, you should set 2253f6d0e1dSmrgthem in the `configure' command line, using `VAR=value'. For example: 2263f6d0e1dSmrg 2273f6d0e1dSmrg ./configure CC=/usr/local2/bin/gcc 2283f6d0e1dSmrg 2293f6d0e1dSmrgcauses the specified `gcc' to be used as the C compiler (unless it is 2303f6d0e1dSmrgoverridden in the site shell script). 2313f6d0e1dSmrg 2323f6d0e1dSmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to 2333f6d0e1dSmrgan Autoconf bug. Until the bug is fixed you can use this workaround: 2343f6d0e1dSmrg 2353f6d0e1dSmrg CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 2363f6d0e1dSmrg 2373f6d0e1dSmrg`configure' Invocation 2383f6d0e1dSmrg====================== 2393f6d0e1dSmrg 2403f6d0e1dSmrg `configure' recognizes the following options to control how it 2413f6d0e1dSmrgoperates. 2423f6d0e1dSmrg 2433f6d0e1dSmrg`--help' 2443f6d0e1dSmrg`-h' 2453f6d0e1dSmrg Print a summary of all of the options to `configure', and exit. 2463f6d0e1dSmrg 2473f6d0e1dSmrg`--help=short' 2483f6d0e1dSmrg`--help=recursive' 2493f6d0e1dSmrg Print a summary of the options unique to this package's 2503f6d0e1dSmrg `configure', and exit. The `short' variant lists options used 2513f6d0e1dSmrg only in the top level, while the `recursive' variant lists options 2523f6d0e1dSmrg also present in any nested packages. 2533f6d0e1dSmrg 2543f6d0e1dSmrg`--version' 2553f6d0e1dSmrg`-V' 2563f6d0e1dSmrg Print the version of Autoconf used to generate the `configure' 2573f6d0e1dSmrg script, and exit. 2583f6d0e1dSmrg 2593f6d0e1dSmrg`--cache-file=FILE' 2603f6d0e1dSmrg Enable the cache: use and save the results of the tests in FILE, 2613f6d0e1dSmrg traditionally `config.cache'. FILE defaults to `/dev/null' to 2623f6d0e1dSmrg disable caching. 2633f6d0e1dSmrg 2643f6d0e1dSmrg`--config-cache' 2653f6d0e1dSmrg`-C' 2663f6d0e1dSmrg Alias for `--cache-file=config.cache'. 2673f6d0e1dSmrg 2683f6d0e1dSmrg`--quiet' 2693f6d0e1dSmrg`--silent' 2703f6d0e1dSmrg`-q' 2713f6d0e1dSmrg Do not print messages saying which checks are being made. To 2723f6d0e1dSmrg suppress all normal output, redirect it to `/dev/null' (any error 2733f6d0e1dSmrg messages will still be shown). 2743f6d0e1dSmrg 2753f6d0e1dSmrg`--srcdir=DIR' 2763f6d0e1dSmrg Look for the package's source code in directory DIR. Usually 2773f6d0e1dSmrg `configure' can determine that directory automatically. 2783f6d0e1dSmrg 2793f6d0e1dSmrg`--prefix=DIR' 2803f6d0e1dSmrg Use DIR as the installation prefix. *Note Installation Names:: 2813f6d0e1dSmrg for more details, including other options available for fine-tuning 2823f6d0e1dSmrg the installation locations. 2833f6d0e1dSmrg 2843f6d0e1dSmrg`--no-create' 2853f6d0e1dSmrg`-n' 2863f6d0e1dSmrg Run the configure checks, but stop before creating any output 2873f6d0e1dSmrg files. 2883f6d0e1dSmrg 2893f6d0e1dSmrg`configure' also accepts some other, not widely useful, options. Run 2903f6d0e1dSmrg`configure --help' for more details. 2913f6d0e1dSmrg 292