|
|
1.1 root 1: GNU Emacs Installation Guide
2: Copyright (c) 1988 Free software Foundation, Inc.
3:
4: Permission is granted to anyone to make or distribute verbatim copies
5: of this document as received, in any medium, provided that the
6: copyright notice and permission notice are preserved,
7: and that the distributor grants the recipient permission
8: for further redistribution as permitted by this notice.
9:
10: Permission is granted to distribute modified versions
11: of this document, or of portions of it,
12: under the above conditions, provided also that they
13: carry prominent notices stating who last changed them,
14: and that any new or changed statements about the activities
15: of the Free Software Foundation are approved by the Foundation.
16:
17:
18: PREPARATION
19:
20: 0) Make sure your system has enough swapping space allocated
21: to handle a program whose pure code is 400k bytes or
22: and whose data area is at least 150k and can reach 600k
23: bytes or much more. If the swapping space is insufficient, you
24: will get an error in the command temacs -l loadup inc dump,
25: found in $BUILD/src/ymakefile, or possibly when running the
26: final dumped Emacs.
27:
28: 1) Choose a place in the file structure for the main directory
29: of Emacs code to reside. This will ultimately have
30: subdirectories named src, lisp, etc, etc. Call this name
31: $EMACS. Let $BUILD stand for the name the directory has now.
32:
33: 2) Copy $BUILD/src/config.h-dist to $BUILD/src/config.h,
34: and edit it to set the right options for your system. The file
35: $BUILD/etc/MACHINES may help you decide what to put there.
36: If you need to override any of the definitions in the s- and m-
37: files for your system and machine, do so by editing config.h,
38: not by changing the s- and m- files. Occasionally you may
39: need to redefine parameters used in etc/movemail.c.
40:
41: 3) Declare the place in the file system where Emacs will
42: be once installed. This is done in the file `src/paths.h'.
43:
44: If you are using the shell-script `build-install'
45: edit the `set' command that sets the variable `EMACS'.
46: If you are using `make' in the main Emacs directory to do
47: the installation, edit the definition of `LIBDIR' in `Makefile'
48: in that directory. `build-install' and `make' edit `src/paths.h'
49: automatically.
50:
51: If you are doing the building by hand (not using `build-install' or
52: `make') then you yourself must copy $BUILD/src/paths.h-dist to
53: paths.h, and edit it to contain the correct directory names:
54: $EMACS/lisp for the directory for Lisp libraries, and $EMACS/etc for
55: the directory for executables and text files.
56:
57: Emacs will use these names once it has been built.
58: During building, Emacs searches the directory ../lisp for
59: Lisp files before the directories specified in paths.h, and
60: executable files are found in ../etc. So the main Emacs
61: directory $BUILD can be anywhere while Emacs is built, but
62: must be renamed to $EMACS afterwards in order for Emacs to
63: work properly.
64:
65: 4) Look at $BUILD/lisp/paths.el; if some of those values
66: are not right for your system, create a file
67: $BUILD/lisp/site-init.el containing Lisp code to override them.
68: You would use the Lisp function `setq'. For example,
69:
70: (setq news-inews-program "/usr/bin/inews")
71:
72: is how you would override the default value of the
73: variable news-inews-program (which is "/usr/local/inews").
74:
75: 5) Put into $BUILD/lisp/site-init.el any Lisp code
76: you want loaded into Emacs before it is dumped out.
77:
78: This file is nonexistent in the distribution.
79: You do not need to create it, if you have nothing
80: to put in it.
81:
82: 6) Decide what compiler switches to use.
83: You might want to replace the `-g' in the file $BUILD/src/ymakefile
84: with `-O'. If you are not running on 4.2 on a vax,
85: it is possible that no debugger you have will be able
86: to run Emacs with its symbol table, so you might as well
87: use `-O' instead. If you do have a debugger that works,
88: it is probably best to use `-g' so that you are not
89: helpless in the face of a problem.
90:
91: 7) If you wish to compile with GCC, you should use -traditional.
92: This is needed for certain include files. For more info, refer
93: the INSTALL file of GCC.
94:
95: 8) Refer to the file $BUILD/etc/TERMS for information on
96: fields you may wish to add to various termcap entries.
97:
98: 9) Run `make' in the main directory of the Emacs distribution
99: to finish building and installing Emacs in the standard way.
100: You are done!
101:
102:
103: BUILDING GNU EMACS
104: The steps below are done by the shell script `build-install'
105: or by running `make' in the main directory of the Emacs distribution.
106:
107: 1) Cd to $BUILD/etc and run `make'.
108: This creates files named `ctags' and `etags' and `loadst'
109: and `make-docfile' and `digest-doc' and `test-distrib'.
110:
111: 2) Cd to $BUILD/src and Run `make'
112: This refers to files in the $BUILD/lisp and $BUILD/etc subdirectories
113: using names ../lisp and ../etc.
114:
115: This creates a file $BUILD/src/xemacs which is the runnable Emacs,
116: assigning it a new version number by incrementing the version
117: stored in $BUILD/lisp/version.el.
118:
119: It also creates a file in $BUILD/etc, whose name is
120: DOC followed by the current Emacs version.
121: This file contains documentation strings for all the
122: functions in Emacs. Each time you run make to make a new xemacs,
123: a new DOC file with a new name is made. You must keep
124: the DOC file for an Emacs version as long as you keep using
125: that Emacs version.
126:
127:
128: INSTALLATION
129: The steps below are done by the shell script `build-install'
130: or by running `make' in the main directory of the Emacs distribution.
131:
132: 0) mv $BUILD $EMACS if $BUILD and $EMACS are not the same.
133: This moves the main Emacs directory to the name you have told
134: Emacs (via paths.h) it is going to have.
135:
136: 1) Move the file $EMACS/xemacs to /usr/local/bin/emacs,
137: or some other name in users' search paths.
138: `xemacs' has an alternate name $EMACS/src/emacs-EMACSVERSION;
139: you may wish to make a symbolic link
140: named /usr/local/bin/emacs pointing to that alternate name,
141: as an easy way of installing different versions.
142:
143: You can delete $EMACS/src/temacs.
144:
145: 3) Move the programs ctags and etags from $EMACS/etc
146: to /usr/local/bin. These programs are run by users as shell commands.
147:
148: The program $EMACS/etc/loadst is invoked by Emacs when appropriate.
149:
150: The programs $EMACS/etc/make-docfile and $EMACS/etc/test-distrib
151: are not used any more; they were used in building Emacs.
152:
153: $EMACS/etc/digest-doc can be used to convert DOC into a
154: file for users to read. There is no important reason to move it.
155:
156: 4) The files in $EMACS/src subdirectory, except for xemacs,
157: are not used by Emacs once it is built.
158:
159:
160: See the file PROBLEMS in this directory for a list of various
161: problems sometimes encountered, and what to do about them.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.