mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
Building and Installing Emacs from CVS
|
|
|
|
Some of the files that are included in the Emacs tarball, such as
|
|
byte-compiled Lisp files, are not stored in the CVS repository.
|
|
Therefore, to build from CVS you must run "make bootstrap"
|
|
instead of just "make":
|
|
|
|
$ ./configure
|
|
$ make bootstrap
|
|
|
|
The bootstrap process makes sure all necessary files are rebuilt
|
|
before it builds the final Emacs binary.
|
|
|
|
Normally, it is not necessary to use "make bootstrap" after every CVS
|
|
update. Unless there are problems, we suggest the following
|
|
procedure:
|
|
|
|
$ ./configure
|
|
$ make
|
|
$ cd lisp
|
|
$ make recompile EMACS=../src/emacs
|
|
$ cd ..
|
|
$ make
|
|
|
|
(If you want to install the Emacs binary, type "make install" instead
|
|
of "make" in the last command.)
|
|
|
|
Occasionally the file "lisp/loaddefs.el" will need be updated to
|
|
reflect new autoloaded functions. If you see errors about undefined
|
|
lisp functions during compilation, that may be the reason. Another
|
|
symptom may be an error saying that "loaddefs.el" could not be found;
|
|
this is due to a change in the way loaddefs.el was handled in CVS, and
|
|
should only happen once, for users that are updating old CVS trees.
|
|
|
|
To update loaddefs.el, do:
|
|
|
|
$ cd lisp
|
|
$ make autoloads EMACS=../src/emacs
|
|
|
|
If either of the above partial procedures fails, try "make bootstrap".
|
|
|
|
Users of non-Posix systems (MS-Windows etc.) should run the
|
|
platform-specific configuration scripts (nt/configure.bat, config.bat,
|
|
etc.) before "make bootstrap" or "make"; the rest of the procedure is
|
|
applicable to those systems as well, except that the value of the
|
|
EMACS variable on the Make command line might be different, e.g.,
|
|
../bin/emacs.exe or some such.
|
|
|
|
Questions, requests, and bug reports about the CVS versions of Emacs
|
|
should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help
|
|
or gnu.emacs.bug. Ideally, use M-x report-emacs-bug RET which will
|
|
send it to the proper place.
|
|
|
|
|
|
Note on using SSH to access the CVS repository from inside Emacs
|
|
----------------------------------------------------------------
|
|
|
|
Write access to the CVS repository requires using SSH v2.
|
|
|
|
If you execute cvs commands inside Emacs, specifically if you use
|
|
pcl-cvs, output from CVS may be lost due to a problem in the
|
|
interface between ssh, cvs, and libc. Corrupted checkins have
|
|
also been rumored to have happened.
|
|
|
|
To fix the problem, save the following script into a file, make it
|
|
executable, and set CVS_RSH to the file name of the script:
|
|
|
|
#!/bin/bash
|
|
exec 2> >(exec cat >&2 2>/dev/null)
|
|
exec ssh "$@"
|
|
|
|
This may be combined with the following entry in ~/.ssh/config to
|
|
simplify accessing the CVS repository:
|
|
|
|
Host subversions.gnu.org
|
|
Protocol 2
|
|
ForwardX11 no
|
|
User YOUR_USERID
|