GNU bug report logs -
#2151
23.0.90; Building the 23.0.90 pretest recompiles Lisp files
Previous Next
Reported by: Eli Zaretskii <eliz <at> gnu.org>
Date: Mon, 2 Feb 2009 06:15:03 UTC
Severity: minor
Fixed in version 25.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Fri, 27 Feb 2009 17:02:38 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc:
>
> There's one other reason for compiling Lisp files during the build, it
> is this fragment from the top-level Makefile.in:
>
> # Subdirectories to make recursively. `lisp' is not included
> # because the compiled lisp files are part of the distribution.
> # leim is not included because it needs special handling.
> #
> # Actually, we now include `lisp' as well, since the compiled files
> # are not included any more in case of bootstrap or in case Emacs was
> # checked out from a VCS.
> SUBDIR = lib-src src lisp
The reason that recursing into `lisp' causes more recompilation is
that `make-dist' does this:
echo "Recompiling Lisp files"
$EMACS -batch -f batch-byte-recompile-directory lisp leim
while the top-level Makefile.in does this:
${SUBDIR}: Makefile FRC
boot=bootstrap-emacs$(EXEEXT); \
if [ -x "src/$$boot" ]; then boot=""; fi; \
cd $@; $(MAKE) all $(MFLAGS) \
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"
IOW, Makefile.in runs "make all" in `lisp'. Recompilation happens
because "make all" observes dependencies between some *.elc files,
while batch-byte-recompile-directory does not. So among the *.elc
files generated by make-dist it could well happen that a .elc file
that is prerequisite for some other .elc file ends up being newer,
which will cause "make all" to want to recompile that particular
dependency.
I think we should replace batch-byte-recompile-directory in make-dist
with a call to "make -C lisp all". Any objections?
This bug report was last modified 10 years and 315 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.