INSTALL.REPO 3.2 KB
Newer Older
1
	     Building and Installing Emacs from the Repository
Eli Zaretskii's avatar
Eli Zaretskii committed
2

3 4 5 6 7
Simply run 'make'.  This should work if your files are freshly checked
out from the repository, and if you have the proper tools installed.
If it doesn't work, or if you have special build requirements, the
following information may be helpful.

8 9
Building Emacs from the source-code repository requires some tools
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 14
automake  - at least the version specified near the start of
  configure.ac (in the AM_INIT_AUTOMAKE command).
15 16 17
makeinfo  - not strictly necessary, but highly recommended, so that
  you can build the manuals.

18 19
To use the autotools, run the following shell command to generate the
'configure' script and some related files:
20 21

  $ ./autogen.sh
22

23
You can then configure your build as follows:
24 25

  $ ./configure
26

27 28 29 30
The 'configure' script has many options; run './configure --help' to
see them.  For example, if you want later builds to go faster, albeit
sometimes doing the wrong thing if you update the build procedure, you
can invoke './configure -C'.  After configuring, build Emacs as follows:
Eli Zaretskii's avatar
Eli Zaretskii committed
31 32 33

  $ make

34 35
If you want to install Emacs, type 'make install' instead of 'make' in
the last command.
Eli Zaretskii's avatar
Eli Zaretskii committed
36

37 38 39
Occasionally the file 'lisp/loaddefs.el' (and similar automatically
generated files, such as 'esh-groups.el', and '*-loaddefs.el' in some
subdirectories of 'lisp/', e.g., 'mh-e/' and 'calendar/') will need to be
40 41
updated to reflect new autoloaded functions.  If you see errors (rather
than warnings) about undefined lisp functions during compilation, that
Glenn Morris's avatar
Glenn Morris committed
42
may be the reason.  Finally, sometimes there can be build failures
43
related to '*loaddefs.el' (e.g., "required feature `esh-groups' was not
Glenn Morris's avatar
Glenn Morris committed
44
provided").  In that case, follow the instructions below.
Glenn Morris's avatar
Glenn Morris committed
45 46

To update loaddefs.el (and similar files), do:
47 48

  $ cd lisp
49
  $ make autoloads
50

51 52 53
If either of the above partial procedures fails, try 'make bootstrap'.
If CPU time is not an issue, 'make bootstrap' is the most thorough way
to rebuild, and avoid any spurious problems.
54

55
Because the repository version of Emacs is a work in progress, it will
56 57 58 59 60 61
sometimes fail to build.  Please wait a day or so (and check the
archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs
mailing lists) before reporting such problems.  In most cases, the
problem is known about and is just waiting for someone to fix it.
This is especially true for Lisp compilation errors, which are almost
never platform-specific.
62

63

64

Paul Eggert's avatar
Paul Eggert committed
65
Copyright (C) 2002-2015 Free Software Foundation, Inc.
66

67 68
This file is part of GNU Emacs.

69
GNU Emacs is free software: you can redistribute it and/or modify
70
it under the terms of the GNU General Public License as published by
71 72
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
73 74 75 76 77 78 79

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
80
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.