1Basic Installation 2================== 3 4 These are generic installation instructions. 5 6 The `configure' shell script attempts to guess correct values for 7various system-dependent variables used during compilation. It uses 8those values to create a `Makefile' in each directory of the package. 9It may also create one or more `.h' files containing system-dependent 10definitions. Finally, it creates a shell script `config.status' that 11you can run in the future to recreate the current configuration, a file 12`config.cache' that saves the results of its tests to speed up 13reconfiguring, and a file `config.log' containing compiler output 14(useful mainly for debugging `configure'). 15 16 The file `configure.ac' is used to create `configure' by a program 17called `autoconf'. You only need `configure.ac' if you want to change 18it or regenerate `configure' using a newer version of 19`autoconf'. Please use the autogen.sh shell script, which will run all 20the autotools to generate the `configure' script if it is missing. 21 22The simplest way to compile this package is: 23 24 0. If the configure script is missing, run ./autogen.sh in the source directory 25 26 1. `cd' to the directory containing the package's source code and type 27 `./configure' to configure the package for your system. If you're 28 using `csh' on an old version of System V, you might need to type 29 `sh ./configure' instead to prevent `csh' from trying to execute 30 `configure' itself. 31 32 Running `configure' takes awhile. While running, it prints some 33 messages telling which features it is checking for. 34 35 2. Type `make' to compile the package. 36 37 3. Optionally, type `make check' to run any self-tests that come with 38 the package. 39 40 4. Type `make install' to install the programs and any data files and 41 documentation. 42 43 5. You can remove the program binaries and object files from the 44 source code directory by typing `make clean'. To also remove the 45 files that `configure' created (so you can compile the package for 46 a different kind of computer), type `make distclean'. There is 47 also a `make maintainer-clean' target, but that is intended mainly 48 for the package's developers. If you use it, you may have to get 49 all sorts of other programs in order to regenerate files that came 50 with the distribution. 51 52Compilers and Options 53===================== 54 55 Some systems require unusual options for compilation or linking that 56the `configure' script does not know about. You can give `configure' 57initial values for variables by setting them in the environment. Using 58a Bourne-compatible shell, you can do that on the command line like 59this: 60 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure 61 62Or on systems that have the `env' program, you can do it like this: 63 env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure 64 65Compiling For Multiple Architectures 66==================================== 67 68 You can compile the package for more than one kind of computer at the 69same time, by placing the object files for each architecture in their 70own directory. To do this, you must use a version of `make' that 71supports the `VPATH' variable, such as GNU `make'. `cd' to the 72directory where you want the object files and executables to go and run 73the `configure' script. `configure' automatically checks for the 74source code in the directory that `configure' is in and in `..'. 75 76 If you have to use a `make' that does not supports the `VPATH' 77variable, you have to compile the package for one architecture at a time 78in the source code directory. After you have installed the package for 79one architecture, use `make distclean' before reconfiguring for another 80architecture. 81 82Installation Names 83================== 84 85 By default, `make install' will install the package's files in 86`/usr/local/bin', `/usr/local/man', etc. You can specify an 87installation prefix other than `/usr/local' by giving `configure' the 88option `--prefix=PATH'. 89 90 You can specify separate installation prefixes for 91architecture-specific files and architecture-independent files. If you 92give `configure' the option `--exec-prefix=PATH', the package will use 93PATH as the prefix for installing programs and libraries. 94Documentation and other data files will still use the regular prefix. 95 96 In addition, if you use an unusual directory layout you can give 97options like `--bindir=PATH' to specify different values for particular 98kinds of files. Run `configure --help' for a list of the directories 99you can set and what kinds of files go in them. 100 101 If the package supports it, you can cause programs to be installed 102with an extra prefix or suffix on their names by giving `configure' the 103option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 104 105Optional Features 106================= 107 108 Some packages pay attention to `--enable-FEATURE' options to 109`configure', where FEATURE indicates an optional part of the package. 110They may also pay attention to `--with-PACKAGE' options, where PACKAGE 111is something like `gnu-as' or `x' (for the X Window System). The 112`README' should mention any `--enable-' and `--with-' options that the 113package recognizes. 114 115 For packages that use the X Window System, `configure' can usually 116find the X include and library files automatically, but if it doesn't, 117you can use the `configure' options `--x-includes=DIR' and 118`--x-libraries=DIR' to specify their locations. 119 120Specifying the System Type 121========================== 122 123 There may be some features `configure' can not figure out 124automatically, but needs to determine by the type of host the package 125will run on. Usually `configure' can figure that out, but if it prints 126a message saying it can not guess the host type, give it the 127`--host=TYPE' option. TYPE can either be a short name for the system 128type, such as `sun4', or a canonical name with three fields: 129 CPU-COMPANY-SYSTEM 130 131See the file `config.sub' for the possible values of each field. If 132`config.sub' isn't included in this package, then this package doesn't 133need to know the host type. 134 135 If you are building compiler tools for cross-compiling, you can also 136use the `--target=TYPE' option to select the type of system they will 137produce code for and the `--build=TYPE' option to select the type of 138system on which you are compiling the package. 139 140Sharing Defaults 141================ 142 143 If you want to set default values for `configure' scripts to share, 144you can create a site shell script called `config.site' that gives 145default values for variables like `CC', `cache_file', and `prefix'. 146`configure' looks for `PREFIX/share/config.site' if it exists, then 147`PREFIX/etc/config.site' if it exists. Or, you can set the 148`CONFIG_SITE' environment variable to the location of the site script. 149A warning: not all `configure' scripts look for a site script. 150 151Operation Controls 152================== 153 154 `configure' recognizes the following options to control how it 155operates. 156 157`--cache-file=FILE' 158 Use and save the results of the tests in FILE instead of 159 `./config.cache'. Set FILE to `/dev/null' to disable caching, for 160 debugging `configure'. 161 162`--help' 163 Print a summary of the options to `configure', and exit. 164 165`--quiet' 166`--silent' 167`-q' 168 Do not print messages saying which checks are being made. To 169 suppress all normal output, redirect it to `/dev/null' (any error 170 messages will still be shown). 171 172`--srcdir=DIR' 173 Look for the package's source code in directory DIR. Usually 174 `configure' can determine that directory automatically. 175 176`--version' 177 Print the version of Autoconf used to generate the `configure' 178 script, and exit. 179 180`configure' also accepts some other, not widely useful, options. 181 182