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