annotate mcabber/INSTALL @ 2225:dc3b3ac1ba76

Free the buffdata structures when buffers are closed Free the buffdata strcutures when buffers are closed and there are no more users (these structures can be shared if the "symlink" shared history is used).
author Mikael Berthe <mikael@lilotux.net>
date Sat, 07 Nov 2015 12:21:12 +0100
parents cce89772ea94
children ca442ece1f70
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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