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