1*588b48caSValentina ManeaInstallation Instructions 2*588b48caSValentina Manea************************* 3*588b48caSValentina Manea 4*588b48caSValentina ManeaCopyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 5*588b48caSValentina Manea2006, 2007 Free Software Foundation, Inc. 6*588b48caSValentina Manea 7*588b48caSValentina ManeaThis file is free documentation; the Free Software Foundation gives 8*588b48caSValentina Maneaunlimited permission to copy, distribute and modify it. 9*588b48caSValentina Manea 10*588b48caSValentina ManeaBasic Installation 11*588b48caSValentina Manea================== 12*588b48caSValentina Manea 13*588b48caSValentina ManeaBriefly, the shell commands `./configure; make; make install' should 14*588b48caSValentina Maneaconfigure, build, and install this package. The following 15*588b48caSValentina Maneamore-detailed instructions are generic; see the `README' file for 16*588b48caSValentina Maneainstructions specific to this package. 17*588b48caSValentina Manea 18*588b48caSValentina Manea The `configure' shell script attempts to guess correct values for 19*588b48caSValentina Maneavarious system-dependent variables used during compilation. It uses 20*588b48caSValentina Maneathose values to create a `Makefile' in each directory of the package. 21*588b48caSValentina ManeaIt may also create one or more `.h' files containing system-dependent 22*588b48caSValentina Maneadefinitions. Finally, it creates a shell script `config.status' that 23*588b48caSValentina Maneayou can run in the future to recreate the current configuration, and a 24*588b48caSValentina Maneafile `config.log' containing compiler output (useful mainly for 25*588b48caSValentina Maneadebugging `configure'). 26*588b48caSValentina Manea 27*588b48caSValentina Manea It can also use an optional file (typically called `config.cache' 28*588b48caSValentina Maneaand enabled with `--cache-file=config.cache' or simply `-C') that saves 29*588b48caSValentina Maneathe results of its tests to speed up reconfiguring. Caching is 30*588b48caSValentina Maneadisabled by default to prevent problems with accidental use of stale 31*588b48caSValentina Maneacache files. 32*588b48caSValentina Manea 33*588b48caSValentina Manea If you need to do unusual things to compile the package, please try 34*588b48caSValentina Maneato figure out how `configure' could check whether to do them, and mail 35*588b48caSValentina Maneadiffs or instructions to the address given in the `README' so they can 36*588b48caSValentina Maneabe considered for the next release. If you are using the cache, and at 37*588b48caSValentina Maneasome point `config.cache' contains results you don't want to keep, you 38*588b48caSValentina Maneamay remove or edit it. 39*588b48caSValentina Manea 40*588b48caSValentina Manea The file `configure.ac' (or `configure.in') is used to create 41*588b48caSValentina Manea`configure' by a program called `autoconf'. You need `configure.ac' if 42*588b48caSValentina Maneayou want to change it or regenerate `configure' using a newer version 43*588b48caSValentina Maneaof `autoconf'. 44*588b48caSValentina Manea 45*588b48caSValentina ManeaThe simplest way to compile this package is: 46*588b48caSValentina Manea 47*588b48caSValentina Manea 1. `cd' to the directory containing the package's source code and type 48*588b48caSValentina Manea `./configure' to configure the package for your system. 49*588b48caSValentina Manea 50*588b48caSValentina Manea Running `configure' might take a while. While running, it prints 51*588b48caSValentina Manea some messages telling which features it is checking for. 52*588b48caSValentina Manea 53*588b48caSValentina Manea 2. Type `make' to compile the package. 54*588b48caSValentina Manea 55*588b48caSValentina Manea 3. Optionally, type `make check' to run any self-tests that come with 56*588b48caSValentina Manea the package. 57*588b48caSValentina Manea 58*588b48caSValentina Manea 4. Type `make install' to install the programs and any data files and 59*588b48caSValentina Manea documentation. 60*588b48caSValentina Manea 61*588b48caSValentina Manea 5. You can remove the program binaries and object files from the 62*588b48caSValentina Manea source code directory by typing `make clean'. To also remove the 63*588b48caSValentina Manea files that `configure' created (so you can compile the package for 64*588b48caSValentina Manea a different kind of computer), type `make distclean'. There is 65*588b48caSValentina Manea also a `make maintainer-clean' target, but that is intended mainly 66*588b48caSValentina Manea for the package's developers. If you use it, you may have to get 67*588b48caSValentina Manea all sorts of other programs in order to regenerate files that came 68*588b48caSValentina Manea with the distribution. 69*588b48caSValentina Manea 70*588b48caSValentina Manea 6. Often, you can also type `make uninstall' to remove the installed 71*588b48caSValentina Manea files again. 72*588b48caSValentina Manea 73*588b48caSValentina ManeaCompilers and Options 74*588b48caSValentina Manea===================== 75*588b48caSValentina Manea 76*588b48caSValentina ManeaSome systems require unusual options for compilation or linking that the 77*588b48caSValentina Manea`configure' script does not know about. Run `./configure --help' for 78*588b48caSValentina Maneadetails on some of the pertinent environment variables. 79*588b48caSValentina Manea 80*588b48caSValentina Manea You can give `configure' initial values for configuration parameters 81*588b48caSValentina Maneaby setting variables in the command line or in the environment. Here 82*588b48caSValentina Maneais an example: 83*588b48caSValentina Manea 84*588b48caSValentina Manea ./configure CC=c99 CFLAGS=-g LIBS=-lposix 85*588b48caSValentina Manea 86*588b48caSValentina Manea *Note Defining Variables::, for more details. 87*588b48caSValentina Manea 88*588b48caSValentina ManeaCompiling For Multiple Architectures 89*588b48caSValentina Manea==================================== 90*588b48caSValentina Manea 91*588b48caSValentina ManeaYou can compile the package for more than one kind of computer at the 92*588b48caSValentina Maneasame time, by placing the object files for each architecture in their 93*588b48caSValentina Maneaown directory. To do this, you can use GNU `make'. `cd' to the 94*588b48caSValentina Maneadirectory where you want the object files and executables to go and run 95*588b48caSValentina Maneathe `configure' script. `configure' automatically checks for the 96*588b48caSValentina Maneasource code in the directory that `configure' is in and in `..'. 97*588b48caSValentina Manea 98*588b48caSValentina Manea With a non-GNU `make', it is safer to compile the package for one 99*588b48caSValentina Maneaarchitecture at a time in the source code directory. After you have 100*588b48caSValentina Maneainstalled the package for one architecture, use `make distclean' before 101*588b48caSValentina Maneareconfiguring for another architecture. 102*588b48caSValentina Manea 103*588b48caSValentina ManeaInstallation Names 104*588b48caSValentina Manea================== 105*588b48caSValentina Manea 106*588b48caSValentina ManeaBy default, `make install' installs the package's commands under 107*588b48caSValentina Manea`/usr/local/bin', include files under `/usr/local/include', etc. You 108*588b48caSValentina Maneacan specify an installation prefix other than `/usr/local' by giving 109*588b48caSValentina Manea`configure' the option `--prefix=PREFIX'. 110*588b48caSValentina Manea 111*588b48caSValentina Manea You can specify separate installation prefixes for 112*588b48caSValentina Maneaarchitecture-specific files and architecture-independent files. If you 113*588b48caSValentina Maneapass the option `--exec-prefix=PREFIX' to `configure', the package uses 114*588b48caSValentina ManeaPREFIX as the prefix for installing programs and libraries. 115*588b48caSValentina ManeaDocumentation and other data files still use the regular prefix. 116*588b48caSValentina Manea 117*588b48caSValentina Manea In addition, if you use an unusual directory layout you can give 118*588b48caSValentina Maneaoptions like `--bindir=DIR' to specify different values for particular 119*588b48caSValentina Maneakinds of files. Run `configure --help' for a list of the directories 120*588b48caSValentina Maneayou can set and what kinds of files go in them. 121*588b48caSValentina Manea 122*588b48caSValentina Manea If the package supports it, you can cause programs to be installed 123*588b48caSValentina Maneawith an extra prefix or suffix on their names by giving `configure' the 124*588b48caSValentina Maneaoption `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. 125*588b48caSValentina Manea 126*588b48caSValentina ManeaOptional Features 127*588b48caSValentina Manea================= 128*588b48caSValentina Manea 129*588b48caSValentina ManeaSome packages pay attention to `--enable-FEATURE' options to 130*588b48caSValentina Manea`configure', where FEATURE indicates an optional part of the package. 131*588b48caSValentina ManeaThey may also pay attention to `--with-PACKAGE' options, where PACKAGE 132*588b48caSValentina Maneais something like `gnu-as' or `x' (for the X Window System). The 133*588b48caSValentina Manea`README' should mention any `--enable-' and `--with-' options that the 134*588b48caSValentina Maneapackage recognizes. 135*588b48caSValentina Manea 136*588b48caSValentina Manea For packages that use the X Window System, `configure' can usually 137*588b48caSValentina Maneafind the X include and library files automatically, but if it doesn't, 138*588b48caSValentina Maneayou can use the `configure' options `--x-includes=DIR' and 139*588b48caSValentina Manea`--x-libraries=DIR' to specify their locations. 140*588b48caSValentina Manea 141*588b48caSValentina ManeaSpecifying the System Type 142*588b48caSValentina Manea========================== 143*588b48caSValentina Manea 144*588b48caSValentina ManeaThere may be some features `configure' cannot figure out automatically, 145*588b48caSValentina Maneabut needs to determine by the type of machine the package will run on. 146*588b48caSValentina ManeaUsually, assuming the package is built to be run on the _same_ 147*588b48caSValentina Maneaarchitectures, `configure' can figure that out, but if it prints a 148*588b48caSValentina Maneamessage saying it cannot guess the machine type, give it the 149*588b48caSValentina Manea`--build=TYPE' option. TYPE can either be a short name for the system 150*588b48caSValentina Maneatype, such as `sun4', or a canonical name which has the form: 151*588b48caSValentina Manea 152*588b48caSValentina Manea CPU-COMPANY-SYSTEM 153*588b48caSValentina Manea 154*588b48caSValentina Maneawhere SYSTEM can have one of these forms: 155*588b48caSValentina Manea 156*588b48caSValentina Manea OS KERNEL-OS 157*588b48caSValentina Manea 158*588b48caSValentina Manea See the file `config.sub' for the possible values of each field. If 159*588b48caSValentina Manea`config.sub' isn't included in this package, then this package doesn't 160*588b48caSValentina Maneaneed to know the machine type. 161*588b48caSValentina Manea 162*588b48caSValentina Manea If you are _building_ compiler tools for cross-compiling, you should 163*588b48caSValentina Maneause the option `--target=TYPE' to select the type of system they will 164*588b48caSValentina Maneaproduce code for. 165*588b48caSValentina Manea 166*588b48caSValentina Manea If you want to _use_ a cross compiler, that generates code for a 167*588b48caSValentina Maneaplatform different from the build platform, you should specify the 168*588b48caSValentina Manea"host" platform (i.e., that on which the generated programs will 169*588b48caSValentina Maneaeventually be run) with `--host=TYPE'. 170*588b48caSValentina Manea 171*588b48caSValentina ManeaSharing Defaults 172*588b48caSValentina Manea================ 173*588b48caSValentina Manea 174*588b48caSValentina ManeaIf you want to set default values for `configure' scripts to share, you 175*588b48caSValentina Maneacan create a site shell script called `config.site' that gives default 176*588b48caSValentina Maneavalues for variables like `CC', `cache_file', and `prefix'. 177*588b48caSValentina Manea`configure' looks for `PREFIX/share/config.site' if it exists, then 178*588b48caSValentina Manea`PREFIX/etc/config.site' if it exists. Or, you can set the 179*588b48caSValentina Manea`CONFIG_SITE' environment variable to the location of the site script. 180*588b48caSValentina ManeaA warning: not all `configure' scripts look for a site script. 181*588b48caSValentina Manea 182*588b48caSValentina ManeaDefining Variables 183*588b48caSValentina Manea================== 184*588b48caSValentina Manea 185*588b48caSValentina ManeaVariables not defined in a site shell script can be set in the 186*588b48caSValentina Maneaenvironment passed to `configure'. However, some packages may run 187*588b48caSValentina Maneaconfigure again during the build, and the customized values of these 188*588b48caSValentina Maneavariables may be lost. In order to avoid this problem, you should set 189*588b48caSValentina Maneathem in the `configure' command line, using `VAR=value'. For example: 190*588b48caSValentina Manea 191*588b48caSValentina Manea ./configure CC=/usr/local2/bin/gcc 192*588b48caSValentina Manea 193*588b48caSValentina Maneacauses the specified `gcc' to be used as the C compiler (unless it is 194*588b48caSValentina Maneaoverridden in the site shell script). 195*588b48caSValentina Manea 196*588b48caSValentina ManeaUnfortunately, this technique does not work for `CONFIG_SHELL' due to 197*588b48caSValentina Maneaan Autoconf bug. Until the bug is fixed you can use this workaround: 198*588b48caSValentina Manea 199*588b48caSValentina Manea CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash 200*588b48caSValentina Manea 201*588b48caSValentina Manea`configure' Invocation 202*588b48caSValentina Manea====================== 203*588b48caSValentina Manea 204*588b48caSValentina Manea`configure' recognizes the following options to control how it operates. 205*588b48caSValentina Manea 206*588b48caSValentina Manea`--help' 207*588b48caSValentina Manea`-h' 208*588b48caSValentina Manea Print a summary of the options to `configure', and exit. 209*588b48caSValentina Manea 210*588b48caSValentina Manea`--version' 211*588b48caSValentina Manea`-V' 212*588b48caSValentina Manea Print the version of Autoconf used to generate the `configure' 213*588b48caSValentina Manea script, and exit. 214*588b48caSValentina Manea 215*588b48caSValentina Manea`--cache-file=FILE' 216*588b48caSValentina Manea Enable the cache: use and save the results of the tests in FILE, 217*588b48caSValentina Manea traditionally `config.cache'. FILE defaults to `/dev/null' to 218*588b48caSValentina Manea disable caching. 219*588b48caSValentina Manea 220*588b48caSValentina Manea`--config-cache' 221*588b48caSValentina Manea`-C' 222*588b48caSValentina Manea Alias for `--cache-file=config.cache'. 223*588b48caSValentina Manea 224*588b48caSValentina Manea`--quiet' 225*588b48caSValentina Manea`--silent' 226*588b48caSValentina Manea`-q' 227*588b48caSValentina Manea Do not print messages saying which checks are being made. To 228*588b48caSValentina Manea suppress all normal output, redirect it to `/dev/null' (any error 229*588b48caSValentina Manea messages will still be shown). 230*588b48caSValentina Manea 231*588b48caSValentina Manea`--srcdir=DIR' 232*588b48caSValentina Manea Look for the package's source code in directory DIR. Usually 233*588b48caSValentina Manea `configure' can determine that directory automatically. 234*588b48caSValentina Manea 235*588b48caSValentina Manea`configure' also accepts some other, not widely useful, options. Run 236*588b48caSValentina Manea`configure --help' for more details. 237*588b48caSValentina Manea 238