From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 20 16:27:16 2011 Received: (at submit) by debbugs.gnu.org; 20 Mar 2011 20:27:16 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q1PDX-0005tR-Jw for submit@debbugs.gnu.org; Sun, 20 Mar 2011 16:27:16 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q1PDV-0005tE-AK for submit@debbugs.gnu.org; Sun, 20 Mar 2011 16:27:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q1PDO-00042b-Vv for submit@debbugs.gnu.org; Sun, 20 Mar 2011 16:27:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([199.232.76.165]:42880) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q1PDO-00042X-TO for submit@debbugs.gnu.org; Sun, 20 Mar 2011 16:27:06 -0400 Received: from [140.186.70.92] (port=47508 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q1PDN-0007E0-FZ for bug-gnu-emacs@gnu.org; Sun, 20 Mar 2011 16:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q1PDL-00041u-RK for bug-gnu-emacs@gnu.org; Sun, 20 Mar 2011 16:27:05 -0400 Received: from a1iwww1.kph.uni-mainz.de ([134.93.134.1]:45224) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q1PDL-00040i-JS for bug-gnu-emacs@gnu.org; Sun, 20 Mar 2011 16:27:03 -0400 Received: from a1i15.kph.uni-mainz.de (a1i15.kph.uni-mainz.de [134.93.134.92]) by a1iwww1.kph.uni-mainz.de (8.14.0/8.13.4) with ESMTP id p2KKQmbL028521 for ; Sun, 20 Mar 2011 21:26:48 +0100 Received: from a1i15.kph.uni-mainz.de (localhost [127.0.0.1]) by a1i15.kph.uni-mainz.de (8.14.4/8.14.2) with ESMTP id p2KKQmQO021266; Sun, 20 Mar 2011 21:26:48 +0100 Received: (from ulm@localhost) by a1i15.kph.uni-mainz.de (8.14.4/8.14.4/Submit) id p2KKQmhm021265; Sun, 20 Mar 2011 21:26:48 +0100 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----cutting-here-may-damage-your-screen-surface----87198202----" Content-Transfer-Encoding: 7bit Message-ID: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> Date: Sun, 20 Mar 2011 21:26:48 +0100 To: bug-gnu-emacs@gnu.org Subject: 23.3; Parallel make: some *.el files are byte-compiled twice X-Mailer: VM 8.1.1 under 23.3.1 (x86_64-pc-linux-gnu) From: Ulrich Mueller X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 199.232.76.165 X-Spam-Score: -5.4 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.4 (-----) ------cutting-here-may-damage-your-screen-surface----87198202---- Content-Type: text/plain; charset=us-ascii Content-Description: message body text Content-Transfer-Encoding: 7bit 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. ------cutting-here-may-damage-your-screen-surface----87198202---- Content-Type: text/plain; name="emacs-23.3-parallel-make.patch" Content-Disposition: inline; filename="emacs-23.3-parallel-make.patch" Content-Transfer-Encoding: 7bit --- 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} ------cutting-here-may-damage-your-screen-surface----87198202------ From debbugs-submit-bounces@debbugs.gnu.org Wed May 18 21:35:39 2011 Received: (at 8302) by debbugs.gnu.org; 19 May 2011 01:35:39 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMs9J-0001j2-Ti for submit@debbugs.gnu.org; Wed, 18 May 2011 21:35:39 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMs9G-0001ip-8h for 8302@debbugs.gnu.org; Wed, 18 May 2011 21:35:36 -0400 Received: from localhost ([127.0.0.1]:35124) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QMs9A-0001W8-Jv; Wed, 18 May 2011 21:35:28 -0400 From: Glenn Morris To: Ulrich Mueller Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> X-Spook: Gazprom Honduras ASO digicash asset satellite imagery X-Ran: A-2v0L?V}&Ed|g&fnj#K<'NqysPZOzF{U7JjZBOV-j$+g(gDku>{S#RM%=]YNTeTSg,j$b X-Hue: green X-Debbugs-No-Ack: yes X-Attribution: GM Date: Wed, 18 May 2011 21:35:28 -0400 In-Reply-To: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> (Ulrich Mueller's message of "Sun, 20 Mar 2011 21:26:48 +0100") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.3 (------) X-Debbugs-Envelope-To: 8302 Cc: 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) Ulrich Mueller wrote: > With parallel make (-j3), some elisp files, for example lisp/select.el > and lisp/scroll-bar.el, are byte-compiled twice. [...] > 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. I haven't applied this because I was reluctant to add yet another list'o'filenames to src/Makefile.in, for a relatively minor issue. On reflection, I think the current src/Makefile is needlessly complex. It draws a distinction between lisp files that are preloaded on all platforms, and those that are preloaded only on some platforms. However, AFAICS, there is no need to do this. All the possible preloaded lisp files are prerequisites of the DOC file (so that the DOC file can be platform independent), and the emacs executable depends on the DOC file, therefore it depends on all the possible preloaded lisp files, not just the ones used by the platform in question. So I think we can get rid of the "some_machine" lisp distinction. Does anyone see a problem with that? It nicely simplifies src/Makefile, and makes some configure output variables no longer necessary. The essential part of the patch is below. I have not included the associated simplifications to configure.in, and the msdos and W32 makefiles. *** src/Makefile.in 2011-04-24 09:00:03 +0000 --- src/Makefile.in 2011-05-19 01:06:45 +0000 *************** *** 237,254 **** MSDOS_OBJ = ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS. MSDOS_X_OBJ = - MSDOS_SUPPORT_REAL = $(lispsource)/ls-lisp.elc $(lispsource)/disp-table.elc \ - $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \ - $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc - ## $MSDOS_SUPPORT_REAL if MSDOS. - MSDOS_SUPPORT = ns_appdir=@ns_appdir@ ns_appbindir=@ns_appbindir@ ns_appsrc=@ns_appsrc@ NS_OBJ=@NS_OBJ@ NS_OBJC_OBJ=@NS_OBJC_OBJ@ - NS_SUPPORT=@NS_SUPPORT@ ## Only set if NS_IMPL_GNUSTEP. GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ --- 237,248 ---- *************** *** 258,285 **** ## else xfont.o FONT_OBJ=@FONT_OBJ@ - ## Used if HAVE_MOUSE. - REAL_MOUSE_SUPPORT=$(lispsource)/mouse.elc $(lispsource)/select.elc \ - $(lispsource)/scroll-bar.elc - ## Used if HAVE_GPM && !HAVE_MOUSE - GPM_MOUSE_SUPPORT=$(lispsource)/mouse.elc LIBGPM = @LIBGPM@ - ## Either of the two preceding options, or empty. - MOUSE_SUPPORT=@MOUSE_SUPPORT@ - - ## $(lispsource)/tooltip.elc if HAVE_WINDOW_SYSTEM, else empty. - TOOLTIP_SUPPORT=@TOOLTIP_SUPPORT@ - - BASE_WINDOW_SUPPORT=$(lispsource)/fringe.elc $(lispsource)/image.elc \ - $(lispsource)/international/fontset.elc $(lispsource)/dnd.elc \ - $(lispsource)/tool-bar.elc $(lispsource)/mwheel.elc - - X_WINDOW_SUPPORT=$(lispsource)/x-dnd.elc $(lispsource)/term/common-win.elc \ - $(lispsource)/term/x-win.elc $(lispsource)/dynamic-setting.elc - - ## If HAVE_X_WINDOWS, both the above - ## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty. - WINDOW_SUPPORT=@WINDOW_SUPPORT@ ## -lresolv, or empty. LIBRESOLV = @LIBRESOLV@ --- 252,258 ---- *************** *** 385,439 **** otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ $(POST_ALLOC_OBJ) $(VMLIMIT_OBJ) $(WIDGET_OBJ) $(LIBOBJS) ! ## This is the platform-specific list of Lisp files loaded into the ! ## dumped Emacs. It is arranged like this because it is easier to generate ! ## it semi-mechanically from loadup.el this way. ## ## Note that this list should not include lisp files which might not ## be present, like site-load.el and site-init.el; this makefile ## expects them all to be either present or buildable. ## - ## Files which are loaded unconditionally (i.e., on all platforms) should - ## also be in shortlisp. Files which are loaded conditionally (i.e., only - ## on some platforms) should instead be in SOME_MACHINE_LISP. - ## ## Place loaddefs.el first, so it gets generated first, since it is on ## the critical path (relevant in parallel compilations). lisp= \ $(lispsource)/loaddefs.el \ ! $(lispsource)/abbrev.elc \ ! $(lispsource)/buff-menu.elc \ ! $(lispsource)/button.elc \ $(lispsource)/emacs-lisp/byte-run.elc \ - $(lispsource)/composite.elc \ - $(lispsource)/cus-face.elc \ - $(lispsource)/cus-start.elc \ - $(lispsource)/custom.elc \ $(lispsource)/emacs-lisp/backquote.elc \ ! $(lispsource)/emacs-lisp/lisp-mode.elc \ ! $(lispsource)/emacs-lisp/lisp.elc \ ! $(lispsource)/env.elc \ ! $(lispsource)/faces.elc \ ! $(lispsource)/files.elc \ ! $(lispsource)/format.elc \ ! $(lispsource)/facemenu.elc \ ! $(MOUSE_SUPPORT) \ ! $(lispsource)/emacs-lisp/float-sup.elc \ ! $(lispsource)/frame.elc \ ! $(lispsource)/help.elc \ ! $(lispsource)/indent.elc \ ! $(lispsource)/isearch.elc \ ! $(lispsource)/rfn-eshadow.elc \ ! $(lispsource)/loadup.el \ ! $(lispsource)/bindings.elc \ $(lispsource)/emacs-lisp/map-ynp.elc \ ! $(lispsource)/menu-bar.elc \ $(lispsource)/international/mule.elc \ $(lispsource)/international/mule-conf.elc \ $(lispsource)/international/mule-cmds.elc \ $(lispsource)/international/characters.elc \ $(lispsource)/international/charprop.el \ - $(lispsource)/case-table.elc \ $(lispsource)/language/chinese.elc \ $(lispsource)/language/cyrillic.elc \ $(lispsource)/language/indian.elc \ --- 358,415 ---- otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(GMALLOC_OBJ) $(RALLOC_OBJ) \ $(POST_ALLOC_OBJ) $(VMLIMIT_OBJ) $(WIDGET_OBJ) $(LIBOBJS) ! ## This is the list of all Lisp files that might be loaded into the ! ## dumped Emacs. Some of them are not loaded on all platforms, but ! ## the DOC file on every platform uses them (because the DOC file is ! ## supposed to be platform-independent). ! ## It is arranged like this because it is easier to generate it ! ## semi-mechanically from loadup.el this way. ! ## Eg something like: ! ## sed -e 's/"[ )].*//' -n -e '/(load "/ s/.*load "//p' loadup.el | \ ! ## grep -vE 'site-|ldefs-boot' ! ## minus any duplicates. ! ## ! ## Confusingly, term/internal is not in loadup, but is unconditionally ! ## loaded by pc-win, which is. ## ## Note that this list should not include lisp files which might not ## be present, like site-load.el and site-init.el; this makefile ## expects them all to be either present or buildable. ## ## Place loaddefs.el first, so it gets generated first, since it is on ## the critical path (relevant in parallel compilations). lisp= \ $(lispsource)/loaddefs.el \ ! $(lispsource)/loadup.el \ $(lispsource)/emacs-lisp/byte-run.elc \ $(lispsource)/emacs-lisp/backquote.elc \ ! $(lispsource)/subr.elc \ ! $(lispsource)/version.el \ ! $(lispsource)/widget.elc \ ! $(lispsource)/custom.elc \ $(lispsource)/emacs-lisp/map-ynp.elc \ ! $(lispsource)/cus-start.elc \ $(lispsource)/international/mule.elc \ $(lispsource)/international/mule-conf.elc \ + $(lispsource)/env.elc \ + $(lispsource)/format.elc \ + $(lispsource)/bindings.elc \ + $(lispsource)/files.elc \ + $(lispsource)/cus-face.elc \ + $(lispsource)/faces.elc \ + $(lispsource)/button.elc \ + $(lispsource)/startup.elc \ + $(lispsource)/minibuffer.elc \ + $(lispsource)/abbrev.elc \ + $(lispsource)/simple.elc \ + $(lispsource)/help.elc \ + $(lispsource)/jka-cmpr-hook.elc \ + $(lispsource)/epa-hook.elc \ $(lispsource)/international/mule-cmds.elc \ + $(lispsource)/case-table.elc \ $(lispsource)/international/characters.elc \ + $(lispsource)/composite.elc \ $(lispsource)/international/charprop.el \ $(lispsource)/language/chinese.elc \ $(lispsource)/language/cyrillic.elc \ $(lispsource)/language/indian.elc \ *************** *** 449,455 **** $(lispsource)/language/japanese.el \ $(lispsource)/language/korean.el \ $(lispsource)/language/lao.el \ - $(lispsource)/language/cham.el \ $(lispsource)/language/tai-viet.el \ $(lispsource)/language/thai.el \ $(lispsource)/language/tibetan.elc \ --- 425,430 ---- *************** *** 459,530 **** $(lispsource)/language/georgian.el \ $(lispsource)/language/khmer.el \ $(lispsource)/language/burmese.el \ ! $(lispsource)/paths.el \ ! $(lispsource)/register.elc \ ! $(lispsource)/replace.elc \ ! $(lispsource)/simple.elc \ ! $(lispsource)/minibuffer.elc \ ! $(lispsource)/startup.elc \ ! $(lispsource)/subr.elc \ $(lispsource)/term/tty-colors.elc \ $(lispsource)/font-core.elc \ $(lispsource)/emacs-lisp/syntax.elc \ $(lispsource)/font-lock.elc \ $(lispsource)/jit-lock.elc \ ! $(lispsource)/textmodes/fill.elc \ $(lispsource)/textmodes/page.elc \ $(lispsource)/textmodes/paragraphs.elc \ $(lispsource)/textmodes/text-mode.elc \ ! $(lispsource)/emacs-lisp/timer.elc \ ! $(lispsource)/jka-cmpr-hook.elc \ $(lispsource)/vc/vc-hooks.elc \ $(lispsource)/vc/ediff-hook.elc \ ! $(lispsource)/epa-hook.elc \ ! $(TOOLTIP_SUPPORT) \ ! $(MSDOS_SUPPORT) \ ! $(WINDOW_SUPPORT) \ ! $(NS_SUPPORT) \ ! $(lispsource)/widget.elc \ ! $(lispsource)/window.elc \ ! $(lispsource)/version.el ! ## List of relative names for those files from $lisp that are loaded ! ## unconditionally (i.e. on all platforms). Files from $lisp that ! ## are only loaded on some platforms should instead be placed in ! ## SOME_MACHINE_LISP. The only reason this variable exists is to prevent ! ## the make-docfile command-line getting too long for some systems. shortlisp= \ ../lisp/loaddefs.el \ ! ../lisp/abbrev.elc \ ! ../lisp/buff-menu.elc \ ! ../lisp/button.elc \ ../lisp/emacs-lisp/byte-run.elc \ - ../lisp/composite.elc \ - ../lisp/cus-face.elc \ - ../lisp/cus-start.elc \ - ../lisp/custom.elc \ ../lisp/emacs-lisp/backquote.elc \ ! ../lisp/emacs-lisp/lisp-mode.elc \ ! ../lisp/emacs-lisp/lisp.elc \ ! ../lisp/facemenu.elc \ ! ../lisp/faces.elc \ ! ../lisp/files.elc \ ! ../lisp/emacs-lisp/float-sup.elc \ ! ../lisp/format.elc \ ! ../lisp/frame.elc \ ! ../lisp/help.elc \ ! ../lisp/indent.elc \ ! ../lisp/isearch.elc \ ! ../lisp/rfn-eshadow.elc \ ! ../lisp/loadup.el \ ! ../lisp/bindings.elc \ ../lisp/emacs-lisp/map-ynp.elc \ ! ../lisp/env.elc \ ../lisp/international/mule.elc \ ../lisp/international/mule-conf.elc \ ../lisp/international/mule-cmds.elc \ - ../lisp/international/characters.elc \ ../lisp/case-table.elc \ ../lisp/language/chinese.elc \ ../lisp/language/cyrillic.elc \ ../lisp/language/indian.elc \ --- 434,528 ---- $(lispsource)/language/georgian.el \ $(lispsource)/language/khmer.el \ $(lispsource)/language/burmese.el \ ! $(lispsource)/language/cham.el \ ! $(lispsource)/indent.elc \ ! $(lispsource)/window.elc \ ! $(lispsource)/frame.elc \ $(lispsource)/term/tty-colors.elc \ $(lispsource)/font-core.elc \ + $(lispsource)/facemenu.elc \ $(lispsource)/emacs-lisp/syntax.elc \ $(lispsource)/font-lock.elc \ $(lispsource)/jit-lock.elc \ ! $(lispsource)/mouse.elc \ ! $(lispsource)/scroll-bar.elc \ ! $(lispsource)/select.elc \ ! $(lispsource)/emacs-lisp/timer.elc \ ! $(lispsource)/isearch.elc \ ! $(lispsource)/rfn-eshadow.elc \ ! $(lispsource)/menu-bar.elc \ ! $(lispsource)/paths.el \ ! $(lispsource)/emacs-lisp/lisp.elc \ $(lispsource)/textmodes/page.elc \ + $(lispsource)/register.elc \ $(lispsource)/textmodes/paragraphs.elc \ + $(lispsource)/emacs-lisp/lisp-mode.elc \ $(lispsource)/textmodes/text-mode.elc \ ! $(lispsource)/textmodes/fill.elc \ ! $(lispsource)/replace.elc \ ! $(lispsource)/buff-menu.elc \ ! $(lispsource)/fringe.elc \ ! $(lispsource)/image.elc \ ! $(lispsource)/international/fontset.elc \ ! $(lispsource)/dnd.elc \ ! $(lispsource)/tool-bar.elc \ ! $(lispsource)/dynamic-setting.elc \ ! $(lispsource)/x-dnd.elc \ ! $(lispsource)/term/common-win.elc \ ! $(lispsource)/term/x-win.elc \ ! $(lispsource)/w32-vars.elc \ ! $(lispsource)/term/w32-win.elc \ ! $(lispsource)/ls-lisp.elc \ ! $(lispsource)/disp-table.elc \ ! $(lispsource)/dos-w32.elc \ ! $(lispsource)/w32-fns.elc \ ! $(lispsource)/dos-fns.elc \ ! $(lispsource)/dos-vars.elc \ ! $(lispsource)/term/pc-win.elc \ ! $(lispsource)/term/internal.elc \ ! $(lispsource)/term/ns-win.elc \ ! $(lispsource)/mwheel.elc \ ! $(lispsource)/emacs-lisp/float-sup.elc \ $(lispsource)/vc/vc-hooks.elc \ $(lispsource)/vc/ediff-hook.elc \ ! $(lispsource)/tooltip.elc ! ## The same as $lisp, but using relative file names. The only reason ! ## this variable exists is to prevent the make-docfile command-line ! ## getting too long for some systems. Unfortunately, no-one has any ! ## idea how long "too long" is. shortlisp= \ ../lisp/loaddefs.el \ ! ../lisp/loadup.el \ ../lisp/emacs-lisp/byte-run.elc \ ../lisp/emacs-lisp/backquote.elc \ ! ../lisp/subr.elc \ ! ../lisp/version.el \ ! ../lisp/widget.elc \ ! ../lisp/custom.elc \ ../lisp/emacs-lisp/map-ynp.elc \ ! ../lisp/cus-start.elc \ ../lisp/international/mule.elc \ ../lisp/international/mule-conf.elc \ + ../lisp/env.elc \ + ../lisp/format.elc \ + ../lisp/bindings.elc \ + ../lisp/files.elc \ + ../lisp/cus-face.elc \ + ../lisp/faces.elc \ + ../lisp/button.elc \ + ../lisp/startup.elc \ + ../lisp/minibuffer.elc \ + ../lisp/abbrev.elc \ + ../lisp/simple.elc \ + ../lisp/help.elc \ + ../lisp/jka-cmpr-hook.elc \ + ../lisp/epa-hook.elc \ ../lisp/international/mule-cmds.elc \ ../lisp/case-table.elc \ + ../lisp/international/characters.elc \ + ../lisp/composite.elc \ + ../lisp/international/charprop.el \ ../lisp/language/chinese.elc \ ../lisp/language/cyrillic.elc \ ../lisp/language/indian.elc \ *************** *** 540,546 **** ../lisp/language/japanese.el \ ../lisp/language/korean.el \ ../lisp/language/lao.el \ - ../lisp/language/cham.el \ ../lisp/language/tai-viet.el \ ../lisp/language/thai.el \ ../lisp/language/tibetan.elc \ --- 538,543 ---- *************** *** 550,599 **** ../lisp/language/georgian.el \ ../lisp/language/khmer.el \ ../lisp/language/burmese.el \ ! ../lisp/menu-bar.elc \ ! ../lisp/paths.el \ ! ../lisp/register.elc \ ! ../lisp/replace.elc \ ! ../lisp/simple.elc \ ! ../lisp/minibuffer.elc \ ! ../lisp/startup.elc \ ! ../lisp/subr.elc \ ../lisp/term/tty-colors.elc \ ../lisp/font-core.elc \ ../lisp/emacs-lisp/syntax.elc \ ../lisp/font-lock.elc \ ../lisp/jit-lock.elc \ ! ../lisp/textmodes/fill.elc \ ../lisp/textmodes/page.elc \ ../lisp/textmodes/paragraphs.elc \ ../lisp/textmodes/text-mode.elc \ ! ../lisp/emacs-lisp/timer.elc \ ! ../lisp/vc/vc-hooks.elc \ ! ../lisp/vc/ediff-hook.elc \ ! ../lisp/jka-cmpr-hook.elc \ ! ../lisp/epa-hook.elc \ ! ../lisp/widget.elc \ ! ../lisp/window.elc \ ! ../lisp/version.el ! ! ## Like $shortlisp, but includes only those files from $lisp that are loaded ! ## conditionally (i.e., only on some platforms). ! ## Confusingly, term/internal is not in loadup, but is unconditionally ! ## loaded by pc-win, which is. ! SOME_MACHINE_LISP = ../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 \ ! ../lisp/disp-table.elc ../lisp/dos-vars.elc ../lisp/w32-vars.elc \ ! ../lisp/tooltip.elc ../lisp/image.elc \ ! ../lisp/fringe.elc ../lisp/dnd.elc \ ! ../lisp/mwheel.elc ../lisp/tool-bar.elc \ ! ../lisp/x-dnd.elc ../lisp/dynamic-setting.elc \ ../lisp/international/fontset.elc \ ../lisp/term/common-win.elc \ ../lisp/term/x-win.elc \ ! ../lisp/term/pc-win.elc ../lisp/term/internal.elc \ ! ../lisp/term/ns-win.elc ../lisp/term/w32-win.elc ## Construct full set of libraries to be linked. ## Note that SunOS needs -lm to come before -lc; otherwise, you get --- 547,604 ---- ../lisp/language/georgian.el \ ../lisp/language/khmer.el \ ../lisp/language/burmese.el \ ! ../lisp/language/cham.el \ ! ../lisp/indent.elc \ ! ../lisp/window.elc \ ! ../lisp/frame.elc \ ../lisp/term/tty-colors.elc \ ../lisp/font-core.elc \ + ../lisp/facemenu.elc \ ../lisp/emacs-lisp/syntax.elc \ ../lisp/font-lock.elc \ ../lisp/jit-lock.elc \ ! ../lisp/mouse.elc \ ! ../lisp/scroll-bar.elc \ ! ../lisp/select.elc \ ! ../lisp/emacs-lisp/timer.elc \ ! ../lisp/isearch.elc \ ! ../lisp/rfn-eshadow.elc \ ! ../lisp/menu-bar.elc \ ! ../lisp/paths.el \ ! ../lisp/emacs-lisp/lisp.elc \ ../lisp/textmodes/page.elc \ + ../lisp/register.elc \ ../lisp/textmodes/paragraphs.elc \ + ../lisp/emacs-lisp/lisp-mode.elc \ ../lisp/textmodes/text-mode.elc \ ! ../lisp/textmodes/fill.elc \ ! ../lisp/replace.elc \ ! ../lisp/buff-menu.elc \ ! ../lisp/fringe.elc \ ! ../lisp/image.elc \ ../lisp/international/fontset.elc \ + ../lisp/dnd.elc \ + ../lisp/tool-bar.elc \ + ../lisp/dynamic-setting.elc \ + ../lisp/x-dnd.elc \ ../lisp/term/common-win.elc \ ../lisp/term/x-win.elc \ ! ../lisp/w32-vars.elc \ ! ../lisp/term/w32-win.elc \ ! ../lisp/ls-lisp.elc \ ! ../lisp/disp-table.elc \ ! ../lisp/dos-w32.elc \ ! ../lisp/w32-fns.elc \ ! ../lisp/dos-fns.elc \ ! ../lisp/dos-vars.elc \ ! ../lisp/term/pc-win.elc \ ! ../lisp/term/internal.elc \ ! ../lisp/term/ns-win.elc \ ! ../lisp/mwheel.elc \ ! ../lisp/emacs-lisp/float-sup.elc \ ! ../lisp/vc/vc-hooks.elc \ ! ../lisp/vc/ediff-hook.elc \ ! ../lisp/tooltip.elc ## Construct full set of libraries to be linked. ## Note that SunOS needs -lm to come before -lc; otherwise, you get *************** *** 630,645 **** ## $(SOME_MACHINE_OBJECTS). Since a file is processed when it is mentioned ## for the first time, this prevents any variation between configurations ## in the contents of the DOC file. - ## Likewise for $(SOME_MACHINE_LISP). ## Most of this Makefile refers to Lisp files via $(lispsource), so ## we also use $(lisp) rather than $(shortlisp) for the dependency since ## the Makefile uses string equality to decide when we talk about identical ## files. Apparently we pass $(shortlisp) rather than $(lisp) to make-docfile ## only in order to reduce the command line length. --Stef ! $(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$(EXEEXT): cd $(libsrc); $(MAKE) $(MFLAGS) make-docfile$(EXEEXT) --- 635,649 ---- ## $(SOME_MACHINE_OBJECTS). Since a file is processed when it is mentioned ## for the first time, this prevents any variation between configurations ## in the contents of the DOC file. ## Most of this Makefile refers to Lisp files via $(lispsource), so ## we also use $(lisp) rather than $(shortlisp) for the dependency since ## the Makefile uses string equality to decide when we talk about identical ## files. Apparently we pass $(shortlisp) rather than $(lisp) to make-docfile ## only in order to reduce the command line length. --Stef ! $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp) -rm -f $(etc)/DOC $(libsrc)/make-docfile -d $(srcdir) $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC ! $(libsrc)/make-docfile -a $(etc)/DOC -d $(srcdir) $(shortlisp) $(libsrc)/make-docfile$(EXEEXT): cd $(libsrc); $(MAKE) $(MFLAGS) make-docfile$(EXEEXT) *************** *** 797,803 **** THEFILE=$< EMACS=$(bootstrap_exe) ## Since the .el.elc rule cannot specify an extra dependency, we do it here. ! $(lisp) $(SOME_MACHINE_LISP): $(BOOTSTRAPEMACS) ## VCSWITNESS points to the file that holds info about the current checkout. ## We use it as a heuristic to decide when to rebuild loaddefs.el. --- 801,807 ---- THEFILE=$< EMACS=$(bootstrap_exe) ## Since the .el.elc rule cannot specify an extra dependency, we do it here. ! $(lisp): $(BOOTSTRAPEMACS) ## VCSWITNESS points to the file that holds info about the current checkout. ## We use it as a heuristic to decide when to rebuild loaddefs.el. *** lisp/emacs-lisp/autoload.el 2011-05-04 15:38:41 +0000 --- lisp/emacs-lisp/autoload.el 2011-05-19 00:27:36 +0000 *************** *** 769,820 **** Definitions are written to `generated-autoload-file' (which should be non-nil)." ;; For use during the Emacs build process only. (unless autoload-excludes ! (let* ((ldir (file-name-directory generated-autoload-file)) ! (default-directory ! (file-name-as-directory ! (expand-file-name (if (eq system-type 'windows-nt) ! "../lib-src" ! "../src") ldir))) ! (mfile "Makefile") ! (tmpfile "echolisp.tmp") ! lim) ! ;; Windows uses the 'echolisp' approach because: ! ;; i) It does not have $lisp as a single simple definition, so ! ;; it would be harder to parse the Makefile. ! ;; ii) It can, since it already has $lisp broken up into pieces ! ;; that the command-line can handle. ! ;; Non-Windows builds do not use the 'echolisp' approach because ! ;; no-one knows (?) the maximum safe command-line length on all ! ;; supported systems. $lisp is much longer there since it uses ! ;; absolute paths, and it would seem a shame to split it just for this. ! (when (file-readable-p mfile) ! (if (eq system-type 'windows-nt) ! (when (ignore-errors ! (if (file-exists-p tmpfile) (delete-file tmpfile)) ! ;; FIXME call-process is better, if it works. ! (shell-command (format "%s echolisp > %s" ! autoload-make-program tmpfile)) ! (file-readable-p tmpfile)) (with-temp-buffer ! (insert-file-contents tmpfile) ! ;; FIXME could be a single while loop. ! (while (not (eobp)) ! (setq lim (line-end-position)) ! (while (re-search-forward "\\([^ ]+\\.el\\)c?\\>" lim t) ! (push (expand-file-name (match-string 1)) ! autoload-excludes)) ! (forward-line 1)))) ! (with-temp-buffer ! (insert-file-contents mfile) ! (when (re-search-forward "^shortlisp= " nil t) ! (while (and (not lim) ! (re-search-forward "\\.\\./lisp/\\([^ ]+\\.el\\)c?\\>" ! nil t)) ! (push (expand-file-name (match-string 1) ldir) ! autoload-excludes) ! (skip-chars-forward " \t") ! (if (eolp) (setq lim t))))))))) (let ((args command-line-args-left)) (setq command-line-args-left nil) (apply 'update-directory-autoloads args))) --- 769,791 ---- Definitions are written to `generated-autoload-file' (which should be non-nil)." ;; For use during the Emacs build process only. + ;; Exclude those files that are preloaded on ALL platforms. + ;; These are the ones in loadup.el where "(load" is at the start + ;; of the line (crude, but it works). (unless autoload-excludes ! (let ((default-directory (file-name-directory generated-autoload-file)) ! file) ! (when (file-readable-p "loadup.el") ! (dolist (f '("loadup.el" "loaddefs.el")) ! (push (expand-file-name f) autoload-excludes)) (with-temp-buffer ! (insert-file-contents "loadup.el") ! (while (re-search-forward "^(load \"\\([^\"]+\\)\"" nil t) ! (setq file (match-string 1)) ! (or (string-match "\\.el\\'" file) ! (setq file (format "%s.el" file))) ! (or (string-match "\\`site-" file) ! (push (expand-file-name file) autoload-excludes))))))) (let ((args command-line-args-left)) (setq command-line-args-left nil) (apply 'update-directory-autoloads args))) From debbugs-submit-bounces@debbugs.gnu.org Wed May 18 22:18:22 2011 Received: (at 8302) by debbugs.gnu.org; 19 May 2011 02:18:22 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMsog-0002hH-Ms for submit@debbugs.gnu.org; Wed, 18 May 2011 22:18:22 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMsoe-0002h5-RY for 8302@debbugs.gnu.org; Wed, 18 May 2011 22:18:21 -0400 Received: from 121-249-126-200.fibertel.com.ar ([200.126.249.121]:52489 helo=ceviche.home) by fencepost.gnu.org with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1QMsoZ-0003HO-Be; Wed, 18 May 2011 22:18:15 -0400 Received: by ceviche.home (Postfix, from userid 20848) id CFFA46621E; Wed, 18 May 2011 23:18:12 -0300 (ART) From: Stefan Monnier To: Glenn Morris Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice Message-ID: References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> Date: Wed, 18 May 2011 23:18:12 -0300 In-Reply-To: (Glenn Morris's message of "Wed, 18 May 2011 21:35:28 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -6.0 (------) X-Debbugs-Envelope-To: 8302 Cc: Ulrich Mueller , 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.0 (------) > So I think we can get rid of the "some_machine" lisp distinction. > Does anyone see a problem with that? If it works correctly, that's great. Eliminating the shortlisp-vs-lisp duplication would be the next logical step. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu May 19 02:15:18 2011 Received: (at 8302) by debbugs.gnu.org; 19 May 2011 06:15:18 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMwVx-0000X2-V2 for submit@debbugs.gnu.org; Thu, 19 May 2011 02:15:18 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QMwVv-0000Wj-5F for 8302@debbugs.gnu.org; Thu, 19 May 2011 02:15:15 -0400 Received: from localhost ([127.0.0.1]:41811) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QMwVp-0000Yn-0I; Thu, 19 May 2011 02:15:09 -0400 From: Glenn Morris To: Stefan Monnier Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> X-Spook: Bruxelles AGT. AMME Serbian NSA ANC BROMURE genetic Rand X-Ran: 5Skw;.{k}+1.xxTbE?w}.%hT}$p (Stefan Monnier's message of "Wed, 18 May 2011 23:18:12 -0300") Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.3 (------) X-Debbugs-Envelope-To: 8302 Cc: Ulrich Mueller , 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) Stefan Monnier wrote: > If it works correctly, that's great. It works for me... Let's see if it works for everyone else. > Eliminating the shortlisp-vs-lisp duplication would be the next > logical step. Still can't see how to do that. Hopefully it's a bit easier to keep up-to-date now it is almost a literal copy of $lisp. Something clever with xargs? Or, $lisp could be in a separate lisp.mk file that configure could include into src/Makefile, and then for DOC use something like: $(libsrc)/make-docfile -a $(etc)/DOC \ -d $(srcdir) `sed 's|$(lispsource)|../lisp|' $(srcdir)/lisp.mk` ? From debbugs-submit-bounces@debbugs.gnu.org Thu May 19 08:28:02 2011 Received: (at 8302) by debbugs.gnu.org; 19 May 2011 12:28:02 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QN2Kf-00038N-QD for submit@debbugs.gnu.org; Thu, 19 May 2011 08:28:02 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QN2Ke-000388-2S for 8302@debbugs.gnu.org; Thu, 19 May 2011 08:28:00 -0400 Received: from dann by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QN2KY-0002ux-Kq; Thu, 19 May 2011 08:27:54 -0400 From: Dan Nicolaescu To: Glenn Morris Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> X-Debbugs-No-Ack: yes Date: Thu, 19 May 2011 08:27:54 -0400 In-Reply-To: (Glenn Morris's message of "Thu, 19 May 2011 02:15:08 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.5 (------) X-Debbugs-Envelope-To: 8302 Cc: Ulrich Mueller , Stefan Monnier , 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.5 (------) Glenn Morris writes: > Stefan Monnier wrote: > >> If it works correctly, that's great. > > It works for me... Let's see if it works for everyone else. > >> Eliminating the shortlisp-vs-lisp duplication would be the next >> logical step. > > Still can't see how to do that. Hopefully it's a bit easier to keep > up-to-date now it is almost a literal copy of $lisp. > > Something clever with xargs? > > Or, $lisp could be in a separate lisp.mk file that configure could > include into src/Makefile, and then for DOC use something like: > > $(libsrc)/make-docfile -a $(etc)/DOC \ > -d $(srcdir) `sed 's|$(lispsource)|../lisp|' $(srcdir)/lisp.mk` Or even better make make-docfile accept arguments from a file, using the @FILE syntax used by other GNU tools. That would deal with the command line length limitations. From debbugs-submit-bounces@debbugs.gnu.org Thu May 19 20:51:55 2011 Received: (at 8302) by debbugs.gnu.org; 20 May 2011 00:51:55 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QNDwY-0006e2-Ic for submit@debbugs.gnu.org; Thu, 19 May 2011 20:51:54 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QNDwX-0006dr-81 for 8302@debbugs.gnu.org; Thu, 19 May 2011 20:51:54 -0400 Received: from localhost ([127.0.0.1]:45158) by fencepost.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QNDwR-0008SL-WF; Thu, 19 May 2011 20:51:48 -0400 From: Glenn Morris To: Dan Nicolaescu Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> X-Spook: high security CDMA 22nd SAS jihad doctrine Jiang Zemin X-Ran: `1J]J~iO0jE]9jiV.+I:sxRq=wY&8?7L[|?wPp8 X-Hue: magenta X-Debbugs-No-Ack: yes X-Attribution: GM Date: Thu, 19 May 2011 20:51:47 -0400 Message-ID: User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -4.8 (----) X-Debbugs-Envelope-To: 8302 Cc: Ulrich Mueller , Stefan Monnier , 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.8 (----) Dan Nicolaescu wrote: >> Or, $lisp could be in a separate lisp.mk file that configure could >> include into src/Makefile, and then for DOC use something like: >> >> $(libsrc)/make-docfile -a $(etc)/DOC \ >> -d $(srcdir) `sed 's|$(lispsource)|../lisp|' $(srcdir)/lisp.mk` Works for me; committed. > Or even better make make-docfile accept arguments from a file, using the > @FILE syntax used by other GNU tools. That would deal with the command > line length limitations. http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7397 By itself, I don't see how this helps, since you still need to find a way to write the input file without overflowing the command line length. From debbugs-submit-bounces@debbugs.gnu.org Thu May 19 20:52:41 2011 Received: (at control) by debbugs.gnu.org; 20 May 2011 00:52:41 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QNDxI-0006fI-UX for submit@debbugs.gnu.org; Thu, 19 May 2011 20:52:41 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QNDxH-0006f8-TI for control@debbugs.gnu.org; Thu, 19 May 2011 20:52:40 -0400 Received: from rgm by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QNDx7-0008WH-Gj for control@debbugs.gnu.org; Thu, 19 May 2011 20:52:29 -0400 Date: Thu, 19 May 2011 20:52:29 -0400 Message-Id: Subject: control message for bug 8302 To: X-Mailer: mail (GNU Mailutils 2.1) From: Glenn Morris X-Spam-Score: -6.3 (------) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.3 (------) close 8302 24.1 From debbugs-submit-bounces@debbugs.gnu.org Tue May 24 12:46:43 2011 Received: (at 8302) by debbugs.gnu.org; 24 May 2011 16:46:43 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOukk-0007b6-UR for submit@debbugs.gnu.org; Tue, 24 May 2011 12:46:43 -0400 Received: from fencepost.gnu.org ([140.186.70.10]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1QOuki-0007au-9t for 8302@debbugs.gnu.org; Tue, 24 May 2011 12:46:41 -0400 Received: from dann by fencepost.gnu.org with local (Exim 4.71) (envelope-from ) id 1QOukc-0002sG-Kk; Tue, 24 May 2011 12:46:34 -0400 From: Dan Nicolaescu To: Glenn Morris Subject: Re: bug#8302: 23.3; Parallel make: some *.el files are byte-compiled twice References: <19846.25352.41735.981075@a1i15.kph.uni-mainz.de> Date: Tue, 24 May 2011 12:46:34 -0400 In-Reply-To: (Glenn Morris's message of "Thu, 19 May 2011 20:51:47 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -6.5 (------) X-Debbugs-Envelope-To: 8302 Cc: Ulrich Mueller , Stefan Monnier , 8302@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.5 (------) Glenn Morris writes: > Dan Nicolaescu wrote: > >>> Or, $lisp could be in a separate lisp.mk file that configure could >>> include into src/Makefile, and then for DOC use something like: >>> >>> $(libsrc)/make-docfile -a $(etc)/DOC \ >>> -d $(srcdir) `sed 's|$(lispsource)|../lisp|' $(srcdir)/lisp.mk` > > Works for me; committed. > >> Or even better make make-docfile accept arguments from a file, using the >> @FILE syntax used by other GNU tools. That would deal with the command >> line length limitations. > > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7397 > > By itself, I don't see how this helps, since you still need to find a > way to write the input file without overflowing the command line length. Use >> ? BTW, the @FILE syntax is in wide use, especially for linking, where command lines can be humongous. [This might be a moot point now that a solution has been implemented, so please don't keep this bug open just for this reason] From unknown Fri Jun 20 07:15:08 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 22 Jun 2011 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator