| 1 | | $Id$ |
| 2 | | $URL$ |
| 3 | | |
| | 1 | Installation Instructions |
| | 2 | ************************* |
| | 3 | |
| | 4 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, |
| | 5 | 2006, 2007 Free Software Foundation, Inc. |
| | 6 | |
| | 7 | This file is free documentation; the Free Software Foundation gives |
| | 8 | unlimited permission to copy, distribute and modify it. |
| 15 | | you can run in the future to recreate the current configuration, a file |
| 16 | | `config.cache' that saves the results of its tests to speed up |
| 17 | | reconfiguring, and a file `config.log' containing compiler output |
| 18 | | (useful mainly for debugging `configure'). |
| | 23 | you can run in the future to recreate the current configuration, and a |
| | 24 | file `config.log' containing compiler output (useful mainly for |
| | 25 | debugging `configure'). |
| | 26 | |
| | 27 | It can also use an optional file (typically called `config.cache' |
| | 28 | and enabled with `--cache-file=config.cache' or simply `-C') that saves |
| | 29 | the results of its tests to speed up reconfiguring. Caching is |
| | 30 | disabled by default to prevent problems with accidental use of stale |
| | 31 | cache files. |
| 23 | | be considered for the next release. If at some point `config.cache' |
| 24 | | contains results you don't want to keep, you may remove or edit it. |
| 25 | | |
| 26 | | The file `configure.in' is used to create `configure' by a program |
| 27 | | called `autoconf'. You only need `configure.in' if you want to change |
| 28 | | it or regenerate `configure' using a newer version of `autoconf'. |
| | 36 | be considered for the next release. If you are using the cache, and at |
| | 37 | some point `config.cache' contains results you don't want to keep, you |
| | 38 | may remove or edit it. |
| | 39 | |
| | 40 | The file `configure.ac' (or `configure.in') is used to create |
| | 41 | `configure' by a program called `autoconf'. You need `configure.ac' if |
| | 42 | you want to change it or regenerate `configure' using a newer version |
| | 43 | of `autoconf'. |
| 33 | | `./configure' to configure the package for your system. If you're |
| 34 | | using `csh' on an old version of System V, you might need to type |
| 35 | | `sh ./configure' instead to prevent `csh' from trying to execute |
| 36 | | `configure' itself. |
| 37 | | |
| 38 | | Running `configure' takes awhile. While running, it prints some |
| 39 | | messages telling which features it is checking for. |
| | 48 | `./configure' to configure the package for your system. |
| | 49 | |
| | 50 | Running `configure' might take a while. While running, it prints |
| | 51 | some messages telling which features it is checking for. |
| 61 | | Some systems require unusual options for compilation or linking that |
| 62 | | the `configure' script does not know about. You can give `configure' |
| 63 | | initial values for variables by setting them in the environment. Using |
| 64 | | a Bourne-compatible shell, you can do that on the command line like |
| 65 | | this: |
| 66 | | CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
| 67 | | |
| 68 | | Or on systems that have the `env' program, you can do it like this: |
| 69 | | env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
| | 76 | Some systems require unusual options for compilation or linking that the |
| | 77 | `configure' script does not know about. Run `./configure --help' for |
| | 78 | details on some of the pertinent environment variables. |
| | 79 | |
| | 80 | You can give `configure' initial values for configuration parameters |
| | 81 | by setting variables in the command line or in the environment. Here |
| | 82 | is an example: |
| | 83 | |
| | 84 | ./configure CC=c99 CFLAGS=-g LIBS=-lposix |
| | 85 | |
| | 86 | *Note Defining Variables::, for more details. |
| 82 | | If you have to use a `make' that does not supports the `VPATH' |
| 83 | | variable, you have to compile the package for one architecture at a time |
| 84 | | in the source code directory. After you have installed the package for |
| 85 | | one architecture, use `make distclean' before reconfiguring for another |
| 86 | | architecture. |
| | 98 | With a non-GNU `make', it is safer to compile the package for one |
| | 99 | architecture at a time in the source code directory. After you have |
| | 100 | installed the package for one architecture, use `make distclean' before |
| | 101 | reconfiguring for another architecture. |
| 91 | | By default, `make install' will install the package's files in |
| 92 | | `/usr/local/bin', `/usr/local/man', etc. You can specify an |
| 93 | | installation prefix other than `/usr/local' by giving `configure' the |
| 94 | | option `--prefix=PATH'. |
| | 106 | By default, `make install' installs the package's commands under |
| | 107 | `/usr/local/bin', include files under `/usr/local/include', etc. You |
| | 108 | can specify an installation prefix other than `/usr/local' by giving |
| | 109 | `configure' the option `--prefix=PREFIX'. |
| 129 | | There may be some features `configure' can not figure out |
| 130 | | automatically, but needs to determine by the type of host the package |
| 131 | | will run on. Usually `configure' can figure that out, but if it prints |
| 132 | | a message saying it can not guess the host type, give it the |
| 133 | | `--host=TYPE' option. TYPE can either be a short name for the system |
| 134 | | type, such as `sun4', or a canonical name with three fields: |
| | 144 | There may be some features `configure' cannot figure out automatically, |
| | 145 | but needs to determine by the type of machine the package will run on. |
| | 146 | Usually, assuming the package is built to be run on the _same_ |
| | 147 | architectures, `configure' can figure that out, but if it prints a |
| | 148 | message saying it cannot guess the machine type, give it the |
| | 149 | `--build=TYPE' option. TYPE can either be a short name for the system |
| | 150 | type, such as `sun4', or a canonical name which has the form: |
| | 151 | |
| 139 | | need to know the host type. |
| 140 | | |
| 141 | | If you are building compiler tools for cross-compiling, you can also |
| 142 | | use the `--target=TYPE' option to select the type of system they will |
| 143 | | produce code for and the `--build=TYPE' option to select the type of |
| 144 | | system on which you are compiling the package. |
| | 160 | need to know the machine type. |
| | 161 | |
| | 162 | If you are _building_ compiler tools for cross-compiling, you should |
| | 163 | use the option `--target=TYPE' to select the type of system they will |
| | 164 | produce code for. |
| | 165 | |
| | 166 | If you want to _use_ a cross compiler, that generates code for a |
| | 167 | platform different from the build platform, you should specify the |
| | 168 | "host" platform (i.e., that on which the generated programs will |
| | 169 | eventually be run) with `--host=TYPE'. |
| 149 | | If you want to set default values for `configure' scripts to share, |
| 150 | | you can create a site shell script called `config.site' that gives |
| 151 | | default values for variables like `CC', `cache_file', and `prefix'. |
| | 174 | If you want to set default values for `configure' scripts to share, you |
| | 175 | can create a site shell script called `config.site' that gives default |
| | 176 | values for variables like `CC', `cache_file', and `prefix'. |
| 160 | | `configure' recognizes the following options to control how it |
| 161 | | operates. |
| | 185 | Variables not defined in a site shell script can be set in the |
| | 186 | environment passed to `configure'. However, some packages may run |
| | 187 | configure again during the build, and the customized values of these |
| | 188 | variables may be lost. In order to avoid this problem, you should set |
| | 189 | them in the `configure' command line, using `VAR=value'. For example: |
| | 190 | |
| | 191 | ./configure CC=/usr/local2/bin/gcc |
| | 192 | |
| | 193 | causes the specified `gcc' to be used as the C compiler (unless it is |
| | 194 | overridden in the site shell script). |
| | 195 | |
| | 196 | Unfortunately, this technique does not work for `CONFIG_SHELL' due to |
| | 197 | an Autoconf bug. Until the bug is fixed you can use this workaround: |
| | 198 | |
| | 199 | CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash |
| | 200 | |
| | 201 | `configure' Invocation |
| | 202 | ====================== |
| | 203 | |
| | 204 | `configure' recognizes the following options to control how it operates. |
| | 205 | |
| | 206 | `--help' |
| | 207 | `-h' |
| | 208 | Print a summary of the options to `configure', and exit. |
| | 209 | |
| | 210 | `--version' |
| | 211 | `-V' |
| | 212 | Print the version of Autoconf used to generate the `configure' |
| | 213 | script, and exit. |