mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-11 09:20:51 +00:00
c56327b55d
* INSTALL: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'. * INSTALL.REPO: pkg-config is no longer required to build from the repository. * autogen.sh: Don't check for pkg-config. (progs): Remove pkg-config. (pkg_config_min, AUTORECONF_ENV, env_space, ACLOCAL_PATH): Remove. All uses removed. * m4/pkg.m4: New file, built by admin/merge-pkg-config. * configure.ac: Remove unnecessary m4_pattern_forbid of ^PKG_ and an AC_ARG_VAR of PKG_CONFIG_PATH. pkg.m4 does that for us. (EMACS_CHECK_MODULES): Remove workaround for old pkg-config bug, as we use pkg.m4 from a newer pkg-config. * admin/merge-pkg-config: New script. * admin/notes/copyright: Update for m4/*.m4, in particular m4/pkg.m4. * etc/NEWS: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'. * etc/PROBLEMS (Build-time-problems): Remove pkg-config problem that is no longer an issue. * nt/INSTALL: Remove no-longer-needed notes about pkg-config.
86 lines
3.4 KiB
Plaintext
86 lines
3.4 KiB
Plaintext
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).
|
||
automake - at least the version specified near the start of
|
||
configure.ac (in the AM_INIT_AUTOMAKE command).
|
||
makeinfo - not strictly necessary, but highly recommended, so that
|
||
you can build the manuals.
|
||
|
||
To use the autotools, run the following shell command to generate the
|
||
'configure' script and some related files:
|
||
|
||
$ ./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 the most thorough way
|
||
to rebuild, and avoid any spurious problems.
|
||
|
||
Users of non-Posix systems (MS-Windows, etc.) should run the
|
||
platform-specific configuration scripts ('nt/configure.bat',
|
||
'config.bat', etc.) before 'make'; the rest of the procedure is
|
||
applicable to those systems as well.
|
||
|
||
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-2014 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 <http://www.gnu.org/licenses/>.
|