unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice
@ 2011-03-20 20:26 Ulrich Mueller
  2011-05-19  1:35 ` Glenn Morris
  0 siblings, 1 reply; 16+ messages in thread
From: Ulrich Mueller @ 2011-03-20 20:26 UTC (permalink / raw)
  To: 8302

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 1064 bytes --]

Tags: patch

With parallel make (-j3), some elisp files, for example lisp/select.el
and lisp/scroll-bar.el, are byte-compiled twice. From the build log:

   Compiling /var/tmp/portage/app-editors/emacs-23.3/work/emacs-23.3/src/../lisp/select.el
   [...]
   Wrote /var/tmp/portage/app-editors/emacs-23.3/work/emacs-23.3/lisp/select.elc
   [...]
   Compiling ../lisp/select.el
   [...]
   Wrote /var/tmp/portage/app-editors/emacs-23.3/work/emacs-23.3/lisp/select.elc

The reason seems to be that select.elc occurs twice in
src/Makefile.in: in variable "lisp" as $(lispsource)select.elc and in
variable "SOME_MACHINE_LISP" as ../lisp/select.elc, so that make
doesn't recognise them as identical targets.

Attached patch makes the problem go away for me. My humble solution is
to change SOME_MACHINE_LISP to use $(lispsource), and introduce a new
variable SOME_MACHINE_SHORTLISP for the ../lisp/ entries. (Quite the
same as for the lisp and shortlisp variables).

As a side remark, mouse.elc is listed twice in the variable
assignment. Attached patch fixes this too.


[-- Attachment #2: emacs-23.3-parallel-make.patch --]
[-- Type: text/plain, Size: 2047 bytes --]

--- emacs-23.3-orig/src/Makefile.in
+++ emacs-23.3/src/Makefile.in
@@ -887,9 +887,26 @@
 	../lisp/window.elc \
 	../lisp/version.el
 
+SOME_MACHINE_LISP = $(lispsource)mouse.elc \
+  $(lispsource)select.elc $(lispsource)scroll-bar.elc \
+  $(lispsource)ls-lisp.elc $(lispsource)dos-fns.elc \
+  $(lispsource)w32-fns.elc $(lispsource)dos-w32.elc \
+  $(lispsource)disp-table.elc $(lispsource)dos-vars.elc \
+  $(lispsource)tooltip.elc $(lispsource)image.elc \
+  $(lispsource)fringe.elc $(lispsource)dnd.elc \
+  $(lispsource)mwheel.elc $(lispsource)tool-bar.elc \
+  $(lispsource)x-dnd.elc $(lispsource)font-setting.elc \
+  $(lispsource)international/ccl.elc \
+  $(lispsource)international/fontset.elc \
+  $(lispsource)term/common-win.elc \
+  $(lispsource)term/x-win.elc \
+  $(lispsource)term/pc-win.elc $(lispsource)term/internal.elc \
+  $(lispsource)term/ns-win.elc $(lispsource)term/w32-win.elc \
+  $(lispsource)emacs-lisp/easymenu.elc
+
 /* Like $shortlisp, but includes only those files from $lisp that are loaded
    conditionally (i.e., only on some platforms).  */
-SOME_MACHINE_LISP = ../lisp/mouse.elc \
+SOME_MACHINE_SHORTLISP = ../lisp/mouse.elc \
   ../lisp/select.elc ../lisp/scroll-bar.elc \
   ../lisp/ls-lisp.elc ../lisp/dos-fns.elc \
   ../lisp/w32-fns.elc ../lisp/dos-w32.elc \
@@ -900,7 +917,6 @@
   ../lisp/x-dnd.elc ../lisp/font-setting.elc \
   ../lisp/international/ccl.elc \
   ../lisp/international/fontset.elc \
-  ../lisp/mouse.elc \
   ../lisp/term/common-win.elc \
   ../lisp/term/x-win.elc \
   ../lisp/term/pc-win.elc ../lisp/term/internal.elc \
@@ -955,7 +971,7 @@
 ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
 	-rm -f ${etc}DOC
 	${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
-	${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
+	${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_SHORTLISP} ${shortlisp}
 
 ${libsrc}make-docfile${EXEEXT}:
 	cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-07-09 19:03 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-20 20:26 bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice Ulrich Mueller
2011-05-19  1:35 ` Glenn Morris
2011-05-19  2:18   ` Stefan Monnier
2011-05-19  6:15     ` Glenn Morris
2011-05-19 12:27       ` Dan Nicolaescu
2011-05-20  0:51         ` Glenn Morris
2011-05-24 16:46           ` Dan Nicolaescu
2011-05-24 17:31             ` bug#7397: " Glenn Morris
2011-05-25  3:30               ` Glenn Morris
2011-05-25 13:52                 ` Stefan Monnier
2010-11-14  9:01                   ` bug#7397: make-docfile should support the @FILE command line option Dan Nicolaescu
2010-11-14  9:31                     ` Eli Zaretskii
2010-11-14 17:01                       ` Dan Nicolaescu
2011-05-25 20:56                     ` bug#7397: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice Glenn Morris
2011-05-25 23:56                       ` Stefan Monnier
2011-07-09 19:03                         ` bug#7397: make-docfile should support the @FILE command line option Glenn Morris

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).