[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files
From: |
Eli Zaretskii |
Subject: |
bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files |
Date: |
Sat, 28 Feb 2009 00:18:37 +0200 |
> Date: Fri, 27 Feb 2009 17:02:38 +0200
> From: Eli Zaretskii <eliz@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?
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, (continued)
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/02
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/03
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/03
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/04
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/21
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/21
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/21
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/21
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/21
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/27
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files,
Eli Zaretskii <=
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Glenn Morris, 2009/02/27
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/28
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/28
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/28
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Stefan Monnier, 2009/02/28
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Eli Zaretskii, 2009/02/28
- bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Kevin Rodgers, 2009/02/22
bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files, Magnus Henoch, 2009/02/02