annotate INSTALL @ 108994:c0520c9cf957

* INSTALL: General update.
author Glenn Morris <rgm@gnu.org>
date Wed, 09 Jun 2010 22:00:18 -0700
parents e2da1d33db95
children fe1cb647c842
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 GNU Emacs Installation Guide
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 75274
diff changeset
2 Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
3 2005, 2006, 2007, 2008, 2009, 2010
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
4 Free Software Foundation, Inc.
75769
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
5 See the end of the file for license conditions.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
8 This file contains general information on building GNU Emacs.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
9 For more information specific to the MS-Windows, GNUstep/Mac OS X, and
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
10 MS-DOS ports, also read the files nt/INSTALL, nextstep/INSTALL, and
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
11 msdos/INSTALL. For information about building from a Bazaar checkout
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
12 (rather than a release), also read the file INSTALL.BZR.
98461
976ed432b7ec Mention nt and nextstep INSTALL files at the start.
Glenn Morris <rgm@gnu.org>
parents: 98460
diff changeset
13
976ed432b7ec Mention nt and nextstep INSTALL files at the start.
Glenn Morris <rgm@gnu.org>
parents: 98460
diff changeset
14
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
15 BASIC INSTALLATION
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
16
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
17 On most Unix systems, you build Emacs by first running the `configure'
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
18 shell script. This attempts to deduce the correct values for
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
19 various system-dependent variables and features, and find the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
20 directories where certain system headers and libraries are kept.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
21 In a few cases, you may need to explicitly tell configure where to
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
22 find some things, or what options to use.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
23
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
24 `configure' creates a `Makefile' in several subdirectories, and a
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
25 `src/config.h' file containing system-dependent definitions.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
26 Running the `make' utility then builds the package for your system.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
27
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
28 Here's the procedure to build Emacs using `configure' on systems which
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
29 are supported by it. In some cases, if the simplified procedure fails,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
30 you might need to use various non-default options, and maybe perform
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
31 some of the steps manually. The more detailed description in the other
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
32 sections of this guide will help you do that, so please refer to those
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
33 sections if you need to.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
34
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
35 1. Unpacking the Emacs 23.2 release requires about 170 MB of free
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
36 disk space. Building Emacs uses about another 60 MB of space.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
37 The final installed Emacs uses about 120 MB of disk space.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
38 This includes the space-saving that comes from automatically
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
39 compressing the Lisp source files on installation.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
40
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
41 2a. `cd' to the directory where you unpacked Emacs and invoke the
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
42 `configure' script:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
43
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
44 ./configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
45
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
46 2b. Alternatively, create a separate directory, outside the source
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
47 directory, where you want to build Emacs, and invoke `configure'
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
48 from there:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
49
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
50 SOURCE-DIR/configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
51
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
52 where SOURCE-DIR is the top-level Emacs source directory.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
53 This may not work unless you use GNU make.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
54
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
55 3. When `configure' finishes, it prints several lines of details
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
56 about the system configuration. Read those details carefully
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
57 looking for anything suspicious, such as wrong CPU and operating
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
58 system names, wrong places for headers or libraries, missing
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
59 libraries that you know are installed on your system, etc.
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
60
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
61 If you find anything wrong, you may have to pass to `configure'
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
62 one or more options specifying the explicit machine configuration
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
63 name, where to find various headers and libraries, etc.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
64 Refer to the section DETAILED BUILDING AND INSTALLATION below.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
65
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
66 If `configure' didn't find some (optional) image support libraries,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
67 such as Xpm, jpeg, etc., and you want to use them, refer to the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
68 subsection "Image support libraries" below.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
69
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
70 If the details printed by `configure' don't make any sense to
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
71 you, but there are no obvious errors, assume that `configure' did
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
72 its job and proceed.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
73
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
74 4. If you need to run the `configure' script more than once (e.g.,
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
75 with some non-default options), always clean the source
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
76 directories before running `configure' again:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
77
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
78 make distclean
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
79 ./configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
80
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
81 5. Invoke the `make' program:
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
82
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
83 make
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
84
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
85 6. If `make' succeeds, it will build an executable program `emacs'
34994
fb1c795f1a5e Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents: 34939
diff changeset
86 in the `src' directory. You can try this program, to make sure
fb1c795f1a5e Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents: 34939
diff changeset
87 it works:
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
88
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
89 src/emacs -Q
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
90
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
91 7. Assuming that the program `src/emacs' starts and displays its
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
92 opening screen, you can install the program and its auxiliary
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
93 files into their installation directories:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
94
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
95 make install
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
96
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
97 You are now ready to use Emacs. If you wish to conserve disk space,
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
98 you may remove the program binaries and object files from the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
99 directory where you built Emacs:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
100
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
101 make clean
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
102
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
103 You can delete the entire build directory if you do not plan to
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
104 build Emacs again, but it can be useful to keep for debugging.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
105
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
106 Note that the install automatically saves space by compressing
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
107 (provided you have the `gzip' program) those installed Lisp source (.el)
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
108 files that have corresponding .elc versions. You may also wish
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
109 to compress the installed Info files.
35062
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
110
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
112 ADDITIONAL DISTRIBUTION FILES
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
113
102826
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
114 * Complex Text Layout support libraries
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
115
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
116 Emacs needs the optional libraries "m17n-db", "libm17n-flt", "libotf"
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
117 to correctly display such complex scripts as Indic and Khmer.
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
118 On some systems, particularly GNU/Linux, these libraries may be
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
119 already present or available as additional packages. Note that if
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
120 there is a separate `dev' or `devel' package, for use at compilation
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
121 time rather than run time, you will need that as well as the
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
122 corresponding run time package; typically the dev package will contain
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
123 header files and a library archive. Otherwise, you can download and
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
124 build libraries from sources.
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
125
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
126 The sources of these libraries are available by anonymous CVS from
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
127 cvs.m17n.org.
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
128
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
129 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n login
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
130 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-db
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
131 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-lib
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
132 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co libotf
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
133
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
134 For m17n-lib, if you have problems with making the whole package
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
135 because you lack some other packages on which m17n-lib depends, try to
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
136 configure it with the option "--without-gui".
76e34fe20234 Make the section "Complex Text Layout support
Kenichi Handa <handa@m17n.org>
parents: 100902
diff changeset
137
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
138 * intlfonts-VERSION.tar.gz
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
139
51114
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
140 The intlfonts distribution contains X11 fonts in various encodings
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
141 that Emacs can use to display international characters. If you see a
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
142 non-ASCII character appear as a hollow box, that means you don't have
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
143 a font for it. You might find one in the intlfonts distribution. If
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
144 you do have a font for a non-ASCII character, but some characters
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
145 don't look right, or appear improperly aligned, a font from the
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
146 intlfonts distribution might look better.
19899
a165ef580ea2 Say a little more about intlfonts. Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 19635
diff changeset
147
24070
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
148 The fonts in the intlfonts distribution are also used by the ps-print
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
149 package for printing international characters. The file
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
150 lisp/ps-mule.el defines the *.bdf font files required for printing
24070
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
151 each character set.
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
152
19899
a165ef580ea2 Say a little more about intlfonts. Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 19635
diff changeset
153 The intlfonts distribution contains its own installation instructions,
a165ef580ea2 Say a little more about intlfonts. Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 19635
diff changeset
154 in the intlfonts/README file.
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
155
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
156 * Image support libraries
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
157
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
158 Emacs needs optional libraries to be able to display images (with the
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
159 exception of PBM and XBM images whose support is built-in).
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
160
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
161 On some systems, particularly on GNU/Linux, these libraries may
36752
8d4af7d652c4 Need library devel packages.
Dave Love <fx@gnu.org>
parents: 36733
diff changeset
162 already be present or available as additional packages. Note that if
36753
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
163 there is a separate `dev' or `devel' package, for use at compilation
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
164 time rather than run time, you will need that as well as the
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
165 corresponding run time package; typically the dev package will
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
166 contain header files and a library archive. Otherwise, you can
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
167 download and build libraries from sources. None of them are vital for
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
168 running Emacs; however, note that Emacs will not be able to use
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
169 colored icons in the toolbar if XPM support is not compiled in.
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
170
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
171 Here's the list of some of these optional libraries, and the URLs
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
172 where they can be found (in the unlikely event that your distribution
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
173 does not provide them):
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
174
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
175 . libXaw3d http://directory.fsf.org/project/xaw3d/
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
176 . libxpm for XPM: http://www.x.org/releases/current/src/lib/
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
177 . libpng for PNG: http://www.libpng.org/
69701
6cd56cde7cd4 updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents: 54951
diff changeset
178 . libz (for PNG): http://www.zlib.net/
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
179 . libjpeg for JPEG: http://www.ijg.org/
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
180 . libtiff for TIFF: http://www.libtiff.org/
91541
5d2d50a49e37 Recommend giflib, not libungif.
Juanma Barranquero <lekktu@gmail.com>
parents: 91534
diff changeset
181 . libgif for GIF: http://sourceforge.net/projects/giflib/
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
182
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
183 Emacs will configure itself to build with these libraries if the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
184 `configure' script finds them on your system, unless you supply the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
185 appropriate --without-LIB option. In some cases, older versions of
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
186 these libraries won't work because some routines are missing, and
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
187 configure should avoid such old versions. If that happens, use the
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
188 --without-LIB options to `configure', if you need to.
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
189
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
190 * Extra fonts
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
191
71461
90cf42c37682 Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents: 70121
diff changeset
192 The Emacs distribution does not include fonts and does not install
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
193 them. If you need more fonts than your distribution normally provides,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
194 you must install them yourself.
49759
e09f7a4a26cd (* Extra fonts): Say that Emacs doesn't include fonts.
Kenichi Handa <handa@m17n.org>
parents: 49600
diff changeset
195
97547
1c58e58f90a5 (Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents: 97043
diff changeset
196 Emacs running on the GNU system supports both X fonts and local fonts
1c58e58f90a5 (Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents: 97043
diff changeset
197 (i.e. the fonts managed by the fontconfig library).
1c58e58f90a5 (Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents: 97043
diff changeset
198
1c58e58f90a5 (Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents: 97043
diff changeset
199 For `Unicode' (ISO 10646) X fonts, see
69701
6cd56cde7cd4 updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents: 54951
diff changeset
200 <URL:http://czyborra.com/unifont/> (packaged in Debian),
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
201 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian).
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
202 (In recent Debian versions, there is an extensive `misc-fixed'
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
203 iso10646-1 in the default X installation.) Perhaps also see
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
204 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>.
51114
afe35f1e1cbb Notes on fonts, Debian packages.
Dave Love <fx@gnu.org>
parents: 50751
diff changeset
205
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
206 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
207 ISO-8859 charsets.
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
208
71540
3171e85739c2 etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents: 71461
diff changeset
209 BDF Unicode fonts etl-unicode.tar.gz are available from
3171e85739c2 etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents: 71461
diff changeset
210 <URL:ftp://ftp.x.org/contrib/fonts/> and
3171e85739c2 etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents: 71461
diff changeset
211 <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>. These
3171e85739c2 etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents: 71461
diff changeset
212 fonts can also be used by ps-print and ps-mule to print Unicode
3171e85739c2 etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents: 71461
diff changeset
213 characters.
45112
19de9bf49e2d Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents: 44432
diff changeset
214
105005
ce02e739e6e8 * INSTALL: Update URL for GNU FreeFont.
Chong Yidong <cyd@stupidchicken.com>
parents: 104346
diff changeset
215 Finally, the Web page <URL:http://www.gnu.org/software/freefont/>
ce02e739e6e8 * INSTALL: Update URL for GNU FreeFont.
Chong Yidong <cyd@stupidchicken.com>
parents: 104346
diff changeset
216 lists a large number of free Unicode fonts.
71461
90cf42c37682 Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents: 70121
diff changeset
217
50742
4c3754d75224 (* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 49801
diff changeset
218 * GNU/Linux development packages
4c3754d75224 (* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 49801
diff changeset
219
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
220 Many GNU/Linux systems do not come with development packages by default;
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
221 they include the files that you need to run Emacs, but not those you
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
222 need to compile it. For example, to compile Emacs with support for X
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
223 and graphics libraries, you may need to install the `X development'
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
224 package(s), and development versions of the jpeg, png, etc. packages.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
225
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
226 The names of the packages that you need varies according to the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
227 GNU/Linux distribution that you use, and the options that you want to
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
228 configure Emacs with. On Debian-based systems, you can install all the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
229 packages needed to build the installed version of Emacs with a command
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
230 like `apt-get build-dep emacs23'.
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
231
47715
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
232
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
233 DETAILED BUILDING AND INSTALLATION:
15209
884b7293ccc7 Mention Windows 95.
Richard M. Stallman <rms@gnu.org>
parents: 15039
diff changeset
234
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
235 (This is for a Unix or Unix-like system. For MS-DOS and MS Windows 3.X,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
236 see msdos/INSTALL. For later versions of MS Windows, see the file
98512
7d9a5b179102 Fix case of "GNUstep".
Glenn Morris <rgm@gnu.org>
parents: 98461
diff changeset
237 nt/INSTALL. For GNUstep and Mac OS X, see nextstep/INSTALL.)
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 1) Make sure your system has enough swapping space allocated to handle
33639
26131b1a1dc1 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents: 32572
diff changeset
240 a program whose pure code is 1.5 MB and whose data area is at
42221
1af7ce62a225 Update Emacs memory and disk usage numbers.
Eli Zaretskii <eliz@gnu.org>
parents: 42213
diff changeset
241 least 2.8 MB and can reach 100 MB or more. If the swapping space is
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 insufficient, you will get an error in the command `temacs -batch -l
13667
fbf777f663d3 Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents: 12620
diff changeset
243 loadup dump', found in `./src/Makefile.in', or possibly when
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
244 running the final dumped Emacs. (This should not be an issue
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
245 on any recent system.)
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
246
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
247 Building Emacs requires about 230 MB of disk space (including the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
248 Emacs sources). Once installed, Emacs occupies about 120 MB in the file
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
249 system where it is installed; this includes the executable files, Lisp
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
250 libraries, miscellaneous data files, and on-line documentation. If
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
251 the building and installation take place in different directories,
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
252 then the installation procedure momentarily requires 230+120 MB.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
254 2) In the unlikely event that `configure' does not detect your system
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
255 type correctly, consult `./etc/MACHINES' to see what --host, --build
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
256 options you should pass to `configure'. That file also offers hints
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
257 for getting around some possible installation problems.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258
16309
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
259 3) You can build Emacs in the top-level Emacs source directory
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
260 or in a separate directory.
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
261
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
262 3a) To build in the top-level Emacs source directory, go to that
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
263 directory and run the program `configure' as follows:
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
265 ./configure [--OPTION[=VALUE]] ...
22255
7851f4551208 Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents: 21692
diff changeset
266
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
267 If `configure' cannot determine your system type, try again
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
268 specifying the proper --build, --host options explicitly.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
270 If you don't want X support, specify `--with-x=no'. If you omit this
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
271 option, `configure' will try to figure out for itself whether your
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
272 system has X, and arrange to use it if present.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 process where the compiler should look for the include files and
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
276 object libraries used with the X Window System. Normally, `configure'
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
277 is able to find them; these options are necessary if you have your X
12042
02b843631c0f Document how to specify a list to --x-includes and --x-libraries.
Karl Heuer <kwzh@gnu.org>
parents: 11905
diff changeset
278 Window System files installed in unusual places. These options also
02b843631c0f Document how to specify a list to --x-includes and --x-libraries.
Karl Heuer <kwzh@gnu.org>
parents: 11905
diff changeset
279 accept a list of directories, separated with colons.
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
280
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
281 To get more attractive menus, you can specify an X toolkit when you
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
282 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
283 TOOLKIT is `gtk' (the default), `athena', or `motif' (`yes' and
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
284 `lucid' are synonyms for `athena'). On some systems, it does not work
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
285 to use a toolkit with shared libraries. A free implementation of
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
286 Motif, called LessTif, is available from <http://www.lesstif.org>.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
287 Compiling with LessTif or Motif causes a standard File Selection
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
288 Dialog to pop up when you invoke file commands with the mouse. You
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
289 can get fancy 3D-style scroll bars, even without Gtk or LessTif/Motif,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
290 if you have the Xaw3d library installed (see "Image support libraries"
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
291 above for Xaw3d availability).
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
293 You can tell configure where to search for GTK by specifying
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
294 `--with-pkg-config-prog=PATH' where PATH is the pathname to
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
295 pkg-config. Note that GTK version 2.6 or newer is required for Emacs.
49322
2cbb0b823e83 GTK version
Jan Djärv <jan.h.d@swipnet.se>
parents: 47716
diff changeset
296
34484
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
297 The Emacs mail reader RMAIL is configured to be able to read mail from
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
298 a POP3 server by default. Versions of the POP protocol older than
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
299 POP3 are not supported. For Kerberos-authenticated POP add
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
300 `--with-kerberos', for Hesiod support add `--with-hesiod'. While POP3
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
301 is always enabled, whether Emacs actually uses POP is controlled by
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
302 individual users--see the Rmail chapter of the Emacs manual.
15936
6a126c5c87bb Describe --with-pop and related options.
Richard M. Stallman <rms@gnu.org>
parents: 15828
diff changeset
303
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
304 For image support you may have to download, build, and install the
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
305 appropriate image support libraries for image types other than XBM and
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
306 PBM, see the list of URLs in "ADDITIONAL DISTRIBUTION FILES" above.
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
307 (Note that PNG support requires libz in addition to libpng.)
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
308
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
309 To disable individual types of image support in Emacs for some reason,
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
310 even though configure finds the libraries, you can configure with one
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
311 or more of these options:
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
312
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
313 --without-xpm for XPM image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
314 --without-jpeg for JPEG image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
315 --without-tiff for TIFF image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
316 --without-gif for GIF image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
317 --without-png for PNG image support
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
318
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
319 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
77540
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
320 scroll bars.
51826
19ef2c37b89f (DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents: 51114
diff changeset
321
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
322 Use --without-xim to inhibit the default use of X Input Methods.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
323 In this case, the X resource useXIM can be used to turn on use of XIM.
51826
19ef2c37b89f (DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents: 51114
diff changeset
324
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
325 Use --disable-largefile to omit support for files larger than 2GB on
77540
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
326 systems which support that.
51826
19ef2c37b89f (DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents: 51114
diff changeset
327
19ef2c37b89f (DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents: 51114
diff changeset
328 Use --without-sound to disable sound support.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
329
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330 The `--prefix=PREFIXDIR' option specifies where the installation process
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
331 should put emacs and its data files. This defaults to `/usr/local'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332 - Emacs (and the other utilities users run) go in PREFIXDIR/bin
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333 (unless the `--exec-prefix' option says otherwise).
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
334 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
335 (where VERSION is the version number of Emacs, like `23.2').
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336 - The architecture-dependent files go in
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
337 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
338 (where CONFIGURATION is the configuration name, like
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
339 i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341 The `--exec-prefix=EXECDIR' option allows you to specify a separate
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342 portion of the directory tree for installing architecture-specific
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 files, like executables and utility programs. If specified,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344 - Emacs (and the other utilities users run) go in EXECDIR/bin, and
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345 - The architecture-dependent files go in
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
346 EXECDIR/libexec/emacs/VERSION/CONFIGURATION.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 EXECDIR/bin should be a directory that is normally in users' PATHs.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349 For example, the command
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
351 ./configure --build=i386-linux-gnu --without-sound
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
353 configures Emacs to build for a 32-bit GNU/Linux distribution,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
354 without sound support.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
356 `configure' doesn't do any compilation or installation itself.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
357 It just creates the files that influence those things:
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
358 `./Makefile' in the top-level directory and several subdirectories;
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
359 and `./src/config.h'. For details on exactly what it does, see the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
360 section called `CONFIGURATION BY HAND', below.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362 When it is done, `configure' prints a description of what it did and
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
363 creates a shell script `config.status' which, when run, recreates the
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
364 same configuration. If `configure' exits with an error after
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
365 disturbing the status quo, it removes `config.status'. `configure'
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
366 also creates a file `config.cache' that saves the results of its tests
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
367 to make reconfiguring faster, and a file `config.log' containing compiler
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
368 output (useful mainly for debugging `configure'). You can give
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
369 `configure' the option `--cache-file=FILE' to use the results of the
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
370 tests in FILE instead of `config.cache'. Set FILE to `/dev/null' to
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
371 disable caching, for debugging `configure'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
373 If the description of the system configuration printed by `configure'
77155
0913bc126b05 Fix typos.
Glenn Morris <rgm@gnu.org>
parents: 75769
diff changeset
374 is not right, or if it claims some of the features or libraries are not
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
375 available when you know they are, look at the `config.log' file for
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
376 the trace of the failed tests performed by `configure' to check
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
377 whether these features are supported. Typically, some test fails
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
378 because the compiler cannot find some function in the system
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
379 libraries, or some macro-processor definition in the system headers.
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
380
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
381 Some tests might fail because the compiler should look in special
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
382 directories for some header files, or link against optional
35034
4b4cc897a985 Fix a typo.
Eli Zaretskii <eliz@gnu.org>
parents: 34994
diff changeset
383 libraries, or use special compilation options. You can force
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
384 `configure' and the build process which follows it to do that by
77540
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
385 setting the variables CPPFLAGS, CFLAGS, LDFLAGS, LIBS, CPP and CC
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
386 before running `configure'. CPP is the command which invokes the
77289
c853532ee388 Mention CPP.
Glenn Morris <rgm@gnu.org>
parents: 77155
diff changeset
387 preprocessor, CPPFLAGS lists the options passed to it, CFLAGS are
c853532ee388 Mention CPP.
Glenn Morris <rgm@gnu.org>
parents: 77155
diff changeset
388 compilation options, LDFLAGS are options used when linking, LIBS are
c853532ee388 Mention CPP.
Glenn Morris <rgm@gnu.org>
parents: 77155
diff changeset
389 libraries to link against, and CC is the command which invokes the
91573
9ab8772424c0 Mention that gcc is the default compiler.
Glenn Morris <rgm@gnu.org>
parents: 91566
diff changeset
390 compiler. By default, gcc is used if available.
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
391
35062
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
392 Here's an example of a `configure' invocation, assuming a Bourne-like
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
393 shell such as Bash, which uses these variables:
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
394
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
395 CPPFLAGS='-I/foo/myinclude' LDFLAGS='-L/bar/mylib' \
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
396 CFLAGS='-O3' LIBS='-lfoo -lbar' ./configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
397
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
398 (this is all one long line). This tells `configure' to instruct the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
399 preprocessor to look in the `/foo/myinclude' directory for header
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
400 files (in addition to the standard directories), instruct the linker
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
401 to look in `/bar/mylib' for libraries, pass the -O3 optimization
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
402 switch to the compiler, and link against libfoo and libbar
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
403 libraries in addition to the standard ones.
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
404
108366
e2da1d33db95 Fix typos (Bug#6094). From ªÞt«µp«¡n N«µmec.
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
405 For some libraries, like Gtk+, fontconfig and ALSA, `configure' uses
77540
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
406 pkg-config to find where those libraries are installed.
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
407 If you want pkg-config to look in special directories, you have to set
a04ea5f96dad (DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 77289
diff changeset
408 the environment variable PKG_CONFIG_PATH to point to the directories
74486
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
409 where the .pc-files for those libraries are.
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
410 For example:
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
411
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
412 PKG_CONFIG_PATH='/usr/local/alsa/lib/pkgconfig:/opt/gtk+-2.8/lib/pkgconfig' \
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
413 ./configure
917f46cb7b70 (DETAILED BUILDING AND INSTALLATION): Document usage
Jan Djärv <jan.h.d@swipnet.se>
parents: 74439
diff changeset
414
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415 The work of `configure' can be done by editing various files in the
16309
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
416 distribution, but using `configure' is easier. See the section called
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
417 "CONFIGURATION BY HAND" below if you want to do the configuration
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
418 yourself.
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
419
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
420 3b) To build in a separate directory, go to that directory
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
421 and run the program `configure' as follows:
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
422
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
423 SOURCE-DIR/configure CONFIGURATION-NAME [--OPTION[=VALUE]] ...
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
424
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
425 SOURCE-DIR refers to the top-level Emacs source directory which is
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
426 where Emacs's configure script is located. `configure' looks for the
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
427 Emacs source code in the directory that `configure' is in.
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
428
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
429 To build in a separate directory, you must use a version of `make'
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
430 that supports the `VPATH' variable, such as GNU `make'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
432 (Do not try to build in a separate directory by creating many links
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
433 to the real source directory--there is no need, and installation will
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
434 fail.)
21691
2a33987c0f02 Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents: 21343
diff changeset
435
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
436 4) Look at `./lisp/paths.el'; if some of those values are not right
11905
3f5326542cf6 Clarify use of site-init.el.
Karl Heuer <kwzh@gnu.org>
parents: 11733
diff changeset
437 for your system, set up the file `./lisp/site-init.el' with Emacs
3f5326542cf6 Clarify use of site-init.el.
Karl Heuer <kwzh@gnu.org>
parents: 11733
diff changeset
438 Lisp code to override them; it is not a good idea to edit paths.el
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
440 rather than `defvar', as used by `./lisp/paths.el'. For example,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
441
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
442 (setq news-inews-program "/usr/bin/inews")
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
443
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444 is how you would override the default value of the variable
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
445 news-inews-program.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446
11119
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
447 Before you override a variable this way, *look at the value* that the
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
448 variable gets by default! Make sure you know what kind of value the
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
449 variable should have. If you don't pay attention to what you are
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
450 doing, you'll make a mistake.
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
451
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
452 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
453 Lisp code you want Emacs to load before it is dumped out. Use
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
454 site-load.el for additional libraries if you arrange for their
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
455 documentation strings to be in the etc/DOC file (see
13667
fbf777f663d3 Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents: 12620
diff changeset
456 src/Makefile.in if you wish to figure out how to do that). For all
23330
3f2ab6f2bb5c *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 22255
diff changeset
457 else, use site-init.el. Do not load byte-compiled code which
108366
e2da1d33db95 Fix typos (Bug#6094). From ªÞt«µp«¡n N«µmec.
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
458 was built with a non-nil value of `byte-compile-dynamic'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459
11732
072d319a485f Clarify effect of setting load-path before dumping.
Richard M. Stallman <rms@gnu.org>
parents: 11729
diff changeset
460 If you set load-path to a different value in site-init.el or
072d319a485f Clarify effect of setting load-path before dumping.
Richard M. Stallman <rms@gnu.org>
parents: 11729
diff changeset
461 site-load.el, Emacs will use *precisely* that value when it starts up
072d319a485f Clarify effect of setting load-path before dumping.
Richard M. Stallman <rms@gnu.org>
parents: 11729
diff changeset
462 again. If you do this, you are on your own!
10672
0582cd3a31a6 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 9760
diff changeset
463
7627
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
464 The `site-*.el' files are nonexistent in the distribution. You do not
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
465 need to create them if you have nothing to put in them.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467 6) Refer to the file `./etc/TERMS' for information on fields you may
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
468 wish to add to various termcap entries. (This is unlikely to be necessary.)
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
469
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
470 7) Run `make' in the top directory of the Emacs distribution to finish
11733
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
471 building Emacs in the standard way. The final executable file is
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
472 named `src/emacs'. You can execute this file "in place" without
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
473 copying it, if you wish; then it automatically uses the sibling
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
474 directories ../lisp, ../lib-src, ../info.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
475
108366
e2da1d33db95 Fix typos (Bug#6094). From ªÞt«µp«¡n N«µmec.
Chong Yidong <cyd@stupidchicken.com>
parents: 106815
diff changeset
476 Or you can "install" the executable and the other files into their
11733
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
477 installed locations, with `make install'. By default, Emacs's files
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
478 are installed in the following directories:
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
479
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
480 `/usr/local/bin' holds the executable programs users normally run -
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
481 `emacs', `etags', `ctags', `b2m', `emacsclient',
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
482 `grep-changelog', and `rcs-checkin'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
483
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
484 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
485 `VERSION' stands for the number of the Emacs version
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
486 you are installing, like `23.1' or `23.2'. Since the
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
487 Lisp library changes from one version of Emacs to
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
488 another, including the version number in the path
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
489 allows you to have several versions of Emacs installed
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
490 at the same time; in particular, you don't have to
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
491 make Emacs unavailable while installing a new version.
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
492
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
493 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
494 file, and other architecture-independent files Emacs
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
495 might need while running.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
497 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 programs used by Emacs that users are not expected to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
499 run themselves.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500 `VERSION' is the number of the Emacs version you are
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
501 installing, and `CONFIGURATION-NAME' is the value
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
502 deduced by the `configure' program to identify the
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 architecture and operating system of your machine,
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
504 like `i686-pc-linux-gnu' or `sparc-sun-sunos'. Since
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 these files are specific to the version of Emacs,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 operating system, and architecture in use, including
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507 the configuration name in the path allows you to have
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 several versions of Emacs for any mix of machines and
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 operating systems installed at the same time; this is
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 useful for sites at which different kinds of machines
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511 share the file system Emacs is installed on.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512
75274
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
513 `/usr/local/share/info' holds the on-line documentation for Emacs,
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
514 known as "info files". Many other GNU programs are
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
515 documented using info files as well, so this directory
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
516 stands apart from the other, Emacs-specific directories.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
518 `/usr/local/share/man/man1' holds the man pages for the programs installed
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 in `/usr/local/bin'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
520
54951
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
521 Any version of Emacs, whether installed or not, also looks for Lisp
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
522 files in these directories.
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
523
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
524 `/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
525 files installed for Emacs version VERSION only.
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
526
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
527 `/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
528 files installed for all Emacs versions.
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
529
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
530 When Emacs is installed, it searches for its Lisp files
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
531 in `/usr/local/share/emacs/VERSION/site-lisp', then in
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
532 `/usr/local/share/emacs/site-lisp', and finally in
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
533 `/usr/local/share/emacs/VERSION/lisp'.
88d561445a39 Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents: 52772
diff changeset
534
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
535 If these directories are not what you want, you can specify where to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
536 install Emacs's libraries and data files or where Emacs should search
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
537 for its Lisp files by giving values for `make' variables as part of
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
538 the command. See the section below called `MAKE VARIABLES' for more
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
539 information on this.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
540
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
541 8) Check the file `dir' in your site's info directory (usually
75274
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
542 /usr/local/share/info) to make sure that it has a menu entry for the
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
543 Emacs info files.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
544
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
545 9) If your system uses lock files to interlock access to mailer inbox files,
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
546 then you might need to make the movemail program setuid or setgid
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
547 to enable it to write the lock files. We believe this is safe.
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
548
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
549 10) You are done! You can remove executables and object files from
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
550 the build directory by typing `make clean'. To also remove the files
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
551 that `configure' created (so you can compile Emacs for a different
26905
9f4d574a38b5 Explain that unused input methods can be removed from the installation
Eli Zaretskii <eliz@gnu.org>
parents: 26416
diff changeset
552 configuration), type `make distclean'. If you don't need some, or all
9f4d574a38b5 Explain that unused input methods can be removed from the installation
Eli Zaretskii <eliz@gnu.org>
parents: 26416
diff changeset
553 of the input methods from the Leim package, you can remove the
47561
5bb8339ffc9e Remove outdated details about leim subdir.
Richard M. Stallman <rms@gnu.org>
parents: 45112
diff changeset
554 unneeded files in the leim subdirectories of your site's lisp
5bb8339ffc9e Remove outdated details about leim subdir.
Richard M. Stallman <rms@gnu.org>
parents: 45112
diff changeset
555 directory (usually /usr/local/share/emacs/VERSION/).
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
556
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
557
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
558
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
559 MAKE VARIABLES
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
560
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
561 You can change where the build process installs Emacs and its data
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562 files by specifying values for `make' variables as part of the `make'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
563 command line. For example, if you type
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
565 make install bindir=/usr/local/gnubin
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
566
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567 the `bindir=/usr/local/gnubin' argument indicates that the Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
568 executable files should go in `/usr/local/gnubin', not
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
569 `/usr/local/bin'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
570
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
571 Here is a complete list of the variables you may want to set.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
572
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 `bindir' indicates where to put executable programs that users can
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574 run. This defaults to /usr/local/bin.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
575
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576 `datadir' indicates where to put the architecture-independent
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
577 read-only data files that Emacs refers to while it runs; it
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
578 defaults to /usr/local/share. We create the following
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579 subdirectories under `datadir':
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
580 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
581 - `emacs/VERSION/etc', containing the tutorials, DOC file, etc.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
582 `VERSION' is the number of the Emacs version you are installing,
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
583 like `23.1' or `23.2'. Since these files vary from one version
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
584 of Emacs to another, including the version number in the path
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
585 allows you to have several versions of Emacs installed at the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
586 same time; this means that you don't have to make Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
587 unavailable while installing a new version.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
588
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
589 `libexecdir' indicates where to put architecture-specific data files that
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
590 Emacs refers to as it runs; it defaults to `/usr/local/libexec'.
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
591 We create the following subdirectories under `libexecdir':
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
592 - `emacs/VERSION/CONFIGURATION-NAME', containing executable
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
593 programs used by Emacs that users are not expected to run
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49322
diff changeset
594 themselves.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
595 `VERSION' is the number of the Emacs version you are installing,
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
596 and `CONFIGURATION-NAME' is the value deduced by the
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
597 `configure' program to identify the architecture and operating
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
598 system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'.
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
599 Since these files are specific to the version of Emacs,
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
600 operating system, and architecture in use, including the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
601 configuration name in the path allows you to have several
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
602 versions of Emacs for any mix of machines and operating
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
603 systems installed at the same time; this is useful for sites
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
604 at which different kinds of machines share the file system
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
605 Emacs is installed on.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 `infodir' indicates where to put the info files distributed with
75274
2e668483dd85 Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents: 74486
diff changeset
608 Emacs; it defaults to `/usr/local/share/info'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
609
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610 `mandir' indicates where to put the man pages for Emacs and its
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 utilities (like `etags'); it defaults to
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
612 `/usr/local/share/man/man1'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
614 `prefix' doesn't give a path for any specific part of Emacs; instead,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 its value is used to determine the defaults for all the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616 architecture-independent path variables - `datadir',
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
617 `sharedstatedir', `infodir', and `mandir'. Its default value is
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
618 `/usr/local'; the other variables add on `lib' or `man' to it
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
619 by default.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
620
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
621 For example, suppose your site generally places GNU software
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
622 under `/usr/users/software/gnusoft' instead of `/usr/local'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
623 By including
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
624 `prefix=/usr/users/software/gnusoft'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
625 in the arguments to `make', you can instruct the build process
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
626 to place all of the Emacs data files in the appropriate
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
627 directories under that path.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
628
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
629 `exec_prefix' serves the same purpose as `prefix', but instead
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630 determines the default values for the architecture-dependent
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
631 path variables - `bindir' and `libexecdir'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
633 The above variables serve analogous purposes in the makefiles for all
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
634 GNU software; the following variable is specific to Emacs.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
635
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
636 `archlibdir' indicates where Emacs installs and expects the executable
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
637 files and other architecture-dependent data it uses while
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
638 running. Its default value, based on `libexecdir' (which
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
639 see), is `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME'
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
640 (where VERSION and CONFIGURATION-NAME are as described above).
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
641
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
642 Remember that you must specify any variable values you need each time
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
643 you run `make' in the top directory. If you run `make' once to build
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
644 emacs, test it, and then run `make' again to install the files, you
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 must provide the same variable settings each time. To make the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
646 settings persist, you can edit them into the `Makefile' in the top
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
647 directory, but be aware that running the `configure' program erases
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
648 `Makefile' and rebuilds it from `Makefile.in'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
649
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
650 The path for finding Lisp files is specified in src/epaths.h,
21343
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
651 a file which is generated by running configure. To change the path,
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
652 you can edit the definition of PATH_LOADSEARCH in that file
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
653 before you run `make'.
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
654
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
655 The top-level Makefile stores the variable settings it used in the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
656 Makefiles for the subdirectories, so you don't have to specify them
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
657 when running make in the subdirectories.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
658
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
659
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
660 CONFIGURATION BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
661
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
662 This should not be necessary and is not recommended. Instead of
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
663 running the `configure' program, you have to perform the following steps.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
664
13667
fbf777f663d3 Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents: 12620
diff changeset
665 1) Copy `./src/config.in' to `./src/config.h'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
666
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
667 2) Consult `./etc/MACHINES' to see what configuration name you should
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
668 use for your system. Look at the code of the `configure' script to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
669 see which operating system and architecture description files from
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
670 `src/s' and `src/m' should be used for that configuration name. Edit
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
671 `src/config.h', and change the two `#include' directives to include
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
672 the appropriate system and architecture description files.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
673
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
674 2) Edit `./src/config.h' to set the right options for your system. If
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
675 you need to override any of the definitions in the s/*.h and m/*.h
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
676 files for your system and machine, do so by editing config.h, not by
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
677 changing the s/*.h and m/*.h files.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
678
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
679 3) Create src/Makefile and lib-src/Makefile from the corresponding
13667
fbf777f663d3 Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents: 12620
diff changeset
680 `Makefile.in' files. First copy `Makefile.in' to `Makefile.c',
14020
1ea8008d4bd8 Fix typo.
Karl Heuer <kwzh@gnu.org>
parents: 13926
diff changeset
681 then edit in appropriate substitutions for the @...@ constructs,
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
682 and then copy the shell commands near the end of `configure'
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
683 that run cpp to construct `Makefile'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
684
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
685 4) Create `Makefile' files in various other directories from the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
686 corresponding `Makefile.in' files. This isn't so hard, just a matter
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
687 of editing in appropriate substitutions for the @...@ constructs.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
688
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
689 The `configure' script is built from `configure.in' by the `autoconf'
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
690 program. You need at least the version of autoconf specified in the
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
691 AC_PREREQ(...) command to rebuild `configure' from `configure.in'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
692
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
693 BUILDING GNU EMACS BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
694
9507
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
695 Once Emacs is configured, running `make' in the top directory performs
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
696 the following steps.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
697
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
698 1) Run `make epaths-force' in the top directory. This produces
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
699 `./src/epaths.h' from the template file `./src/epaths.in', changing
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
700 the paths to the values specified in `./Makefile'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
701
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
702 2) Go to directory `./lib-src' and run `make'. This creates
77155
0913bc126b05 Fix typos.
Glenn Morris <rgm@gnu.org>
parents: 75769
diff changeset
703 executables named `ctags' and `etags' and `make-docfile' and
0913bc126b05 Fix typos.
Glenn Morris <rgm@gnu.org>
parents: 75769
diff changeset
704 `digest-doc' and `test-distrib'. And others.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
705
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
706 3) Go to directory `./src' and run `make'. This refers to files in
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
707 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
708 `../lib-src'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
709
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
710 This creates a file `./src/emacs' which is the runnable Emacs,
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
711 which has another name that contains a version number.
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
712 Each time you do this, that version number increments in the last place.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
713
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
714 It also creates a file in `./etc' whose name is `DOC' followed by the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
715 current Emacs version. This file contains documentation strings for
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
716 all the functions in Emacs. Each time you run make to make a new
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
717 emacs, a new DOC file with a new name is made. You must keep the DOC
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
718 file for an Emacs version as long as you keep using that Emacs version.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
719
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
720
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
721 INSTALLATION BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
722
9507
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
723 The steps below are done by running `make install' in the main
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
724 directory of the Emacs distribution.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
725
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
726 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
727 in `./lib-src' to their final destinations, as selected in `./src/epaths.h'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
728
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
729 Strictly speaking, not all of the executables in `./lib-src' need be copied.
104346
a744eb12af2c Remove reference to cvtmail.
Glenn Morris <rgm@gnu.org>
parents: 104132
diff changeset
730 - The programs `fakemail', `hexl', `movemail', `profile', `rcs2log',
a744eb12af2c Remove reference to cvtmail.
Glenn Morris <rgm@gnu.org>
parents: 104132
diff changeset
731 and `vcdiff' are used by Emacs; they do need to be copied.
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
732 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
733 are intended to be run by users; they are handled below.
9498
0d3e8a3551b1 Formerly INSTALL.~32~
David J. MacKenzie <djm@gnu.org>
parents: 7864
diff changeset
734 - The programs `make-docfile' and `test-distrib' were
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
735 used in building Emacs, and are not needed any more.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
736 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
737 a file for users to read. There is no important reason to move them.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
738
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
739 2) Copy the files in `./info' to the place specified in
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
740 `./lisp/site-init.el' or `./lisp/paths.el'. Note that if the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
741 destination directory already contains a file named `dir', you
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
742 probably don't want to replace it with the `dir' file in the Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
743 distribution. Instead, you should make sure that the existing `dir'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
744 file contains an appropriate menu entry for the Emacs info.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
745
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
746 3) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
747 in users' search paths. `./src/emacs' has an alternate name
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
748 `./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
749 `/usr/local/bin/emacs' pointing to that alternate name, as an easy way
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
750 of installing different versions.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
751
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
752 You can delete `./src/temacs'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
753
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
754 4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
755 `rcs-checkin' from `./lib-src' to `/usr/local/bin'. These programs are
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
756 intended for users to run.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
757
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
758 5) Copy the man pages in `./doc/man' into the appropriate man directory.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
759
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
760 6) The files in the `./src' subdirectory, except for `emacs', are not
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
761 used by Emacs once it is built. However, it is very desirable to keep
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
762 the source on line for debugging.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
763
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
764
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
765 PROBLEMS
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
766
108994
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
767 See the file `./etc/PROBLEMS' for a list of various problems sometimes
c0520c9cf957 * INSTALL: General update.
Glenn Morris <rgm@gnu.org>
parents: 108366
diff changeset
768 encountered, and what to do about them.
34939
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
769
75769
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
770 This file is part of GNU Emacs.
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
771
94719
1a762a842f80 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 91573
diff changeset
772 GNU Emacs is free software: you can redistribute it and/or modify
75769
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
773 it under the terms of the GNU General Public License as published by
94719
1a762a842f80 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 91573
diff changeset
774 the Free Software Foundation, either version 3 of the License, or
1a762a842f80 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 91573
diff changeset
775 (at your option) any later version.
34994
fb1c795f1a5e Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents: 34939
diff changeset
776
75769
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
777 GNU Emacs is distributed in the hope that it will be useful,
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
778 but WITHOUT ANY WARRANTY; without even the implied warranty of
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
779 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
780 GNU General Public License for more details.
34939
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
781
75769
92a0e87ff562 Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents: 75348
diff changeset
782 You should have received a copy of the GNU General Public License
94719
1a762a842f80 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 91573
diff changeset
783 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.