]> code.delx.au - gnu-emacs-elpa/blob - packages/load-relative/INSTALL
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / load-relative / INSTALL
1 Installation Instructions
2 *************************
3
4 Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
5 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
6
7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright
9 notice and this notice are preserved. This file is offered as-is,
10 without warranty of any kind.
11
12 Basic Installation
13 ==================
14
15 Briefly, the shell commands `./configure && make' should configure,
16 and build this package. If that succeeds `make install' will install
17 the package. However on some systems you may need root privileges, you
18 may have use `sudo make install' or perhaps `su root' beforehand.
19
20 Generic Information
21 ===================
22
23 The `configure' shell script attempts to guess correct values for
24 various system-dependent variables used during compilation. It uses
25 those values to create a `Makefile' in each directory of the package.
26 It also creates a shell script `config.status' that you can run in
27 the future to recreate the current configuration, and a file
28 `config.log' containing compiler output (useful mainly for debugging
29 `configure').
30
31 The configure script can also use an optional file (typically
32 called `config.cache' and enabled with `--cache-file=config.cache' or
33 simply `-C') that saves the results of its tests to speed up
34 reconfiguring. Caching is disabled by default to prevent problems
35 with accidental use of stale cache files.
36
37 If you need to do unusual things to compile the package, please try
38 to figure out how `configure' could check whether to do them, and mail
39 diffs or instructions to the address given in the `README' so they can
40 be considered for the next release. If you are using the cache, and at
41 some point `config.cache' contains results you don't want to keep, you
42 may remove or edit it.
43
44 The file `configure.ac' is used to create `configure' by a program
45 called `autoconf'. You need `configure.ac' if you want to change it
46 or regenerate `configure' using a newer version of `autoconf'.
47
48 The simplest way to compile this package is:
49
50 1. `cd' to the directory containing the package's source code and type
51 `./configure' to configure the package for your system.
52
53 Running `configure' might take a while. While running, it prints
54 some messages telling which features it is checking for.
55
56 2. Type `make' to compile the package.
57
58 3. Optionally, type `make check' to run any self-tests that come with
59 the package, generally using the just-built uninstalled binaries.
60
61 4. Type `make install' to install the programs and any data files and
62 documentation. When installing into a prefix owned by root, it is
63 recommended that the package be configured and built as a regular
64 user, and only the `make install' phase executed with root
65 privileges.
66
67 5. You can remove the compiled Emacs Lisp files and other derived
68 files from the source code directory by typing `make clean'. To
69 also remove the files that `configure' created (so you can
70 compile the package for a different kind of computer), type `make
71 distclean'. There is also a `make maintainer-clean' target, but
72 that is intended mainly for the package's developers. If you use
73 it, you may have to get all sorts of other programs in order to
74 regenerate files that came with the distribution.
75
76 6. You can also type `make uninstall' to remove the installed files
77 again.
78
79 7. We don't provide `make distcheck' right now, but perhaps someday
80 we will. This is by used by developers to test that all other
81 targets like `make install' and `make uninstall' work correctly.
82 This target is generally not run by end users.
83
84 Options
85 =====================
86
87 Run `./configure --help' for details on the pertinent
88 environment variables.
89
90 You can give `configure' initial values for configuration parameters
91 by setting variables in the command line or in the environment. Here
92 is an example:
93
94 ./configure CC=c99 EMACS=/usr/bin/emacs23-x
95
96 *Note Defining Variables::, for more details.
97
98 Installation Names
99 ==================
100
101 By default, `make install' installs the package's emacs files under
102 `/usr/local/share/emacs/site-lisp', You can specify an installation
103 prefix other than `/usr/local/emacs/site-lisp' by giving `configure'
104 the option `--with-site-lisp=PREFIX', where PREFIX must be an absolute
105 file name.
106
107 The most portable way to affect installation locations is to pass the
108 correct locations to `configure'; however, many packages provide one or
109 both of the following shortcuts of passing variable assignments to the
110 `make install' command line to change installation locations without
111 having to reconfigure or recompile.
112
113 The first method involves providing an override variable for each
114 affected directory. For example, `make install
115 prefix=/alternate/directory' will choose an alternate location for all
116 directory configuration variables that were expressed in terms of
117 `${prefix}'. Any directories that were specified during `configure',
118 but not in terms of `${prefix}', must each be overridden at install
119 time for the entire installation to be relocated. The approach of
120 makefile variable overrides for each directory variable is required by
121 the GNU Coding Standards, and ideally causes no recompilation.
122 However, some platforms have known limitations with the semantics of
123 shared libraries that end up requiring recompilation when using this
124 method, particularly noticeable in packages that use GNU Libtool.
125
126 The second method involves providing the `DESTDIR' variable. For
127 example, `make install DESTDIR=/alternate/directory' will prepend
128 `/alternate/directory' before all installation names. The approach of
129 `DESTDIR' overrides is not required by the GNU Coding Standards, and
130 does not work on platforms that have drive letters. On the other hand,
131 it does better at avoiding recompilation issues, and works well even
132 when some directory options were not specified in terms of `${prefix}'
133 at `configure' time.
134
135 Optional Features
136 =================
137
138 If the package supports it, you can cause programs to be installed
139 with an extra prefix or suffix on their names by giving `configure' the
140 option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
141
142 Some packages pay attention to `--enable-FEATURE' options to
143 `configure', where FEATURE indicates an optional part of the package.
144 They may also pay attention to `--with-PACKAGE' options, where PACKAGE
145 is something like `gnu-as' or `x' (for the X Window System). The
146 `README' should mention any `--enable-' and `--with-' options that the
147 package recognizes.
148
149 For packages that use the X Window System, `configure' can usually
150 find the X include and library files automatically, but if it doesn't,
151 you can use the `configure' options `--x-includes=DIR' and
152 `--x-libraries=DIR' to specify their locations.
153
154 Some packages offer the ability to configure how verbose the
155 execution of `make' will be. For these packages, running `./configure
156 --enable-silent-rules' sets the default to minimal output, which can be
157 overridden with `make V=1'; while running `./configure
158 --disable-silent-rules' sets the default to verbose, which can be
159 overridden with `make V=0'.
160
161
162 Sharing Defaults
163 ================
164
165 If you want to set default values for `configure' scripts to share,
166 you can create a site shell script called `config.site' that gives
167 default values for variables like `CC', `cache_file', and `prefix'.
168 `configure' looks for `PREFIX/share/config.site' if it exists, then
169 `PREFIX/etc/config.site' if it exists. Or, you can set the
170 `CONFIG_SITE' environment variable to the location of the site script.
171 A warning: not all `configure' scripts look for a site script.
172
173 Defining Variables
174 ==================
175
176 Variables not defined in a site shell script can be set in the
177 environment passed to `configure'. However, some packages may run
178 configure again during the build, and the customized values of these
179 variables may be lost. In order to avoid this problem, you should set
180 them in the `configure' command line, using `VAR=value'. For example:
181
182 ./configure EMACS=/usr/bin/emacs23-x
183
184 causes the specified `/usr/bin/emacs23-x' to be used as the Emacs program
185 to use.
186
187 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
188 an Autoconf bug. Until the bug is fixed you can use this workaround:
189
190 CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
191
192 `configure' Invocation
193 ======================
194
195 `configure' recognizes the following options to control how it
196 operates.
197
198 `--help'
199 `-h'
200 Print a summary of all of the options to `configure', and exit.
201
202 `--help=short'
203 `--help=recursive'
204 Print a summary of the options unique to this package's
205 `configure', and exit. The `short' variant lists options used
206 only in the top level, while the `recursive' variant lists options
207 also present in any nested packages.
208
209 `--version'
210 `-V'
211 Print the version of Autoconf used to generate the `configure'
212 script, and exit.
213
214 `--cache-file=FILE'
215 Enable the cache: use and save the results of the tests in FILE,
216 traditionally `config.cache'. FILE defaults to `/dev/null' to
217 disable caching.
218
219 `--config-cache'
220 `-C'
221 Alias for `--cache-file=config.cache'.
222
223 `--quiet'
224 `--silent'
225 `-q'
226 Do not print messages saying which checks are being made. To
227 suppress all normal output, redirect it to `/dev/null' (any error
228 messages will still be shown).
229
230 `--srcdir=DIR'
231 Look for the package's source code in directory DIR. Usually
232 `configure' can determine that directory automatically.
233
234 `--prefix=DIR'
235 Use DIR as the installation prefix. *note Installation Names::
236 for more details, including other options available for fine-tuning
237 the installation locations.
238
239 `--no-create'
240 `-n'
241 Run the configure checks, but stop before creating any output
242 files.
243
244 `configure' also accepts some other, not widely useful, options. Run
245 `configure --help' for more details.
246