INSTALL.REPO 3.7 KB
Newer Older
1
Copyright (C) 2002-2014 Free Software Foundation, Inc.
2
See the end of the file for license conditions.
3 4


5
	     Building and Installing Emacs from the Repository
Eli Zaretskii's avatar
Eli Zaretskii committed
6

7 8
Building Emacs from the source-code repository requires some tools
that are not needed when building from a release.  You will need:
9

10
autoconf  - at least the version specified near the start of
11
  configure.ac (in the AC_PREREQ command).
12 13
automake  - at least the version specified near the start of
  configure.ac (in the AM_INIT_AUTOMAKE command).
14 15 16 17 18 19 20
makeinfo  - not strictly necessary, but highly recommended, so that
  you can build the manuals.

The `autogen.sh' script can help you figure out if you have the
necessary tools.

The first time you build, there are a couple of extra steps.
Glenn Morris's avatar
Glenn Morris committed
21
First, generate the `configure' script and some related files:
22 23

  $ ./autogen.sh
24

25
(or you can just run `autoreconf -i -I m4').
26 27 28 29 30

You can then configure your build (use `./configure --help' to see
options you can set):

  $ ./configure
31

32 33
If you want later builds to go faster, at the expense of sometimes
doing the wrong thing if you update the build procedure, you can
34
invoke "./configure -C" instead.
35

Eli Zaretskii's avatar
Eli Zaretskii committed
36
Some of the files that are included in the Emacs tarball, such as
37 38 39
byte-compiled Lisp files, are not stored in the repository.  Therefore, to
build from the repository you must run "make bootstrap" instead of
just "make":
Eli Zaretskii's avatar
Eli Zaretskii committed
40 41 42

  $ make bootstrap

43
Normally, it is not necessary to use "make bootstrap" after every
44
update from the repository.  "make" should work in 90% of the cases and be
45
much quicker.
Eli Zaretskii's avatar
Eli Zaretskii committed
46 47 48 49 50 51

  $ make

(If you want to install the Emacs binary, type "make install" instead
of "make" in the last command.)

52 53 54 55 56
Occasionally the file "lisp/loaddefs.el" (and similar automatically
generated files, such as esh-groups.el, and *-loaddefs.el in some
subdirectories of lisp/, e.g. mh-e/ and calendar/) will need to be
updated to reflect new autoloaded functions.  If you see errors (rather
than warnings) about undefined lisp functions during compilation, that
Glenn Morris's avatar
Glenn Morris committed
57 58 59
may be the reason.  Finally, sometimes there can be build failures
related to *loaddefs.el (e.g. "required feature `esh-groups' was not
provided").  In that case, follow the instructions below.
Glenn Morris's avatar
Glenn Morris committed
60 61

To update loaddefs.el (and similar files), do:
62 63

  $ cd lisp
64
  $ make autoloads
65

66
If either of the above partial procedures fails, try "make bootstrap".
67 68
If CPU time is not an issue, the most thorough way to rebuild, and
avoid any spurious problems, is always to use this method.
69

Eli Zaretskii's avatar
Eli Zaretskii committed
70 71 72
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
73
applicable to those systems as well.
Eli Zaretskii's avatar
Eli Zaretskii committed
74

75
Because the repository version of Emacs is a work in progress, it will
76 77 78 79 80 81
sometimes fail to build.  Please wait a day or so (and check the
archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs
mailing lists) before reporting such problems.  In most cases, the
problem is known about and is just waiting for someone to fix it.
This is especially true for Lisp compilation errors, which are almost
never platform-specific.
82

83

84 85 86

This file is part of GNU Emacs.

87
GNU Emacs is free software: you can redistribute it and/or modify
88
it under the terms of the GNU General Public License as published by
89 90
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
91 92 93 94 95 96 97

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
98
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.