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