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