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