Improve previous change.
[bpt/emacs.git] / INSTALL.CVS
CommitLineData
57ebf0be 1Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
c2e309f2 2 Free Software Foundation, Inc.
7f6d64f8 3See the end of the file for license conditions.
c2e309f2
GM
4
5
e0156c8d
EZ
6 Building and Installing Emacs from CVS
7
8Some of the files that are included in the Emacs tarball, such as
9byte-compiled Lisp files, are not stored in the CVS repository.
10Therefore, to build from CVS you must run "make bootstrap"
11instead of just "make":
12
13 $ ./configure
14 $ make bootstrap
15
16The bootstrap process makes sure all necessary files are rebuilt
17before it builds the final Emacs binary.
18
19Normally, it is not necessary to use "make bootstrap" after every CVS
7b245e63
RS
20update. Unless there are problems, we suggest using the following
21alternative procedure after you have done "make bootstrap" at least
22once:
e0156c8d
EZ
23
24 $ ./configure
25 $ make
26 $ cd lisp
27 $ make recompile EMACS=../src/emacs
28 $ cd ..
29 $ make
30
31(If you want to install the Emacs binary, type "make install" instead
32of "make" in the last command.)
33
7aceaab5
GM
34Occasionally the file "lisp/loaddefs.el" (and similar *-loaddefs.el
35files in some subdirectories of lisp/, e.g. mh-e/ and calendar/) will
36need to be updated to reflect new autoloaded functions. If you see
37errors (rather than warnings) about undefined lisp functions during
38compilation, that may be the reason. Another symptom may be an error
39saying that "loaddefs.el" could not be found; this is due to a change
40in the way loaddefs.el was handled in CVS, and should only happen
41once, for users that are updating old CVS trees. Finally, sometimes
42there can be build failures related to *loaddefs.el. In that case,
43delete them before following the instructions below to update them.
44
45To update loaddefs.el (and similar files), do:
93e3e16a
MB
46
47 $ cd lisp
0e21fc54 48 $ make autoloads EMACS=../src/emacs
93e3e16a 49
10209171 50If either of the above partial procedures fails, try "make bootstrap".
e0156c8d 51
3102985a
GM
52Very occasionally changes in the source can introduce
53incompatibilities with previous builds. If a bootstrap fails, as a
54last resort try "make maintainer-clean" before bootstrapping again.
7aceaab5
GM
55If CPU time is not an issue, the most thorough way to rebuild, and
56avoid any spurious problems, is always to use "make maintainer-clean;
57make bootstrap".
3102985a 58
e0156c8d
EZ
59Users of non-Posix systems (MS-Windows etc.) should run the
60platform-specific configuration scripts (nt/configure.bat, config.bat,
61etc.) before "make bootstrap" or "make"; the rest of the procedure is
10209171
EZ
62applicable to those systems as well, except that the value of the
63EMACS variable on the Make command line might be different, e.g.,
64../bin/emacs.exe or some such.
e0156c8d 65
7df58a0d 66Questions, requests, and bug reports about the CVS versions of Emacs
b633b319
SM
67should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help
68or gnu.emacs.bug. Ideally, use M-x report-emacs-bug RET which will
69send it to the proper place.
58ec79cf
KS
70
71
25dc5de2 72Note on using SSH to access the CVS repository from inside Emacs
58ec79cf
KS
73----------------------------------------------------------------
74
75Write access to the CVS repository requires using SSH v2.
76
25dc5de2 77If you execute cvs commands inside Emacs, specifically if you use
58ec79cf 78pcl-cvs, output from CVS may be lost due to a problem in the
753a7f09
KS
79interface between ssh, cvs, and libc. Corrupted checkins are
80also known to have happened.
58ec79cf
KS
81
82To fix the problem, save the following script into a file, make it
83executable, and set CVS_RSH to the file name of the script:
84
85#!/bin/bash
86exec 2> >(exec cat >&2 2>/dev/null)
87exec ssh "$@"
88
89This may be combined with the following entry in ~/.ssh/config to
90simplify accessing the CVS repository:
91
92Host subversions.gnu.org
93 Protocol 2
94 ForwardX11 no
95 User YOUR_USERID
7f6d64f8
GM
96
97\f
98This file is part of GNU Emacs.
99
100GNU Emacs is free software; you can redistribute it and/or modify
101it under the terms of the GNU General Public License as published by
fca4a5de 102the Free Software Foundation; either version 3, or (at your option)
7f6d64f8
GM
103any later version.
104
105GNU Emacs is distributed in the hope that it will be useful,
106but WITHOUT ANY WARRANTY; without even the implied warranty of
107MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
108GNU General Public License for more details.
109
110You should have received a copy of the GNU General Public License
111along with GNU Emacs; see the file COPYING. If not, write to the
112Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
113Boston, MA 02110-1301, USA.