mcabber/INSTALL
author Mikael Berthe <mikael@lilotux.net>
Tue, 15 Mar 2011 00:39:17 +0100
changeset 1961 39021fd6b0e1
parent 1825 cce89772ea94
permissions -rw-r--r--
Try to improve readmarks in some cases This patch removes the readmark when entering chatmode if the mark is on the last line. This should hopefully fix weird behavior seen under some circumstances.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     1
This file contains the generic instructions; the short version is:
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     2
$ ./configure
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     3
$ make
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     4
... and if you want to install the software:
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     5
$ make install
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     6
(If you don't want to install it, the "mcabber" binary lies in
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1620
diff changeset
     7
the mcabber/ directory after the build procedure)
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
     8
1620
52b63087f421 Update doc (REAME, INSTALL)
Mikael Berthe <mikael@lilotux.net>
parents: 1455
diff changeset
     9
You will need the Loudmouth library, version >= 1.4.3 is recommended.
52b63087f421 Update doc (REAME, INSTALL)
Mikael Berthe <mikael@lilotux.net>
parents: 1455
diff changeset
    10
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    11
We have a Loudmouth repository on github, if you want to have the latest
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    12
features and bugfixes: <http://github.com/mcabber/loudmouth>
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    13
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    14
MCabber needs ncurses and ncurses development packages to build correctly.
934
a09bf67d1dfb Unicode support depends on having ncursesw
Mikael Berthe <mikael@lilotux.net>
parents: 232
diff changeset
    15
For UTF-8 terminal support, use ncursesw instead.
1090
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    16
Note: On FreeBSD (and maybe other BSD systems as well), it is recommended
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    17
that you install ncurses from ports before compiling mcabber.
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    18
You should also export LDFLAGS='-L/usr/local/lib' before running
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    19
mcabber's configure to ensure that mcabber uses the ncurses installed
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    20
from ports.  This is necessary as the version of ncurses included in
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    21
the base system does not provide unicode support.
fff7ee4cefab Update INSTALL file: add a note for FreeBSD users
Mikael Berthe <mikael@lilotux.net>
parents: 1061
diff changeset
    22
1061
da696ed4acf4 Update README & INSTALL
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
    23
If you want PGP support, install libgpgme (with dev package),
da696ed4acf4 Update README & INSTALL
Mikael Berthe <mikael@lilotux.net>
parents: 934
diff changeset
    24
version >= 1.0.0.
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    25
1455
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1090
diff changeset
    26
You may want to have a look at the wiki:
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1090
diff changeset
    27
 <http://wiki.mcabber.com/>
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1090
diff changeset
    28
and if you're using the development version (from the repository):
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1090
diff changeset
    29
 <http://wiki.mcabber.com/index.php/Building_mcabber_from_Mercurial>
bec235cd28a8 Misc. documentation updates
Mikael Berthe <mikael@lilotux.net>
parents: 1090
diff changeset
    30
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    31
Please have a look at the README file before launching mcabber.
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    32
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    33
Please send me a message (mcabber AT lilotux DOT net) if you have
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    34
questions, suggestions or even patches...
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    35
Our MUC room is there: <mcabber AT conf DOT lilotux DOT net>
232
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    36
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    37
Mikael
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    38
9a6ba4b38e63 [/trunk] Changeset 245 by mikael
mikael
parents: 57
diff changeset
    39
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    40
Installation Instructions
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    41
*************************
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    42
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    43
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    44
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    45
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    46
   Copying and distribution of this file, with or without modification,
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    47
are permitted in any medium without royalty provided the copyright
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    48
notice and this notice are preserved.  This file is offered as-is,
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    49
without warranty of any kind.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    50
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    51
Basic Installation
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    52
==================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    53
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    54
   Briefly, the shell commands `./configure; make; make install' should
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    55
configure, build, and install this package.  The following
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    56
more-detailed instructions are generic; see the `README' file for
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    57
instructions specific to this package.  Some packages provide this
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    58
`INSTALL' file but do not implement all of the features documented
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    59
below.  The lack of an optional feature in a given package is not
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    60
necessarily a bug.  More recommendations for GNU packages can be found
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    61
in *note Makefile Conventions: (standards)Makefile Conventions.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    62
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    63
   The `configure' shell script attempts to guess correct values for
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    64
various system-dependent variables used during compilation.  It uses
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    65
those values to create a `Makefile' in each directory of the package.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    66
It may also create one or more `.h' files containing system-dependent
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    67
definitions.  Finally, it creates a shell script `config.status' that
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    68
you can run in the future to recreate the current configuration, and a
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    69
file `config.log' containing compiler output (useful mainly for
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    70
debugging `configure').
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    71
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    72
   It can also use an optional file (typically called `config.cache'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    73
and enabled with `--cache-file=config.cache' or simply `-C') that saves
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    74
the results of its tests to speed up reconfiguring.  Caching is
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    75
disabled by default to prevent problems with accidental use of stale
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    76
cache files.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    77
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    78
   If you need to do unusual things to compile the package, please try
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    79
to figure out how `configure' could check whether to do them, and mail
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    80
diffs or instructions to the address given in the `README' so they can
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    81
be considered for the next release.  If you are using the cache, and at
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    82
some point `config.cache' contains results you don't want to keep, you
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    83
may remove or edit it.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    84
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    85
   The file `configure.ac' (or `configure.in') is used to create
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    86
`configure' by a program called `autoconf'.  You need `configure.ac' if
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    87
you want to change it or regenerate `configure' using a newer version
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    88
of `autoconf'.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    89
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    90
   The simplest way to compile this package is:
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    91
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    92
  1. `cd' to the directory containing the package's source code and type
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    93
     `./configure' to configure the package for your system.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    94
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    95
     Running `configure' might take a while.  While running, it prints
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
    96
     some messages telling which features it is checking for.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    97
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    98
  2. Type `make' to compile the package.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
    99
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   100
  3. Optionally, type `make check' to run any self-tests that come with
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   101
     the package, generally using the just-built uninstalled binaries.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   102
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   103
  4. Type `make install' to install the programs and any data files and
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   104
     documentation.  When installing into a prefix owned by root, it is
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   105
     recommended that the package be configured and built as a regular
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   106
     user, and only the `make install' phase executed with root
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   107
     privileges.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   108
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   109
  5. Optionally, type `make installcheck' to repeat any self-tests, but
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   110
     this time using the binaries in their final installed location.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   111
     This target does not install anything.  Running this target as a
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   112
     regular user, particularly if the prior `make install' required
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   113
     root privileges, verifies that the installation completed
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   114
     correctly.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   115
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   116
  6. You can remove the program binaries and object files from the
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   117
     source code directory by typing `make clean'.  To also remove the
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   118
     files that `configure' created (so you can compile the package for
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   119
     a different kind of computer), type `make distclean'.  There is
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   120
     also a `make maintainer-clean' target, but that is intended mainly
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   121
     for the package's developers.  If you use it, you may have to get
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   122
     all sorts of other programs in order to regenerate files that came
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   123
     with the distribution.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   124
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   125
  7. Often, you can also type `make uninstall' to remove the installed
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   126
     files again.  In practice, not all packages have tested that
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   127
     uninstallation works correctly, even though it is required by the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   128
     GNU Coding Standards.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   129
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   130
  8. Some packages, particularly those that use Automake, provide `make
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   131
     distcheck', which can by used by developers to test that all other
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   132
     targets like `make install' and `make uninstall' work correctly.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   133
     This target is generally not run by end users.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   134
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   135
Compilers and Options
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   136
=====================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   137
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   138
   Some systems require unusual options for compilation or linking that
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   139
the `configure' script does not know about.  Run `./configure --help'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   140
for details on some of the pertinent environment variables.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   141
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   142
   You can give `configure' initial values for configuration parameters
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   143
by setting variables in the command line or in the environment.  Here
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   144
is an example:
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   145
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   146
     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   147
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   148
   *Note Defining Variables::, for more details.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   149
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   150
Compiling For Multiple Architectures
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   151
====================================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   152
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   153
   You can compile the package for more than one kind of computer at the
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   154
same time, by placing the object files for each architecture in their
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   155
own directory.  To do this, you can use GNU `make'.  `cd' to the
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   156
directory where you want the object files and executables to go and run
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   157
the `configure' script.  `configure' automatically checks for the
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   158
source code in the directory that `configure' is in and in `..'.  This
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   159
is known as a "VPATH" build.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   160
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   161
   With a non-GNU `make', it is safer to compile the package for one
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   162
architecture at a time in the source code directory.  After you have
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   163
installed the package for one architecture, use `make distclean' before
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   164
reconfiguring for another architecture.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   165
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   166
   On MacOS X 10.5 and later systems, you can create libraries and
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   167
executables that work on multiple system types--known as "fat" or
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   168
"universal" binaries--by specifying multiple `-arch' options to the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   169
compiler but only a single `-arch' option to the preprocessor.  Like
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   170
this:
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   171
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   172
     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   173
                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   174
                 CPP="gcc -E" CXXCPP="g++ -E"
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   175
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   176
   This is not guaranteed to produce working output in all cases, you
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   177
may have to build one architecture at a time and combine the results
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   178
using the `lipo' tool if you have problems.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   179
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   180
Installation Names
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   181
==================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   182
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   183
   By default, `make install' installs the package's commands under
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   184
`/usr/local/bin', include files under `/usr/local/include', etc.  You
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   185
can specify an installation prefix other than `/usr/local' by giving
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   186
`configure' the option `--prefix=PREFIX', where PREFIX must be an
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   187
absolute file name.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   188
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   189
   You can specify separate installation prefixes for
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   190
architecture-specific files and architecture-independent files.  If you
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   191
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   192
PREFIX as the prefix for installing programs and libraries.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   193
Documentation and other data files still use the regular prefix.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   194
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   195
   In addition, if you use an unusual directory layout you can give
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   196
options like `--bindir=DIR' to specify different values for particular
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   197
kinds of files.  Run `configure --help' for a list of the directories
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   198
you can set and what kinds of files go in them.  In general, the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   199
default for these options is expressed in terms of `${prefix}', so that
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   200
specifying just `--prefix' will affect all of the other directory
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   201
specifications that were not explicitly provided.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   202
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   203
   The most portable way to affect installation locations is to pass the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   204
correct locations to `configure'; however, many packages provide one or
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   205
both of the following shortcuts of passing variable assignments to the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   206
`make install' command line to change installation locations without
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   207
having to reconfigure or recompile.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   208
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   209
   The first method involves providing an override variable for each
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   210
affected directory.  For example, `make install
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   211
prefix=/alternate/directory' will choose an alternate location for all
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   212
directory configuration variables that were expressed in terms of
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   213
`${prefix}'.  Any directories that were specified during `configure',
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   214
but not in terms of `${prefix}', must each be overridden at install
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   215
time for the entire installation to be relocated.  The approach of
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   216
makefile variable overrides for each directory variable is required by
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   217
the GNU Coding Standards, and ideally causes no recompilation.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   218
However, some platforms have known limitations with the semantics of
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   219
shared libraries that end up requiring recompilation when using this
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   220
method, particularly noticeable in packages that use GNU Libtool.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   221
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   222
   The second method involves providing the `DESTDIR' variable.  For
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   223
example, `make install DESTDIR=/alternate/directory' will prepend
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   224
`/alternate/directory' before all installation names.  The approach of
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   225
`DESTDIR' overrides is not required by the GNU Coding Standards, and
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   226
does not work on platforms that have drive letters.  On the other hand,
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   227
it does better at avoiding recompilation issues, and works well even
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   228
when some directory options were not specified in terms of `${prefix}'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   229
at `configure' time.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   230
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   231
Optional Features
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   232
=================
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   233
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   234
   If the package supports it, you can cause programs to be installed
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   235
with an extra prefix or suffix on their names by giving `configure' the
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   236
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   237
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   238
   Some packages pay attention to `--enable-FEATURE' options to
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   239
`configure', where FEATURE indicates an optional part of the package.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   240
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   241
is something like `gnu-as' or `x' (for the X Window System).  The
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   242
`README' should mention any `--enable-' and `--with-' options that the
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   243
package recognizes.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   244
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   245
   For packages that use the X Window System, `configure' can usually
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   246
find the X include and library files automatically, but if it doesn't,
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   247
you can use the `configure' options `--x-includes=DIR' and
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   248
`--x-libraries=DIR' to specify their locations.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   249
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   250
   Some packages offer the ability to configure how verbose the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   251
execution of `make' will be.  For these packages, running `./configure
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   252
--enable-silent-rules' sets the default to minimal output, which can be
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   253
overridden with `make V=1'; while running `./configure
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   254
--disable-silent-rules' sets the default to verbose, which can be
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   255
overridden with `make V=0'.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   256
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   257
Particular systems
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   258
==================
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   259
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   260
   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   261
CC is not installed, it is recommended to use the following options in
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   262
order to use an ANSI C compiler:
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   263
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   264
     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   265
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   266
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   267
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   268
   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   269
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   270
a workaround.  If GNU CC is not installed, it is therefore recommended
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   271
to try
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   272
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   273
     ./configure CC="cc"
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   274
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   275
and if that doesn't work, try
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   276
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   277
     ./configure CC="cc -nodtk"
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   278
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   279
   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   280
directory contains several dysfunctional programs; working variants of
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   281
these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   282
in your `PATH', put it _after_ `/usr/bin'.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   283
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   284
   On Haiku, software installed for all users goes in `/boot/common',
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   285
not `/usr/local'.  It is recommended to use the following options:
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   286
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   287
     ./configure --prefix=/boot/common
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   288
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   289
Specifying the System Type
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   290
==========================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   291
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   292
   There may be some features `configure' cannot figure out
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   293
automatically, but needs to determine by the type of machine the package
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   294
will run on.  Usually, assuming the package is built to be run on the
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   295
_same_ architectures, `configure' can figure that out, but if it prints
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   296
a message saying it cannot guess the machine type, give it the
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   297
`--build=TYPE' option.  TYPE can either be a short name for the system
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   298
type, such as `sun4', or a canonical name which has the form:
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   299
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   300
     CPU-COMPANY-SYSTEM
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   301
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   302
where SYSTEM can have one of these forms:
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   303
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   304
     OS
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   305
     KERNEL-OS
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   306
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   307
   See the file `config.sub' for the possible values of each field.  If
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   308
`config.sub' isn't included in this package, then this package doesn't
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   309
need to know the machine type.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   310
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   311
   If you are _building_ compiler tools for cross-compiling, you should
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   312
use the option `--target=TYPE' to select the type of system they will
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   313
produce code for.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   314
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   315
   If you want to _use_ a cross compiler, that generates code for a
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   316
platform different from the build platform, you should specify the
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   317
"host" platform (i.e., that on which the generated programs will
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   318
eventually be run) with `--host=TYPE'.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   319
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   320
Sharing Defaults
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   321
================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   322
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   323
   If you want to set default values for `configure' scripts to share,
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   324
you can create a site shell script called `config.site' that gives
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   325
default values for variables like `CC', `cache_file', and `prefix'.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   326
`configure' looks for `PREFIX/share/config.site' if it exists, then
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   327
`PREFIX/etc/config.site' if it exists.  Or, you can set the
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   328
`CONFIG_SITE' environment variable to the location of the site script.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   329
A warning: not all `configure' scripts look for a site script.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   330
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   331
Defining Variables
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   332
==================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   333
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   334
   Variables not defined in a site shell script can be set in the
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   335
environment passed to `configure'.  However, some packages may run
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   336
configure again during the build, and the customized values of these
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   337
variables may be lost.  In order to avoid this problem, you should set
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   338
them in the `configure' command line, using `VAR=value'.  For example:
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   339
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   340
     ./configure CC=/usr/local2/bin/gcc
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   341
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   342
causes the specified `gcc' to be used as the C compiler (unless it is
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   343
overridden in the site shell script).
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   344
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   345
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   346
an Autoconf bug.  Until the bug is fixed you can use this workaround:
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   347
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   348
     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   349
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   350
`configure' Invocation
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   351
======================
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   352
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   353
   `configure' recognizes the following options to control how it
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   354
operates.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   355
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   356
`--help'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   357
`-h'
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   358
     Print a summary of all of the options to `configure', and exit.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   359
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   360
`--help=short'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   361
`--help=recursive'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   362
     Print a summary of the options unique to this package's
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   363
     `configure', and exit.  The `short' variant lists options used
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   364
     only in the top level, while the `recursive' variant lists options
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   365
     also present in any nested packages.
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   366
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   367
`--version'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   368
`-V'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   369
     Print the version of Autoconf used to generate the `configure'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   370
     script, and exit.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   371
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   372
`--cache-file=FILE'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   373
     Enable the cache: use and save the results of the tests in FILE,
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   374
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   375
     disable caching.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   376
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   377
`--config-cache'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   378
`-C'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   379
     Alias for `--cache-file=config.cache'.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   380
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   381
`--quiet'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   382
`--silent'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   383
`-q'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   384
     Do not print messages saying which checks are being made.  To
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   385
     suppress all normal output, redirect it to `/dev/null' (any error
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   386
     messages will still be shown).
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   387
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   388
`--srcdir=DIR'
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   389
     Look for the package's source code in directory DIR.  Usually
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   390
     `configure' can determine that directory automatically.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   391
1825
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   392
`--prefix=DIR'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   393
     Use DIR as the installation prefix.  *note Installation Names::
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   394
     for more details, including other options available for fine-tuning
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   395
     the installation locations.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   396
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   397
`--no-create'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   398
`-n'
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   399
     Run the configure checks, but stop before creating any output
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   400
     files.
cce89772ea94 Update autotools install script and documentation
Mikael Berthe <mikael@lilotux.net>
parents: 1668
diff changeset
   401
57
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   402
`configure' also accepts some other, not widely useful, options.  Run
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   403
`configure --help' for more details.
f381236239a4 [/trunk] Changeset 72 by mikael
mikael
parents:
diff changeset
   404