/[pcre]/code/trunk/INSTALL
ViewVC logotype

Diff of /code/trunk/INSTALL

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 97 by nigel, Fri Mar 2 13:10:43 2007 UTC revision 98 by ph10, Mon Mar 5 15:55:02 2007 UTC
# Line 1  Line 1 
1    Installation Instructions
2    *************************
3    
4    Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5    2006 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.
9    
10  Basic Installation  Basic Installation
11  ==================  ==================
12    
13     These are generic installation instructions that apply to systems that  Briefly, the shell commands `./configure; make; make install' should
14  can run the `configure' shell script - Unix systems and any that imitate  configure, build, and install this package.  The following
15  it. They are not specific to PCRE. There are PCRE-specific instructions  more-detailed instructions are generic; see the `README' file for
16  for non-Unix systems in the file NON-UNIX-USE.  instructions specific to this package.
17    
18     The `configure' shell script attempts to guess correct values for     The `configure' shell script attempts to guess correct values for
19  various system-dependent variables used during compilation.  It uses  various system-dependent variables used during compilation.  It uses
20  those values to create a `Makefile' in each directory of the package.  those values to create a `Makefile' in each directory of the package.
21  It may also create one or more `.h' files containing system-dependent  It may also create one or more `.h' files containing system-dependent
22  definitions.  Finally, it creates a shell script `config.status' that  definitions.  Finally, it creates a shell script `config.status' that
23  you can run in the future to recreate the current configuration, a file  you can run in the future to recreate the current configuration, and a
24  `config.cache' that saves the results of its tests to speed up  file `config.log' containing compiler output (useful mainly for
25  reconfiguring, and a file `config.log' containing compiler output  debugging `configure').
26  (useful mainly for debugging `configure').  
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.
32    
33     If you need to do unusual things to compile the package, please try     If you need to do unusual things to compile the package, please try
34  to figure out how `configure' could check whether to do them, and mail  to figure out how `configure' could check whether to do them, and mail
35  diffs or instructions to the address given in the `README' so they can  diffs or instructions to the address given in the `README' so they can
36  be considered for the next release.  If at some point `config.cache'  be considered for the next release.  If you are using the cache, and at
37  contains results you don't want to keep, you may remove or edit it.  some point `config.cache' contains results you don't want to keep, you
38    may remove or edit it.
39     The file `configure.in' is used to create `configure' by a program  
40  called `autoconf'.  You only need `configure.in' if you want to change     The file `configure.ac' (or `configure.in') is used to create
41  it or regenerate `configure' using a newer version of `autoconf'.  `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'.
44    
45  The simplest way to compile this package is:  The simplest way to compile this package is:
46    
47    1. `cd' to the directory containing the package's source code and type    1. `cd' to the directory containing the package's source code and type
48       `./configure' to configure the package for your system.  If you're       `./configure' to configure the package for your system.
      using `csh' on an old version of System V, you might need to type  
      `sh ./configure' instead to prevent `csh' from trying to execute  
      `configure' itself.  
49    
50       Running `configure' takes awhile.  While running, it prints some       Running `configure' might take a while.  While running, it prints
51       messages telling which features it is checking for.       some messages telling which features it is checking for.
52    
53    2. Type `make' to compile the package.    2. Type `make' to compile the package.
54    
# Line 57  The simplest way to compile this package Line 70  The simplest way to compile this package
70  Compilers and Options  Compilers and Options
71  =====================  =====================
72    
73     Some systems require unusual options for compilation or linking that  Some systems require unusual options for compilation or linking that the
74  the `configure' script does not know about.  You can give `configure'  `configure' script does not know about.  Run `./configure --help' for
75  initial values for variables by setting them in the environment.  Using  details on some of the pertinent environment variables.
76  a Bourne-compatible shell, you can do that on the command line like  
77  this:     You can give `configure' initial values for configuration parameters
78       CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure  by setting variables in the command line or in the environment.  Here
79    is an example:
80    
81         ./configure CC=c99 CFLAGS=-g LIBS=-lposix
82    
83  Or on systems that have the `env' program, you can do it like this:     *Note Defining Variables::, for more details.
      env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure  
84    
85  Compiling For Multiple Architectures  Compiling For Multiple Architectures
86  ====================================  ====================================
87    
88     You can compile the package for more than one kind of computer at the  You can compile the package for more than one kind of computer at the
89  same time, by placing the object files for each architecture in their  same time, by placing the object files for each architecture in their
90  own directory.  To do this, you must use a version of `make' that  own directory.  To do this, you can use GNU `make'.  `cd' to the
 supports the `VPATH' variable, such as GNU `make'.  `cd' to the  
91  directory where you want the object files and executables to go and run  directory where you want the object files and executables to go and run
92  the `configure' script.  `configure' automatically checks for the  the `configure' script.  `configure' automatically checks for the
93  source code in the directory that `configure' is in and in `..'.  source code in the directory that `configure' is in and in `..'.
94    
95     If you have to use a `make' that does not supports the `VPATH'     With a non-GNU `make', it is safer to compile the package for one
96  variable, you have to compile the package for one architecture at a time  architecture at a time in the source code directory.  After you have
97  in the source code directory.  After you have installed the package for  installed the package for one architecture, use `make distclean' before
98  one architecture, use `make distclean' before reconfiguring for another  reconfiguring for another architecture.
 architecture.  
99    
100  Installation Names  Installation Names
101  ==================  ==================
102    
103     By default, `make install' will install the package's files in  By default, `make install' installs the package's commands under
104  `/usr/local/bin', `/usr/local/man', etc.  You can specify an  `/usr/local/bin', include files under `/usr/local/include', etc.  You
105  installation prefix other than `/usr/local' by giving `configure' the  can specify an installation prefix other than `/usr/local' by giving
106  option `--prefix=PATH'.  `configure' the option `--prefix=PREFIX'.
107    
108     You can specify separate installation prefixes for     You can specify separate installation prefixes for
109  architecture-specific files and architecture-independent files.  If you  architecture-specific files and architecture-independent files.  If you
110  give `configure' the option `--exec-prefix=PATH', the package will use  pass the option `--exec-prefix=PREFIX' to `configure', the package uses
111  PATH as the prefix for installing programs and libraries.  PREFIX as the prefix for installing programs and libraries.
112  Documentation and other data files will still use the regular prefix.  Documentation and other data files still use the regular prefix.
113    
114     In addition, if you use an unusual directory layout you can give     In addition, if you use an unusual directory layout you can give
115  options like `--bindir=PATH' to specify different values for particular  options like `--bindir=DIR' to specify different values for particular
116  kinds of files.  Run `configure --help' for a list of the directories  kinds of files.  Run `configure --help' for a list of the directories
117  you can set and what kinds of files go in them.  you can set and what kinds of files go in them.
118    
# Line 110  option `--program-prefix=PREFIX' or `--p Line 123  option `--program-prefix=PREFIX' or `--p
123  Optional Features  Optional Features
124  =================  =================
125    
126     Some packages pay attention to `--enable-FEATURE' options to  Some packages pay attention to `--enable-FEATURE' options to
127  `configure', where FEATURE indicates an optional part of the package.  `configure', where FEATURE indicates an optional part of the package.
128  They may also pay attention to `--with-PACKAGE' options, where PACKAGE  They may also pay attention to `--with-PACKAGE' options, where PACKAGE
129  is something like `gnu-as' or `x' (for the X Window System).  The  is something like `gnu-as' or `x' (for the X Window System).  The
# Line 125  you can use the `configure' options `--x Line 138  you can use the `configure' options `--x
138  Specifying the System Type  Specifying the System Type
139  ==========================  ==========================
140    
141     There may be some features `configure' can not figure out  There may be some features `configure' cannot figure out automatically,
142  automatically, but needs to determine by the type of host the package  but needs to determine by the type of machine the package will run on.
143  will run on.  Usually `configure' can figure that out, but if it prints  Usually, assuming the package is built to be run on the _same_
144  a message saying it can not guess the host type, give it the  architectures, `configure' can figure that out, but if it prints a
145  `--host=TYPE' option.  TYPE can either be a short name for the system  message saying it cannot guess the machine type, give it the
146  type, such as `sun4', or a canonical name with three fields:  `--build=TYPE' option.  TYPE can either be a short name for the system
147    type, such as `sun4', or a canonical name which has the form:
148    
149       CPU-COMPANY-SYSTEM       CPU-COMPANY-SYSTEM
150    
151  See the file `config.sub' for the possible values of each field.  If  where SYSTEM can have one of these forms:
152    
153         OS KERNEL-OS
154    
155       See the file `config.sub' for the possible values of each field.  If
156  `config.sub' isn't included in this package, then this package doesn't  `config.sub' isn't included in this package, then this package doesn't
157  need to know the host type.  need to know the machine type.
158    
159     If you are building compiler tools for cross-compiling, you can also     If you are _building_ compiler tools for cross-compiling, you should
160  use the `--target=TYPE' option to select the type of system they will  use the option `--target=TYPE' to select the type of system they will
161  produce code for and the `--build=TYPE' option to select the type of  produce code for.
162  system on which you are compiling the package.  
163       If you want to _use_ a cross compiler, that generates code for a
164    platform different from the build platform, you should specify the
165    "host" platform (i.e., that on which the generated programs will
166    eventually be run) with `--host=TYPE'.
167    
168  Sharing Defaults  Sharing Defaults
169  ================  ================
170    
171     If you want to set default values for `configure' scripts to share,  If you want to set default values for `configure' scripts to share, you
172  you can create a site shell script called `config.site' that gives  can create a site shell script called `config.site' that gives default
173  default values for variables like `CC', `cache_file', and `prefix'.  values for variables like `CC', `cache_file', and `prefix'.
174  `configure' looks for `PREFIX/share/config.site' if it exists, then  `configure' looks for `PREFIX/share/config.site' if it exists, then
175  `PREFIX/etc/config.site' if it exists.  Or, you can set the  `PREFIX/etc/config.site' if it exists.  Or, you can set the
176  `CONFIG_SITE' environment variable to the location of the site script.  `CONFIG_SITE' environment variable to the location of the site script.
177  A warning: not all `configure' scripts look for a site script.  A warning: not all `configure' scripts look for a site script.
178    
179  Operation Controls  Defining Variables
180  ==================  ==================
181    
182     `configure' recognizes the following options to control how it  Variables not defined in a site shell script can be set in the
183  operates.  environment passed to `configure'.  However, some packages may run
184    configure again during the build, and the customized values of these
185    variables may be lost.  In order to avoid this problem, you should set
186    them in the `configure' command line, using `VAR=value'.  For example:
187    
188  `--cache-file=FILE'       ./configure CC=/usr/local2/bin/gcc
189       Use and save the results of the tests in FILE instead of  
190       `./config.cache'.  Set FILE to `/dev/null' to disable caching, for  causes the specified `gcc' to be used as the C compiler (unless it is
191       debugging `configure'.  overridden in the site shell script).
192    
193    Unfortunately, this technique does not work for `CONFIG_SHELL' due to
194    an Autoconf bug.  Until the bug is fixed you can use this workaround:
195    
196         CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
197    
198    `configure' Invocation
199    ======================
200    
201    `configure' recognizes the following options to control how it operates.
202    
203  `--help'  `--help'
204    `-h'
205       Print a summary of the options to `configure', and exit.       Print a summary of the options to `configure', and exit.
206    
207    `--version'
208    `-V'
209         Print the version of Autoconf used to generate the `configure'
210         script, and exit.
211    
212    `--cache-file=FILE'
213         Enable the cache: use and save the results of the tests in FILE,
214         traditionally `config.cache'.  FILE defaults to `/dev/null' to
215         disable caching.
216    
217    `--config-cache'
218    `-C'
219         Alias for `--cache-file=config.cache'.
220    
221  `--quiet'  `--quiet'
222  `--silent'  `--silent'
223  `-q'  `-q'
# Line 178  operates. Line 229  operates.
229       Look for the package's source code in directory DIR.  Usually       Look for the package's source code in directory DIR.  Usually
230       `configure' can determine that directory automatically.       `configure' can determine that directory automatically.
231    
232  `--version'  `configure' also accepts some other, not widely useful, options.  Run
233       Print the version of Autoconf used to generate the `configure'  `configure --help' for more details.
      script, and exit.  
234    
 `configure' also accepts some other, not widely useful, options.  

Legend:
Removed from v.97  
changed lines
  Added in v.98

  ViewVC Help
Powered by ViewVC 1.1.5