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