Commit 50394322 authored by Glenn Morris's avatar Glenn Morris

* lisp/Makefile.in (compile-one-process): Rename from "recompile".

parent 211b896b
2012-07-06 Glenn Morris <rgm@gnu.org> 2012-07-06 Glenn Morris <rgm@gnu.org>
* Makefile.in (compile-one-process): Rename from "recompile".
* Makefile.in (bzr-update): "compile" is the same as "recompile * Makefile.in (bzr-update): "compile" is the same as "recompile
autoloads", but parallelizable, so use that instead. autoloads", but parallelizable, so use that instead.
......
...@@ -133,8 +133,6 @@ setwins_for_subdirs=subdirs=`find . -type d -print`; \ ...@@ -133,8 +133,6 @@ setwins_for_subdirs=subdirs=`find . -type d -print`; \
esac; \ esac; \
done done
# `compile-main' tends to be slower than `recompile' but can be parallelized
# with "make -j" and results in more deterministic compilation warnings.
# cus-load and finder-inf are not explicitly requested by anything, so # cus-load and finder-inf are not explicitly requested by anything, so
# we add them here to make sure they get built. # we add them here to make sure they get built.
all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el
...@@ -317,19 +315,22 @@ backup-compiled-files: ...@@ -317,19 +315,22 @@ backup-compiled-files:
compile-after-backup: backup-compiled-files compile-always compile-after-backup: backup-compiled-files compile-always
# Recompile all Lisp files which are newer than their .elc files and compile # This does the same job as the "compile" rule, but in a different way.
# new ones. # Rather than spawning a separate Emacs instance to compile each file,
# This has the same effect as compile-main. recompile has some advantages: # it uses the same Emacs instance to compile everything.
# i) It is faster (on a single processor), since it only has to start # This is faster on a single core, since it avoids the overhead of
# Emacs once. It was 33% faster on a test with a random 10% of the .el # starting Emacs many times (it was 33% faster on a test with a
# files needing recompilation. # random 10% of the .el files needing recompilation).
# ii) The explicit cc-mode dependency. # Unlike compile, this is not parallelizable; so if you have more than
# recompile's disadvantages are: # one core, compile will be (much) faster.
# i) Not parallelizable. # This rule also produces less accurate compilation warnings.
# ii) Compiling multiple files in the same instance of Emacs is wrong, # The environment of later files is affected by definitions in
# since the environment of later files is affected by definitions in # earlier ones, so it does not produce some warnings that it should.
# earlier ones. # It can also produces spurious warnings about "invalid byte code" if
recompile: doit $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc # files that use byte-compile-dynamic are updated.
# There is no reason to use this rule unless you only have a single
# core and CPU time is an issue.
compile-one-process: doit $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc
$(emacs) $(BYTE_COMPILE_FLAGS) \ $(emacs) $(BYTE_COMPILE_FLAGS) \
--eval "(batch-byte-recompile-directory 0)" $(lisp) --eval "(batch-byte-recompile-directory 0)" $(lisp)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment