emacs-diffs
[Top][All Lists]
Advanced

[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)
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]