comparison INSTALL @ 108967:83458f5cdc38

* INSTALL: Revert previous accidental commit.
author Glenn Morris <rgm@gnu.org>
date Thu, 10 Jun 2010 20:41:02 -0700
parents 6f4e41648c3f
children 6c39bda25895
comparison
equal deleted inserted replaced
108966:6f4e41648c3f 108967:83458f5cdc38
4 Free Software Foundation, Inc. 4 Free Software Foundation, Inc.
5 See the end of the file for license conditions. 5 See the end of the file for license conditions.
6 6
7 7
8 This file contains general information. For more specific information 8 This file contains general information. For more specific information
9 for the MS-Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files 9 for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files
10 nt/INSTALL, nextstep/INSTALL, and msdos/INSTALL. For information 10 nt/INSTALL nextstep/INSTALL, and msdos/INSTALL. For information
11 specific to building from a Bazaar checkout (rather than a release), see 11 specific to building from a Bazaar checkout (rather than a release), see
12 the file INSTALL.BZR. 12 the file INSTALL.BZR.
13 13
14 14
15 BASIC INSTALLATION 15 BASIC INSTALLATION
16 16
17 On most Unix systems, you can build Emacs by first running the 17 The simplest way to build Emacs is to use the `configure' shell script
18 `configure' shell script. This attempts to deduce correct values for 18 which attempts to guess correct values for various system-dependent
19 various system-dependent variables and features, and find the 19 variables and features and find the directories where various system
20 directories where certain system headers and libraries are kept. 20 headers and libraries are kept. It then creates a `Makefile' in each
21 In a few cases, you may need to explicitly tell configure where to 21 subdirectory and a `config.h' file containing system-dependent
22 find some things, or what options to use. 22 definitions. Running the `make' utility then builds the package for
23 23 your system.
24 `configure' creates a `Makefile' in several subdirectories, and a
25 `src/config.h' file containing system-dependent definitions.
26 Running the `make' utility then builds the package for your system.
27 24
28 Here's the procedure to build Emacs using `configure' on systems which 25 Here's the procedure to build Emacs using `configure' on systems which
29 are supported by it. In rare cases, if the simplified procedure fails, 26 are supported by it. If this simplified procedure fails, or if you
30 you might need to use various non-default options, and maybe perform 27 are using a platform such as MS-Windows, where `configure' script
31 some of the steps manually. The more detailed description in the rest 28 doesn't work, you might need to use various non-default options, and
32 of the sections of this guide will help you do that, so please refer 29 maybe perform some of the steps manually. The more detailed
33 to those sections if you need to. 30 description in the rest of the sections of this guide will help you do
34 31 that, so please refer to them if the simple procedure does not work.
35 1. Make sure your system has at least 230 MB of free disk space. 32
36 This is for Emacs 23.2; Emacs gets bigger as more features are added. 33 1. Make sure your system has at least 120 MB of free disk space.
37 The size of the final installed Emacs is about half this; see below.
38 This includes the space-saving that comes from automatically
39 compressing the Lisp source files on installation.
40 34
41 2a. `cd' to the directory where you unpacked Emacs and invoke the 35 2a. `cd' to the directory where you unpacked Emacs and invoke the
42 `configure' script: 36 `configure' script:
43 37
44 ./configure 38 ./configure
56 about the system configuration. Read those details carefully 50 about the system configuration. Read those details carefully
57 looking for anything suspicious, such as wrong CPU and operating 51 looking for anything suspicious, such as wrong CPU and operating
58 system names, wrong places for headers or libraries, missing 52 system names, wrong places for headers or libraries, missing
59 libraries that you know are installed on your system, etc. 53 libraries that you know are installed on your system, etc.
60 54
61 If you find anything wrong, you may have to pass to `configure' 55 If you find anything wrong, you will have to pass to `configure'
62 one or more options specifying the explicit machine configuration 56 explicit machine configuration name, and one or more options
63 name, where to find various headers and libraries, etc. 57 which tell it where to find various headers and libraries; refer
64 Refer to the section DETAILED BUILDING AND INSTALLATION below. 58 to DETAILED BUILDING AND INSTALLATION section below.
65 59
66 If `configure' didn't find some (optional) image support libraries, 60 If `configure' didn't find some image support libraries, such as
67 such as Xpm, jpeg, etc., and you want to use them refer to the 61 Xpm, jpeg, etc., and you want to use them refer to the subsection
68 subsection "Image support libraries" below. 62 "Image support libraries", below.
69 63
70 If the details printed by `configure' don't make any sense to 64 If the details printed by `configure' don't make any sense to
71 you, but there are no obvious errors, assume that `configure' did 65 you, assume that `configure' did its job and proceed.
72 its job and proceed.
73 66
74 4. If you need to run the `configure' script more than once (e.g., 67 4. If you need to run the `configure' script more than once (e.g.,
75 with some non-default options), always clean the source 68 with some non-default options), always clean the source
76 directories before running `configure' again: 69 directories before running `configure' again:
77 70
84 77
85 6. If `make' succeeds, it will build an executable program `emacs' 78 6. If `make' succeeds, it will build an executable program `emacs'
86 in the `src' directory. You can try this program, to make sure 79 in the `src' directory. You can try this program, to make sure
87 it works: 80 it works:
88 81
89 src/emacs -Q 82 src/emacs -q
90 83
91 7. Assuming that the program `src/emacs' starts and displays its 84 7. Assuming that the program `src/emacs' starts and displays its
92 opening screen, you can install the program and its auxiliary 85 opening screen, you can install the program and its auxiliary
93 files into their installation directories: 86 files into their installation directories:
94 87
98 you may remove the program binaries and object files from the 91 you may remove the program binaries and object files from the
99 directory where you built Emacs: 92 directory where you built Emacs:
100 93
101 make clean 94 make clean
102 95
103 You can delete the entire build directory if you do not plan to 96 You can also save some space by compressing (with `gzip') Info files
104 build Emacs again. 97 and installed Lisp source (.el) files which have corresponding .elc
105 98 versions.
106 Note that the install automatically saves space by compressing
107 (provided you have the `gzip' program) those installed Lisp source (.el)
108 files that have corresponding .elc versions. You may also wish
109 to compress the installed Info files.
110 99
111 100
112 ADDITIONAL DISTRIBUTION FILES 101 ADDITIONAL DISTRIBUTION FILES
113 102
114 * Complex Text Layout support libraries 103 * Complex Text Layout support libraries
166 contain header files and a library archive. Otherwise, you can 155 contain header files and a library archive. Otherwise, you can
167 download and build libraries from sources. None of them are vital for 156 download and build libraries from sources. None of them are vital for
168 running Emacs; however, note that Emacs will not be able to use 157 running Emacs; however, note that Emacs will not be able to use
169 colored icons in the toolbar if XPM support is not compiled in. 158 colored icons in the toolbar if XPM support is not compiled in.
170 159
171 Here's the list of some of these optional libraries, and the URLs 160 Here's the list of these optional libraries, and the URLs where they
172 where they can be found (in the unlikely event that your distribution 161 can be found:
173 does not provide them): 162
174 163 . libXaw3d for fancy 3D-style
175 . libXaw3d http://directory.fsf.org/project/xaw3d/ 164 scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/
176 . libxpm for XPM: http://www.x.org/releases/current/src/lib/ 165 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/
177 . libpng for PNG: http://www.libpng.org/ 166 Get version 3.4k or later, which lets Emacs
167 use its own color allocation functions.
168 . libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/
178 . libz (for PNG): http://www.zlib.net/ 169 . libz (for PNG): http://www.zlib.net/
179 . libjpeg for JPEG: http://www.ijg.org/ (use a version newer than 6a) 170 . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/
171 Get version 6b -- 6a is reported to fail in
172 Emacs.
180 . libtiff for TIFF: http://www.libtiff.org/ 173 . libtiff for TIFF: http://www.libtiff.org/
181 . libgif for GIF: http://sourceforge.net/projects/giflib/ 174 . libgif for GIF: http://sourceforge.net/projects/giflib/
182 175
183 Emacs will configure itself to build with these libraries if the 176 Emacs will configure itself to build with these libraries if the
184 `configure' script finds them on your system, unless you supply the 177 `configure' script finds them on your system, unless you supply the
188 --without-LIB options to `configure'. See below for more details. 181 --without-LIB options to `configure'. See below for more details.
189 182
190 * Extra fonts 183 * Extra fonts
191 184
192 The Emacs distribution does not include fonts and does not install 185 The Emacs distribution does not include fonts and does not install
193 them. You must do that yourself, if you need more fonts than your 186 them. You must do that yourself.
194 distribution normally provides.
195 187
196 Emacs running on the GNU system supports both X fonts and local fonts 188 Emacs running on the GNU system supports both X fonts and local fonts
197 (i.e. the fonts managed by the fontconfig library). 189 (i.e. the fonts managed by the fontconfig library).
198 190
199 For `Unicode' (ISO 10646) X fonts, see 191 For `Unicode' (ISO 10646) X fonts, see
200 <URL:http://czyborra.com/unifont/> (packaged in Debian), 192 <URL:http://czyborra.com/unifont/> (packaged in Debian),
201 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). 193 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). (In
202 (In recent Debian versions, there is an extensive `misc-fixed' 194 recent Debian versions, there is an extensive `misc-fixed' iso10646-1
203 iso10646-1 in the default X installation.) Perhaps also see 195 in the default X installation.) Perhaps also see
204 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>. 196 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>.
205 197
206 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's 198 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
207 ISO-8859 charsets. 199 ISO-8859 charsets.
200
201 XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors)
202 contains font support for most, if not all, of the charsets that Emacs
203 currently supports, including iso10646-1 encoded fonts for use with
204 the mule-unicode charsets. The font files should also be usable with
205 older X releases. Note that XFree 4 contains many iso10646-1 fonts
206 with minimal character repertoires, which can cause problems -- see
207 etc/PROBLEMS.
208 208
209 BDF Unicode fonts etl-unicode.tar.gz are available from 209 BDF Unicode fonts etl-unicode.tar.gz are available from
210 <URL:ftp://ftp.x.org/contrib/fonts/> and 210 <URL:ftp://ftp.x.org/contrib/fonts/> and
211 <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>. These 211 <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>. These
212 fonts can also be used by ps-print and ps-mule to print Unicode 212 fonts can also be used by ps-print and ps-mule to print Unicode
215 Finally, the Web page <URL:http://www.gnu.org/software/freefont/> 215 Finally, the Web page <URL:http://www.gnu.org/software/freefont/>
216 lists a large number of free Unicode fonts. 216 lists a large number of free Unicode fonts.
217 217
218 * GNU/Linux development packages 218 * GNU/Linux development packages
219 219
220 Many GNU/Linux systems do not come with development packages by default; 220 Many GNU/Linux systems do not come with development packages by
221 they include the files that you need to run Emacs, but not those you 221 default; they just include the files that you need to run Emacs, but
222 need to compile it. For example, to compile Emacs with support for X 222 not those you need to compile it. For example, to compile Emacs with
223 and graphics libraries, you may need to install the `X development' 223 X11 support, you may need to install the special `X11 development'
224 package(s) and development versions of the jpeg, png, etc. packages. 224 package. For example, in April 2003, the package names to install
225 225 were `XFree86-devel' and `Xaw3d-devel' on Red Hat. On Debian, the
226 The names of the packages that you need varies according to the 226 packages necessary to build the installed version should be
227 GNU/Linux distribution that you use, and the options that you want to 227 sufficient; they can be installed using `apt-get build-dep emacs21' in
228 configure Emacs with. On Debian-based systems, you can install all the 228 Debian 3 and above.
229 packages needed to build the installed version of Emacs with a command
230 like `apt-get build-dep emacs23'.
231 229
232 230
233 DETAILED BUILDING AND INSTALLATION: 231 DETAILED BUILDING AND INSTALLATION:
234 232
235 (This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X, 233 (This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X,
240 1) Make sure your system has enough swapping space allocated to handle 238 1) Make sure your system has enough swapping space allocated to handle
241 a program whose pure code is 1.5 MB and whose data area is at 239 a program whose pure code is 1.5 MB and whose data area is at
242 least 2.8 MB and can reach 100 MB or more. If the swapping space is 240 least 2.8 MB and can reach 100 MB or more. If the swapping space is
243 insufficient, you will get an error in the command `temacs -batch -l 241 insufficient, you will get an error in the command `temacs -batch -l
244 loadup dump', found in `./src/Makefile.in', or possibly when 242 loadup dump', found in `./src/Makefile.in', or possibly when
245 running the final dumped Emacs. (This should not be an issue 243 running the final dumped Emacs.
246 on any recent system.) 244
247 245 Building Emacs requires about 140 MB of disk space (including the
248 Building Emacs requires about 230 MB of disk space (including the 246 Emacs sources) Once installed, Emacs occupies about 77 MB in the file
249 Emacs sources). Once installed, Emacs occupies about 120 MB in the file
250 system where it is installed; this includes the executable files, Lisp 247 system where it is installed; this includes the executable files, Lisp
251 libraries, miscellaneous data files, and on-line documentation. If 248 libraries, miscellaneous data files, and on-line documentation. If
252 the building and installation take place in different directories, 249 the building and installation take place in different directories,
253 then the installation procedure momentarily requires 230+120 MB. 250 then the installation procedure momentarily requires 140+77 MB.
254 251
255 2) In the unlikely event that `configure' does not detect your system 252 2) Consult `./etc/MACHINES' to see what configuration name you should
256 type correctly, consult `./etc/MACHINES' to see what --host, --build 253 give to the `configure' program. That file offers hints for
257 options you should pass to `configure'. That file also offers hints 254 getting around some possible installation problems. The file lists
258 for getting around some possible installation problems. 255 many different configurations, but only the part for your machine and
256 operating system is relevant. (The list is arranged in alphabetical
257 order by the vendor name.)
259 258
260 3) You can build Emacs in the top-level Emacs source directory 259 3) You can build Emacs in the top-level Emacs source directory
261 or in a separate directory. 260 or in a separate directory.
262 261
263 3a) To build in the top-level Emacs source directory, go to that 262 3a) To build in the top-level Emacs source directory, go to that
264 directory and run the program `configure' as follows: 263 directory and run the program `configure' as follows:
265 264
266 ./configure [--OPTION[=VALUE]] ... 265 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
267 266
268 If `configure' cannot determine your system type, try again 267 The CONFIGURATION-NAME argument should be a configuration name given
269 specifying the proper --build, --host options explicitly. 268 in `./etc/MACHINES', with the system version number added at the end.
269
270 You should try first omitting CONFIGURATION-NAME. This way,
271 `configure' will try to guess your system type. If it cannot guess,
272 or if something goes wrong in building or installing Emacs this way,
273 try again specifying the proper CONFIGURATION-NAME explicitly.
270 274
271 If you don't want X support, specify `--with-x=no'. If you omit this 275 If you don't want X support, specify `--with-x=no'. If you omit this
272 option, `configure' will try to figure out for itself whether your 276 option, `configure' will try to figure out for itself whether your
273 system has X, and arrange to use it if present. 277 system has X, and arrange to use it if present.
274 278
277 object libraries used with the X Window System. Normally, `configure' 281 object libraries used with the X Window System. Normally, `configure'
278 is able to find them; these options are necessary if you have your X 282 is able to find them; these options are necessary if you have your X
279 Window System files installed in unusual places. These options also 283 Window System files installed in unusual places. These options also
280 accept a list of directories, separated with colons. 284 accept a list of directories, separated with colons.
281 285
282 [gtk is default]
283 To get more attractive menus, you can specify an X toolkit when you 286 To get more attractive menus, you can specify an X toolkit when you
284 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where 287 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
285 TOOLKIT is `gtk', `athena', or `motif' (`yes' and `lucid' are synonyms 288 TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms
286 for `athena'). On some systems, it does not work to use a toolkit 289 for `athena'). On some systems, it does not work to use a toolkit
287 with shared libraries. A free implementation of Motif, called 290 with shared libraries. A free implementation of Motif, called
288 LessTif, is available from <http://www.lesstif.org>. Compiling with 291 LessTif, is available from <http://www.lesstif.org>. Compiling with
289 LessTif or Motif causes a standard File Selection Dialog to pop up 292 LessTif or Motif causes a standard File Selection Dialog to pop up
290 when you invoke file commands with the mouse. You can get fancy 293 when you invoke file commands with the mouse. You can get fancy
291 3D-style scroll bars, even without Gtk or LessTif/Motif, if you have the 294 3D-style scroll bars, even without LessTif/Motif, if you have the
292 Xaw3d library installed (see "Image support libraries" above for Xaw3d 295 Xaw3d library installed (see "Image support libraries" above for Xaw3d
293 availability). 296 availability).
294 297
295 If `--with-x-toolkit=gtk' is specified, you can tell configure where 298 If `--with-x-toolkit=gtk' is specified, you can tell configure where
296 to search for GTK by specifying `--with-pkg-config-prog=PATH' where 299 to search for GTK by specifying `--with-pkg-config-prog=PATH' where
320 --without-png for PNG image support 323 --without-png for PNG image support
321 324
322 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d 325 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
323 scroll bars. 326 scroll bars.
324 327
325 Use --without-xim to inhibit the default use of X Input Methods. 328 Use --without-xim to inhibit the default use of X Input Methods. In
326 In this case, the X resource useXIM can be used to turn on use of XIM. 329 this case, the X resource useXIM can be used to turn on use of XIM.
327 330
328 Use --disable-largefile to omit support for files larger than 2GB on 331 Use --disable-largefile omits support for files larger than 2GB on
329 systems which support that. 332 systems which support that.
330 333
331 Use --without-sound to disable sound support. 334 Use --without-sound to disable sound support.
332 335
333 The `--prefix=PREFIXDIR' option specifies where the installation process 336 The `--prefix=PREFIXDIR' option specifies where the installation process
334 should put emacs and its data files. This defaults to `/usr/local'. 337 should put emacs and its data files. This defaults to `/usr/local'.
335 - Emacs (and the other utilities users run) go in PREFIXDIR/bin 338 - Emacs (and the other utilities users run) go in PREFIXDIR/bin
336 (unless the `--exec-prefix' option says otherwise). 339 (unless the `--exec-prefix' option says otherwise).
337 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION 340 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION
338 (where VERSION is the version number of Emacs, like `23.2'). 341 (where VERSION is the version number of Emacs, like `19.27').
339 - The architecture-dependent files go in 342 - The architecture-dependent files go in
340 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION 343 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION
341 (where CONFIGURATION is the configuration name, like 344 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2),
342 i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise. 345 unless the `--exec-prefix' option says otherwise.
343 346
344 The `--exec-prefix=EXECDIR' option allows you to specify a separate 347 The `--exec-prefix=EXECDIR' option allows you to specify a separate
345 portion of the directory tree for installing architecture-specific 348 portion of the directory tree for installing architecture-specific
346 files, like executables and utility programs. If specified, 349 files, like executables and utility programs. If specified,
347 - Emacs (and the other utilities users run) go in EXECDIR/bin, and 350 - Emacs (and the other utilities users run) go in EXECDIR/bin, and
349 EXECDIR/libexec/emacs/VERSION/CONFIGURATION. 352 EXECDIR/libexec/emacs/VERSION/CONFIGURATION.
350 EXECDIR/bin should be a directory that is normally in users' PATHs. 353 EXECDIR/bin should be a directory that is normally in users' PATHs.
351 354
352 For example, the command 355 For example, the command
353 356
354 ./configure --build=i386-linux-gnu --without-sound 357 ./configure mips-dec-ultrix --with-x11
355 358
356 configures Emacs to build for a 32-bit GNU/Linux distribution, 359 configures Emacs to build for a DECstation running Ultrix, with
357 without sound. 360 support for the X11 window system.
358 361
359 `configure' doesn't do any compilation or installation itself. 362 `configure' doesn't do any compilation or installation
360 It just creates the files that influence those things: 363 itself. It just creates the files that influence those things:
361 `./Makefile' in the top-level directory and several subdirectories; 364 `./Makefile', `lib-src/Makefile', `oldXMenu/Makefile',
362 and `./src/config.h'. For details on exactly what it does, see the 365 `lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details
363 section called `CONFIGURATION BY HAND', below. 366 on exactly what it does, see the section called `CONFIGURATION BY
367 HAND', below.
364 368
365 When it is done, `configure' prints a description of what it did and 369 When it is done, `configure' prints a description of what it did and
366 creates a shell script `config.status' which, when run, recreates the 370 creates a shell script `config.status' which, when run, recreates the
367 same configuration. If `configure' exits with an error after 371 same configuration. If `configure' exits with an error after
368 disturbing the status quo, it removes `config.status'. `configure' 372 disturbing the status quo, it removes `config.status'. `configure'
430 Emacs source code in the directory that `configure' is in. 434 Emacs source code in the directory that `configure' is in.
431 435
432 To build in a separate directory, you must use a version of `make' 436 To build in a separate directory, you must use a version of `make'
433 that supports the `VPATH' variable, such as GNU `make'. 437 that supports the `VPATH' variable, such as GNU `make'.
434 438
435 (Do not try to build in a separate directory by creating many links 439 3c) Some people try to build in a separate directory by filling
436 to the real source directory -- there is no need, and installation 440 it full of symlinks to the files in the real source directory.
437 will fail.) 441 If you do that, `make all' does work, but `make install' fails:
442 it copies the symbolic links rather than the actual files.
443
444 As far as is known, there is no particular reason to use
445 a directory full of links rather than use the standard GNU
446 facilities to build in a separate directory (see 3b above).
438 447
439 4) Look at `./lisp/paths.el'; if some of those values are not right 448 4) Look at `./lisp/paths.el'; if some of those values are not right
440 for your system, set up the file `./lisp/site-init.el' with Emacs 449 for your system, set up the file `./lisp/site-init.el' with Emacs
441 Lisp code to override them; it is not a good idea to edit paths.el 450 Lisp code to override them; it is not a good idea to edit paths.el
442 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, 451 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES,
443 rather than `defvar', as used by `./lisp/paths.el'. For example, 452 rather than `defvar', as used by `./lisp/paths.el'. For example,
444 453
445 (setq news-inews-program "/usr/bin/inews") 454 (setq news-inews-program "/usr/bin/inews")
446 455
447 is how you would override the default value of the variable 456 is how you would override the default value of the variable
448 news-inews-program. 457 news-inews-program (which is "/usr/local/inews").
449 458
450 Before you override a variable this way, *look at the value* that the 459 Before you override a variable this way, *look at the value* that the
451 variable gets by default! Make sure you know what kind of value the 460 variable gets by default! Make sure you know what kind of value the
452 variable should have. If you don't pay attention to what you are 461 variable should have. If you don't pay attention to what you are
453 doing, you'll make a mistake. 462 doing, you'll make a mistake.
462 471
463 If you set load-path to a different value in site-init.el or 472 If you set load-path to a different value in site-init.el or
464 site-load.el, Emacs will use *precisely* that value when it starts up 473 site-load.el, Emacs will use *precisely* that value when it starts up
465 again. If you do this, you are on your own! 474 again. If you do this, you are on your own!
466 475
476 Note that, on some systems, the code you place in site-init.el must
477 not use expand-file-name or any other function which may look
478 something up in the system's password and user information database.
479 See `./etc/PROBLEMS' for more details on which systems this affects.
480
467 The `site-*.el' files are nonexistent in the distribution. You do not 481 The `site-*.el' files are nonexistent in the distribution. You do not
468 need to create them if you have nothing to put in them. 482 need to create them if you have nothing to put in them.
469 483
470 6) Refer to the file `./etc/TERMS' for information on fields you may 484 6) Refer to the file `./etc/TERMS' for information on fields you may
471 wish to add to various termcap entries. 485 wish to add to various termcap entries. The files `./etc/termcap.ucb'
486 and `./etc/termcap.dat' may already contain appropriately-modified
487 entries.
472 488
473 7) Run `make' in the top directory of the Emacs distribution to finish 489 7) Run `make' in the top directory of the Emacs distribution to finish
474 building Emacs in the standard way. The final executable file is 490 building Emacs in the standard way. The final executable file is
475 named `src/emacs'. You can execute this file "in place" without 491 named `src/emacs'. You can execute this file "in place" without
476 copying it, if you wish; then it automatically uses the sibling 492 copying it, if you wish; then it automatically uses the sibling
480 installed locations, with `make install'. By default, Emacs's files 496 installed locations, with `make install'. By default, Emacs's files
481 are installed in the following directories: 497 are installed in the following directories:
482 498
483 `/usr/local/bin' holds the executable programs users normally run - 499 `/usr/local/bin' holds the executable programs users normally run -
484 `emacs', `etags', `ctags', `b2m', `emacsclient', 500 `emacs', `etags', `ctags', `b2m', `emacsclient',
485 `grep-changelog', and `rcs-checkin'. 501 and `rcs-checkin'.
486 502
487 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; 503 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
488 `VERSION' stands for the number of the Emacs version 504 `VERSION' stands for the number of the Emacs version
489 you are installing, like `23.1' or `23.2'. Since the 505 you are installing, like `18.59' or `19.27'. Since the
490 Lisp library changes from one version of Emacs to 506 Lisp library changes from one version of Emacs to
491 another, including the version number in the path 507 another, including the version number in the path
492 allows you to have several versions of Emacs installed 508 allows you to have several versions of Emacs installed
493 at the same time; in particular, you don't have to 509 at the same time; in particular, you don't have to
494 make Emacs unavailable while installing a new version. 510 make Emacs unavailable while installing a new version.
495 511
496 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC 512 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
497 file, and other architecture-independent files Emacs 513 file, the `yow' database, and other
498 might need while running. 514 architecture-independent files Emacs might need while
515 running. VERSION is as specified for `.../lisp'.
499 516
500 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable 517 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
501 programs used by Emacs that users are not expected to 518 programs used by Emacs that users are not expected to
502 run themselves. 519 run themselves.
503 `VERSION' is the number of the Emacs version you are 520 `VERSION' is the number of the Emacs version you are
504 installing, and `CONFIGURATION-NAME' is the value 521 installing, and `CONFIGURATION-NAME' is the argument
505 deduced by the `configure' program to identify the 522 you gave to the `configure' program to identify the
506 architecture and operating system of your machine, 523 architecture and operating system of your machine,
507 like `i686-pc-linux-gnu' or `sparc-sun-sunos'. Since 524 like `mips-dec-ultrix' or `sparc-sun-sunos'. Since
508 these files are specific to the version of Emacs, 525 these files are specific to the version of Emacs,
509 operating system, and architecture in use, including 526 operating system, and architecture in use, including
510 the configuration name in the path allows you to have 527 the configuration name in the path allows you to have
511 several versions of Emacs for any mix of machines and 528 several versions of Emacs for any mix of machines and
512 operating systems installed at the same time; this is 529 operating systems installed at the same time; this is
514 share the file system Emacs is installed on. 531 share the file system Emacs is installed on.
515 532
516 `/usr/local/share/info' holds the on-line documentation for Emacs, 533 `/usr/local/share/info' holds the on-line documentation for Emacs,
517 known as "info files". Many other GNU programs are 534 known as "info files". Many other GNU programs are
518 documented using info files as well, so this directory 535 documented using info files as well, so this directory
519 stands apart from the other, Emacs-specific directories. 536 stands apart from the other, Emacs-specific
520 537 directories.
521 `/usr/local/share/man/man1' holds the man pages for the programs installed 538
539 `/usr/local/man/man1' holds the man pages for the programs installed
522 in `/usr/local/bin'. 540 in `/usr/local/bin'.
523 541
524 Any version of Emacs, whether installed or not, also looks for Lisp 542 Any version of Emacs, whether installed or not, also looks for Lisp
525 files in these directories. 543 files in these directories.
526 544
579 `datadir' indicates where to put the architecture-independent 597 `datadir' indicates where to put the architecture-independent
580 read-only data files that Emacs refers to while it runs; it 598 read-only data files that Emacs refers to while it runs; it
581 defaults to /usr/local/share. We create the following 599 defaults to /usr/local/share. We create the following
582 subdirectories under `datadir': 600 subdirectories under `datadir':
583 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and 601 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and
584 - `emacs/VERSION/etc', containing the tutorials, DOC file, etc. 602 - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC
603 file, and the `yow' database.
585 `VERSION' is the number of the Emacs version you are installing, 604 `VERSION' is the number of the Emacs version you are installing,
586 like `23.1' or `23.2'. Since these files vary from one version 605 like `18.59' or `19.0'. Since these files vary from one version
587 of Emacs to another, including the version number in the path 606 of Emacs to another, including the version number in the path
588 allows you to have several versions of Emacs installed at the 607 allows you to have several versions of Emacs installed at the
589 same time; this means that you don't have to make Emacs 608 same time; this means that you don't have to make Emacs
590 unavailable while installing a new version. 609 unavailable while installing a new version.
591 610
594 We create the following subdirectories under `libexecdir': 613 We create the following subdirectories under `libexecdir':
595 - `emacs/VERSION/CONFIGURATION-NAME', containing executable 614 - `emacs/VERSION/CONFIGURATION-NAME', containing executable
596 programs used by Emacs that users are not expected to run 615 programs used by Emacs that users are not expected to run
597 themselves. 616 themselves.
598 `VERSION' is the number of the Emacs version you are installing, 617 `VERSION' is the number of the Emacs version you are installing,
599 and `CONFIGURATION-NAME' is the value deduced by the 618 and `CONFIGURATION-NAME' is the argument you gave to the
600 `configure' program to identify the architecture and operating 619 `configure' program to identify the architecture and operating
601 system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'. 620 system of your machine, like `mips-dec-ultrix' or
602 Since these files are specific to the version of Emacs, 621 `sparc-sun-sunos'. Since these files are specific to the version
603 operating system, and architecture in use, including the 622 of Emacs, operating system, and architecture in use, including
604 configuration name in the path allows you to have several 623 the configuration name in the path allows you to have several
605 versions of Emacs for any mix of machines and operating 624 versions of Emacs for any mix of machines and operating systems
606 systems installed at the same time; this is useful for sites 625 installed at the same time; this is useful for sites at which
607 at which different kinds of machines share the file system 626 different kinds of machines share the file system Emacs is
608 Emacs is installed on. 627 installed on.
609 628
610 `infodir' indicates where to put the info files distributed with 629 `infodir' indicates where to put the info files distributed with
611 Emacs; it defaults to `/usr/local/share/info'. 630 Emacs; it defaults to `/usr/local/share/info'.
612 631
613 `mandir' indicates where to put the man pages for Emacs and its 632 `mandir' indicates where to put the man pages for Emacs and its
614 utilities (like `etags'); it defaults to 633 utilities (like `etags'); it defaults to
615 `/usr/local/share/man/man1'. 634 `/usr/local/man/man1'.
616
617 [here]
618 635
619 `manext' gives the extension the man pages should be installed with. 636 `manext' gives the extension the man pages should be installed with.
620 It should contain a period, followed by the appropriate 637 It should contain a period, followed by the appropriate
621 digit. It defaults to `.1'. For example given the default 638 digit. It defaults to `.1'. For example given the default
622 values for `mandir' and `manext', the Emacs man page would be 639 values for `mandir' and `manext', the Emacs man page would be