Merge from emacs-24; up to 2014-05-08T06:58:46Z!rgm@gnu.org
[bpt/emacs.git] / INSTALL.REPO
CommitLineData
ac4c50ad 1 Building and Installing Emacs from the Repository
e0156c8d 2
a3f989d4
PE
3Simply run 'make'. This should work if your files are freshly checked
4out from the repository, and if you have the proper tools installed.
5If it doesn't work, or if you have special build requirements, the
6following information may be helpful.
7
ac4c50ad
ER
8Building Emacs from the source-code repository requires some tools
9that are not needed when building from a release. You will need:
d0bec92c 10
66b87493 11autoconf - at least the version specified near the start of
c4444d16 12 configure.ac (in the AC_PREREQ command).
9b219104
GM
13automake - at least the version specified near the start of
14 configure.ac (in the AM_INIT_AUTOMAKE command).
b05e08a4
GM
15pkg-config - at least version specified in the PKG_PROG_PKG_CONFIG
16 command in configure.ac
66b87493
GM
17makeinfo - not strictly necessary, but highly recommended, so that
18 you can build the manuals.
19
a3f989d4
PE
20To use the autotools, run the following shell command to generate the
21'configure' script and some related files:
66b87493
GM
22
23 $ ./autogen.sh
d0bec92c 24
a3f989d4 25You can then configure your build as follows:
66b87493
GM
26
27 $ ./configure
d05e7e67 28
a3f989d4
PE
29The 'configure' script has many options; run './configure --help' to
30see them. For example, if you want later builds to go faster, albeit
31sometimes doing the wrong thing if you update the build procedure, you
32can invoke './configure -C'. After configuring, build Emacs as follows:
e0156c8d 33
e0156c8d
EZ
34 $ make
35
a3f989d4
PE
36If you want to install Emacs, type 'make install' instead of 'make' in
37the last command.
e0156c8d 38
a3f989d4
PE
39Occasionally the file 'lisp/loaddefs.el' (and similar automatically
40generated files, such as 'esh-groups.el', and '*-loaddefs.el' in some
41subdirectories of 'lisp/', e.g., 'mh-e/' and 'calendar/') will need to be
8871e7f5
GM
42updated to reflect new autoloaded functions. If you see errors (rather
43than warnings) about undefined lisp functions during compilation, that
6c3ab469 44may be the reason. Finally, sometimes there can be build failures
a3f989d4 45related to '*loaddefs.el' (e.g., "required feature `esh-groups' was not
6c3ab469 46provided"). In that case, follow the instructions below.
7aceaab5
GM
47
48To update loaddefs.el (and similar files), do:
93e3e16a
MB
49
50 $ cd lisp
e2401940 51 $ make autoloads
93e3e16a 52
a3f989d4
PE
53If either of the above partial procedures fails, try 'make bootstrap'.
54If CPU time is not an issue, 'make bootstrap' is the most thorough way
55to rebuild, and avoid any spurious problems.
3102985a 56
a3f989d4
PE
57Users of non-Posix systems (MS-Windows, etc.) should run the
58platform-specific configuration scripts ('nt/configure.bat',
59'config.bat', etc.) before 'make'; the rest of the procedure is
e2401940 60applicable to those systems as well.
e0156c8d 61
ac4c50ad 62Because the repository version of Emacs is a work in progress, it will
919bbce0
GM
63sometimes fail to build. Please wait a day or so (and check the
64archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs
65mailing lists) before reporting such problems. In most cases, the
66problem is known about and is just waiting for someone to fix it.
67This is especially true for Lisp compilation errors, which are almost
68never platform-specific.
01d909e2 69
58ec79cf 70
7f6d64f8 71\f
a3f989d4
PE
72Copyright (C) 2002-2014 Free Software Foundation, Inc.
73
7f6d64f8
GM
74This file is part of GNU Emacs.
75
b33ba812 76GNU Emacs is free software: you can redistribute it and/or modify
7f6d64f8 77it under the terms of the GNU General Public License as published by
b33ba812
GM
78the Free Software Foundation, either version 3 of the License, or
79(at your option) any later version.
7f6d64f8
GM
80
81GNU Emacs is distributed in the hope that it will be useful,
82but WITHOUT ANY WARRANTY; without even the implied warranty of
83MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
84GNU General Public License for more details.
85
86You should have received a copy of the GNU General Public License
b33ba812 87along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.