Merged from miles@gnu.org--gnu-2005 (patch 656-658)
[bpt/emacs.git] / INSTALL.CVS
... / ...
CommitLineData
1 Building and Installing Emacs from CVS
2
3Some of the files that are included in the Emacs tarball, such as
4byte-compiled Lisp files, are not stored in the CVS repository.
5Therefore, to build from CVS you must run "make bootstrap"
6instead of just "make":
7
8 $ ./configure
9 $ make bootstrap
10
11The bootstrap process makes sure all necessary files are rebuilt
12before it builds the final Emacs binary.
13
14Normally, it is not necessary to use "make bootstrap" after every CVS
15update. Unless there are problems, we suggest the following
16procedure:
17
18 $ ./configure
19 $ make
20 $ cd lisp
21 $ make recompile EMACS=../src/emacs
22 $ cd ..
23 $ make
24
25(If you want to install the Emacs binary, type "make install" instead
26of "make" in the last command.)
27
28Occasionally the files "lisp/loaddefs.el" or lisp/mh-e/mh-loaddefs.el
29will need be updated to reflect new autoloaded functions. If you see
30errors about undefined lisp functions during compilation, that may be
31the reason. Another symptom may be an error saying that "loaddefs.el"
32could not be found; this is due to a change in the way loaddefs.el was
33handled in CVS, and should only happen once, for users that are
34updating old CVS trees.
35
36To update loaddefs.el and mh-loaddefs.el, do:
37
38 $ cd lisp
39 $ make autoloads mh-autoloads EMACS=../src/emacs
40
41If either of the above partial procedures fails, try "make bootstrap".
42
43Users of non-Posix systems (MS-Windows etc.) should run the
44platform-specific configuration scripts (nt/configure.bat, config.bat,
45etc.) before "make bootstrap" or "make"; the rest of the procedure is
46applicable to those systems as well, except that the value of the
47EMACS variable on the Make command line might be different, e.g.,
48../bin/emacs.exe or some such.
49
50Questions, requests, and bug reports about the CVS versions of Emacs
51should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help
52or gnu.emacs.bug. Ideally, use M-x report-emacs-bug RET which will
53send it to the proper place.
54
55
56Note on using SSH to access the CVS repository from inside Emacs
57----------------------------------------------------------------
58
59Write access to the CVS repository requires using SSH v2.
60
61If you execute cvs commands inside Emacs, specifically if you use
62pcl-cvs, output from CVS may be lost due to a problem in the
63interface between ssh, cvs, and libc. Corrupted checkins have
64also been rumored to have happened.
65
66To fix the problem, save the following script into a file, make it
67executable, and set CVS_RSH to the file name of the script:
68
69#!/bin/bash
70exec 2> >(exec cat >&2 2>/dev/null)
71exec ssh "$@"
72
73This may be combined with the following entry in ~/.ssh/config to
74simplify accessing the CVS repository:
75
76Host subversions.gnu.org
77 Protocol 2
78 ForwardX11 no
79 User YOUR_USERID