unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
blob 3d8a44aef596316f5bf0e48a0409347ba04908e6 4387 bytes (raw)
name: INSTALL.REPO 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
 
	     Building and Installing Emacs from the Repository

The Emacs repository is hosted on Savannah.  The following Git command
will clone the repository to the 'emacs' subdirectory of the current
directory on your local machine:

    git clone git://git.sv.gnu.org/emacs.git

To build the repository code, simply run 'make' in the 'emacs'
directory.  This should work if your files are freshly checked out
from the repository, and if you have the proper tools installed; the
default configuration options will be used.  Other configuration
options can be specified by setting a 'configure' variable, for
example:

  $ make configure="--prefix=/opt/emacs CFLAGS='-O0 -g3'"

If the above 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

You can also type 'make check' to test and 'make install' to install
Emacs.

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 -fdx'
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.


\f
Copyright (C) 2002-2021 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/>.

debug log:

solving 9aee48320f ...
found 9aee48320f in https://yhetil.org/emacs-bugs/1adc044f4772941f2299@heytings.org/
found da56d7611b in https://git.savannah.gnu.org/cgit/emacs.git
preparing index
index prepared:
100644 da56d7611b253908a6f52adad08611c0f6fb8a68	INSTALL.REPO

applying [1/1] https://yhetil.org/emacs-bugs/1adc044f4772941f2299@heytings.org/
diff --git a/INSTALL.REPO b/INSTALL.REPO\r
index da56d7611b..9aee48320f 100644\r

Checking patch INSTALL.REPO...
Applied patch INSTALL.REPO cleanly.

index at:
100644 3d8a44aef596316f5bf0e48a0409347ba04908e6	INSTALL.REPO

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).