INSTALL revision 7cf0acd0
17cf0acd0SmrgInstallation Instructions 27cf0acd0Smrg************************* 37cf0acd0Smrg 47cf0acd0SmrgCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 57cf0acd0Smrg2006, 2007, 2008 Free Software Foundation, Inc. 67cf0acd0Smrg 77cf0acd0Smrg This file is free documentation; the Free Software Foundation gives 87cf0acd0Smrgunlimited permission to copy, distribute and modify it. 97cf0acd0Smrg 107cf0acd0SmrgBasic Installation 117cf0acd0Smrg================== 127cf0acd0Smrg 137cf0acd0Smrg Briefly, the shell commands `./configure; make; make install' should 147cf0acd0Smrgconfigure, build, and install this package. The following 157cf0acd0Smrgmore-detailed instructions are generic; see the `README' file for 167cf0acd0Smrginstructions specific to this package. 177cf0acd0Smrg 187cf0acd0Smrg The `configure' shell script attempts to guess correct values for 197cf0acd0Smrgvarious system-dependent variables used during compilation. It uses 207cf0acd0Smrgthose values to create a `Makefile' in each directory of the package. 217cf0acd0SmrgIt may also create one or more `.h' files containing system-dependent 227cf0acd0Smrgdefinitions. Finally, it creates a shell script `config.status' that 237cf0acd0Smrgyou can run in the future to recreate the current configuration, and a 247cf0acd0Smrgfile `config.log' containing compiler output (useful mainly for 257cf0acd0Smrgdebugging `configure'). 267cf0acd0Smrg 277cf0acd0Smrg It can also use an optional file (typically called `config.cache' 287cf0acd0Smrgand enabled with `--cache-file=config.cache' or simply `-C') that saves 297cf0acd0Smrgthe results of its tests to speed up reconfiguring. Caching is 307cf0acd0Smrgdisabled by default to prevent problems with accidental use of stale 317cf0acd0Smrgcache files. 327cf0acd0Smrg 337cf0acd0Smrg If you need to do unusual things to compile the package, please try 347cf0acd0Smrgto figure out how `configure' could check whether to do them, and mail 357cf0acd0Smrgdiffs or instructions to the address given in the `README' so they can 367cf0acd0Smrgbe considered for the next release. If you are using the cache, and at 377cf0acd0Smrgsome point `config.cache' contains results you don't want to keep, you 387cf0acd0Smrgmay remove or edit it. 397cf0acd0Smrg 407cf0acd0Smrg The file `configure.ac' (or `configure.in') is used to create 417cf0acd0Smrg`configure' by a program called `autoconf'. You need `configure.ac' if 427cf0acd0Smrgyou want to change it or regenerate `configure' using a newer version 437cf0acd0Smrgof `autoconf'. 447cf0acd0Smrg 457cf0acd0SmrgThe simplest way to compile this package is: 467cf0acd0Smrg 477cf0acd0Smrg 1. `cd' to the directory containing the package's source code and type 487cf0acd0Smrg `./configure' to configure the package for your system. 497cf0acd0Smrg 507cf0acd0Smrg Running `configure' might take a while. While running, it prints 517cf0acd0Smrg some messages telling which features it is checking for. 527cf0acd0Smrg 537cf0acd0Smrg 2. Type `make' to compile the package. 547cf0acd0Smrg 557cf0acd0Smrg 3. Optionally, type `make check' to run any self-tests that come with 567cf0acd0Smrg the package. 577cf0acd0Smrg 587cf0acd0Smrg 4. Type `make install' to install the programs and any data files and 597cf0acd0Smrg documentation. 607cf0acd0Smrg 617cf0acd0Smrg 5. You can remove the program binaries and object files from the 627cf0acd0Smrg source code directory by typing `make clean'. To also remove the 637cf0acd0Smrg files that `configure' created (so you can compile the package for 647cf0acd0Smrg a different kind of computer), type `make distclean'. There is 657cf0acd0Smrg also a `make maintainer-clean' target, but that is intended mainly 667cf0acd0Smrg for the package's developers. If you use it, you may have to get 677cf0acd0Smrg all sorts of other programs in order to regenerate files that came 687cf0acd0Smrg with the distribution. 697cf0acd0Smrg 707cf0acd0Smrg 6. Often, you can also type `make uninstall' to remove the installed 717cf0acd0Smrg files again. 727cf0acd0Smrg 737cf0acd0SmrgCompilers and Options 747cf0acd0Smrg===================== 757cf0acd0Smrg 767cf0acd0Smrg Some systems require unusual options for compilation or linking that 777cf0acd0Smrgthe `configure' script does not know about. Run `./configure --help' 787cf0acd0Smrgfor details on some of the pertinent environment variables. 797cf0acd0Smrg 807cf0acd0Smrg You can give `configure' initial values for configuration parameters 817cf0acd0Smrgby setting variables in the command line or in the environment. Here 827cf0acd0Smrgis an example: 837cf0acd0Smrg 847cf0acd0Smrg ./configure CC=c99 CFLAGS=-g LIBS=-lposix 857cf0acd0Smrg 867cf0acd0Smrg *Note Defining Variables::, for more details. 877cf0acd0Smrg 887cf0acd0SmrgCompiling For Multiple Architectures 897cf0acd0Smrg==================================== 907cf0acd0Smrg 917cf0acd0Smrg You can compile the package for more than one kind of computer at the 927cf0acd0Smrgsame time, by placing the object files for each architecture in their 937cf0acd0Smrgown directory. To do this, you can use GNU `make'. `cd' to the 947cf0acd0Smrgdirectory where you want the object files and executables to go and run 957cf0acd0Smrgthe `configure' script. `configure' automatically checks for the 967cf0acd0Smrgsource code in the directory that `configure' is in and in `..'. 977cf0acd0Smrg 987cf0acd0Smrg With a non-GNU `make', it is safer to compile the package for one 997cf0acd0Smrgarchitecture at a time in the source code directory. After you have 1007cf0acd0Smrginstalled the package for one architecture, use `make distclean' before 1017cf0acd0Smrgreconfiguring for another architecture. 1027cf0acd0Smrg 1037cf0acd0Smrg On MacOS X 10.5 and later systems, you can create libraries and 1047cf0acd0Smrgexecutables that work on multiple system types--known as "fat" or 1057cf0acd0Smrg"universal" binaries--by specifying multiple `-arch' options to the 1067cf0acd0Smrgcompiler but only a single `-arch' option to the preprocessor. Like 1077cf0acd0Smrgthis: 1087cf0acd0Smrg 1097cf0acd0Smrg ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1107cf0acd0Smrg CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ 1117cf0acd0Smrg CPP="gcc -E" CXXCPP="g++ -E" 1127cf0acd0Smrg 1137cf0acd0Smrg This is not guaranteed to produce working output in all cases, you 1147cf0acd0Smrgmay have to build one architecture at a time and combine the results 1157cf0acd0Smrgusing the `lipo' tool if you have problems. 1167cf0acd0Smrg 1177cf0acd0SmrgInstallation Names 1187cf0acd0Smrg================== 1197cf0acd0Smrg 1207cf0acd0Smrg By default, `make install' installs the package's commands under 1217cf0acd0Smrg`/usr/local/bin', include files under `/usr/local/include', etc. You 1227cf0acd0Smrgcan specify an installation prefix other than `/usr/local' by giving 1237cf0acd0Smrg`configure' the option `--prefix=PREFIX'. 1247cf0acd0Smrg 1257cf0acd0Smrg You can specify separate installation prefixes for 1267cf0acd0Smrgarchitecture-specific files and architecture-independent files. If you 1277cf0acd0Smrgpass the option `--exec-prefix=PREFIX' to `configure', the package uses 1287cf0acd0SmrgPREFIX as the prefix for installing programs and libraries. 1297cf0acd0SmrgDocumentation and other data files still use the regular prefix. 1307cf0acd0Smrg 1317cf0acd0Smrg In addition, if you use an unusual directory layout you can give 1327cf0acd0Smrgoptions like `--bindir=DIR' to specify different values for particular 1337cf0acd0Smrgkinds of files. Run `configure --help' for a list of the directories 1347cf0acd0Smrgyou can set and what kinds of files go in them. 1357cf0acd0Smrg 1367cf0acd0Smrg If the package supports it, you can cause programs to be installed 1377cf0acd0Smrgwith an extra prefix or suffix on their names by giving `configure' the 1387cf0acd0Smrgoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 1397cf0acd0Smrg 1407cf0acd0SmrgOptional Features 1417cf0acd0Smrg================= 1427cf0acd0Smrg 1437cf0acd0Smrg Some packages pay attention to `--enable-FEATURE' options to 1447cf0acd0Smrg`configure', where FEATURE indicates an optional part of the package. 1457cf0acd0SmrgThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 1467cf0acd0Smrgis something like `gnu-as' or `x' (for the X Window System). The 1477cf0acd0Smrg`README' should mention any `--enable-' and `--with-' options that the 1487cf0acd0Smrgpackage recognizes. 1497cf0acd0Smrg 1507cf0acd0Smrg For packages that use the X Window System, `configure' can usually 1517cf0acd0Smrgfind the X include and library files automatically, but if it doesn't, 1527cf0acd0Smrgyou can use the `configure' options `--x-includes=DIR' and 1537cf0acd0Smrg`--x-libraries=DIR' to specify their locations. 1547cf0acd0Smrg 1557cf0acd0SmrgParticular systems 1567cf0acd0Smrg================== 1577cf0acd0Smrg 1587cf0acd0Smrg On HP-UX, the default C compiler is not ANSI C compatible. If GNU 1597cf0acd0SmrgCC is not installed, it is recommended to use the following options in 1607cf0acd0Smrgorder to use an ANSI C compiler: 1617cf0acd0Smrg 1627cf0acd0Smrg ./configure CC="cc -Ae" 1637cf0acd0Smrg 1647cf0acd0Smrgand if that doesn't work, install pre-built binaries of GCC for HP-UX. 1657cf0acd0Smrg 1667cf0acd0Smrg On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot 1677cf0acd0Smrgparse its `<wchar.h>' header file. The option `-nodtk' can be used as 1687cf0acd0Smrga workaround. If GNU CC is not installed, it is therefore recommended 1697cf0acd0Smrgto try 1707cf0acd0Smrg 1717cf0acd0Smrg ./configure CC="cc" 1727cf0acd0Smrg 1737cf0acd0Smrgand if that doesn't work, try 1747cf0acd0Smrg 1757cf0acd0Smrg ./configure CC="cc -nodtk" 1767cf0acd0Smrg 1777cf0acd0SmrgSpecifying the System Type 1787cf0acd0Smrg========================== 1797cf0acd0Smrg 1807cf0acd0Smrg There may be some features `configure' cannot figure out 1817cf0acd0Smrgautomatically, but needs to determine by the type of machine the package 1827cf0acd0Smrgwill run on. Usually, assuming the package is built to be run on the 1837cf0acd0Smrg_same_ architectures, `configure' can figure that out, but if it prints 1847cf0acd0Smrga message saying it cannot guess the machine type, give it the 1857cf0acd0Smrg`--build=TYPE' option. TYPE can either be a short name for the system 1867cf0acd0Smrgtype, such as `sun4', or a canonical name which has the form: 1877cf0acd0Smrg 1887cf0acd0Smrg CPU-COMPANY-SYSTEM 1897cf0acd0Smrg 1907cf0acd0Smrgwhere SYSTEM can have one of these forms: 1917cf0acd0Smrg 1927cf0acd0Smrg OS KERNEL-OS 1937cf0acd0Smrg 1947cf0acd0Smrg See the file `config.sub' for the possible values of each field. If 1957cf0acd0Smrg`config.sub' isn't included in this package, then this package doesn't 1967cf0acd0Smrgneed to know the machine type. 1977cf0acd0Smrg 1987cf0acd0Smrg If you are _building_ compiler tools for cross-compiling, you should 1997cf0acd0Smrguse the option `--target=TYPE' to select the type of system they will 2007cf0acd0Smrgproduce code for. 2017cf0acd0Smrg 2027cf0acd0Smrg If you want to _use_ a cross compiler, that generates code for a 2037cf0acd0Smrgplatform different from the build platform, you should specify the 2047cf0acd0Smrg"host" platform (i.e., that on which the generated programs will 2057cf0acd0Smrgeventually be run) with `--host=TYPE'. 2067cf0acd0Smrg 2077cf0acd0SmrgSharing Defaults 2087cf0acd0Smrg================ 2097cf0acd0Smrg 2107cf0acd0Smrg If you want to set default values for `configure' scripts to share, 2117cf0acd0Smrgyou can create a site shell script called `config.site' that gives 2127cf0acd0Smrgdefault values for variables like `CC', `cache_file', and `prefix'. 2137cf0acd0Smrg`configure' looks for `PREFIX/share/config.site' if it exists, then 2147cf0acd0Smrg`PREFIX/etc/config.site' if it exists. Or, you can set the 2157cf0acd0Smrg`CONFIG_SITE' environment variable to the location of the site script. 2167cf0acd0SmrgA warning: not all `configure' scripts look for a site script. 2177cf0acd0Smrg 2187cf0acd0SmrgDefining Variables 2197cf0acd0Smrg================== 2207cf0acd0Smrg 2217cf0acd0Smrg Variables not defined in a site shell script can be set in the 2227cf0acd0Smrgenvironment passed to `configure'. However, some packages may run 2237cf0acd0Smrgconfigure again during the build, and the customized values of these 2247cf0acd0Smrgvariables may be lost. In order to avoid this problem, you should set 2257cf0acd0Smrgthem in the `configure' command line, using `VAR=value'. For example: 2267cf0acd0Smrg 2277cf0acd0Smrg ./configure CC=/usr/local2/bin/gcc 2287cf0acd0Smrg 2297cf0acd0Smrgcauses the specified `gcc' to be used as the C compiler (unless it is 2307cf0acd0Smrgoverridden in the site shell script). 2317cf0acd0Smrg 2327cf0acd0SmrgUnfortunately, this technique does not work for `CONFIG_SHELL' due to 2337cf0acd0Smrgan Autoconf bug. Until the bug is fixed you can use this workaround: 2347cf0acd0Smrg 2357cf0acd0Smrg CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 2367cf0acd0Smrg 2377cf0acd0Smrg`configure' Invocation 2387cf0acd0Smrg====================== 2397cf0acd0Smrg 2407cf0acd0Smrg `configure' recognizes the following options to control how it 2417cf0acd0Smrgoperates. 2427cf0acd0Smrg 2437cf0acd0Smrg`--help' 2447cf0acd0Smrg`-h' 2457cf0acd0Smrg Print a summary of all of the options to `configure', and exit. 2467cf0acd0Smrg 2477cf0acd0Smrg`--help=short' 2487cf0acd0Smrg`--help=recursive' 2497cf0acd0Smrg Print a summary of the options unique to this package's 2507cf0acd0Smrg `configure', and exit. The `short' variant lists options used 2517cf0acd0Smrg only in the top level, while the `recursive' variant lists options 2527cf0acd0Smrg also present in any nested packages. 2537cf0acd0Smrg 2547cf0acd0Smrg`--version' 2557cf0acd0Smrg`-V' 2567cf0acd0Smrg Print the version of Autoconf used to generate the `configure' 2577cf0acd0Smrg script, and exit. 2587cf0acd0Smrg 2597cf0acd0Smrg`--cache-file=FILE' 2607cf0acd0Smrg Enable the cache: use and save the results of the tests in FILE, 2617cf0acd0Smrg traditionally `config.cache'. FILE defaults to `/dev/null' to 2627cf0acd0Smrg disable caching. 2637cf0acd0Smrg 2647cf0acd0Smrg`--config-cache' 2657cf0acd0Smrg`-C' 2667cf0acd0Smrg Alias for `--cache-file=config.cache'. 2677cf0acd0Smrg 2687cf0acd0Smrg`--quiet' 2697cf0acd0Smrg`--silent' 2707cf0acd0Smrg`-q' 2717cf0acd0Smrg Do not print messages saying which checks are being made. To 2727cf0acd0Smrg suppress all normal output, redirect it to `/dev/null' (any error 2737cf0acd0Smrg messages will still be shown). 2747cf0acd0Smrg 2757cf0acd0Smrg`--srcdir=DIR' 2767cf0acd0Smrg Look for the package's source code in directory DIR. Usually 2777cf0acd0Smrg `configure' can determine that directory automatically. 2787cf0acd0Smrg 2797cf0acd0Smrg`--prefix=DIR' 2807cf0acd0Smrg Use DIR as the installation prefix. *Note Installation Names:: 2817cf0acd0Smrg for more details, including other options available for fine-tuning 2827cf0acd0Smrg the installation locations. 2837cf0acd0Smrg 2847cf0acd0Smrg`--no-create' 2857cf0acd0Smrg`-n' 2867cf0acd0Smrg Run the configure checks, but stop before creating any output 2877cf0acd0Smrg files. 2887cf0acd0Smrg 2897cf0acd0Smrg`configure' also accepts some other, not widely useful, options. Run 2907cf0acd0Smrg`configure --help' for more details. 2917cf0acd0Smrg 292