mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
Most of this change is to boilerplate commentary such as license URLs. This change was prompted by ftp://ftp.gnu.org's going-away party, planned for November. Change these FTP URLs to https://ftp.gnu.org instead. Make similar changes for URLs to other organizations moving away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and fsf.org when this works, as this will further help defend against man-in-the-middle attacks (for this part I omitted the MS-DOS and MS-Windows sources and the test tarballs to keep the workload down). HTTPS is not fully working to lists.gnu.org so I left those URLs alone for now.
94 lines
3.8 KiB
Text
94 lines
3.8 KiB
Text
Building and Installing Emacs from the Repository
|
||
|
||
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.
|
||
|
||
Building Emacs from the source-code repository requires some tools
|
||
that are not needed when building from a release. You will need:
|
||
|
||
autoconf - at least the version specified near the start of
|
||
configure.ac (in the AC_PREREQ command).
|
||
git - at least Git 1.7.1. If your repository was created by an older
|
||
Git version, you may need to reclone it.
|
||
makeinfo - not strictly necessary, but highly recommended, so that
|
||
you can build the manuals. GNU Texinfo 4.13 or later should work.
|
||
|
||
To use the autotools, run the following shell command to generate the
|
||
'configure' script and some related files, and to set up your git
|
||
configuration:
|
||
|
||
$ ./autogen.sh
|
||
|
||
You can then configure your build as follows:
|
||
|
||
$ ./configure
|
||
|
||
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:
|
||
|
||
$ make
|
||
|
||
If you want to install Emacs, type 'make install' instead of 'make' in
|
||
the last command.
|
||
|
||
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
|
||
updated to reflect new autoloaded functions. If you see errors (rather
|
||
than warnings) about undefined lisp functions during compilation, that
|
||
may be the reason. Finally, sometimes there can be build failures
|
||
related to '*loaddefs.el' (e.g., "required feature ‘esh-groups’ was not
|
||
provided"). In that case, follow the instructions below.
|
||
|
||
To update loaddefs.el (and similar files), do:
|
||
|
||
$ cd lisp
|
||
$ make autoloads
|
||
|
||
If either of the above partial procedures fails, try 'make bootstrap'.
|
||
If CPU time is not an issue, 'make bootstrap' is a more thorough way
|
||
to rebuild, avoiding spurious problems.
|
||
|
||
Occasionally, there are changes that 'make bootstrap' won't be able to
|
||
handle. The most thorough cleaning can be achieved by 'git clean -fx'
|
||
which will leave you with only files from the git repository. Here
|
||
are some faster methods for a couple of particular error cases:
|
||
|
||
/usr/bin/m4:aclocal.m4:9: cannot open `m4/count-leading-zeros.m4': No such file or directory
|
||
|
||
This can be fixed with 'rm aclocal.m4'.
|
||
|
||
make: *** No rule to make target 'lib/Makefile.am', needed by 'lib/Makefile.in'
|
||
|
||
This can be fixed with 'rm lib/Makefile Makefile'.
|
||
|
||
Because the repository version of Emacs is a work in progress, it will
|
||
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.
|
||
|
||
|
||
|
||
Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||
|
||
This file is part of GNU Emacs.
|
||
|
||
GNU Emacs is free software: you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation, either version 3 of the License, or
|
||
(at your option) any later version.
|
||
|
||
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
|
||
along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|