annotate INSTALL @ 47715:b03e194a48e7

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Mon, 30 Sep 2002 11:14:42 +0000
parents fb782cfe9a36
children 2589e6117a86
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 GNU Emacs Installation Guide
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
2 Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001 Free software Foundation, Inc.
34939
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
3 See the end of the file for copying permissions.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
6 BASIC INSTALLATION
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
7
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
8 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
9 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
10 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
11 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
12 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
13 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
14 your system.
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
15
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
24 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
25
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
26 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
27 `configure' script:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
28
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
29 ./configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
30
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
31 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
32 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
33 from there:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
34
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
35 SOURCE-DIR/configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
36
35062
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
37 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
38 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
39
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
40 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
41 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
42 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
43 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
44 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
45
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
46 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
47 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
48 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
49 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
50
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
51 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
52 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
53 "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
54
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
55 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
56 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
57
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
58 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
59 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
60 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
61
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
62 make distclean
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
63 ./configure
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
64
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
65 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
66
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
67 make
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
68
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
69 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
70 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
71 it works:
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
72
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
73 src/emacs -q
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
74
42213
a85200bb3831 Remove text that describes Leim as a separate package.
Eli Zaretskii <eliz@gnu.org>
parents: 40890
diff changeset
75 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
76 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
77 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
78
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
79 make install
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
80
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
81 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
82 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
83 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
84
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
85 make clean
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
86
35062
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
87 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
88 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
89 versions.
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
90
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
92 ADDITIONAL DISTRIBUTION FILES
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
93
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
94 * intlfonts-VERSION.tar.gz
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
95
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
96 The intlfonts distribution contains X11 fonts that Emacs needs in
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
97 order to display international characters. If you see a non-ASCII
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
98 character appear as a hollow box, that means you don't have a font for
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
99 it. You might find a font in the intlfonts distribution. If you do
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
100 have a font for a non-ASCII character, but some characters don't look
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
101 right, or appear improperly aligned, a font from the intlfonts
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
102 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
103
24070
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
104 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
105 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
106 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
107 each character set.
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
108
19899
a165ef580ea2 Say a little more about intlfonts. Update copyright year.
Richard M. Stallman <rms@gnu.org>
parents: 19635
diff changeset
109 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
110 in the intlfonts/README file.
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
111
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
112 * Image support libraries
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
113
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
114 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
115 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
116
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
117 On some systems, particularly on GNU/Linux, these libraries may
36752
8d4af7d652c4 Need library devel packages.
Dave Love <fx@gnu.org>
parents: 36733
diff changeset
118 already be present or available as additional packages. Note that if
36753
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
119 there is a separate `dev' or `devel' package, for use at compilation
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
120 time rather than run time, you will need that as well as the
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
121 corresponding run time package; typically the dev package will
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
122 contain header files and a library archive. Otherwise, you can
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
123 download and build libraries from sources. None of them are vital for
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
124 running Emacs; however, note that Emacs will not be able to use
438ef3d46c8a *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36752
diff changeset
125 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
126
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
127 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
128 can be found:
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
129
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
130 . libXaw3d for fancy 3D-style
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
131 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
132 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/
38559
202a8b235456 Recommend XPM 3.4k.
Gerd Moellmann <gerd@gnu.org>
parents: 37479
diff changeset
133 Get version 3.4k or later, which lets Emacs
202a8b235456 Recommend XPM 3.4k.
Gerd Moellmann <gerd@gnu.org>
parents: 37479
diff changeset
134 use its own color allocation functions.
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
135 . libpng for PNG: ftp://www.libpng.org/pub/png/
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
136 . libz (for PNG): http://www.info-zip.org/pub/infozip/zlib/
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
137 . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
138 Get version 6b -- 6a is reported to fail in
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
139 Emacs.
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
140 . libtiff for TIFF: http://www.libtiff.org/
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
141 . libungif for GIF:
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
142 http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
35519
e550edb781e6 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 35062
diff changeset
143 Ensure you get version 4.1.0b1 or higher of libungif -- a bug in
e550edb781e6 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 35062
diff changeset
144 4.1.0 can crash Emacs.
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
145
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
146 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
147 `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
148 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
149 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
150 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
151 --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
152
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
153 * Extra fonts
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
154
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
155 To take proper advantage of Emacs 21's mule-unicode charsets, you need
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
156 a Unicode font. For information on Unicode fonts for X, see
36733
274bff56ea1e efont URL
Dave Love <fx@gnu.org>
parents: 36267
diff changeset
157 <URL:http://czyborra.com/unifont/>,
274bff56ea1e efont URL
Dave Love <fx@gnu.org>
parents: 36267
diff changeset
158 <URL:http://openlab.ring.gr.jp/efont/> and
36040
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
159 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>.
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
160 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
161 ISO-8859 charsets.
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
162
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
163 XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/> and mirrors)
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
164 contains font support for most, if not all, of the charsets that Emacs
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
165 supports. The font files should be usable separately with older X
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
166 releases.
858f9cee9288 extra fonts
Dave Love <fx@gnu.org>
parents: 35576
diff changeset
167
45112
19de9bf49e2d Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents: 44432
diff changeset
168 BDF fonts etl-unicode.tar.gz used by ps-print and ps-mule to print
19de9bf49e2d Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents: 44432
diff changeset
169 Unicode characters are available from <URL:ftp://ftp.x.org/contrib/fonts/>
19de9bf49e2d Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents: 44432
diff changeset
170 and <URL:ftp://ftp.xfree86.org/pub/X.Org/contrib/fonts/>.
19de9bf49e2d Add information about BDF fonts in etl-unicode.tar.gz.
Eli Zaretskii <eliz@gnu.org>
parents: 44432
diff changeset
171
19014
63c862461563 Describe the separate distributions leim and intlfonts.
Richard M. Stallman <rms@gnu.org>
parents: 16861
diff changeset
172
47715
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
173 The new Indian implementation uses the ISFOC standard fonts. We use
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
174 CDAC ISFOC fonts to display the Devanagari script in Emacs. They are
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
175 copyrighted, but we received permission to use them in Emacs from the
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
176 font developers. These fonts can be obtained from the internet, or
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
177 may be found in C-DAC products (including downloadable ones). For
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
178 examle, you can search the CDAC Devanagari font `dvsr0ntt.ttf' by
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
179 using some search engines and they will guide you to appropriate URLs
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
180 to obtain them.
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
181
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
182 After you've downloaded the fonts, then run the following Makefile
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
183 to create the appropriate BDF/PCF fonts. (You will need `ttf2bdf',
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
184 equipped with freetype 1, to create BDF file.)
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
185
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
186 TTFS= asdr0ntt.ttf:Assamese\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
187 bndr0ntt.ttf:Bengali\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
188 dvsr0ntt.ttf:Devanagari\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
189 gjav0ntt.ttf:Gujarati\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
190 knum0ntt.ttf:Kannada\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
191 mlkr0ntt.ttf:Malayalam\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
192 orsr0ntt.ttf:Oriya\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
193 pnam0ntt.ttf:Punjabi\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
194 sdsr0ntt.ttf:Sanskrit\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
195 tlhm0ntt.ttf:Telugu\
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
196 tmvl0ntt.ttf:Tamil
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
197
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
198 all:
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
199 for f in ${TTFS}; do \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
200 ttf=`echo $$f | sed 's/:.*$$//'`; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
201 reg=`echo $$f | sed 's/[^:]*://'`; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
202 base=`basename $$ttf .ttf`; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
203 echo Converting "$$ttf to $$base-XX.bdf/pcf with registry $$reg"; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
204 for i in 16 24; do \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
205 ttf2bdf -p $${i} -r 100 -l 0_255 $$ttf > temp; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
206 sed "/^FONT /s/ISO10646-1/$$reg-CDAC/" <temp >$$base-$$i.bdf; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
207 bdftopcf $$base-$$i.bdf > $$base-$$i.pcf; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
208 done; \
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
209 done
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
210 rm -f temp
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
211
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
212 clean:
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
213 rm -f *.pcf *.bdf
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
214
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
215 If your X server for X font server supports TrueType fonts, you can
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
216 directly use the downloaded fonts (without converting them to PCF as
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
217 above). But, in that case, you must give "Devanagari-CDAC" to the
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
218 CHARSET_REGISTRY and CHARSET_ENCODING field of the devanagari font.
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
219
b03e194a48e7 *** empty log message ***
Kenichi Handa <handa@m17n.org>
parents: 47616
diff changeset
220
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
221 DETAILED BUILDING AND INSTALLATION:
15209
884b7293ccc7 Mention Windows 95.
Richard M. Stallman <rms@gnu.org>
parents: 15039
diff changeset
222
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
223 (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
224 see below; search for MSDOG. For Windows 9X, Windows ME, Windows NT,
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
225 and Windows 2000, see the file nt/INSTALL. For the Mac, see the file
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
226 mac/INSTALL.)
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 1) Make sure your system has enough swapping space allocated to handle
33639
26131b1a1dc1 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents: 32572
diff changeset
229 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
230 least 2.8 MB and can reach 100 MB or more. If the swapping space is
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231 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
232 loadup dump', found in `./src/Makefile.in', or possibly when
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
233 running the final dumped Emacs.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234
42221
1af7ce62a225 Update Emacs memory and disk usage numbers.
Eli Zaretskii <eliz@gnu.org>
parents: 42213
diff changeset
235 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
236 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
237 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
238 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
239 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
240 then the installation procedure momentarily requires 140+77 MB.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 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
243 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
244 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
245 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
246 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
247 order by the vendor name.)
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248
16309
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
249 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
250 or in a separate directory.
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
251
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
252 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
253 directory and run the program `configure' as follows:
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254
22255
7851f4551208 Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents: 21692
diff changeset
255 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 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
258 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
259
7851f4551208 Clarify about omitting CONFIGURATION-NAME with configure.
Richard M. Stallman <rms@gnu.org>
parents: 21692
diff changeset
260 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
261 `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
262 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
263 try again specifying the proper CONFIGURATION-NAME explicitly.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
265 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
266 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
267 system has X, and arrange to use it if present.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 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
271 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
272 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
273 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
274 accept a list of directories, separated with colons.
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
275
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
276 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
277 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
278 TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
279 `athena'). On some systems, it does not work to use a toolkit with
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
280 shared libraries. A free implementation of Motif, called LessTif, is
35576
6dbcd107fbe0 Mention that LessTif and Motif cause File Selection dialog to pop up
Eli Zaretskii <eliz@gnu.org>
parents: 35519
diff changeset
281 available ftom <http://www.lesstif.org>. Compiling with LessTif or
6dbcd107fbe0 Mention that LessTif and Motif cause File Selection dialog to pop up
Eli Zaretskii <eliz@gnu.org>
parents: 35519
diff changeset
282 Motif causes a standard File Selection Dialog to pop up when you type
6dbcd107fbe0 Mention that LessTif and Motif cause File Selection dialog to pop up
Eli Zaretskii <eliz@gnu.org>
parents: 35519
diff changeset
283 "C-x C-f" and similar commands. You can get fancy 3D-style scroll
6dbcd107fbe0 Mention that LessTif and Motif cause File Selection dialog to pop up
Eli Zaretskii <eliz@gnu.org>
parents: 35519
diff changeset
284 bars, even without LessTif/Motif, if you have the Xaw3d library
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
285 installed (see "Image support libraries" above for Xaw3d
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
286 availability).
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 The `--with-gcc' option specifies that the build process should
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289 compile Emacs using GCC. If you don't want to use GCC, specify
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
290 `--with-gcc=no'. If you omit this option, `configure' will search
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
291 for GCC in your path, and use it if present.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292
34484
1db330e58c71 No need for --with-pop anymore.
Eli Zaretskii <eliz@gnu.org>
parents: 33812
diff changeset
293 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
294 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
295 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
296 `--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
297 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
298 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
299
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
300 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
301 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
302 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
303 (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
304
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
305 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
306 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
307 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
308
33678
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
309 --without-xpm for XPM image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
310 --without-jpeg for JPEG image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
311 --without-tiff for TIFF image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
312 --without-gif for GIF image support
22b21b3ab3b0 Modify stuff about image libraries.
Dave Love <fx@gnu.org>
parents: 33639
diff changeset
313 --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
314
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
315 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
316 scroll bars. --without-xim disables the use of X Input Methods, and
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
317 --disable-largefile omits support for files larger than 2GB on systems
44432
da9e7a123138 Mention --without-sound to disable sound support.
Pavel Janík <Pavel@Janik.cz>
parents: 42396
diff changeset
318 which support that. 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
319
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
320 The `--prefix=PREFIXDIR' option specifies where the installation process
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
321 should put emacs and its data files. This defaults to `/usr/local'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
322 - Emacs (and the other utilities users run) go in PREFIXDIR/bin
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
323 (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
324 - 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
325 (where VERSION is the version number of Emacs, like `19.27').
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
326 - 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
327 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2),
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
329 unless the `--exec-prefix' option says otherwise.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
331 The `--exec-prefix=EXECDIR' option allows you to specify a separate
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332 portion of the directory tree for installing architecture-specific
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333 files, like executables and utility programs. If specified,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
334 - Emacs (and the other utilities users run) go in EXECDIR/bin, and
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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 EXECDIR/libexec/emacs/VERSION/CONFIGURATION.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
337 EXECDIR/bin should be a directory that is normally in users' PATHs.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
338
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339 For example, the command
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341 ./configure mips-dec-ultrix --with-x11
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 configures Emacs to build for a DECstation running Ultrix, with
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344 support for the X11 window system.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
346 `configure' doesn't do any compilation or installation
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 itself. It just creates the files that influence those things:
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
348 `./Makefile', `lib-src/Makefile', `oldXMenu/Makefile',
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
349 `lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
350 on exactly what it does, see the section called `CONFIGURATION BY
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
351 HAND', below.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 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
354 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
355 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
356 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
357 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
358 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
359 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
360 `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
361 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
362 disable caching, for debugging `configure'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363
34879
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
364 If the description of the system configuration printed by `configure'
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
365 is not right, or if it claims some of the fatures or libraries are not
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
366 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
367 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
368 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
369 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
370 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
371
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
372 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
373 directories for some header files, or link against optional
35034
4b4cc897a985 Fix a typo.
Eli Zaretskii <eliz@gnu.org>
parents: 34994
diff changeset
374 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
375 `configure' and the build process which follows it to do that by
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
376 setting the variables CPPFLAGS, CFLAGS, LDFLAGS, LIBS, and CC before
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
377 running `configure'. CPPFLAGS lists the options passed to the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
378 preprocessor, CFLAGS are compilation options, LDFLAGS are options used
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
379 when linking, LIBS are libraries to link against, and CC is the
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
380 command which invokes the compiler.
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
381
35062
3168ff2c349b Tweaks to configure instructions and saving space.
Dave Love <fx@gnu.org>
parents: 35034
diff changeset
382 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
383 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
384
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
385 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
386 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
387
b37dd70cce0a Add basic installation procedure which assumes `configure' does its job.
Eli Zaretskii <eliz@gnu.org>
parents: 34695
diff changeset
388 (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
389 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
390 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
391 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
392 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
393 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
394
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
395 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
396 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
397 "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
398 yourself.
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
399
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
400 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
401 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
402
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
403 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
404
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
405 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
406 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
407 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
408
fea88c3fb20c Explain better about building in separate directory.
Richard M. Stallman <rms@gnu.org>
parents: 15936
diff changeset
409 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
410 that supports the `VPATH' variable, such as GNU `make'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
411
21692
303a96060ff1 More of previous.
Richard M. Stallman <rms@gnu.org>
parents: 21691
diff changeset
412 3c) Some people try to build in a separate directory by filling
303a96060ff1 More of previous.
Richard M. Stallman <rms@gnu.org>
parents: 21691
diff changeset
413 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
414 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
415 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
416
2a33987c0f02 Explain trouble with link farms in `make install'.
Richard M. Stallman <rms@gnu.org>
parents: 21343
diff changeset
417 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
418 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
419 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
420
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
421 4) Look at `./lisp/paths.el'; if some of those values are not right
11905
3f5326542cf6 Clarify use of site-init.el.
Karl Heuer <kwzh@gnu.org>
parents: 11733
diff changeset
422 for your system, set up the file `./lisp/site-init.el' with Emacs
3f5326542cf6 Clarify use of site-init.el.
Karl Heuer <kwzh@gnu.org>
parents: 11733
diff changeset
423 Lisp code to override them; it is not a good idea to edit paths.el
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
424 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
425 rather than `defvar', as used by `./lisp/paths.el'. For example,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
426
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
427 (setq news-inews-program "/usr/bin/inews")
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
428
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
429 is how you would override the default value of the variable
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
430 news-inews-program (which is "/usr/local/inews").
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431
11119
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
432 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
433 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
434 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
435 doing, you'll make a mistake.
c303d2623f63 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 10672
diff changeset
436
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
437 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
438 Lisp code you want Emacs to load before it is dumped out. Use
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
439 site-load.el for additional libraries if you arrange for their
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
440 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
441 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
442 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
443 was build with a non-nil value of `byte-compile-dynamic'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444
11732
072d319a485f Clarify effect of setting load-path before dumping.
Richard M. Stallman <rms@gnu.org>
parents: 11729
diff changeset
445 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
446 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
447 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
448
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
449 Note that, on some systems, the code you place in site-init.el must
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
450 not use expand-file-name or any other function which may look
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
451 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
452 See `./etc/PROBLEMS' for more details on which systems this affects.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
453
7627
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
454 The `site-*.el' files are nonexistent in the distribution. You do not
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
455 need to create them if you have nothing to put in them.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
456
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
457 6) Refer to the file `./etc/TERMS' for information on fields you may
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458 wish to add to various termcap entries. The files `./etc/termcap.ucb'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459 and `./etc/termcap.dat' may already contain appropriately-modified
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
460 entries.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
461
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
462 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
463 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
464 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
465 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
466 directories ../lisp, ../lib-src, ../info.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467
11733
ae51069237f2 Clarification about running executable in place.
Richard M. Stallman <rms@gnu.org>
parents: 11732
diff changeset
468 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
469 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
470 are installed in the following directories:
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
471
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
472 `/usr/local/bin' holds the executable programs users normally run -
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
473 `emacs', `etags', `ctags', `b2m', `emacsclient',
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
474 and `rcs-checkin'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
475
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
476 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
477 `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
478 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
479 Lisp library changes from one version of Emacs to
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
480 another, including the version number in the path
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
481 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
482 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
483 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
484
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
485 `/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
486 files installed for Emacs version VERSION only.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
487
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
488 `/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
489 files installed for all Emacs versions.
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
490
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
491 When Emacs is installed, it searches for its Lisp files
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
492 in `/usr/local/share/emacs/VERSION/site-lisp', then in
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
493 `/usr/local/share/emacs/site-lisp', and finally in
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
494 `/usr/local/share/emacs/VERSION/lisp'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
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/etc' holds the Emacs tutorial, the DOC
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
497 file, the `yow' database, and other
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 architecture-independent files Emacs might need while
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
499 running. VERSION is as specified for `.../lisp'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500
9760
05fbcd364e6e update for Autoconf 2.0 and other recent changes.
David J. MacKenzie <djm@gnu.org>
parents: 9507
diff changeset
501 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502 programs used by Emacs that users are not expected to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 run themselves.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 `VERSION' is the number of the Emacs version you are
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 installing, and `CONFIGURATION-NAME' is the argument
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 you gave to the `configure' program to identify the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507 architecture and operating system of your machine,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 like `mips-dec-ultrix' or `sparc-sun-sunos'. Since
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 these files are specific to the version of Emacs,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 operating system, and architecture in use, including
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511 the configuration name in the path allows you to have
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512 several versions of Emacs for any mix of machines and
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513 operating systems installed at the same time; this is
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
514 useful for sites at which different kinds of machines
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
515 share the file system Emacs is installed on.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
516
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517 `/usr/local/info' holds the on-line documentation for Emacs, known as
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
518 "info files". Many other GNU programs are documented
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 using info files as well, so this directory stands
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
520 apart from the other, Emacs-specific directories.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
521
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
522 `/usr/local/man/man1' holds the man pages for the programs installed
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523 in `/usr/local/bin'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
524
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
525 If these directories are not what you want, you can specify where to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
526 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
527 for its Lisp files by giving values for `make' variables as part of
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
528 the command. See the section below called `MAKE VARIABLES' for more
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
529 information on this.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
531 8) Check the file `dir' in your site's info directory (usually
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
532 /usr/local/info) to make sure that it has a menu entry for the Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
533 info files.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
534
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
535 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
536 then you might need to make the movemail program setuid or setgid
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
537 to enable it to write the lock files. We believe this is safe.
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
538
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
539 10) You are done! You can remove executables and object files from
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
540 the build directory by typing `make clean'. To also remove the files
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
541 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
542 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
543 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
544 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
545 directory (usually /usr/local/share/emacs/VERSION/).
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
546
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
547
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
548
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
549 MAKE VARIABLES
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
550
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
551 You can change where the build process installs Emacs and its data
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
552 files by specifying values for `make' variables as part of the `make'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
553 command line. For example, if you type
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
554
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
555 make install bindir=/usr/local/gnubin
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
556
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
557 the `bindir=/usr/local/gnubin' argument indicates that the Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
558 executable files should go in `/usr/local/gnubin', not
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
559 `/usr/local/bin'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
560
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
561 Here is a complete list of the variables you may want to set.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
563 `bindir' indicates where to put executable programs that users can
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564 run. This defaults to /usr/local/bin.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
565
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
566 `datadir' indicates where to put the architecture-independent
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567 read-only data files that Emacs refers to while it runs; it
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
568 defaults to /usr/local/share. We create the following
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
569 subdirectories under `datadir':
14147
4d7b8a3fe240 Describe version-specific site-lisp dirs.
Richard M. Stallman <rms@gnu.org>
parents: 14020
diff changeset
570 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
571 - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
572 file, and the `yow' database.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 `VERSION' is the number of the Emacs version you are installing,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574 like `18.59' or `19.0'. Since these files vary from one version
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
575 of Emacs to another, including the version number in the path
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576 allows you to have several versions of Emacs installed at the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
577 same time; this means that you don't have to make Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
578 unavailable while installing a new version.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
580 `libexecdir' indicates where to put architecture-specific data files that
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
581 Emacs refers to as it runs; it defaults to `/usr/local/libexec'.
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
582 We create the following subdirectories under `libexecdir':
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
583 - `emacs/VERSION/CONFIGURATION-NAME', containing executable
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
584 programs used by Emacs that users are not expected to run
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
585 themselves.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
586 `VERSION' is the number of the Emacs version you are installing,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
587 and `CONFIGURATION-NAME' is the argument you gave to the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
588 `configure' program to identify the architecture and operating
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
589 system of your machine, like `mips-dec-ultrix' or
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
590 `sparc-sun-sunos'. Since these files are specific to the version
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
591 of Emacs, operating system, and architecture in use, including
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
592 the configuration name in the path allows you to have several
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
593 versions of Emacs for any mix of machines and operating systems
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
594 installed at the same time; this is useful for sites at which
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
595 different kinds of machines share the file system Emacs is
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
596 installed on.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
597
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
598 `infodir' indicates where to put the info files distributed with
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
599 Emacs; it defaults to `/usr/local/info'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
600
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
601 `mandir' indicates where to put the man pages for Emacs and its
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
602 utilities (like `etags'); it defaults to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
603 `/usr/local/man/man1'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
604
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
605 `manext' gives the extension the man pages should be installed with.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606 It should contain a period, followed by the appropriate
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 digit. It defaults to `.1'. For example given the default
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608 values for `mandir' and `manext', the Emacs man page would be
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
609 installed as `/usr/local/man/man1/emacs.1'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 `prefix' doesn't give a path for any specific part of Emacs; instead,
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
612 its value is used to determine the defaults for all the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 architecture-independent path variables - `datadir',
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
614 `sharedstatedir', `infodir', and `mandir'. Its default value is
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 `/usr/local'; the other variables add on `lib' or `man' to it
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616 by default.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
617
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
618 For example, suppose your site generally places GNU software
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
619 under `/usr/users/software/gnusoft' instead of `/usr/local'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
620 By including
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
621 `prefix=/usr/users/software/gnusoft'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
622 in the arguments to `make', you can instruct the build process
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
623 to place all of the Emacs data files in the appropriate
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
624 directories under that path.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
625
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
626 `exec_prefix' serves the same purpose as `prefix', but instead
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
627 determines the default values for the architecture-dependent
9499
151b595bc41a Formerly INSTALL.~33~
David J. MacKenzie <djm@gnu.org>
parents: 9498
diff changeset
628 path variables - `bindir' and `libexecdir'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
629
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630 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
631 GNU software; this variable is specific to Emacs.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632
12620
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
633 `archlibdir' indicates where Emacs installs and expects the executable
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
634 files and other architecture-dependent data it uses while
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
635 running. Its default value, based on `libexecdir' (which
7f74acc9dfeb Update disk requirements.
Karl Heuer <kwzh@gnu.org>
parents: 12368
diff changeset
636 see), is `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME'
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
637 (where VERSION and CONFIGURATION-NAME are as described above).
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
638
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
639 Remember that you must specify any variable values you need each time
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
640 you run `make' in the top directory. If you run `make' once to build
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
641 emacs, test it, and then run `make' again to install the files, you
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
642 must provide the same variable settings each time. To make the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
643 settings persist, you can edit them into the `Makefile' in the top
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
644 directory, but be aware that running the `configure' program erases
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 `Makefile' and rebuilds it from `Makefile.in'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
646
21343
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
647 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
648 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
649 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
650 before you run `make'.
a3059cd301f1 Remove some directories that don't really work now.
Richard M. Stallman <rms@gnu.org>
parents: 21089
diff changeset
651
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
652 The top-level Makefile stores the variable settings it used in the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
653 Makefiles for the subdirectories, so you don't have to specify them
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
654 when running make in the subdirectories.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
655
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
656
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
657 CONFIGURATION BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
658
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
659 Instead of running the `configure' program, you have to perform the
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
660 following steps.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
661
13667
fbf777f663d3 Correct .in.in and .h.in in file names.
Richard M. Stallman <rms@gnu.org>
parents: 12620
diff changeset
662 1) Copy `./src/config.in' to `./src/config.h'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
663
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
664 2) Consult `./etc/MACHINES' to see what configuration name you should
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
665 use for your system. Look at the code of the `configure' script to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
666 see which operating system and architecture description files from
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
667 `src/s' and `src/m' should be used for that configuration name. Edit
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
668 `src/config.h', and change the two `#include' directives to include
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
669 the appropriate system and architecture description files.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
670
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
671 2) Edit `./src/config.h' to set the right options for your system. If
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
672 you need to override any of the definitions in the s/*.h and m/*.h
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
673 files for your system and machine, do so by editing config.h, not by
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
674 changing the s/*.h and m/*.h files. Occasionally you may need to
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
675 redefine parameters used in `./lib-src/movemail.c'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
676
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
677 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
678 `Makefile.in' files. First copy `Makefile.in' to `Makefile.c',
14020
1ea8008d4bd8 Fix typo.
Karl Heuer <kwzh@gnu.org>
parents: 13926
diff changeset
679 then edit in appropriate substitutions for the @...@ constructs,
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
680 and then copy the shell commands near the end of `configure'
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
681 that run cpp to construct `Makefile'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
682
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
683 4) Create `Makefile' files in various other directories
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
684 from the corresponding `Makefile.in' files. This isn't so hard,
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
685 just a matter of substitution.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
686
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
687 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
688 program. You need version 2.51 or newer of `autoconf' to rebuild
36267
6abfaee147b1 Correct required autoconf version
Dave Love <fx@gnu.org>
parents: 36123
diff changeset
689 `configure'.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
690
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
691 BUILDING GNU EMACS BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
692
9507
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
693 Once Emacs is configured, running `make' in the top directory performs
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
694 the following steps.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
695
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
696 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
697 `./src/paths.h' from the template file `./src/paths.in', changing
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
698 the paths to the values specified in `./Makefile'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
699
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
700 2) Go to directory `./lib-src' and run `make'. This creates
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
701 executables named `ctags' and `etags' and `wakeup' and `make-docfile'
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
702 and `digest-doc' and `test-distrib'. And others.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
703
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
704 3) Go to directory `./src' and Run `make'. This refers to files in
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
705 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
706 `../lib-src'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
707
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
708 This creates a file `./src/emacs' which is the runnable Emacs,
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
709 which has another name that contains a version number.
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
710 Each time you do this, that version number increments in the last place.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
711
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
712 It also creates a file in `./etc' whose name is `DOC' followed by the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
713 current Emacs version. This file contains documentation strings for
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
714 all the functions in Emacs. Each time you run make to make a new
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
715 emacs, a new DOC file with a new name is made. You must keep the DOC
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
716 file for an Emacs version as long as you keep using that Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
717 version.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
718
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
719
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
720 INSTALLATION BY HAND
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
721
9507
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
722 The steps below are done by running `make install' in the main
6773cf9c2e75 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 9499
diff changeset
723 directory of the Emacs distribution.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
724
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
725 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
726 in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
727
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
728 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
729 - The programs `cvtmail', `fakemail', `hexl',
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
730 `movemail', `profile', `rcs2log', `timer', `vcdiff', `wakeup',
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
731 and `yow' are used by Emacs; they do need to be copied.
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
732 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
733 are intended to be run by users; they are handled below.
9498
0d3e8a3551b1 Formerly INSTALL.~32~
David J. MacKenzie <djm@gnu.org>
parents: 7864
diff changeset
734 - The programs `make-docfile' and `test-distrib' were
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
735 used in building Emacs, and are not needed any more.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
736 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
737 a file for users to read. There is no important reason to move them.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
738
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
739 2) Copy the files in `./info' to the place specified in
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
740 `./lisp/site-init.el' or `./lisp/paths.el'. Note that if the
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
741 destination directory already contains a file named `dir', you
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
742 probably don't want to replace it with the `dir' file in the Emacs
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
743 distribution. Instead, you should make sure that the existing `dir'
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
744 file contains an appropriate menu entry for the Emacs info.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
745
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
746 3) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
747 in users' search paths. `./src/emacs' has an alternate name
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
748 `./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
749 `/usr/local/bin/emacs' pointing to that alternate name, as an easy way
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
750 of installing different versions.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
751
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
752 You can delete `./src/temacs'.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
753
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
754 4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
755 `rcs-checkin' from `./lib-src' to `/usr/local/bin'. These programs are
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
756 intended for users to run.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
757
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
758 5) Copy the man pages in `./etc' for emacs, ctags, and etags into the
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
759 appropriate man directories.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
760
23353
2a5d306408cb *** empty log message ***
Karl Heuer <kwzh@gnu.org>
parents: 23330
diff changeset
761 6) The files in the `./src' subdirectory, except for `emacs', are not
7864
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
762 used by Emacs once it is built. However, it is very desirable to keep
e520e9f9a8d9 Formerly INSTALL.~31~
Richard M. Stallman <rms@gnu.org>
parents: 7627
diff changeset
763 the source on line for debugging.
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
764
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
765
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
766 PROBLEMS
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
767
21089
0413a3ff3b8d PROBLEMS is now in the etc directory.
Richard M. Stallman <rms@gnu.org>
parents: 20213
diff changeset
768 See the file PROBLEMS in etc subdirectory for a list of various
3199
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
769 problems sometimes encountered, and what to do about them.
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
770
8788744c0c64 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
771
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
772 Installation on MSDOG (a.k.a. MSDOS)
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
773
7627
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
774 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
775 (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
776 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
777 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
778 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
779 (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
780 if any of them isn't found.
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
781
36123
53ca0e322e9e List additional utilities required on MS-DOS to run lisp/Makefile.
Eli Zaretskii <eliz@gnu.org>
parents: 36040
diff changeset
782 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
783 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
784 `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
785 `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
786 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
787 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
788 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
789
15444
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
790 If you are building the MSDOG version of Emacs on an MSDOG-like system
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
791 which supports long file names (e.g. Windows 95), you need to make
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
792 sure that long file names are handled consistently both when you
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
793 unpack the distribution and compile it. If you intend to compile with
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
794 DJGPP v2.0 or later, and long file names support is enabled (LFN=y in
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
795 the environment), you need to unpack Emacs distribution in a way that
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
796 doesn't truncate the original long filenames to the DOS 8.3 namespace;
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
797 the easiest way to do this is to use djtar program which comes with
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
798 DJGPP, since it will note the LFN setting and behave accordingly.
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
799 DJGPP v1 doesn't support long filenames, so you must unpack Emacs with
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
800 a program that truncates the filenames to 8.3 naming as it extracts
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
801 files; again, using djtar after setting LFN=n is the recommended way.
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
802 You can build Emacs with LFN=n even if you use DJGPP v2, if some of
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
803 your tools don't support long file names: just ensure that LFN is set
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
804 to `n' during both unpacking and compiling.
15017
11c175c0b7de Describe djtar.
Richard M. Stallman <rms@gnu.org>
parents: 15016
diff changeset
805
15444
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
806 (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
807 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
808 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
809 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
810 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
811
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
812 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
813 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
814 compilation; Emacs compiled with DJGPP v2.0 or later will always
32557
cd84bd4a3411 Describe the new --with-FOO options for building with image support.
Eli Zaretskii <eliz@gnu.org>
parents: 26905
diff changeset
815 support long file names on Windows 9X 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
816 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
817 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
818 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
819 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
820 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
821 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
822 djtar after you set LFN=y in the environment.
15017
11c175c0b7de Describe djtar.
Richard M. Stallman <rms@gnu.org>
parents: 15016
diff changeset
823
15444
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
824 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
825
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
826 djtar -x emacs.tgz
12339
3398b88cbd25 Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents: 12042
diff changeset
827
15444
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
828 (This assumes that the Emacs distribution is called `emacs.tgz' on
19635
c08a8e2d0f27 MSDOS-related changes.
Richard M. Stallman <rms@gnu.org>
parents: 19352
diff changeset
829 your system.)
12343
91d4c394cb61 Fix previous change.
Richard M. Stallman <rms@gnu.org>
parents: 12341
diff changeset
830
24070
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
831 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
832 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
833 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
834 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
835 type this:
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
836
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
837 djtar -x intlfonts.tgz
526d645420b5 Explain that intlfonts are used by ps-print as well.
Eli Zaretskii <eliz@gnu.org>
parents: 23353
diff changeset
838
15444
66a9ef0892a2 Explain about MSDOS installation and long file name support.
Richard M. Stallman <rms@gnu.org>
parents: 15209
diff changeset
839 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
840 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
841 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
842
3398b88cbd25 Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents: 12042
diff changeset
843 config msdos
3398b88cbd25 Update MSDOS needs list.
Richard M. Stallman <rms@gnu.org>
parents: 12042
diff changeset
844 make install
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
845
33812
c41a9a242fed Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents: 33678
diff changeset
846 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
847 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
848 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
849 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
850 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
851 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
852 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
853 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
854 the DJGPP version number).
c41a9a242fed Describe a possible problem with djecho.exe in old
Eli Zaretskii <eliz@gnu.org>
parents: 33678
diff changeset
855
37479
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
856 On Windows NT or Windows 2000, running "config msdos" might print an
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
857 error message like "VDM has been already loaded". This is because
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
858 those systems have a program called `redir.exe' which is incompatible
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
859 with a program by the same name supplied with DJGPP, which is used by
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
860 config.bat. To resolve this, move the DJGPP's `bin' subdirectory to
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
861 the front of your PATH environment variable.
a240b159c8df Mention problems with Windows NT's `redir' program.
Eli Zaretskii <eliz@gnu.org>
parents: 36753
diff changeset
862
24452
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
863 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
864 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
865 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
866 command:
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
867
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
868 make bdf INSTALLDIR=..
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
869
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
870 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
871 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
872 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
873 default.
3f25405e6e70 Add detailed instructions to unpack and install intlfonts on MS-DOS.
Eli Zaretskii <eliz@gnu.org>
parents: 24070
diff changeset
874
15039
43c846d45f79 Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents: 15017
diff changeset
875 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
876 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
877 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
878 /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
879 /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
880 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
881 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
882 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
883 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
884 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
885 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
886
15039
43c846d45f79 Clarify MSDOS installing and unpacking.
Richard M. Stallman <rms@gnu.org>
parents: 15017
diff changeset
887 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
888 ../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
889 Emacs executable was run from. You can override this by setting the
19635
c08a8e2d0f27 MSDOS-related changes.
Richard M. Stallman <rms@gnu.org>
parents: 19352
diff changeset
890 environment variables EMACSDATA (for the location of `etc' directory),
c08a8e2d0f27 MSDOS-related changes.
Richard M. Stallman <rms@gnu.org>
parents: 19352
diff changeset
891 EMACSLOADPATH (for the location of `lisp' directory) and INFOPATH (for
c08a8e2d0f27 MSDOS-related changes.
Richard M. Stallman <rms@gnu.org>
parents: 19352
diff changeset
892 the location of the `info' directory).
6062
e9768f0d0653 Formerly INSTALL.~20~
Richard M. Stallman <rms@gnu.org>
parents: 3199
diff changeset
893
7627
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
894 MSDOG is a not a multitasking operating system, so Emacs features such
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
895 as asynchronous subprocesses that depend on multitasking will not
99cf43c08895 Formerly INSTALL.~28~
Richard M. Stallman <rms@gnu.org>
parents: 6062
diff changeset
896 work. Synchronous subprocesses do work.
15825
615a180ced87 Describe djgpp library replacement files.
Richard M. Stallman <rms@gnu.org>
parents: 15733
diff changeset
897
16861
310fd977a344 Update info about DJGPP.
Richard M. Stallman <rms@gnu.org>
parents: 16309
diff changeset
898 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
899 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
900 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
901 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
902 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
903
34994
fb1c795f1a5e Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents: 34939
diff changeset
904 COPYING PERMISSIONS
fb1c795f1a5e Minor style and punctuation changes from Kim Storm.
Eli Zaretskii <eliz@gnu.org>
parents: 34939
diff changeset
905
34939
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
906 Permission is granted to anyone to make or distribute verbatim copies
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
907 of this document as received, in any medium, provided that the
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
908 copyright notice and permission notice are preserved,
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
909 and that the distributor grants the recipient permission
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
910 for further redistribution as permitted by this notice.
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
911
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
912 Permission is granted to distribute modified versions
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
913 of this document, or of portions of it,
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
914 under the above conditions, provided also that they
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
915 carry prominent notices stating who last changed them,
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
916 and that any new or changed statements about the activities
44564f6157cc Move the copying conditions to the end of the file.
Eli Zaretskii <eliz@gnu.org>
parents: 34879
diff changeset
917 of the Free Software Foundation are approved by the Foundation.