Mercurial > emacs
annotate INSTALL @ 98182:19ec1646fe6c
The Rmail/mbox merge has been abandoned in favor of a restart using
the current rmail.el file. A comprehensive list of changes will be
supplied when pmail.el is morphed back into rmail.el
The current status is that pmail.el supports basic Rmail navigation
(no summary support) and shows the current message in a special
buffer using buffer-swap-text. No decoding is done yet. That is the
next step.
author | Paul Reilly <pmr@pajato.com> |
---|---|
date | Mon, 15 Sep 2008 20:56:53 +0000 |
parents | 89441831a5ad |
children | fb4ca3a26b2a |
rev | line source |
---|---|
3199 | 1 GNU Emacs Installation Guide |
75348 | 2 Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004, |
79751 | 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
75769
92a0e87ff562
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
4 See the end of the file for license conditions. |
3199 | 5 |
6 | |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
7 BASIC INSTALLATION |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
8 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
9 The simplest way to build Emacs is to use the `configure' shell script |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
10 which attempts to guess correct values for various system-dependent |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
11 variables and features and find the directories where various system |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
12 headers and libraries are kept. It then creates a `Makefile' in each |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
13 subdirectory and a `config.h' file containing system-dependent |
34994
fb1c795f1a5e
Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents:
34939
diff
changeset
|
14 definitions. Running the `make' utility then builds the package for |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
15 your system. |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
16 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
17 Here's the procedure to build Emacs using `configure' on systems which |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
18 are supported by it. If this simplified procedure fails, or if you |
34994
fb1c795f1a5e
Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents:
34939
diff
changeset
|
19 are using a platform such as MS-Windows, where `configure' script |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
20 doesn't work, you might need to use various non-default options, and |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
21 maybe perform some of the steps manually. The more detailed |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
22 description in the rest of the sections of this guide will help you do |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
23 that, so please refer to them if the simple procedure does not work. |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
24 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
25 1. Make sure your system has at least 120 MB of free disk space. |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
26 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
27 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
|
28 `configure' script: |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
29 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
30 ./configure |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
31 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
32 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
|
33 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
|
34 from there: |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
35 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
36 SOURCE-DIR/configure |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
37 |
35062
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
38 where SOURCE-DIR is the top-level Emacs source directory. This |
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
39 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
|
40 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
41 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
|
42 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
|
43 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
|
44 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
|
45 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
|
46 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
47 If you find anything wrong, you will have to pass to `configure' |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
48 explicit machine configuration name, and one or more options |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
49 which tell it where to find various headers and libraries; refer |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
50 to DETAILED BUILDING AND INSTALLATION section below. |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
51 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
52 If `configure' didn't find some image support libraries, such as |
35062
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
53 Xpm, jpeg, etc., and you want to use them refer to the subsection |
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
54 "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
|
55 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
56 If the details printed by `configure' don't make any sense to |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
57 you, assume that `configure' did its job and proceed. |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
58 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
59 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
|
60 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
|
61 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
|
62 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49322
diff
changeset
|
63 make distclean |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
64 ./configure |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
65 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
66 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
|
67 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
68 make |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
69 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
70 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
|
71 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
|
72 it works: |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
73 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
74 src/emacs -q |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
75 |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
76 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
|
77 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
|
78 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
|
79 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
80 make install |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
81 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
82 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
|
83 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
|
84 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
|
85 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
86 make clean |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
87 |
35062
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
88 You can also save some space by compressing (with `gzip') Info files |
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
89 and installed Lisp source (.el) files which have corresponding .elc |
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
90 versions. |
3168ff2c349b
Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents:
35034
diff
changeset
|
91 |
3199 | 92 |
19014
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
93 ADDITIONAL DISTRIBUTION FILES |
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
94 |
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
95 * intlfonts-VERSION.tar.gz |
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
96 |
51114 | 97 The intlfonts distribution contains X11 fonts in various encodings |
98 that Emacs can use to display international characters. If you see a | |
99 non-ASCII character appear as a hollow box, that means you don't have | |
100 a font for it. You might find one in the intlfonts distribution. If | |
101 you do have a font for a non-ASCII character, but some characters | |
102 don't look right, or appear improperly aligned, a font from the | |
103 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
|
104 |
24070
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
105 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
|
106 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
|
107 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
|
108 each character set. |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
109 |
19899
a165ef580ea2
Say a little more about intlfonts. Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents:
19635
diff
changeset
|
110 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
|
111 in the intlfonts/README file. |
19014
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
112 |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
113 * Image support libraries |
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
114 |
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
115 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
|
116 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
|
117 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
118 On some systems, particularly on GNU/Linux, these libraries may |
36752 | 119 already be present or available as additional packages. Note that if |
36753 | 120 there is a separate `dev' or `devel' package, for use at compilation |
121 time rather than run time, you will need that as well as the | |
122 corresponding run time package; typically the dev package will | |
123 contain header files and a library archive. Otherwise, you can | |
124 download and build libraries from sources. None of them are vital for | |
125 running Emacs; however, note that Emacs will not be able to use | |
126 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
|
127 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
128 Here's the list of these optional libraries, and the URLs where they |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
129 can be found: |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
130 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49322
diff
changeset
|
131 . libXaw3d for fancy 3D-style |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
132 scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/ |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
133 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/ |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49322
diff
changeset
|
134 Get version 3.4k or later, which lets Emacs |
38559 | 135 use its own color allocation functions. |
69701
6cd56cde7cd4
updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents:
54951
diff
changeset
|
136 . libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/ |
6cd56cde7cd4
updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents:
54951
diff
changeset
|
137 . libz (for PNG): http://www.zlib.net/ |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
138 . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/ |
36040 | 139 Get version 6b -- 6a is reported to fail in |
140 Emacs. | |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
141 . libtiff for TIFF: http://www.libtiff.org/ |
91541
5d2d50a49e37
Recommend giflib, not libungif.
Juanma Barranquero <lekktu@gmail.com>
parents:
91534
diff
changeset
|
142 . 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
|
143 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
144 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
|
145 `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
|
146 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
|
147 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
|
148 configure should avoid such old versions. If that happens, use the |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
149 --without-LIB options to `configure'. See below for more details. |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
150 |
91527
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
151 * Complex Text Layout support libraries |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
152 |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
153 Emacs needs the optional libraries "m17n-db", "libm17n-flt", "libotf" |
91534
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
154 to correctly display such complex scripts as Indic and Khmer. |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
155 On some systems, particularly GNU/Linux, these libraries may be |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
156 already present or available as additional packages. Note that if |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
157 there is a separate `dev' or `devel' package, for use at compilation |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
158 time rather than run time, you will need that as well as the |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
159 corresponding run time package; typically the dev package will contain |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
160 header files and a library archive. Otherwise, you can download and |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
161 build libraries from sources. |
91527
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
162 |
91534
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
163 The sources of these libraries are available by anonymous CVS from |
91527
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
164 cvs.m17n.org. |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
165 |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
166 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n login |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
167 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-db |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
168 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-lib |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
169 % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co libotf |
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
170 |
91534
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
171 For m17n-lib, if you have problems with making the whole package |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
172 because you lack some other packages on which m17n-lib depends, try to |
63bda081619f
Fix typos etc in previous change.
Glenn Morris <rgm@gnu.org>
parents:
91529
diff
changeset
|
173 configure it with the option "--without-gui". |
91527
1c3159ee43ab
(Complex Text Layout support libraries): New section.
Kenichi Handa <handa@m17n.org>
parents:
87649
diff
changeset
|
174 |
36040 | 175 * Extra fonts |
176 | |
71461
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
177 The Emacs distribution does not include fonts and does not install |
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
178 them. You must do that yourself. |
49759
e09f7a4a26cd
(* Extra fonts): Say that Emacs doesn't include fonts.
Kenichi Handa <handa@m17n.org>
parents:
49600
diff
changeset
|
179 |
97547
1c58e58f90a5
(Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents:
97043
diff
changeset
|
180 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
|
181 (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
|
182 |
1c58e58f90a5
(Extra fonts): Mention local fonts, don't mention mule-unicode.
Kenichi Handa <handa@m17n.org>
parents:
97043
diff
changeset
|
183 For `Unicode' (ISO 10646) X fonts, see |
69701
6cd56cde7cd4
updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents:
54951
diff
changeset
|
184 <URL:http://czyborra.com/unifont/> (packaged in Debian), |
51114 | 185 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). (In |
186 recent Debian versions, there is an extensive `misc-fixed' iso10646-1 | |
187 in the default X installation.) Perhaps also see | |
36040 | 188 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>. |
51114 | 189 |
36040 | 190 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's |
191 ISO-8859 charsets. | |
192 | |
69701
6cd56cde7cd4
updated broken link(s)
Ramprasad B <ramprasad_i82@yahoo.com>
parents:
54951
diff
changeset
|
193 XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors) |
36040 | 194 contains font support for most, if not all, of the charsets that Emacs |
51114 | 195 currently supports, including iso10646-1 encoded fonts for use with |
196 the mule-unicode charsets. The font files should also be usable with | |
197 older X releases. Note that XFree 4 contains many iso10646-1 fonts | |
198 with minimal character repertoires, which can cause problems -- see | |
199 etc/PROBLEMS. | |
36040 | 200 |
71540
3171e85739c2
etl-unicode fonts are good for display, not only for ps-print.
Eli Zaretskii <eliz@gnu.org>
parents:
71461
diff
changeset
|
201 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
|
202 <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
|
203 <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
|
204 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
|
205 characters. |
45112
19de9bf49e2d
Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents:
44432
diff
changeset
|
206 |
71461
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
207 Finally, the Web pages <URL:http://www.nongnu.org/freefont/index.html> |
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
208 and <URL:http://www.nongnu.org/freefont/resources.html> list a large |
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
209 number of free Unicode fonts. |
90cf42c37682
Mention www.nongnu.org pages that list free Unicode fonts.
Eli Zaretskii <eliz@gnu.org>
parents:
70121
diff
changeset
|
210 |
50742
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
211 * GNU/Linux development packages |
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
212 |
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
213 Many GNU/Linux systems do not come with development packages by |
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
214 default; they just include the files that you need to run Emacs, but |
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
215 not those you need to compile it. For example, to compile Emacs with |
4c3754d75224
(* GNU/Linux development packages): Tell people to
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49801
diff
changeset
|
216 X11 support, you may need to install the special `X11 development' |
50751
ec954e051a6b
(* GNU/Linux development packages): Mention Debian and
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50742
diff
changeset
|
217 package. For example, in April 2003, the package names to install |
77155 | 218 were `XFree86-devel' and `Xaw3d-devel' on Red Hat. On Debian, the |
51114 | 219 packages necessary to build the installed version should be |
220 sufficient; they can be installed using `apt-get build-dep emacs21' in | |
221 Debian 3 and above. | |
19014
63c862461563
Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents:
16861
diff
changeset
|
222 |
47715 | 223 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
224 DETAILED BUILDING AND INSTALLATION: |
15209 | 225 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
226 (This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X, |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
227 see below; search for MSDOG. For Windows 9X, Windows ME, Windows NT, |
98032
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
228 Windows 2000, Windows XP/2003, and Windows Vista/2008, see the file |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
229 nt/INSTALL.) |
3199 | 230 |
231 1) Make sure your system has enough swapping space allocated to handle | |
33639 | 232 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
|
233 least 2.8 MB and can reach 100 MB or more. If the swapping space is |
3199 | 234 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
|
235 loadup dump', found in `./src/Makefile.in', or possibly when |
6062 | 236 running the final dumped Emacs. |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49322
diff
changeset
|
237 |
42221
1af7ce62a225
Update Emacs memory and disk usage numbers.
Eli Zaretskii <eliz@gnu.org>
parents:
42213
diff
changeset
|
238 Building Emacs requires about 140 MB of disk space (including the |
1af7ce62a225
Update Emacs memory and disk usage numbers.
Eli Zaretskii <eliz@gnu.org>
parents:
42213
diff
changeset
|
239 Emacs sources) Once installed, Emacs occupies about 77 MB in the file |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
240 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
|
241 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
|
242 the building and installation take place in different directories, |
42221
1af7ce62a225
Update Emacs memory and disk usage numbers.
Eli Zaretskii <eliz@gnu.org>
parents:
42213
diff
changeset
|
243 then the installation procedure momentarily requires 140+77 MB. |
3199 | 244 |
245 2) Consult `./etc/MACHINES' to see what configuration name you should | |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
246 give to the `configure' program. That file offers hints for |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
247 getting around some possible installation problems. The file lists |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
248 many different configurations, but only the part for your machine and |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
249 operating system is relevant. (The list is arranged in alphabetical |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
250 order by the vendor name.) |
3199 | 251 |
16309
fea88c3fb20c
Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents:
15936
diff
changeset
|
252 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
|
253 or in a separate directory. |
fea88c3fb20c
Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents:
15936
diff
changeset
|
254 |
fea88c3fb20c
Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents:
15936
diff
changeset
|
255 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
|
256 directory and run the program `configure' as follows: |
3199 | 257 |
22255
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
258 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... |
3199 | 259 |
260 The CONFIGURATION-NAME argument should be a configuration name given | |
22255
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
261 in `./etc/MACHINES', with the system version number added at the end. |
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
262 |
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
263 You should try first omitting CONFIGURATION-NAME. This way, |
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
264 `configure' will try to guess your system type. If it cannot guess, |
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
265 or if something goes wrong in building or installing Emacs this way, |
7851f4551208
Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents:
21692
diff
changeset
|
266 try again specifying the proper CONFIGURATION-NAME explicitly. |
3199 | 267 |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
268 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
|
269 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
|
270 system has X, and arrange to use it if present. |
3199 | 271 |
272 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build | |
273 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
|
274 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
|
275 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
|
276 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
|
277 accept a list of directories, separated with colons. |
6062 | 278 |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
279 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
|
280 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where |
71724
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
281 TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
282 for `athena'). On some systems, it does not work to use a toolkit |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
283 with shared libraries. A free implementation of Motif, called |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
284 LessTif, is available from <http://www.lesstif.org>. Compiling with |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
285 LessTif or Motif causes a standard File Selection Dialog to pop up |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
286 when you invoke file commands with the mouse. You can get fancy |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
287 3D-style scroll bars, even without LessTif/Motif, if you have the |
706c31ef66dc
(DETAILED BUILDING AND INSTALLATION): Minor corrections.
Richard M. Stallman <rms@gnu.org>
parents:
71540
diff
changeset
|
288 Xaw3d library installed (see "Image support libraries" above for Xaw3d |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
289 availability). |
3199 | 290 |
49322 | 291 If `--with-x-toolkit=gtk' is specified, you can tell configure where |
292 to search for GTK by specifying `--with-pkg-config-prog=PATH' where | |
69735 | 293 PATH is the pathname to pkg-config. Note that GTK version 2.4 or |
49322 | 294 newer is required for Emacs. |
295 | |
34484
1db330e58c71
No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents:
33812
diff
changeset
|
296 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
|
297 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
|
298 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
|
299 `--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
|
300 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
|
301 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
|
302 |
33678
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
303 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
|
304 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
|
305 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
|
306 (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
|
307 |
33678
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
308 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
|
309 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
|
310 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
|
311 |
33678
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
312 --without-xpm for XPM image support |
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
313 --without-jpeg for JPEG image support |
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
314 --without-tiff for TIFF image support |
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
315 --without-gif for GIF image support |
22b21b3ab3b0
Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents:
33639
diff
changeset
|
316 --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
|
317 |
34879
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
318 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
|
319 scroll bars. |
51826
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
320 |
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
321 Use --without-xim to inhibit the default use of X Input Methods. In |
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
322 this case, the X resource useXIM can be used to turn on use of XIM. |
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
323 |
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
324 Use --disable-largefile omits support for files larger than 2GB on |
77540
a04ea5f96dad
(DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents:
77289
diff
changeset
|
325 systems which support that. |
51826
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
326 |
19ef2c37b89f
(DETAILED BUILDING AND INSTALLATION): Describe new
Kim F. Storm <storm@cua.dk>
parents:
51114
diff
changeset
|
327 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
|
328 |
3199 | 329 The `--prefix=PREFIXDIR' option specifies where the installation process |
330 should put emacs and its data files. This defaults to `/usr/local'. | |
331 - Emacs (and the other utilities users run) go in PREFIXDIR/bin | |
332 (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
|
333 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION |
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
334 (where VERSION is the version number of Emacs, like `19.27'). |
3199 | 335 - 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
|
336 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION |
3199 | 337 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), |
338 unless the `--exec-prefix' option says otherwise. | |
339 | |
340 The `--exec-prefix=EXECDIR' option allows you to specify a separate | |
341 portion of the directory tree for installing architecture-specific | |
342 files, like executables and utility programs. If specified, | |
343 - Emacs (and the other utilities users run) go in EXECDIR/bin, and | |
344 - 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
|
345 EXECDIR/libexec/emacs/VERSION/CONFIGURATION. |
3199 | 346 EXECDIR/bin should be a directory that is normally in users' PATHs. |
347 | |
348 For example, the command | |
349 | |
350 ./configure mips-dec-ultrix --with-x11 | |
351 | |
352 configures Emacs to build for a DECstation running Ultrix, with | |
353 support for the X11 window system. | |
354 | |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
355 `configure' doesn't do any compilation or installation |
3199 | 356 itself. It just creates the files that influence those things: |
9499 | 357 `./Makefile', `lib-src/Makefile', `oldXMenu/Makefile', |
358 `lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details | |
359 on exactly what it does, see the section called `CONFIGURATION BY | |
360 HAND', below. | |
3199 | 361 |
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 | 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 | 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 | 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 | 387 preprocessor, CPPFLAGS lists the options passed to it, CFLAGS are |
388 compilation options, LDFLAGS are options used when linking, LIBS are | |
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 |
b37dd70cce0a
Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents:
34695
diff
changeset
|
402 switch to the compiler, and link against libfoo.a and libbar.a |
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 |
77540
a04ea5f96dad
(DETAILED BUILDING AND INSTALLATION): Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents:
77289
diff
changeset
|
405 For some libraries, like Gtk+, fontconfig and ALSA, `configure' use |
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 | 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 | 431 |
21692 | 432 3c) Some people try to build in a separate directory by filling |
433 it full of symlinks to the files in the real source directory. | |
21691
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
434 If you do that, `make all' does work, but `make install' fails: |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
435 it copies the symbolic links rather than the actual files. |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
436 |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
437 As far as is known, there is no particular reason to use |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
438 a directory full of links rather than use the standard GNU |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
439 facilities to build in a separate directory (see 3b above). |
2a33987c0f02
Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents:
21343
diff
changeset
|
440 |
3199 | 441 4) Look at `./lisp/paths.el'; if some of those values are not right |
11905 | 442 for your system, set up the file `./lisp/site-init.el' with Emacs |
443 Lisp code to override them; it is not a good idea to edit paths.el | |
3199 | 444 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, |
445 rather than `defvar', as used by `./lisp/paths.el'. For example, | |
446 | |
447 (setq news-inews-program "/usr/bin/inews") | |
448 | |
449 is how you would override the default value of the variable | |
450 news-inews-program (which is "/usr/local/inews"). | |
451 | |
11119
c303d2623f63
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
10672
diff
changeset
|
452 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
|
453 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
|
454 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
|
455 doing, you'll make a mistake. |
c303d2623f63
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
10672
diff
changeset
|
456 |
6062 | 457 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs |
458 Lisp code you want Emacs to load before it is dumped out. Use | |
459 site-load.el for additional libraries if you arrange for their | |
460 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
|
461 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
|
462 else, use site-init.el. Do not load byte-compiled code which |
3f2ab6f2bb5c
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
22255
diff
changeset
|
463 was build with a non-nil value of `byte-compile-dynamic'. |
3199 | 464 |
11732
072d319a485f
Clarify effect of setting load-path before dumping.
Richard M. Stallman <rms@gnu.org>
parents:
11729
diff
changeset
|
465 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
|
466 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
|
467 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
|
468 |
3199 | 469 Note that, on some systems, the code you place in site-init.el must |
470 not use expand-file-name or any other function which may look | |
471 something up in the system's password and user information database. | |
21089
0413a3ff3b8d
PROBLEMS is now in the etc directory.
Richard M. Stallman <rms@gnu.org>
parents:
20213
diff
changeset
|
472 See `./etc/PROBLEMS' for more details on which systems this affects. |
3199 | 473 |
7627 | 474 The `site-*.el' files are nonexistent in the distribution. You do not |
475 need to create them if you have nothing to put in them. | |
3199 | 476 |
477 6) Refer to the file `./etc/TERMS' for information on fields you may | |
478 wish to add to various termcap entries. The files `./etc/termcap.ucb' | |
479 and `./etc/termcap.dat' may already contain appropriately-modified | |
480 entries. | |
481 | |
482 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
|
483 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
|
484 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
|
485 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
|
486 directories ../lisp, ../lib-src, ../info. |
3199 | 487 |
11733
ae51069237f2
Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents:
11732
diff
changeset
|
488 Or you can "install" the executable and the other Emacs into their |
ae51069237f2
Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents:
11732
diff
changeset
|
489 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
|
490 are installed in the following directories: |
3199 | 491 |
492 `/usr/local/bin' holds the executable programs users normally run - | |
7864 | 493 `emacs', `etags', `ctags', `b2m', `emacsclient', |
494 and `rcs-checkin'. | |
3199 | 495 |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
496 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; |
3199 | 497 `VERSION' stands for the number of the Emacs version |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
498 you are installing, like `18.59' or `19.27'. Since the |
14147
4d7b8a3fe240
Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents:
14020
diff
changeset
|
499 Lisp library changes from one version of Emacs to |
3199 | 500 another, including the version number in the path |
501 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
|
502 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
|
503 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
|
504 |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
505 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC |
3199 | 506 file, the `yow' database, and other |
507 architecture-independent files Emacs might need while | |
508 running. VERSION is as specified for `.../lisp'. | |
509 | |
9760
05fbcd364e6e
update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents:
9507
diff
changeset
|
510 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable |
3199 | 511 programs used by Emacs that users are not expected to |
512 run themselves. | |
513 `VERSION' is the number of the Emacs version you are | |
514 installing, and `CONFIGURATION-NAME' is the argument | |
515 you gave to the `configure' program to identify the | |
516 architecture and operating system of your machine, | |
517 like `mips-dec-ultrix' or `sparc-sun-sunos'. Since | |
518 these files are specific to the version of Emacs, | |
519 operating system, and architecture in use, including | |
520 the configuration name in the path allows you to have | |
521 several versions of Emacs for any mix of machines and | |
522 operating systems installed at the same time; this is | |
523 useful for sites at which different kinds of machines | |
524 share the file system Emacs is installed on. | |
525 | |
75274
2e668483dd85
Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents:
74486
diff
changeset
|
526 `/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
|
527 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
|
528 documented using info files as well, so this directory |
2e668483dd85
Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents:
74486
diff
changeset
|
529 stands apart from the other, Emacs-specific |
2e668483dd85
Info files moved to share/info.
Chong Yidong <cyd@stupidchicken.com>
parents:
74486
diff
changeset
|
530 directories. |
3199 | 531 |
532 `/usr/local/man/man1' holds the man pages for the programs installed | |
533 in `/usr/local/bin'. | |
534 | |
54951
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
535 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
|
536 files in these directories. |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
537 |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
538 `/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
|
539 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
|
540 |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
541 `/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
|
542 files installed for all Emacs versions. |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
543 |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
544 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
|
545 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
|
546 `/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
|
547 `/usr/local/share/emacs/VERSION/lisp'. |
88d561445a39
Move the info about site-lisp dirs,
Richard M. Stallman <rms@gnu.org>
parents:
52772
diff
changeset
|
548 |
3199 | 549 If these directories are not what you want, you can specify where to |
550 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
|
551 for its Lisp files by giving values for `make' variables as part of |
3199 | 552 the command. See the section below called `MAKE VARIABLES' for more |
553 information on this. | |
554 | |
555 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
|
556 /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
|
557 Emacs info files. |
3199 | 558 |
6062 | 559 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
|
560 then you might need to make the movemail program setuid or setgid |
6062 | 561 to enable it to write the lock files. We believe this is safe. |
562 | |
12620 | 563 10) You are done! You can remove executables and object files from |
564 the build directory by typing `make clean'. To also remove the files | |
565 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
|
566 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
|
567 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
|
568 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
|
569 directory (usually /usr/local/share/emacs/VERSION/). |
12620 | 570 |
3199 | 571 |
572 | |
573 MAKE VARIABLES | |
574 | |
575 You can change where the build process installs Emacs and its data | |
576 files by specifying values for `make' variables as part of the `make' | |
577 command line. For example, if you type | |
578 | |
579 make install bindir=/usr/local/gnubin | |
580 | |
581 the `bindir=/usr/local/gnubin' argument indicates that the Emacs | |
582 executable files should go in `/usr/local/gnubin', not | |
583 `/usr/local/bin'. | |
584 | |
585 Here is a complete list of the variables you may want to set. | |
586 | |
587 `bindir' indicates where to put executable programs that users can | |
588 run. This defaults to /usr/local/bin. | |
589 | |
590 `datadir' indicates where to put the architecture-independent | |
591 read-only data files that Emacs refers to while it runs; it | |
9499 | 592 defaults to /usr/local/share. We create the following |
3199 | 593 subdirectories under `datadir': |
14147
4d7b8a3fe240
Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents:
14020
diff
changeset
|
594 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and |
3199 | 595 - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC |
596 file, and the `yow' database. | |
597 `VERSION' is the number of the Emacs version you are installing, | |
598 like `18.59' or `19.0'. Since these files vary from one version | |
599 of Emacs to another, including the version number in the path | |
600 allows you to have several versions of Emacs installed at the | |
601 same time; this means that you don't have to make Emacs | |
602 unavailable while installing a new version. | |
603 | |
9499 | 604 `libexecdir' indicates where to put architecture-specific data files that |
605 Emacs refers to as it runs; it defaults to `/usr/local/libexec'. | |
606 We create the following subdirectories under `libexecdir': | |
3199 | 607 - `emacs/VERSION/CONFIGURATION-NAME', containing executable |
608 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
|
609 themselves. |
3199 | 610 `VERSION' is the number of the Emacs version you are installing, |
611 and `CONFIGURATION-NAME' is the argument you gave to the | |
612 `configure' program to identify the architecture and operating | |
613 system of your machine, like `mips-dec-ultrix' or | |
614 `sparc-sun-sunos'. Since these files are specific to the version | |
615 of Emacs, operating system, and architecture in use, including | |
616 the configuration name in the path allows you to have several | |
617 versions of Emacs for any mix of machines and operating systems | |
618 installed at the same time; this is useful for sites at which | |
619 different kinds of machines share the file system Emacs is | |
620 installed on. | |
621 | |
622 `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
|
623 Emacs; it defaults to `/usr/local/share/info'. |
3199 | 624 |
625 `mandir' indicates where to put the man pages for Emacs and its | |
626 utilities (like `etags'); it defaults to | |
627 `/usr/local/man/man1'. | |
628 | |
629 `manext' gives the extension the man pages should be installed with. | |
630 It should contain a period, followed by the appropriate | |
631 digit. It defaults to `.1'. For example given the default | |
632 values for `mandir' and `manext', the Emacs man page would be | |
633 installed as `/usr/local/man/man1/emacs.1'. | |
634 | |
635 `prefix' doesn't give a path for any specific part of Emacs; instead, | |
636 its value is used to determine the defaults for all the | |
637 architecture-independent path variables - `datadir', | |
9499 | 638 `sharedstatedir', `infodir', and `mandir'. Its default value is |
3199 | 639 `/usr/local'; the other variables add on `lib' or `man' to it |
640 by default. | |
641 | |
642 For example, suppose your site generally places GNU software | |
643 under `/usr/users/software/gnusoft' instead of `/usr/local'. | |
644 By including | |
645 `prefix=/usr/users/software/gnusoft' | |
646 in the arguments to `make', you can instruct the build process | |
647 to place all of the Emacs data files in the appropriate | |
648 directories under that path. | |
649 | |
650 `exec_prefix' serves the same purpose as `prefix', but instead | |
651 determines the default values for the architecture-dependent | |
9499 | 652 path variables - `bindir' and `libexecdir'. |
3199 | 653 |
654 The above variables serve analogous purposes in the makefiles for all | |
21343
a3059cd301f1
Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents:
21089
diff
changeset
|
655 GNU software; this variable is specific to Emacs. |
3199 | 656 |
12620 | 657 `archlibdir' indicates where Emacs installs and expects the executable |
658 files and other architecture-dependent data it uses while | |
659 running. Its default value, based on `libexecdir' (which | |
660 see), is `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' | |
3199 | 661 (where VERSION and CONFIGURATION-NAME are as described above). |
662 | |
663 Remember that you must specify any variable values you need each time | |
664 you run `make' in the top directory. If you run `make' once to build | |
665 emacs, test it, and then run `make' again to install the files, you | |
666 must provide the same variable settings each time. To make the | |
667 settings persist, you can edit them into the `Makefile' in the top | |
668 directory, but be aware that running the `configure' program erases | |
669 `Makefile' and rebuilds it from `Makefile.in'. | |
670 | |
21343
a3059cd301f1
Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents:
21089
diff
changeset
|
671 The path for finding Lisp files is specified in src/paths.h, |
a3059cd301f1
Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents:
21089
diff
changeset
|
672 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
|
673 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
|
674 before you run `make'. |
a3059cd301f1
Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents:
21089
diff
changeset
|
675 |
3199 | 676 The top-level Makefile stores the variable settings it used in the |
677 Makefiles for the subdirectories, so you don't have to specify them | |
678 when running make in the subdirectories. | |
679 | |
680 | |
681 CONFIGURATION BY HAND | |
682 | |
7864 | 683 Instead of running the `configure' program, you have to perform the |
684 following steps. | |
3199 | 685 |
13667
fbf777f663d3
Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents:
12620
diff
changeset
|
686 1) Copy `./src/config.in' to `./src/config.h'. |
3199 | 687 |
688 2) Consult `./etc/MACHINES' to see what configuration name you should | |
689 use for your system. Look at the code of the `configure' script to | |
690 see which operating system and architecture description files from | |
691 `src/s' and `src/m' should be used for that configuration name. Edit | |
692 `src/config.h', and change the two `#include' directives to include | |
693 the appropriate system and architecture description files. | |
694 | |
695 2) Edit `./src/config.h' to set the right options for your system. If | |
696 you need to override any of the definitions in the s/*.h and m/*.h | |
697 files for your system and machine, do so by editing config.h, not by | |
698 changing the s/*.h and m/*.h files. Occasionally you may need to | |
699 redefine parameters used in `./lib-src/movemail.c'. | |
700 | |
7864 | 701 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
|
702 `Makefile.in' files. First copy `Makefile.in' to `Makefile.c', |
14020 | 703 then edit in appropriate substitutions for the @...@ constructs, |
7864 | 704 and then copy the shell commands near the end of `configure' |
705 that run cpp to construct `Makefile'. | |
3199 | 706 |
7864 | 707 4) Create `Makefile' files in various other directories |
708 from the corresponding `Makefile.in' files. This isn't so hard, | |
709 just a matter of substitution. | |
3199 | 710 |
711 The `configure' script is built from `configure.in' by the `autoconf' | |
42396
f8555eb1fe49
<CONFIGURATION BY HAND> Now requires autoconf 2.51.
Kim F. Storm <storm@cua.dk>
parents:
42221
diff
changeset
|
712 program. You need version 2.51 or newer of `autoconf' to rebuild |
36267 | 713 `configure'. |
3199 | 714 |
715 BUILDING GNU EMACS BY HAND | |
716 | |
9507 | 717 Once Emacs is configured, running `make' in the top directory performs |
718 the following steps. | |
3199 | 719 |
720 1) Run `make src/paths.h' in the top directory. This produces | |
13667
fbf777f663d3
Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents:
12620
diff
changeset
|
721 `./src/paths.h' from the template file `./src/paths.in', changing |
3199 | 722 the paths to the values specified in `./Makefile'. |
723 | |
7864 | 724 2) Go to directory `./lib-src' and run `make'. This creates |
77155 | 725 executables named `ctags' and `etags' and `make-docfile' and |
726 `digest-doc' and `test-distrib'. And others. | |
3199 | 727 |
7864 | 728 3) Go to directory `./src' and Run `make'. This refers to files in |
729 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and | |
3199 | 730 `../lib-src'. |
731 | |
732 This creates a file `./src/emacs' which is the runnable Emacs, | |
7864 | 733 which has another name that contains a version number. |
734 Each time you do this, that version number increments in the last place. | |
3199 | 735 |
736 It also creates a file in `./etc' whose name is `DOC' followed by the | |
737 current Emacs version. This file contains documentation strings for | |
738 all the functions in Emacs. Each time you run make to make a new | |
739 emacs, a new DOC file with a new name is made. You must keep the DOC | |
740 file for an Emacs version as long as you keep using that Emacs | |
741 version. | |
742 | |
743 | |
744 INSTALLATION BY HAND | |
745 | |
9507 | 746 The steps below are done by running `make install' in the main |
747 directory of the Emacs distribution. | |
3199 | 748 |
749 1) Copy `./lisp' and its subdirectories, `./etc', and the executables | |
750 in `./lib-src' to their final destinations, as selected in `./src/paths.h'. | |
751 | |
752 Strictly speaking, not all of the executables in `./lib-src' need be copied. | |
47616
fb782cfe9a36
*** empty log message ***
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
47561
diff
changeset
|
753 - The programs `cvtmail', `fakemail', `hexl', |
77155 | 754 `movemail', `profile', `rcs2log', and `vcdiff' are used by Emacs; |
755 they do need to be copied. | |
7864 | 756 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin' |
3199 | 757 are intended to be run by users; they are handled below. |
9498 | 758 - The programs `make-docfile' and `test-distrib' were |
3199 | 759 used in building Emacs, and are not needed any more. |
760 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into | |
761 a file for users to read. There is no important reason to move them. | |
762 | |
763 2) Copy the files in `./info' to the place specified in | |
764 `./lisp/site-init.el' or `./lisp/paths.el'. Note that if the | |
765 destination directory already contains a file named `dir', you | |
766 probably don't want to replace it with the `dir' file in the Emacs | |
767 distribution. Instead, you should make sure that the existing `dir' | |
768 file contains an appropriate menu entry for the Emacs info. | |
769 | |
23353 | 770 3) Copy `./src/emacs' to `/usr/local/bin', or to some other directory |
3199 | 771 in users' search paths. `./src/emacs' has an alternate name |
772 `./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named | |
773 `/usr/local/bin/emacs' pointing to that alternate name, as an easy way | |
774 of installing different versions. | |
775 | |
776 You can delete `./src/temacs'. | |
777 | |
23353 | 778 4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and |
7864 | 779 `rcs-checkin' from `./lib-src' to `/usr/local/bin'. These programs are |
3199 | 780 intended for users to run. |
781 | |
23353 | 782 5) Copy the man pages in `./etc' for emacs, ctags, and etags into the |
3199 | 783 appropriate man directories. |
784 | |
23353 | 785 6) The files in the `./src' subdirectory, except for `emacs', are not |
7864 | 786 used by Emacs once it is built. However, it is very desirable to keep |
787 the source on line for debugging. | |
3199 | 788 |
789 | |
790 PROBLEMS | |
791 | |
21089
0413a3ff3b8d
PROBLEMS is now in the etc directory.
Richard M. Stallman <rms@gnu.org>
parents:
20213
diff
changeset
|
792 See the file PROBLEMS in etc subdirectory for a list of various |
3199 | 793 problems sometimes encountered, and what to do about them. |
794 | |
795 | |
6062 | 796 Installation on MSDOG (a.k.a. MSDOS) |
797 | |
7627 | 798 To install on MSDOG, you need to have the GNU C compiler for MSDOG |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
799 (also known as djgpp), GNU Make, rm, mv, and sed. See the remarks in |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
800 config.bat for more information about locations and versions. The |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
801 file etc/FAQ includes pointers to Internet sites where you can find |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
802 the necessary utilities; search for "MS-DOS". The configuration step |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
803 (see below) will test for these utilities and will refuse to continue |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
804 if any of them isn't found. |
6062 | 805 |
36123
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
806 Recompiling Lisp files in the `lisp' subdirectory using the various |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
807 targets in the lisp/Makefile file requires additional utilities: |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
808 `find' and `xargs' (from Findutils), `touch' (from Fileutils) GNU |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
809 `echo' and `test' (from Sh-utils), `tr, `sort', and `uniq' (from |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
810 Textutils), and a port of Bash. However, you should not normally need |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
811 to run lisp/Makefile, as all the Lisp files are distributed in |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
812 byte-compiled form as well. |
53ca0e322e9e
List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents:
36040
diff
changeset
|
813 |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
814 If you are building the MSDOG version of Emacs on an MSDOG-like system |
98032
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
815 which supports long file names (e.g. Windows 9X or Windows XP), you |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
816 need to make sure that long file names are handled consistently both |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
817 when you unpack the distribution and compile it. If you intend to |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
818 compile with DJGPP v2.0 or later, and long file names support is |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
819 enabled (LFN=y in the environment), you need to unpack Emacs |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
820 distribution in a way that doesn't truncate the original long |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
821 filenames to the DOS 8.3 namespace; the easiest way to do this is to |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
822 use djtar program which comes with DJGPP, since it will note the LFN |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
823 setting and behave accordingly. DJGPP v1 doesn't support long |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
824 filenames, so you must unpack Emacs with a program that truncates the |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
825 filenames to 8.3 naming as it extracts files; again, using djtar after |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
826 setting LFN=n is the recommended way. You can build Emacs with LFN=n |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
827 even if you use DJGPP v2, if some of your tools don't support long |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
828 file names: just ensure that LFN is set to `n' during both unpacking |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
829 and compiling. |
15017 | 830 |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
831 (By the time you read this, you have already unpacked the Emacs |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
832 distribution, but if the explanations above imply that you should have |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
833 done it differently, it's safer to delete the directory tree created |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
834 by the unpacking program and unpack Emacs again, than to risk running |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
835 into problems during the build process.) |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
836 |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
837 It is important to understand that the runtime support of long file |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
838 names by the Emacs binary is NOT affected by the LFN setting during |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
839 compilation; Emacs compiled with DJGPP v2.0 or later will always |
98032
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
840 support long file names on Windows no matter what was the setting |
15733
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
841 of LFN at compile time. However, if you compiled with LFN disabled |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
842 and want to enable LFN support after Emacs was already built, you need |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
843 to make sure that the support files in the lisp, etc and info |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
844 directories are called by their original long names as found in the |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
845 distribution. You can do this either by renaming the files manually, |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
846 or by extracting them from the original distribution archive with |
e3d77845180c
Clarify info about long filenames on MSDOS-like systems.
Karl Heuer <kwzh@gnu.org>
parents:
15444
diff
changeset
|
847 djtar after you set LFN=y in the environment. |
15017 | 848 |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
849 To unpack Emacs with djtar, type this command: |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
850 |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
851 djtar -x emacs.tgz |
12339
3398b88cbd25
Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents:
12042
diff
changeset
|
852 |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
853 (This assumes that the Emacs distribution is called `emacs.tgz' on |
19635 | 854 your system.) |
12343 | 855 |
24070
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
856 If you want to print international characters, install the intlfonts |
24452
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
857 distribution. For this, create a directory called `fonts' under the |
24070
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
858 Emacs top-level directory (usually called `emacs-XX.YY') created by |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
859 unpacking emacs.tgz, chdir into the directory emacs-XX.YY/fonts, and |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
860 type this: |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
861 |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
862 djtar -x intlfonts.tgz |
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
863 |
15444
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
864 When unpacking is done, a directory called `emacs-XX.YY' will be |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
865 created, where XX.YY is the Emacs version. To build and install |
66a9ef0892a2
Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents:
15209
diff
changeset
|
866 Emacs, chdir to that directory and type these commands: |
12339
3398b88cbd25
Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents:
12042
diff
changeset
|
867 |
3398b88cbd25
Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents:
12042
diff
changeset
|
868 config msdos |
3398b88cbd25
Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents:
12042
diff
changeset
|
869 make install |
6062 | 870 |
33812
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
871 Running "config msdos" checks for several programs that are required |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
872 to configure and build Emacs; if one of those programs is not found, |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
873 CONFIG.BAT stops and prints an error message. If you have DJGPP |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
874 version 2.0 or 2.01, it will complain about a program called |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
875 DJECHO.EXE. These old versions of DJGPP shipped that program under |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
876 the name ECHO.EXE, so you can simply copy ECHO.EXE to DJECHO.EXE and |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
877 rerun CONFIG.BAT. If you have neither ECHO.EXE nor DJECHO.EXE, you |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
878 should be able to find them in your djdevNNN.zip archive (where NNN is |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
879 the DJGPP version number). |
c41a9a242fed
Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents:
33678
diff
changeset
|
880 |
98032
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
881 On Windows NT, Windows 2000/XP/Vista, running "config msdos" might |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
882 print an error message like "VDM has been already loaded". This is |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
883 because those systems have a program called `redir.exe' which is |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
884 incompatible with a program by the same name supplied with DJGPP, |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
885 which is used by config.bat. To resolve this, move the DJGPP's `bin' |
89441831a5ad
Adapt to latest versions of MS-Windows.
Eli Zaretskii <eliz@gnu.org>
parents:
97547
diff
changeset
|
886 subdirectory to the front of your PATH environment variable. |
37479
a240b159c8df
Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents:
36753
diff
changeset
|
887 |
24452
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
888 To install the international fonts, chdir to the intlfonts-X.Y |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
889 directory created when you unpacked the intlfonts distribution (X.Y is |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
890 the version number of the fonts' distribution), and type the following |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
891 command: |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
892 |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
893 make bdf INSTALLDIR=.. |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
894 |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
895 After Make finishes, you may remove the directory intlfonts-X.Y; the |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
896 fonts are installed into the fonts/bdf subdirectory of the top-level |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
897 Emacs directory, and that is where Emacs will look for them by |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
898 default. |
3f25405e6e70
Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents:
24070
diff
changeset
|
899 |
15039
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
900 Building Emacs creates executable files in the src and lib-src |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
901 directories. Installing Emacs on MSDOS moves these executables to a |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
902 sibling directory called bin. For example, if you build in directory |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
903 /emacs, installing moves the executables from /emacs/src and |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
904 /emacs/lib-src to the directory /emacs/bin, so you can then delete the |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
905 subdirectories /emacs/src and /emacs/lib-src if you wish. The only |
24070
526d645420b5
Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents:
23353
diff
changeset
|
906 subdirectories you need to keep are bin, lisp, etc and info. (If you |
42213
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
907 installed intlfonts, keep the fonts directory and all its |
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
908 subdirectories as well.) The bin subdirectory should be added to your |
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
909 PATH. The msdos subdirectory includes a PIF and an icon file for |
a85200bb3831
Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents:
40890
diff
changeset
|
910 Emacs which you might find useful if you run Emacs under MS Windows. |
12349
f5ba89f88cfd
Talk about MSDOS type conflict workaround.
Richard M. Stallman <rms@gnu.org>
parents:
12343
diff
changeset
|
911 |
15039
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
912 Emacs on MSDOS finds the lisp, etc and info directories by looking in |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
913 ../lisp, ../etc and ../info, starting from the directory where the |
43c846d45f79
Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents:
15017
diff
changeset
|
914 Emacs executable was run from. You can override this by setting the |
19635 | 915 environment variables EMACSDATA (for the location of `etc' directory), |
916 EMACSLOADPATH (for the location of `lisp' directory) and INFOPATH (for | |
917 the location of the `info' directory). | |
6062 | 918 |
7627 | 919 MSDOG is a not a multitasking operating system, so Emacs features such |
920 as asynchronous subprocesses that depend on multitasking will not | |
921 work. Synchronous subprocesses do work. | |
15825
615a180ced87
Describe djgpp library replacement files.
Richard M. Stallman <rms@gnu.org>
parents:
15733
diff
changeset
|
922 |
16861
310fd977a344
Update info about DJGPP.
Richard M. Stallman <rms@gnu.org>
parents:
16309
diff
changeset
|
923 Version 2.0 of djgpp has two bugs that affect Emacs. We've included |
310fd977a344
Update info about DJGPP.
Richard M. Stallman <rms@gnu.org>
parents:
16309
diff
changeset
|
924 corrected versions of two files from djgpp in the msdos subdirectory: |
310fd977a344
Update info about DJGPP.
Richard M. Stallman <rms@gnu.org>
parents:
16309
diff
changeset
|
925 is_exec.c and sigaction.c. To work around the bugs, compile these |
32557
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
926 files and link them into temacs. Djgpp versions 2.01 and later have |
cd84bd4a3411
Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents:
26905
diff
changeset
|
927 these bugs fixed, so upgrade if you can before building Emacs. |
34939
44564f6157cc
Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents:
34879
diff
changeset
|
928 |
75769
92a0e87ff562
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
929 This file is part of GNU Emacs. |
92a0e87ff562
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
930 |
94719
1a762a842f80
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
91573
diff
changeset
|
931 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
|
932 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
|
933 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
|
934 (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
|
935 |
75769
92a0e87ff562
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
936 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
|
937 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
|
938 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
|
939 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
|
940 |
75769
92a0e87ff562
Switch to standard GPL text for license.
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
941 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
|
942 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |