[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r108899: * lisp/Makefile.in (compile-
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r108899: * lisp/Makefile.in (compile-one-process): Rename from "recompile". |
Date: |
Fri, 06 Jul 2012 00:08:10 -0700 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 108899
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Fri 2012-07-06 00:08:10 -0700
message:
* lisp/Makefile.in (compile-one-process): Rename from "recompile".
modified:
lisp/ChangeLog
lisp/Makefile.in
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2012-07-06 07:06:13 +0000
+++ b/lisp/ChangeLog 2012-07-06 07:08:10 +0000
@@ -1,5 +1,7 @@
2012-07-06 Glenn Morris <address@hidden>
+ * Makefile.in (compile-one-process): Rename from "recompile".
+
* Makefile.in (bzr-update): "compile" is the same as "recompile
autoloads", but parallelizable, so use that instead.
=== modified file 'lisp/Makefile.in'
--- a/lisp/Makefile.in 2012-07-06 07:06:13 +0000
+++ b/lisp/Makefile.in 2012-07-06 07:08:10 +0000
@@ -133,8 +133,6 @@
esac; \
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
# we add them here to make sure they get built.
all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el
@@ -317,19 +315,22 @@
compile-after-backup: backup-compiled-files compile-always
-# Recompile all Lisp files which are newer than their .elc files and compile
-# new ones.
-# This has the same effect as compile-main. recompile has some advantages:
-# i) It is faster (on a single processor), since it only has to start
-# Emacs once. It was 33% faster on a test with a random 10% of the .el
-# files needing recompilation.
-# ii) The explicit cc-mode dependency.
-# recompile's disadvantages are:
-# i) Not parallelizable.
-# ii) Compiling multiple files in the same instance of Emacs is wrong,
-# since the environment of later files is affected by definitions in
-# earlier ones.
-recompile: doit $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc
+# This does the same job as the "compile" rule, but in a different way.
+# Rather than spawning a separate Emacs instance to compile each file,
+# it uses the same Emacs instance to compile everything.
+# This is faster on a single core, since it avoids the overhead of
+# starting Emacs many times (it was 33% faster on a test with a
+# random 10% of the .el files needing recompilation).
+# Unlike compile, this is not parallelizable; so if you have more than
+# one core, compile will be (much) faster.
+# This rule also produces less accurate compilation warnings.
+# The environment of later files is affected by definitions in
+# earlier ones, so it does not produce some warnings that it should.
+# It can also produces spurious warnings about "invalid byte code" if
+# 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) \
--eval "(batch-byte-recompile-directory 0)" $(lisp)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r108899: * lisp/Makefile.in (compile-one-process): Rename from "recompile".,
Glenn Morris <=