* calendar/todo-mode.el (todo-set-top-priorities): Fix logic to
[bpt/emacs.git] / INSTALL.REPO
CommitLineData
ba318903 1Copyright (C) 2002-2014 Free Software Foundation, Inc.
7f6d64f8 2See the end of the file for license conditions.
c2e309f2
GM
3
4
ac4c50ad 5 Building and Installing Emacs from the Repository
e0156c8d 6
ac4c50ad
ER
7Building Emacs from the source-code repository requires some tools
8that are not needed when building from a release. You will need:
d0bec92c 9
66b87493 10autoconf - at least the version specified near the start of
c4444d16 11 configure.ac (in the AC_PREREQ command).
9b219104
GM
12automake - at least the version specified near the start of
13 configure.ac (in the AM_INIT_AUTOMAKE command).
66b87493
GM
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.
ac45a338 21First, generate the `configure' script and some related files:
66b87493
GM
22
23 $ ./autogen.sh
d0bec92c 24
f6ca84c0 25(or you can just run `autoreconf -i -I m4').
66b87493
GM
26
27You can then configure your build (use `./configure --help' to see
28options you can set):
29
30 $ ./configure
d05e7e67 31
4eec8d6f
PE
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
501390c5 34invoke "./configure -C" instead.
4eec8d6f 35
e0156c8d 36Some of the files that are included in the Emacs tarball, such as
ac4c50ad
ER
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":
e0156c8d 40
e0156c8d
EZ
41 $ make bootstrap
42
8bb25908 43Normally, it is not necessary to use "make bootstrap" after every
ac4c50ad 44update from the repository. "make" should work in 90% of the cases and be
8bb25908 45much quicker.
e0156c8d 46
e0156c8d
EZ
47 $ make
48
49(If you want to install the Emacs binary, type "make install" instead
50of "make" in the last command.)
51
8871e7f5
GM
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
6c3ab469
GM
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.
7aceaab5
GM
60
61To update loaddefs.el (and similar files), do:
93e3e16a
MB
62
63 $ cd lisp
e2401940 64 $ make autoloads
93e3e16a 65
10209171 66If either of the above partial procedures fails, try "make bootstrap".
604f2fc0
GM
67If CPU time is not an issue, the most thorough way to rebuild, and
68avoid any spurious problems, is always to use this method.
3102985a 69
e0156c8d
EZ
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
e2401940 73applicable to those systems as well.
e0156c8d 74
ac4c50ad 75Because the repository version of Emacs is a work in progress, it will
919bbce0
GM
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.
01d909e2 82
58ec79cf 83
7f6d64f8
GM
84\f
85This file is part of GNU Emacs.
86
b33ba812 87GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 88it under the terms of the GNU General Public License as published by
b33ba812
GM
89the Free Software Foundation, either version 3 of the License, or
90(at your option) any later version.
7f6d64f8
GM
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
b33ba812 98along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.