* calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
[bpt/emacs.git] / INSTALL.REPO
... / ...
CommitLineData
1Copyright (C) 2002-2014 Free Software Foundation, Inc.
2See the end of the file for license conditions.
3
4
5 Building and Installing Emacs from the Repository
6
7Building Emacs from the source-code repository requires some tools
8that are not needed when building from a release. You will need:
9
10autoconf - at least the version specified near the start of
11 configure.ac (in the AC_PREREQ command).
12automake - at least the version specified near the start of
13 configure.ac (in the AM_INIT_AUTOMAKE command).
14makeinfo - not strictly necessary, but highly recommended, so that
15 you can build the manuals.
16
17The `autogen.sh' script can help you figure out if you have the
18necessary tools.
19
20The first time you build, there are a couple of extra steps.
21First, generate the `configure' script and some related files:
22
23 $ ./autogen.sh
24
25(or you can just run `autoreconf -i -I m4').
26
27You can then configure your build (use `./configure --help' to see
28options you can set):
29
30 $ ./configure
31
32If you want later builds to go faster, at the expense of sometimes
33doing the wrong thing if you update the build procedure, you can
34invoke "./configure -C" instead.
35
36Some of the files that are included in the Emacs tarball, such as
37byte-compiled Lisp files, are not stored in the repository. Therefore, to
38build from the repository you must run "make bootstrap" instead of
39just "make":
40
41 $ make bootstrap
42
43Normally, it is not necessary to use "make bootstrap" after every
44update from the repository. "make" should work in 90% of the cases and be
45much quicker.
46
47 $ make
48
49(If you want to install the Emacs binary, type "make install" instead
50of "make" in the last command.)
51
52Occasionally the file "lisp/loaddefs.el" (and similar automatically
53generated files, such as esh-groups.el, and *-loaddefs.el in some
54subdirectories of lisp/, e.g. mh-e/ and calendar/) will need to be
55updated to reflect new autoloaded functions. If you see errors (rather
56than warnings) about undefined lisp functions during compilation, that
57may be the reason. Finally, sometimes there can be build failures
58related to *loaddefs.el (e.g. "required feature `esh-groups' was not
59provided"). In that case, follow the instructions below.
60
61To update loaddefs.el (and similar files), do:
62
63 $ cd lisp
64 $ make autoloads
65
66If either of the above partial procedures fails, try "make bootstrap".
67If CPU time is not an issue, the most thorough way to rebuild, and
68avoid any spurious problems, is always to use this method.
69
70Users of non-Posix systems (MS-Windows etc.) should run the
71platform-specific configuration scripts (nt/configure.bat, config.bat,
72etc.) before "make bootstrap" or "make"; the rest of the procedure is
73applicable to those systems as well.
74
75Because the repository version of Emacs is a work in progress, it will
76sometimes fail to build. Please wait a day or so (and check the
77archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs
78mailing lists) before reporting such problems. In most cases, the
79problem is known about and is just waiting for someone to fix it.
80This is especially true for Lisp compilation errors, which are almost
81never platform-specific.
82
83
84\f
85This file is part of GNU Emacs.
86
87GNU Emacs is free software: you can redistribute it and/or modify
88it under the terms of the GNU General Public License as published by
89the Free Software Foundation, either version 3 of the License, or
90(at your option) any later version.
91
92GNU Emacs is distributed in the hope that it will be useful,
93but WITHOUT ANY WARRANTY; without even the implied warranty of
94MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
95GNU General Public License for more details.
96
97You should have received a copy of the GNU General Public License
98along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.