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