* .bzrignore: Add lisp/mh-e/mh-autoloads.el and lisp/mh-e/mh-cus-load.el.
[emacs.git] / INSTALL.BZR
blob664aab1c7652c3de2f7b8e7639bcf7d54dd79de9
1 Copyright (C) 2002-2011  Free Software Foundation, Inc.
2 See the end of the file for license conditions.
5               Building and Installing Emacs from Bazaar
7 Building Emacs from Bazaar requires some tools that are not needed
8 when building from a release.  You will need:
10 autoconf  - at least the version specified near the start of
11   configure.in (in the AC_PREREQ command).
12 automake  - we recommend at least version 1.11.
13 makeinfo  - not strictly necessary, but highly recommended, so that
14   you can build the manuals.
16 The `autogen.sh' script can help you figure out if you have the
17 necessary tools.
19 The first time you build, there are a couple of extra steps.
20 First, generate the `configure' script and some related files:
22   $ ./autogen.sh
24 (or you can just run `autoreconf -i -I m4').
26 You can then configure your build (use `./configure --help' to see
27 options you can set):
29   $ ./configure
31 Some of the files that are included in the Emacs tarball, such as
32 byte-compiled Lisp files, are not stored in Bazaar.  Therefore, to
33 build from Bazaar you must run "make bootstrap" instead of just "make":
35   $ bzr pull
36   $ make bootstrap
38 Normally, it is not necessary to use "make bootstrap" after every
39 update from Bazaar.  "make" should work in 90% of the cases and be
40 much quicker.
42   $ make
44 (If you want to install the Emacs binary, type "make install" instead
45 of "make" in the last command.)
47 Occasionally the file "lisp/loaddefs.el" (and similar automatically
48 generated files, such as esh-groups.el, and *-loaddefs.el in some
49 subdirectories of lisp/, e.g. mh-e/ and calendar/) will need to be
50 updated to reflect new autoloaded functions.  If you see errors (rather
51 than warnings) about undefined lisp functions during compilation, that
52 may be the reason.  Finally, sometimes there can be build failures
53 related to *loaddefs.el (e.g. "required feature `esh-groups' was not
54 provided").  In that case, follow the instructions below.
56 To update loaddefs.el (and similar files), do:
58   $ cd lisp
59   $ make autoloads
61 If either of the above partial procedures fails, try "make bootstrap".
62 If CPU time is not an issue, the most thorough way to rebuild, and
63 avoid any spurious problems, is always to use this method.
65 Users of non-Posix systems (MS-Windows etc.) should run the
66 platform-specific configuration scripts (nt/configure.bat, config.bat,
67 etc.) before "make bootstrap" or "make"; the rest of the procedure is
68 applicable to those systems as well.
70 Because the Bazaar version of Emacs is a work in progress, it will
71 sometimes fail to build.  Please wait a day or so (and check the
72 archives of the emacs-buildstatus, emacs-devel, and bug-gnu-emacs
73 mailing lists) before reporting such problems.  In most cases, the
74 problem is known about and is just waiting for someone to fix it.
75 This is especially true for Lisp compilation errors, which are almost
76 never platform-specific.
80 This file is part of GNU Emacs.
82 GNU Emacs is free software: you can redistribute it and/or modify
83 it under the terms of the GNU General Public License as published by
84 the Free Software Foundation, either version 3 of the License, or
85 (at your option) any later version.
87 GNU Emacs is distributed in the hope that it will be useful,
88 but WITHOUT ANY WARRANTY; without even the implied warranty of
89 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
90 GNU General Public License for more details.
92 You should have received a copy of the GNU General Public License
93 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.