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 | |
7b245e63 RS |
15 | update. Unless there are problems, we suggest using the following |
16 | alternative procedure after you have done "make bootstrap" at least | |
17 | once: | |
e0156c8d EZ |
18 | |
19 | $ ./configure | |
20 | $ make | |
21 | $ cd lisp | |
22 | $ make recompile EMACS=../src/emacs | |
23 | $ cd .. | |
24 | $ make | |
25 | ||
26 | (If you want to install the Emacs binary, type "make install" instead | |
27 | of "make" in the last command.) | |
28 | ||
0e21fc54 EZ |
29 | Occasionally the file "lisp/loaddefs.el" will need be updated to |
30 | reflect new autoloaded functions. If you see errors about undefined | |
31 | lisp functions during compilation, that may be the reason. Another | |
32 | symptom may be an error saying that "loaddefs.el" could not be found; | |
33 | this is due to a change in the way loaddefs.el was handled in CVS, and | |
34 | should only happen once, for users that are updating old CVS trees. | |
93e3e16a | 35 | |
0e21fc54 | 36 | To update loaddefs.el, do: |
93e3e16a MB |
37 | |
38 | $ cd lisp | |
0e21fc54 | 39 | $ make autoloads EMACS=../src/emacs |
93e3e16a | 40 | |
10209171 | 41 | If either of the above partial procedures fails, try "make bootstrap". |
e0156c8d EZ |
42 | |
43 | Users of non-Posix systems (MS-Windows etc.) should run the | |
44 | platform-specific configuration scripts (nt/configure.bat, config.bat, | |
45 | etc.) before "make bootstrap" or "make"; the rest of the procedure is | |
10209171 EZ |
46 | applicable to those systems as well, except that the value of the |
47 | EMACS variable on the Make command line might be different, e.g., | |
48 | ../bin/emacs.exe or some such. | |
e0156c8d | 49 | |
7df58a0d | 50 | Questions, requests, and bug reports about the CVS versions of Emacs |
b633b319 SM |
51 | should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help |
52 | or gnu.emacs.bug. Ideally, use M-x report-emacs-bug RET which will | |
53 | send it to the proper place. | |
58ec79cf KS |
54 | |
55 | ||
25dc5de2 | 56 | Note on using SSH to access the CVS repository from inside Emacs |
58ec79cf KS |
57 | ---------------------------------------------------------------- |
58 | ||
59 | Write access to the CVS repository requires using SSH v2. | |
60 | ||
25dc5de2 | 61 | If you execute cvs commands inside Emacs, specifically if you use |
58ec79cf | 62 | pcl-cvs, output from CVS may be lost due to a problem in the |
753a7f09 KS |
63 | interface between ssh, cvs, and libc. Corrupted checkins are |
64 | also known to have happened. | |
58ec79cf KS |
65 | |
66 | To fix the problem, save the following script into a file, make it | |
67 | executable, and set CVS_RSH to the file name of the script: | |
68 | ||
69 | #!/bin/bash | |
70 | exec 2> >(exec cat >&2 2>/dev/null) | |
71 | exec ssh "$@" | |
72 | ||
73 | This may be combined with the following entry in ~/.ssh/config to | |
74 | simplify accessing the CVS repository: | |
75 | ||
76 | Host subversions.gnu.org | |
77 | Protocol 2 | |
78 | ForwardX11 no | |
79 | User YOUR_USERID |