* bootstrap not regenerating some *loaddefs @ 2008-06-17 11:57 Juanma Barranquero 2008-06-17 15:13 ` Jason Rumney 2008-06-17 17:34 ` Stefan Monnier 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 11:57 UTC (permalink / raw) To: emacs-devel Mailinglist [This is on Windows, but I think it happens in GNU/Linux and other environments as well.] After a maintaner-clean, I'm getting errors in bootstrap: In toplevel form: calc/calc-aent.el:30:1:Error: Cannot open load file: calc-loaddefs.el In toplevel form: eshell/em-alias.el:96:1:Error: Cannot open load file: esh-groups etc. AFAICS, the reason is that maintainer-clean deletes these files, but bootstrap does not regenerate them it if ldefs-boot.el happens to be up-to-date with respect to their sources. And, after the bootstrap, cd lisp make autoloads doesn't either. The only answer is deleting loaddefs.el and doing "make autoloads recompile" again. Can someone think of a fix that does not involve too much trickery in our already-tricky-enough makefiles? Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 11:57 bootstrap not regenerating some *loaddefs Juanma Barranquero @ 2008-06-17 15:13 ` Jason Rumney 2008-06-17 16:19 ` Juanma Barranquero 2008-06-17 17:34 ` Stefan Monnier 1 sibling, 1 reply; 68+ messages in thread From: Jason Rumney @ 2008-06-17 15:13 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel Mailinglist Juanma Barranquero wrote: > doesn't either. The only answer is deleting loaddefs.el and doing > "make autoloads recompile" again. > Shouldn't make maintainer-clean delete loaddefs.el? ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 15:13 ` Jason Rumney @ 2008-06-17 16:19 ` Juanma Barranquero 2008-06-17 16:38 ` Glenn Morris 0 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 16:19 UTC (permalink / raw) To: Jason Rumney; +Cc: emacs-devel Mailinglist On Tue, Jun 17, 2008 at 17:13, Jason Rumney <jasonr@gnu.org> wrote: > Shouldn't make maintainer-clean delete loaddefs.el? It does. But bootstrapping copies ldefs-boot.el over it: # Need separate version for sh and native cmd.exe # Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el, # and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el # target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its # thing, or else an empty loaddefs.el will overwrite the full one. bootstrap-clean: $(lisp)/loaddefs.el $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) bootstrap-clean-CMD: # if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g bootstrap-clean-SH: # if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for dir in . $(WINS); do rm -f $$dir/*.elc; done Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 16:19 ` Juanma Barranquero @ 2008-06-17 16:38 ` Glenn Morris 2008-06-17 17:43 ` Juanma Barranquero 2008-06-17 18:02 ` Stefan Monnier 0 siblings, 2 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-17 16:38 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel Mailinglist, Jason Rumney "Juanma Barranquero" wrote: > On Tue, Jun 17, 2008 at 17:13, Jason Rumney <jasonr@gnu.org> wrote: > >> Shouldn't make maintainer-clean delete loaddefs.el? > > It does. But bootstrapping copies ldefs-boot.el over it: Makefile.in does not do this any more. Can you make the w32 makefile behave the same way? ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 16:38 ` Glenn Morris @ 2008-06-17 17:43 ` Juanma Barranquero 2008-06-17 17:46 ` Glenn Morris 2008-06-17 18:02 ` Stefan Monnier 1 sibling, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 17:43 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Mailinglist, Jason Rumney On Tue, Jun 17, 2008 at 18:38, Glenn Morris <rgm@gnu.org> wrote: > Makefile.in does not do this any more. Can you make the w32 makefile > behave the same way? I suppose, but... what it is ldefs-boot.el used for, then? Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 17:43 ` Juanma Barranquero @ 2008-06-17 17:46 ` Glenn Morris 2008-06-17 17:55 ` Juanma Barranquero ` (2 more replies) 0 siblings, 3 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-17 17:46 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel Mailinglist, Jason Rumney "Juanma Barranquero" wrote: > On Tue, Jun 17, 2008 at 18:38, Glenn Morris <rgm@gnu.org> wrote: > >> Makefile.in does not do this any more. Can you make the w32 makefile >> behave the same way? > > I suppose, but... what it is ldefs-boot.el used for, then? See loadup.el. I think it will all work if you copy Stefan's 2008-04-11 lisp/Makefile.in change. I think you are having a version of the problem summarized as "If it hurts, don't do that": http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00886.html ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 17:46 ` Glenn Morris @ 2008-06-17 17:55 ` Juanma Barranquero 2008-06-17 18:05 ` Juanma Barranquero 2008-06-17 19:01 ` Juanma Barranquero 2 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 17:55 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Mailinglist, Jason Rumney On Tue, Jun 17, 2008 at 19:46, Glenn Morris <rgm@gnu.org> wrote: > See loadup.el. I think it will all work if you copy Stefan's > 2008-04-11 lisp/Makefile.in change. > I think you are having a version of the problem summarized as "If it > hurts, don't do that": Well, not exactly. I was not idly deleting calc-loaddefs.el just for the fun of it, you know... I did "make maintainer-clean" & "make bootstrap". There's nothing "don't do that" in that particular sequence of actions. Unless you're referring to copying ldefs-boot.el over loaddefs.el. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 17:46 ` Glenn Morris 2008-06-17 17:55 ` Juanma Barranquero @ 2008-06-17 18:05 ` Juanma Barranquero 2008-06-17 19:01 ` Juanma Barranquero 2 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 18:05 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Mailinglist, Jason Rumney On Tue, Jun 17, 2008 at 19:46, Glenn Morris <rgm@gnu.org> wrote: > See loadup.el. I think it will all work if you copy Stefan's > 2008-04-11 lisp/Makefile.in change. And BTW, I'd like to add my voice to Eli's, and ask everybody who changes the (non-Windows) makefiles please to send to emacs-devel an explanation of what the change does and why. That would help to keep the Windows makefiles in synch. http://lists.gnu.org/archive/html/emacs-devel/2008-05/msg00110.html Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 17:46 ` Glenn Morris 2008-06-17 17:55 ` Juanma Barranquero 2008-06-17 18:05 ` Juanma Barranquero @ 2008-06-17 19:01 ` Juanma Barranquero 2008-06-17 21:05 ` Stefan Monnier 2 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 19:01 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel Mailinglist, Jason Rumney On Tue, Jun 17, 2008 at 19:46, Glenn Morris <rgm@gnu.org> wrote: > I think it will all work if you copy Stefan's > 2008-04-11 lisp/Makefile.in change. No, it doesn't. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 19:01 ` Juanma Barranquero @ 2008-06-17 21:05 ` Stefan Monnier 2008-06-18 14:23 ` Juanma Barranquero 0 siblings, 1 reply; 68+ messages in thread From: Stefan Monnier @ 2008-06-17 21:05 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Glenn Morris, Jason Rumney, emacs-devel Mailinglist >> I think it will all work if you copy Stefan's >> 2008-04-11 lisp/Makefile.in change. > No, it doesn't. Can you try and track down why it doesn't? The way it works in non-w32 is that loadup.el loads ldefs-boot.el in case loading loaddefs.el failed, so removing loaddefs.el should work just as well as copying it from ldefs-boot.el. Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 21:05 ` Stefan Monnier @ 2008-06-18 14:23 ` Juanma Barranquero 2008-06-18 15:20 ` Stefan Monnier 2008-06-18 18:12 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-18 14:23 UTC (permalink / raw) To: Stefan Monnier; +Cc: Glenn Morris, Jason Rumney, emacs-devel Mailinglist > Can you try and track down why it doesn't? > The way it works in non-w32 is that loadup.el loads ldefs-boot.el in > case loading loaddefs.el failed, so removing loaddefs.el should work > just as well as copying it from ldefs-boot.el. The following patch works for me in the following situations: - bootstrapping a fresh checkout - bootstrapping an already existing workspace - "make maintaner-clean" & "make bootstrap install" However, I'd like to hear from Eli before committing this, as it is his code that I'm removing. Juanma 2008-06-18 Juanma Barranquero <lekktu@gmail.com> * makefile.w32-in (bootstrap-clean-CMD, bootstrap-clean-SH): Don't copy ldefs-boot.el over loaddefs.el. (bootstrap-clean): Remove loaddefs.el and don't depend on it. (loaddefs.el-SH, loaddefs.el-CMD): Add coding cookie to loaddefs.el. Index: lisp/makefile.w32-in =================================================================== RCS file: /sources/emacs/emacs/lisp/makefile.w32-in,v retrieving revision 1.81 diff -u -2 -r1.81 makefile.w32-in --- lisp/makefile.w32-in 6 May 2008 08:05:36 -0000 1.81 +++ lisp/makefile.w32-in 18 Jun 2008 10:50:15 -0000 @@ -138,13 +138,15 @@ echo "(defvar cvs-global-menu nil)" >>$@ echo " " >> $@ - echo ";;; Local Variables:" >> $@ - echo ";;; version-control: never" >> $@ - echo ";;; no-byte-compile: t" >> $@ - echo ";;; no-update-autoloads: t" >> $@ - echo ";;; End:" >> $@ + echo ";; Local Variables:" >> $@ + echo ";; version-control: never" >> $@ + echo ";; no-byte-compile: t" >> $@ + echo ";; no-update-autoloads: t" >> $@ + echo ";; coding: utf-8" >> $@ + echo ";; End:" >> $@ echo ";;; loaddefs.el ends here" >> $@ loaddefs.el-CMD: echo ;;; loaddefs.el --- automatically extracted autoloads> $@ + echo ;;>> $@ echo ;;; Code:>> $@ echo (autoload 'define-minor-mode "easy-mmode")>> $@ @@ -156,9 +158,10 @@ echo (defvar cvs-global-menu nil)>> $@ echo. >> $@ - echo ;;; Local Variables:>> $@ - echo ;;; version-control: never>> $@ - echo ;;; no-byte-compile: t>> $@ - echo ;;; no-update-autoloads: t>> $@ - echo ;;; End:>> $@ + echo ;; Local Variables:>> $@ + echo ;; version-control: never>> $@ + echo ;; no-byte-compile: t>> $@ + echo ;; no-update-autoloads: t>> $@ + echo ;; coding: utf-8>> $@ + echo ;; End:>> $@ echo ;;; loaddefs.el ends here>> $@ @@ -385,14 +388,10 @@ # Need separate version for sh and native cmd.exe -# Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el, -# and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el -# target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its -# thing, or else an empty loaddefs.el will overwrite the full one. -bootstrap-clean: $(lisp)/loaddefs.el +bootstrap-clean: + - $(DEL) $(lisp)/loaddefs.el $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) bootstrap-clean-CMD: # if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g @@ -400,5 +399,4 @@ # if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for dir in . $(WINS); do rm -f $$dir/*.elc; done ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 14:23 ` Juanma Barranquero @ 2008-06-18 15:20 ` Stefan Monnier 2008-06-18 15:51 ` Juanma Barranquero 2008-06-18 18:12 ` Eli Zaretskii 1 sibling, 1 reply; 68+ messages in thread From: Stefan Monnier @ 2008-06-18 15:20 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Glenn Morris, Jason Rumney, emacs-devel Mailinglist >> Can you try and track down why it doesn't? >> The way it works in non-w32 is that loadup.el loads ldefs-boot.el in >> case loading loaddefs.el failed, so removing loaddefs.el should work >> just as well as copying it from ldefs-boot.el. > The following patch works for me in the following situations: > - bootstrapping a fresh checkout > - bootstrapping an already existing workspace > - "make maintaner-clean" & "make bootstrap install" > However, I'd like to hear from Eli before committing this, as it is > his code that I'm removing. The patch seem to be doing the right thing, thank you, Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 15:20 ` Stefan Monnier @ 2008-06-18 15:51 ` Juanma Barranquero 2008-06-18 16:47 ` Glenn Morris 0 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-18 15:51 UTC (permalink / raw) To: Stefan Monnier; +Cc: Glenn Morris, Jason Rumney, emacs-devel Mailinglist On Wed, Jun 18, 2008 at 17:20, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > The patch seem to be doing the right thing This one is better; it also removes some autoloads and defvars that are currently added to loaddefs.el on Windows and which would be unnecessary now. Juanma 2008-06-18 Juanma Barranquero <lekktu@gmail.com> * makefile.w32-in (bootstrap-clean-CMD, bootstrap-clean-SH): Don't copy ldefs-boot.el over loaddefs.el. (bootstrap-clean): Remove loaddefs.el and don't depend on it. (loaddefs.el-SH, loaddefs.el-CMD): Don't add autoloads and defvars to loaddefs.el; they are not needed now. Add coding cookie. Index: lisp/makefile.w32-in =================================================================== RCS file: /sources/emacs/emacs/lisp/makefile.w32-in,v retrieving revision 1.81 diff -u -2 -r1.81 makefile.w32-in --- lisp/makefile.w32-in 6 May 2008 08:05:36 -0000 1.81 +++ lisp/makefile.w32-in 18 Jun 2008 11:57:13 -0000 @@ -130,35 +130,24 @@ echo ";;; loaddefs.el --- automatically extracted autoloads" > $@ echo ";;" >> $@; echo ";;; Code:" >> $@ - echo "(autoload 'define-minor-mode \"easy-mmode\")" >>$@ - echo "(autoload 'define-ccl-program \"ccl\")" >>$@ - echo "(autoload 'regexp-opt \"regexp-opt\")" >>$@ - echo "(autoload 'string-to-list \"mule-util\")" >>$@ - echo "(autoload 'define-derived-mode \"derived\")" >>$@ - echo "(autoload 'encoded-kbd-mode \"encoded-kb\")" >>$@ - echo "(defvar cvs-global-menu nil)" >>$@ echo "\f" >> $@ - echo ";;; Local Variables:" >> $@ - echo ";;; version-control: never" >> $@ - echo ";;; no-byte-compile: t" >> $@ - echo ";;; no-update-autoloads: t" >> $@ - echo ";;; End:" >> $@ + echo ";; Local Variables:" >> $@ + echo ";; version-control: never" >> $@ + echo ";; no-byte-compile: t" >> $@ + echo ";; no-update-autoloads: t" >> $@ + echo ";; coding: utf-8" >> $@ + echo ";; End:" >> $@ echo ";;; loaddefs.el ends here" >> $@ loaddefs.el-CMD: echo ;;; loaddefs.el --- automatically extracted autoloads> $@ + echo ;;>> $@ echo ;;; Code:>> $@ - echo (autoload 'define-minor-mode "easy-mmode")>> $@ - echo (autoload 'define-ccl-program "ccl")>> $@ - echo (autoload 'regexp-opt "regexp-opt")>> $@ - echo (autoload 'string-to-list "mule-util")>> $@ - echo (autoload 'define-derived-mode "derived")>> $@ - echo (autoload 'encoded-kbd-mode "encoded-kb")>> $@ - echo (defvar cvs-global-menu nil)>> $@ echo.\f>> $@ - echo ;;; Local Variables:>> $@ - echo ;;; version-control: never>> $@ - echo ;;; no-byte-compile: t>> $@ - echo ;;; no-update-autoloads: t>> $@ - echo ;;; End:>> $@ + echo ;; Local Variables:>> $@ + echo ;; version-control: never>> $@ + echo ;; no-byte-compile: t>> $@ + echo ;; no-update-autoloads: t>> $@ + echo ;; coding: utf-8>> $@ + echo ;; End:>> $@ echo ;;; loaddefs.el ends here>> $@ @@ -385,14 +374,10 @@ # Need separate version for sh and native cmd.exe -# Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el, -# and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el -# target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its -# thing, or else an empty loaddefs.el will overwrite the full one. -bootstrap-clean: $(lisp)/loaddefs.el +bootstrap-clean: + - $(DEL) $(lisp)/loaddefs.el $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) bootstrap-clean-CMD: # if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g @@ -400,5 +385,4 @@ # if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el -for dir in . $(WINS); do rm -f $$dir/*.elc; done ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 15:51 ` Juanma Barranquero @ 2008-06-18 16:47 ` Glenn Morris 2008-06-18 16:59 ` Juanma Barranquero 0 siblings, 1 reply; 68+ messages in thread From: Glenn Morris @ 2008-06-18 16:47 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist "Juanma Barranquero" wrote: > + echo ";; Local Variables:" >> $@ > + echo ";; version-control: never" >> $@ > + echo ";; no-byte-compile: t" >> $@ > + echo ";; no-update-autoloads: t" >> $@ > + echo ";; coding: utf-8" >> $@ > + echo ";; End:" >> $@ Do you need to create a basic loaddefs by hand for some special reason, or can you just rely on autoload-ensure-default-file, like the Unix build does? Re the W32 lisp makefile, I would suggest syncing the autogen-clean target and its use (it is referenced in INSTALL.CVS). A quick glance shows that the w32 makefile looks a bit out of date, eg re mh-autoloads, emacs-deps (I can't understand this one personally), custom-deps and finder-data prereqs, cus-load target, etc. A more general sync/update may be good. Whether you want to copy the ELCFILES stuff that allows for parallel byte-compiling, I leave up to you... ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 16:47 ` Glenn Morris @ 2008-06-18 16:59 ` Juanma Barranquero 2008-06-18 18:18 ` Eli Zaretskii 2008-06-19 6:23 ` Glenn Morris 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-18 16:59 UTC (permalink / raw) To: Glenn Morris; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist On Wed, Jun 18, 2008 at 18:47, Glenn Morris <rgm@gnu.org> wrote: > Do you need to create a basic loaddefs by hand for some special > reason, or can you just rely on autoload-ensure-default-file, like the > Unix build does? I don't know, it's been that way for a long time (at least since 2000-09-14), and at 30 minutes each bootstrap I'm not very inclined to try to "fix it", truth be told (other than the current breakage, of course). > Re the W32 lisp makefile, I would suggest syncing the autogen-clean > target and its use (it is referenced in INSTALL.CVS). > > A quick glance shows that the w32 makefile looks a bit out of date, eg > re mh-autoloads, emacs-deps (I can't understand this one personally), > custom-deps and finder-data prereqs, cus-load target, etc. A more > general sync/update may be good. Whether you want to copy the ELCFILES > stuff that allows for parallel byte-compiling, I leave up to you... I don't think changing around the Windows makefiles for no reason is a good idea. Revamping the whole makefile stuff on Windows would be good, perhaps (Eli has said several times that the MS-DOS method of generating the makefiles from the generic unixy ones via sed could work). But it is quite a task waiting for a brave soul. I personally have headaches every time I have to fix a problem in a makefile. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 16:59 ` Juanma Barranquero @ 2008-06-18 18:18 ` Eli Zaretskii 2008-06-19 6:23 ` Glenn Morris 1 sibling, 0 replies; 68+ messages in thread From: Eli Zaretskii @ 2008-06-18 18:18 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Wed, 18 Jun 2008 18:59:49 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: Jason Rumney <jasonr@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, > emacs-devel Mailinglist <emacs-devel@gnu.org> > > I don't think changing around the Windows makefiles for no reason is a > good idea. Yes, if it ain't broken, don't fix it. Especially since the Makefile's in lib-src and src are also based on an old version of Unix Makefile's, and so direct copy is not possible without also changing those two quite heavily. > Revamping the whole makefile stuff on Windows would be good, perhaps > (Eli has said several times that the MS-DOS method of generating the > makefiles from the generic unixy ones via sed could work). It would work, but it has a disadvantage of requiring Sed for building Emacs. We don't require that currently. > But it is quite a task waiting for a brave soul. And a rainy day ;-) ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 16:59 ` Juanma Barranquero 2008-06-18 18:18 ` Eli Zaretskii @ 2008-06-19 6:23 ` Glenn Morris 2008-06-19 8:28 ` Juanma Barranquero 1 sibling, 1 reply; 68+ messages in thread From: Glenn Morris @ 2008-06-19 6:23 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist "Juanma Barranquero" wrote: > I don't think changing around the Windows makefiles for no reason is a > good idea. a) I doubt the changes to lisp/Makefile.in were made for no reason. b) minimizing the differences between the Unix and Windows Makefiles is desirable in itself. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 6:23 ` Glenn Morris @ 2008-06-19 8:28 ` Juanma Barranquero 2008-06-19 19:13 ` Glenn Morris 0 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 8:28 UTC (permalink / raw) To: Glenn Morris; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist On Thu, Jun 19, 2008 at 08:23, Glenn Morris <rgm@gnu.org> wrote: > a) I doubt the changes to lisp/Makefile.in were made for no reason. How does that follow, or relate, to what I said? (about changing the *Windows makefiles*.) > b) minimizing the differences between the Unix and Windows Makefiles > is desirable in itself. Please, don't hesitate to do it. If you send the patches to emacs-devel, I'll test them with my usual build setup. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 8:28 ` Juanma Barranquero @ 2008-06-19 19:13 ` Glenn Morris 2008-06-19 19:38 ` Juanma Barranquero 2008-06-20 9:16 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-19 19:13 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist "Juanma Barranquero" wrote: > On Thu, Jun 19, 2008 at 08:23, Glenn Morris <rgm@gnu.org> wrote: > >> a) I doubt the changes to lisp/Makefile.in were made for no reason. > > How does that follow, or relate, to what I said? (about changing the > *Windows makefiles*.) Because the changes I refered to should be independent of whether using Unix or Windows, since the emacs lisp files and their dependencies are independent of arch. The only differences should be the Windows-specific shell commands (or whatever). For example, from a quick glance at makefile.w32-in: CVSREAD=1 should be handled on Windows, if the concept is applicable there. It is claimed that everything that uses emacs during build must depend on emacs-deps. `bootstrap-clean' should run autogen-clean. autogen-clean should exist on all archs, since it is referred to in INSTALL.CVS. You should avoid creating a base loaddefs by hand on windows, because it should not be necessary, and otherwise someone will have to remember to update the makefile rule every time the version in autoload.el is changed. finder-data and custom-deps should not depend on $(lisp)/loaddefs.el because it should not be necessary now, and because if they do it can cause a redumping of Emacs. mh-autoloads should not be listed as a prereq of anything, because the normal autoloads rule takes care of it. recompile should depend on LOADDEFS, not just mh-autoloads. People on Windows may want to take advantage of parallel byte-compiling just as much as those on Unix. etc. It's basically just a case of syncing the makefile.w32-in with Makefile.in. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:13 ` Glenn Morris @ 2008-06-19 19:38 ` Juanma Barranquero 2008-06-19 20:51 ` Stefan Monnier ` (2 more replies) 2008-06-20 9:16 ` Eli Zaretskii 1 sibling, 3 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 19:38 UTC (permalink / raw) To: Glenn Morris; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist On Thu, Jun 19, 2008 at 21:13, Glenn Morris <rgm@gnu.org> wrote: > Because the changes I refered to should be independent of whether > using Unix or Windows, since the emacs lisp files and their > dependencies are independent of arch. That does not answer my question. > You should avoid creating a base loaddefs by hand on windows, because > it should not be necessary, and otherwise someone will have to > remember to update the makefile rule every time the version in > autoload.el is changed. I agree that "it should not be necessary", but why was it deemed necessary would perhaps be better answered by the developer that implemented that on Windows in the first place. > It's basically just a case of syncing the makefile.w32-in with > Makefile.in. As I said: don't let my total lack of interest in fixing the makefiles stop you from doing it. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:38 ` Juanma Barranquero @ 2008-06-19 20:51 ` Stefan Monnier 2008-06-20 4:17 ` Glenn Morris 2008-06-20 7:54 ` Jason Rumney 2 siblings, 0 replies; 68+ messages in thread From: Stefan Monnier @ 2008-06-19 20:51 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Glenn Morris, Jason Rumney, emacs-devel Mailinglist >> You should avoid creating a base loaddefs by hand on windows, because >> it should not be necessary, and otherwise someone will have to >> remember to update the makefile rule every time the version in >> autoload.el is changed. > I agree that "it should not be necessary", but why was it deemed > necessary would perhaps be better answered by the developer that > implemented that on Windows in the first place. It used to be done in Unix as well. It's just that the w32 makefile did not stay in sync with the Makefile.in. Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:38 ` Juanma Barranquero 2008-06-19 20:51 ` Stefan Monnier @ 2008-06-20 4:17 ` Glenn Morris 2008-06-20 7:49 ` Juanma Barranquero 2008-06-20 7:54 ` Jason Rumney 2 siblings, 1 reply; 68+ messages in thread From: Glenn Morris @ 2008-06-20 4:17 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist "Juanma Barranquero" wrote: >> It's basically just a case of syncing the makefile.w32-in with >> Makefile.in. > > As I said: don't let my total lack of interest in fixing the makefiles > stop you from doing it. I was just trying to comply with the request to "post here a message saying that it needs to be done and explaining the reasons for the change". I don't feel responsible for the Windows makefiles and am not going to do any more. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 4:17 ` Glenn Morris @ 2008-06-20 7:49 ` Juanma Barranquero 2008-06-20 18:13 ` Glenn Morris 0 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 7:49 UTC (permalink / raw) To: Glenn Morris; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist On Fri, Jun 20, 2008 at 06:17, Glenn Morris <rgm@gnu.org> wrote: > I was just trying to comply with the request to "post here a message > saying that it needs to be done and explaining the reasons for the > change". No. You're laying a plan about how could the makefiles be changed, while the request was to please explain changes that are introduced. "I've added a new target XXX and the existing target YYY has a new dependency on ZZZ because that's needed with parallel builds." vs. "The way to go is for the Windows people to rebuild the Windows makefiles from the ground up so they're identical to the Unix ones." Do you really fail to see the difference? Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 7:49 ` Juanma Barranquero @ 2008-06-20 18:13 ` Glenn Morris 0 siblings, 0 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-20 18:13 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Jason Rumney, Stefan Monnier, emacs-devel Mailinglist "Juanma Barranquero" wrote: > "I've added a new target XXX and the existing target YYY has a new > dependency on ZZZ because that's needed with parallel builds." If you won't take my word for it, and if the code, comments, and ChangeLogs are insufficient, feel free to ask specific questions. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:38 ` Juanma Barranquero 2008-06-19 20:51 ` Stefan Monnier 2008-06-20 4:17 ` Glenn Morris @ 2008-06-20 7:54 ` Jason Rumney 2008-06-20 7:58 ` Juanma Barranquero 2 siblings, 1 reply; 68+ messages in thread From: Jason Rumney @ 2008-06-20 7:54 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Glenn Morris, Stefan Monnier, emacs-devel Mailinglist Juanma Barranquero wrote: > I agree that "it should not be necessary", but why was it deemed > necessary would perhaps be better answered by the developer that > implemented that on Windows in the first place. > It's a recent change to Makefile.in that has not been made to makefile.w32-in. It was necessary before because it was necessary on all platforms. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 7:54 ` Jason Rumney @ 2008-06-20 7:58 ` Juanma Barranquero 0 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 7:58 UTC (permalink / raw) To: Jason Rumney; +Cc: Glenn Morris, Stefan Monnier, emacs-devel Mailinglist On Fri, Jun 20, 2008 at 09:54, Jason Rumney <jasonr@gnu.org> wrote: > It's a recent change to Makefile.in that has not been made to > makefile.w32-in. It was necessary before because it was necessary on all > platforms. Getting rid of that difference would be a good idea, then. One of many changes that would've been easier at the time... But first we should at least commit the changes I've done (or a parallel-friendly version of them, assuming they are not, which I don't know, because I can't try them in a parallel build), as they solve a specific problem. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:13 ` Glenn Morris 2008-06-19 19:38 ` Juanma Barranquero @ 2008-06-20 9:16 ` Eli Zaretskii 2008-06-20 17:46 ` Glenn Morris 1 sibling, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 9:16 UTC (permalink / raw) To: Glenn Morris; +Cc: lekktu, emacs-devel, monnier, jasonr > From: Glenn Morris <rgm@gnu.org> > Date: Thu, 19 Jun 2008 15:13:18 -0400 > Cc: Jason Rumney <jasonr@gnu.org>, Stefan Monnier <monnier@iro.umontreal.ca>, > emacs-devel Mailinglist <emacs-devel@gnu.org> > > "Juanma Barranquero" wrote: > > > On Thu, Jun 19, 2008 at 08:23, Glenn Morris <rgm@gnu.org> wrote: > > > >> a) I doubt the changes to lisp/Makefile.in were made for no reason. > > > > How does that follow, or relate, to what I said? (about changing the > > *Windows makefiles*.) > > Because the changes I refered to should be independent of whether > using Unix or Windows, since the emacs lisp files and their > dependencies are independent of arch. The only differences should be > the Windows-specific shell commands (or whatever). Well, those ``only differences'' _are_ the main source of the difficulty, and the main reason why people prefer not to mess with the Windows Makefiles, as long as they are working. > CVSREAD=1 should be handled on Windows, if the concept is applicable > there. Even such a seemingly easy change has subtle dark corners, and if done haphazardly, will break the build. Windows doesn't come with `chmod' out of the box, so we either need to require it for the Windows build (which is in general bad, since that makes it harder for Windows users to build Emacs), or use Windows equivalents. But to use Windows equivalents, one must first to: . make sure the equivalent command is supported on all Windows version, since Windows 95 to the latest Windows Vista; . make sure the syntax and semantics of the equivalent command is the same, no matter from what Windows version it comes and what Windows shell (command.com or cmd.exe) is used, because as the Windows shells evolve, the add and sometimes remove features; . make sure that if a ported Unixy shell is used, the equivalent command will not be misinterpreted by the shell, because it is already some shell built-in (for example, `type' is a Windows command to dump file's contents to the screen, akin to `cat' on Unix, but is something very different to Bash). So each such change more often than not turns out to be a small research project, which explains our reluctance to make changes that are not strictly required. > finder-data and custom-deps should not depend on $(lisp)/loaddefs.el > because it should not be necessary now, and because if they do it can > cause a redumping of Emacs. Why is it ``not necessary''? Don't these targets cause Emacs to read all the *.el files anymore? ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:16 ` Eli Zaretskii @ 2008-06-20 17:46 ` Glenn Morris 2008-06-20 19:43 ` Eli Zaretskii 0 siblings, 1 reply; 68+ messages in thread From: Glenn Morris @ 2008-06-20 17:46 UTC (permalink / raw) To: Eli Zaretskii; +Cc: lekktu, emacs-devel, monnier, jasonr Eli Zaretskii wrote: >> finder-data and custom-deps should not depend on $(lisp)/loaddefs.el >> because it should not be necessary now, and because if they do it can >> cause a redumping of Emacs. > > Why is it ``not necessary''? Don't these targets cause Emacs to read > all the *.el files anymore? I went to the trouble of putting detailed comments and references in lisp/Makefile.in, please read them. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 17:46 ` Glenn Morris @ 2008-06-20 19:43 ` Eli Zaretskii 2008-06-20 20:15 ` Glenn Morris 0 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 19:43 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel > From: Glenn Morris <rgm@gnu.org> > Cc: lekktu@gmail.com, jasonr@gnu.org, monnier@iro.umontreal.ca, emacs-devel@gnu.org > Date: Fri, 20 Jun 2008 13:46:28 -0400 > > Eli Zaretskii wrote: > > >> finder-data and custom-deps should not depend on $(lisp)/loaddefs.el > >> because it should not be necessary now, and because if they do it can > >> cause a redumping of Emacs. > > > > Why is it ``not necessary''? Don't these targets cause Emacs to read > > all the *.el files anymore? > > I went to the trouble of putting detailed comments and references in > lisp/Makefile.in, please read them. Please trust me that I did so before asking the question. I simply don't understand what you are saying there, perhaps because most of that comment doesn't describe the present solution, but rather different alternatives that were not taken. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 19:43 ` Eli Zaretskii @ 2008-06-20 20:15 ` Glenn Morris 2008-06-20 21:25 ` Stefan Monnier 2008-06-21 7:10 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-20 20:15 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > Please trust me that I did so before asking the question. I simply > don't understand what you are saying there, perhaps because most of > that comment doesn't describe the present solution, but rather > different alternatives that were not taken. Sorry both for doubting you and for being unclear. :) The reason for making custom-deps and finder-data depend on loaddefs was that these rules used to scan _all_ the *.el files. This included loaddefs and friends. In a parallel make, loaddefs etc could be changed while custom-deps/finder-data were trying to read them. (I think you know this bit.) Since there is no useful information for custom-deps/finder-data in loaddefs etc, I made custom-make-dependencies and finder-compile-keywords-make-dist not scan these files any more (see finder-no-scan-regexp etc). So to answer your original question, custom-deps/finder-data indeed no longer scan _all_ *.el files, so should no longer care if loaddefs etc are modified while they run. Making these rules depend on loaddefs had undesirable side effects, as described in the comments, so it was good to remove this. I have tested this with `make -j4 updates', the source of the original problem. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 20:15 ` Glenn Morris @ 2008-06-20 21:25 ` Stefan Monnier 2008-06-20 22:46 ` Glenn Morris 2008-06-21 7:10 ` Eli Zaretskii 1 sibling, 1 reply; 68+ messages in thread From: Stefan Monnier @ 2008-06-20 21:25 UTC (permalink / raw) To: Glenn Morris; +Cc: Eli Zaretskii, emacs-devel > loaddefs and friends. In a parallel make, loaddefs etc could be > changed while custom-deps/finder-data were trying to read them. (I BTW, why is that a problem? Since those files contain nothing useful w.r.t the function that scans them, I'd expect that whichever intermediate state they happen to see would still result in the same nothingness. Or was it a problem of locking? Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 21:25 ` Stefan Monnier @ 2008-06-20 22:46 ` Glenn Morris 0 siblings, 0 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-20 22:46 UTC (permalink / raw) To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel Stefan Monnier wrote: >> loaddefs and friends. In a parallel make, loaddefs etc could be >> changed while custom-deps/finder-data were trying to read them. > > BTW, why is that a problem? Since those files contain nothing useful > w.r.t the function that scans them, I'd expect that whichever > intermediate state they happen to see would still result in the > same nothingness. Apparently: http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00472.html To read a file emacs does a stat syscall followed by an open call. In the parallel make case it is possible that loaddefs.el gets deleted in between those 2 calls... ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 20:15 ` Glenn Morris 2008-06-20 21:25 ` Stefan Monnier @ 2008-06-21 7:10 ` Eli Zaretskii 2008-06-21 19:37 ` Glenn Morris 1 sibling, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-21 7:10 UTC (permalink / raw) To: Glenn Morris; +Cc: emacs-devel > From: Glenn Morris <rgm@gnu.org> > Cc: emacs-devel@gnu.org > Date: Fri, 20 Jun 2008 16:15:35 -0400 > > Since there is no useful information for custom-deps/finder-data in > loaddefs etc, I made custom-make-dependencies and > finder-compile-keywords-make-dist not scan these files any more (see > finder-no-scan-regexp etc). Thanks. It is now crystal clear that the dependency of these two targets on loaddefs.el can be removed. Btw, should we also add ldefs-boot.el to the list of files not to be scanned? ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-21 7:10 ` Eli Zaretskii @ 2008-06-21 19:37 ` Glenn Morris 0 siblings, 0 replies; 68+ messages in thread From: Glenn Morris @ 2008-06-21 19:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > Btw, should we also add ldefs-boot.el to the list of files not to be > scanned? It's not auto-generated, so scanning it would do no harm, but neither would it do any good, so yes, I added it. Thanks. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 14:23 ` Juanma Barranquero 2008-06-18 15:20 ` Stefan Monnier @ 2008-06-18 18:12 ` Eli Zaretskii 2008-06-18 18:18 ` Juanma Barranquero 1 sibling, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-18 18:12 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Wed, 18 Jun 2008 16:23:27 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: Glenn Morris <rgm@gnu.org>, Jason Rumney <jasonr@gnu.org>, > emacs-devel Mailinglist <emacs-devel@gnu.org> > > However, I'd like to hear from Eli before committing this, as it is > his code that I'm removing. I see nothing harmful in your changes (including the ones you posted in a follow-up), and have no special sentiments for my code. However, please test the result under `make -j 2 XMFLAGS="-j 2" bootstrap', to make sure they don't break parallel builds. And thanks for working on this. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 18:12 ` Eli Zaretskii @ 2008-06-18 18:18 ` Juanma Barranquero 2008-06-19 0:20 ` Miles Bader 2008-06-19 0:36 ` Juanma Barranquero 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-18 18:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Wed, Jun 18, 2008 at 20:12, Eli Zaretskii <eliz@gnu.org> wrote: > and have no special sentiments for my code. Shame on you, you're breaking its little ASCII heart by saying that... > However, > please test the result under `make -j 2 XMFLAGS="-j 2" bootstrap', to > make sure they don't break parallel builds. Aha, good idea. Will do (it'll take a while). Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 18:18 ` Juanma Barranquero @ 2008-06-19 0:20 ` Miles Bader 2008-06-19 0:36 ` Juanma Barranquero 1 sibling, 0 replies; 68+ messages in thread From: Miles Bader @ 2008-06-19 0:20 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Eli Zaretskii, emacs-devel "Juanma Barranquero" <lekktu@gmail.com> writes: >> and have no special sentiments for my code. > > Shame on you, you're breaking its little ASCII heart by saying that... </3 :-( -miles -- Opportunity, n. A favorable occasion for grasping a disappointment. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-18 18:18 ` Juanma Barranquero 2008-06-19 0:20 ` Miles Bader @ 2008-06-19 0:36 ` Juanma Barranquero 2008-06-19 3:15 ` Eli Zaretskii 1 sibling, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 0:36 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >> However, >> please test the result under `make -j 2 XMFLAGS="-j 2" bootstrap', to >> make sure they don't break parallel builds. > > Aha, good idea. Will do (it'll take a while). Well, I've tested it with parallel builds and, *apparently* it works OK. I say "apparently" because the parallel build needs sh, and the sh.exe I have is not in good speaking terms with the rest of the tools I use for building Emacs. So I wouldn't rule out that it has worked without anything particularly "parallel" going on. Could someone who regularly does parallel builds on Windows please try the patch? Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 0:36 ` Juanma Barranquero @ 2008-06-19 3:15 ` Eli Zaretskii 2008-06-19 8:23 ` Juanma Barranquero 0 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-19 3:15 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Thu, 19 Jun 2008 02:36:15 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > the parallel build needs sh Why do you think so? Unless I'm missing something, that's not true: "make -j" should work with cmd.exe as well. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 3:15 ` Eli Zaretskii @ 2008-06-19 8:23 ` Juanma Barranquero 2008-06-19 10:53 ` Juanma Barranquero 2008-06-19 19:00 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 8:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Thu, Jun 19, 2008 at 05:15, Eli Zaretskii <eliz@gnu.org> wrote: > Why do you think so? Unless I'm missing something, that's not true: > "make -j" should work with cmd.exe as well. I don't have the log (I deleted it), but I did a maintainer-clean followed by a bootstrap and I received messages that told clearly that -j needed sh.exe. Could be a thing of the make I use (the one in UnxUtils). Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 8:23 ` Juanma Barranquero @ 2008-06-19 10:53 ` Juanma Barranquero 2008-06-19 19:02 ` Eli Zaretskii 2008-06-19 19:00 ` Eli Zaretskii 1 sibling, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 10:53 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Thu, Jun 19, 2008 at 10:23, Juanma Barranquero <lekktu@gmail.com> wrote: > Could be a thing of the make I use (the one in UnxUtils). I've tried bootstrapping with an assortment of tools (including the make and sh from MSys, etc.) but I cannot get the parallel build to work, even without my patch. So I'd be grateful if someone could try it with a parallel build and report whether it works OK. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 10:53 ` Juanma Barranquero @ 2008-06-19 19:02 ` Eli Zaretskii 2008-06-19 22:44 ` Juanma Barranquero 0 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-19 19:02 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Thu, 19 Jun 2008 12:53:17 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Thu, Jun 19, 2008 at 10:23, Juanma Barranquero <lekktu@gmail.com> wrote: > > > Could be a thing of the make I use (the one in UnxUtils). > > I've tried bootstrapping with an assortment of tools (including the > make and sh from MSys, etc.) but I cannot get the parallel build to > work, even without my patch. How does it fail? Or is the failure that it doesn't run in parallel? If so, simply get the official distro of GNU Make 3.81 and build it with MinGW, it doesn't need anything except the compiler and Binutils to be built. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 19:02 ` Eli Zaretskii @ 2008-06-19 22:44 ` Juanma Barranquero 2008-06-20 8:45 ` Eli Zaretskii 0 siblings, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-19 22:44 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Thu, Jun 19, 2008 at 21:02, Eli Zaretskii <eliz@gnu.org> wrote: > How does it fail? Well, at the moment, using recent MinGW and MSYS, a parallel build (with or without sh.exe) literally crashes my laptop... Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 22:44 ` Juanma Barranquero @ 2008-06-20 8:45 ` Eli Zaretskii 2008-06-20 9:27 ` Juanma Barranquero 0 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 8:45 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 00:44:54 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Thu, Jun 19, 2008 at 21:02, Eli Zaretskii <eliz@gnu.org> wrote: > > > How does it fail? > > Well, at the moment, using recent MinGW and MSYS, a parallel build > (with or without sh.exe) literally crashes my laptop... At which step does it crash? Also, what exactly from MSYS do you use for the build? If you are not using Bash, then what else is needed from there? (I thought nothing was needed if cmd.exe is used as the shell.) ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 8:45 ` Eli Zaretskii @ 2008-06-20 9:27 ` Juanma Barranquero 2008-06-20 9:49 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 9:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 10:45, Eli Zaretskii <eliz@gnu.org> wrote: > At which step does it crash? Difficult to say, I don't have a log. However, I've been able to do a parallel build now on another computer (with my lisp/makefile.w32-in patches, BTW). I think the problems might be related to erroneously doing make -j 2 XMFLAGS="-j 2" bootstrap install instead of as two different steps make -j 2 XMFLAGS="-j 2" bootstrap make -j 2 XMFLAGS="-j 2" install but I won't be able to retry on the laptop until monday or so. > Also, what exactly from MSYS do you use for the build? If you are not > using Bash, then what else is needed from there? (I thought nothing > was needed if cmd.exe is used as the shell.) I never use bash as a shell, always cmd. But if sh.exe is in the path, the MSYS make tries to use it. I'm currently upgrading MSYS to "Technology Preview: MSYS-1.0.11", and will remove sh.exe from the path and see whether I can get a parallel build without bash. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:27 ` Juanma Barranquero @ 2008-06-20 9:49 ` Eli Zaretskii 2008-06-20 10:03 ` Jason Rumney 2008-06-20 9:50 ` Eli Zaretskii 2008-06-20 10:48 ` Eli Zaretskii 2 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 9:49 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 11:27:10 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > > Also, what exactly from MSYS do you use for the build? If you are not > > using Bash, then what else is needed from there? (I thought nothing > > was needed if cmd.exe is used as the shell.) > > I never use bash as a shell, always cmd. But if sh.exe is in the path, > the MSYS make tries to use it. That's true for the native Windows build of Make as well. When I want to test with cmd.exe, I rename sh.exe to something else to get it out of the way. (The alternative is to have "SHELL = cmd" in the Makefile, but I don't want to change them.) ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:49 ` Eli Zaretskii @ 2008-06-20 10:03 ` Jason Rumney 2008-06-20 10:19 ` Eli Zaretskii 0 siblings, 1 reply; 68+ messages in thread From: Jason Rumney @ 2008-06-20 10:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Juanma Barranquero, emacs-devel Eli Zaretskii wrote: > That's true for the native Windows build of Make as well. When I want > to test with cmd.exe, I rename sh.exe to something else to get it out > of the way. (The alternative is to have "SHELL = cmd" in the > Makefile, but I don't want to change them.) > You can also put that on the command line: make SHELL=cmd ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 10:03 ` Jason Rumney @ 2008-06-20 10:19 ` Eli Zaretskii 2008-06-20 10:37 ` Jason Rumney 0 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 10:19 UTC (permalink / raw) To: Jason Rumney; +Cc: lekktu, emacs-devel > Date: Fri, 20 Jun 2008 11:03:35 +0100 > From: Jason Rumney <jasonr@gnu.org> > CC: Juanma Barranquero <lekktu@gmail.com>, emacs-devel@gnu.org > > Eli Zaretskii wrote: > > That's true for the native Windows build of Make as well. When I want > > to test with cmd.exe, I rename sh.exe to something else to get it out > > of the way. (The alternative is to have "SHELL = cmd" in the > > Makefile, but I don't want to change them.) > > > > You can also put that on the command line: > > make SHELL=cmd Did you really tried that, with sh.exe on PATH, and if so, did it really work? I think this didn't work in the Windows port of the official release of Make 3.81 (I have it patched since then), that's why I didn't mention this in my mail. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 10:19 ` Eli Zaretskii @ 2008-06-20 10:37 ` Jason Rumney 0 siblings, 0 replies; 68+ messages in thread From: Jason Rumney @ 2008-06-20 10:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: lekktu, emacs-devel Eli Zaretskii wrote: > Did you really tried that, with sh.exe on PATH, and if so, did it > really work? I think this didn't work in the Windows port of the > official release of Make 3.81 (I have it patched since then), that's > why I didn't mention this in my mail. > It used to work for me. I don't have sh.exe in my path anymore to test if it still works though. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:27 ` Juanma Barranquero 2008-06-20 9:49 ` Eli Zaretskii @ 2008-06-20 9:50 ` Eli Zaretskii 2008-06-20 10:30 ` Juanma Barranquero 2008-06-20 10:48 ` Eli Zaretskii 2 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 9:50 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 11:27:10 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Fri, Jun 20, 2008 at 10:45, Eli Zaretskii <eliz@gnu.org> wrote: > > > At which step does it crash? > > Difficult to say, I don't have a log. However, I've been able to do a > parallel build now on another computer (with my lisp/makefile.w32-in > patches, BTW). I think the problems might be related to erroneously > doing > > make -j 2 XMFLAGS="-j 2" bootstrap install > > instead of as two different steps > > make -j 2 XMFLAGS="-j 2" bootstrap > make -j 2 XMFLAGS="-j 2" install I don't see why the former should crash, so it would be good to see a log. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:50 ` Eli Zaretskii @ 2008-06-20 10:30 ` Juanma Barranquero 0 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 10:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 11:50, Eli Zaretskii <eliz@gnu.org> wrote: > I don't see why the former should crash, so it would be good to see a > log. I'll try to get a log next week, though I'm dragging my feet at the idea of willingly inflicting a crash upon my Windows XP... Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 9:27 ` Juanma Barranquero 2008-06-20 9:49 ` Eli Zaretskii 2008-06-20 9:50 ` Eli Zaretskii @ 2008-06-20 10:48 ` Eli Zaretskii 2008-06-20 11:10 ` Juanma Barranquero 2 siblings, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 10:48 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 11:27:10 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > I'm currently upgrading MSYS to "Technology Preview: MSYS-1.0.11", and > will remove sh.exe from the path and see whether I can get a parallel > build without bash. It bootstrapped with "-j 2" for me, using sh.exe. So I think you can commit your changes. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 10:48 ` Eli Zaretskii @ 2008-06-20 11:10 ` Juanma Barranquero 2008-06-20 11:12 ` Juanma Barranquero 2008-06-20 12:02 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 11:10 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 12:48, Eli Zaretskii <eliz@gnu.org> wrote: > It bootstrapped with "-j 2" for me, using sh.exe. So I think you can > commit your changes. OK. I'll wait for the bootstrap I'm currently running with the MSYS technology preview, though. Two interesting points: C:\> make --help Usage: make [options] [target] ... Options: [... lots of options ...] --unix Run in UNIX mode (use sh.exe subshell). --win32 Run in Win32 mode (use Win32 subshell). And, when run with --win32, I can see messages like this: make - --win32 - --jobserver-fds=3,4 -j -j 2 -C ../lib-src cleanall make[1]: Entering directory `/c/emacs/trunk/lib-src' make[1]: warning: -jN forced in submake: disabling jobserver mode. so it seems that it is now trying to do the right thing wrt -j and submakes. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 11:10 ` Juanma Barranquero @ 2008-06-20 11:12 ` Juanma Barranquero 2008-06-20 12:02 ` Eli Zaretskii 1 sibling, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 11:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel > OK. s/\.$/, thanks for testing./; Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 11:10 ` Juanma Barranquero 2008-06-20 11:12 ` Juanma Barranquero @ 2008-06-20 12:02 ` Eli Zaretskii 2008-06-20 13:24 ` Juanma Barranquero 1 sibling, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 12:02 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 13:10:59 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Fri, Jun 20, 2008 at 12:48, Eli Zaretskii <eliz@gnu.org> wrote: > > > It bootstrapped with "-j 2" for me, using sh.exe. So I think you can > > commit your changes. > > OK. It's bootstrapping now with cmd.exe, and is looking fine so far. > C:\> make --help > Usage: make [options] [target] ... > Options: > [... lots of options ...] > --unix Run in UNIX mode (use sh.exe subshell). > --win32 Run in Win32 mode (use Win32 subshell). > > And, when run with --win32, I can see messages like this: > > make - --win32 - --jobserver-fds=3,4 -j -j 2 -C ../lib-src cleanall > make[1]: Entering directory `/c/emacs/trunk/lib-src' > make[1]: warning: -jN forced in submake: disabling jobserver mode. > > so it seems that it is now trying to do the right thing wrt -j and submakes. Yes, but. MSYS is actually a fork of Cygwin, and behaves very similar to it. Specifically, in this case it supports the jobserver method of running parallel jobs, which is not yet implemented in the native Windows build. So with MSYS Make, you don't need to use the XMFLAGS trick (although using it shouldn't hurt). ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 12:02 ` Eli Zaretskii @ 2008-06-20 13:24 ` Juanma Barranquero 2008-06-20 14:29 ` Eli Zaretskii 2008-06-20 15:07 ` Eli Zaretskii 0 siblings, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 13:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 14:02, Eli Zaretskii <eliz@gnu.org> wrote: > It's bootstrapping now with cmd.exe, and is looking fine so far. Could you please explain, if you have the time, the exact configuration you're using to build Emacs? (Which tools, versions, etc.) > Yes, but. MSYS is actually a fork of Cygwin, and behaves very similar > to it. Specifically, in this case it supports the jobserver method of > running parallel jobs, which is not yet implemented in the native > Windows build. So with MSYS Make, you don't need to use the XMFLAGS > trick (although using it shouldn't hurt). Well, I've been unable to bootstrap Emacs, parallel or not, using --win32 aniway. It does work, though, using --unix. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 13:24 ` Juanma Barranquero @ 2008-06-20 14:29 ` Eli Zaretskii 2008-06-20 15:06 ` Juanma Barranquero 2008-06-23 11:01 ` Juanma Barranquero 2008-06-20 15:07 ` Eli Zaretskii 1 sibling, 2 replies; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 14:29 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 15:24:21 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Fri, Jun 20, 2008 at 14:02, Eli Zaretskii <eliz@gnu.org> wrote: > > > It's bootstrapping now with cmd.exe, and is looking fine so far. > > Could you please explain, if you have the time, the exact > configuration you're using to build Emacs? (Which tools, versions, > etc.) D:\gnu\emacs>gcc --version gcc (GCC) 3.4.2 (mingw-special) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. D:\gnu\emacs>ld --version GNU ld version 2.15.91 20040904 Copyright 2002 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty. D:\usr\eli\data>sh -c "echo $ZSH_VERSION" 3.0.5-nt-beta-0.90 D:\gnu\emacs>"echo.exe" --version echo (GNU coreutils) 5.3.0 Written by FIXME unknown. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. D:\gnu\emacs>cp --version cp (GNU coreutils) 5.3.0 Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. D:\gnu\emacs>rm --version rm (GNU coreutils) 5.3.0 Written by Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering. Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. D:\gnu\emacs>make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for Windows32 I have MinGW runtime v3.14 and W32 API v3.11. Make is patched by me, so it's not stock 3.81 (but none of the patches is related to building Emacs, so it shouldn't matter). sh.exe is an old port of zsh by Amol Deshpande, which I patched to fix a few bad bugs. Unfortunately, it only compiles with a Microsoft compiler, I never had time to express its fork emulation in a way that GCC and ld will grok. To test a CMD build, I just rename sh.exe to something else, as I already wrote. I think that's it. If you need to know something else, please ask. > > Yes, but. MSYS is actually a fork of Cygwin, and behaves very similar > > to it. Specifically, in this case it supports the jobserver method of > > running parallel jobs, which is not yet implemented in the native > > Windows build. So with MSYS Make, you don't need to use the XMFLAGS > > trick (although using it shouldn't hurt). > > Well, I've been unable to bootstrap Emacs, parallel or not, using > --win32 aniway. It does work, though, using --unix. You shouldn't need to use --win32. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 14:29 ` Eli Zaretskii @ 2008-06-20 15:06 ` Juanma Barranquero 2008-06-20 15:36 ` Eli Zaretskii 2008-06-21 3:40 ` dhruva 2008-06-23 11:01 ` Juanma Barranquero 1 sibling, 2 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 15:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 16:29, Eli Zaretskii <eliz@gnu.org> wrote: > D:\gnu\emacs>gcc --version > gcc (GCC) 3.4.2 (mingw-special) > D:\gnu\emacs>ld --version > GNU ld version 2.15.91 20040904 > I have MinGW runtime v3.14 and W32 API v3.11. I use a newer GCC and ld, which shouldn't be a problem, and identical runtime and API. > I think that's it. If you need to know something else, please ask. I'll try to reproduce that setup (I'd like to get the parallel builds working, if only to be able to test it). Do you compile the coreutils (echo, cp and rm) from sources, or are they from some distribution (Gnuwin32, MSYS, etc.)? > You shouldn't need to use --win32. I wanted to know if using --win32 would make renaming sh.exe unnecessary. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 15:06 ` Juanma Barranquero @ 2008-06-20 15:36 ` Eli Zaretskii 2008-06-21 3:40 ` dhruva 1 sibling, 0 replies; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 15:36 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 17:06:56 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > Do you compile the coreutils (echo, cp and rm) from sources, or are > they from some distribution (Gnuwin32, MSYS, etc.)? All of them are binaries from Gnuwin32 distribution. I made my own port of `ls' (because the one from the Gnuwin32 distro is unbelievably slow, due to a misfeature in the ported glibc they use), but `ls' is not used for building Emacs. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 15:06 ` Juanma Barranquero 2008-06-20 15:36 ` Eli Zaretskii @ 2008-06-21 3:40 ` dhruva 1 sibling, 0 replies; 68+ messages in thread From: dhruva @ 2008-06-21 3:40 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Eli Zaretskii, emacs-devel On Fri, Jun 20, 2008 at 8:36 PM, Juanma Barranquero <lekktu@gmail.com> wrote: > I wanted to know if using --win32 would make renaming sh.exe unnecessary. Jumping in late as I was not following the thread. I use MinGW build and have the MSYS sh.exe in the path. The way I overcome the usage of sh.exe is by issuing 'make SHELL=cmd'. Initially, I would rename the sh.exe to prevent it from being used. I never had any issues but have not checked the parallel build. -dhruva -- Contents reflect my personal views only! ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 14:29 ` Eli Zaretskii 2008-06-20 15:06 ` Juanma Barranquero @ 2008-06-23 11:01 ` Juanma Barranquero 2008-06-23 18:01 ` Eli Zaretskii 1 sibling, 1 reply; 68+ messages in thread From: Juanma Barranquero @ 2008-06-23 11:01 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 16:29, Eli Zaretskii <eliz@gnu.org> wrote: > I think that's it. If you need to know something else, please ask. Using the GnuWin32 coreutils and make, I've been able to do a parallel CMD build in two computers. Thanks. In my laptop I still get crashes, even in non-parallel bootstraps, during compilation of .el files. I'm starting to suspect a hardware error, most likely a bad RAM chip. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-23 11:01 ` Juanma Barranquero @ 2008-06-23 18:01 ` Eli Zaretskii 0 siblings, 0 replies; 68+ messages in thread From: Eli Zaretskii @ 2008-06-23 18:01 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Mon, 23 Jun 2008 13:01:42 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Fri, Jun 20, 2008 at 16:29, Eli Zaretskii <eliz@gnu.org> wrote: > > > I think that's it. If you need to know something else, please ask. > > Using the GnuWin32 coreutils and make, I've been able to do a parallel > CMD build in two computers. Great! (Yes, it's not easy to find a good-enough quality toolset on Windows, since many ports are really broken in subtle ways. Even some GnuWin32 ports are broken, but fortunately not Coreutils.) ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 13:24 ` Juanma Barranquero 2008-06-20 14:29 ` Eli Zaretskii @ 2008-06-20 15:07 ` Eli Zaretskii 2008-06-20 15:19 ` Juanma Barranquero 1 sibling, 1 reply; 68+ messages in thread From: Eli Zaretskii @ 2008-06-20 15:07 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Fri, 20 Jun 2008 15:24:21 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > On Fri, Jun 20, 2008 at 14:02, Eli Zaretskii <eliz@gnu.org> wrote: > > > It's bootstrapping now with cmd.exe, and is looking fine so far. It succeeded, btw. So I think you definitely should commit the changes. Thanks. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-20 15:07 ` Eli Zaretskii @ 2008-06-20 15:19 ` Juanma Barranquero 0 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-20 15:19 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Fri, Jun 20, 2008 at 17:07, Eli Zaretskii <eliz@gnu.org> wrote: > It succeeded, btw. So I think you definitely should commit the > changes. Committed. Thanks for testing. Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-19 8:23 ` Juanma Barranquero 2008-06-19 10:53 ` Juanma Barranquero @ 2008-06-19 19:00 ` Eli Zaretskii 1 sibling, 0 replies; 68+ messages in thread From: Eli Zaretskii @ 2008-06-19 19:00 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel > Date: Thu, 19 Jun 2008 10:23:20 +0200 > From: "Juanma Barranquero" <lekktu@gmail.com> > Cc: emacs-devel@gnu.org > > I don't have the log (I deleted it), but I did a maintainer-clean > followed by a bootstrap and I received messages that told clearly that > -j needed sh.exe. > > Could be a thing of the make I use (the one in UnxUtils). That's it: it's probably a very old version of Make. Make 3.81 supports -j with any shell. It also builds out of the box with MinGW, so you don't need to keep using the one from UnxUtils. I can even send you a couple of patches that fix some problems in v3.81. ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 16:38 ` Glenn Morris 2008-06-17 17:43 ` Juanma Barranquero @ 2008-06-17 18:02 ` Stefan Monnier 1 sibling, 0 replies; 68+ messages in thread From: Stefan Monnier @ 2008-06-17 18:02 UTC (permalink / raw) To: Glenn Morris; +Cc: Juanma Barranquero, Jason Rumney, emacs-devel Mailinglist >>> Shouldn't make maintainer-clean delete loaddefs.el? >> It does. But bootstrapping copies ldefs-boot.el over it: > Makefile.in does not do this any more. Can you make the w32 makefile > behave the same way? Yes, please, Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 11:57 bootstrap not regenerating some *loaddefs Juanma Barranquero 2008-06-17 15:13 ` Jason Rumney @ 2008-06-17 17:34 ` Stefan Monnier 2008-06-17 17:45 ` Juanma Barranquero 1 sibling, 1 reply; 68+ messages in thread From: Stefan Monnier @ 2008-06-17 17:34 UTC (permalink / raw) To: Juanma Barranquero; +Cc: emacs-devel Mailinglist > AFAICS, the reason is that maintainer-clean deletes these files, but > bootstrap does not regenerate them it if ldefs-boot.el happens to be > up-to-date with respect to their sources. And, after the bootstrap, > cd lisp > make autoloads > doesn't either. The only answer is deleting loaddefs.el and doing > "make autoloads recompile" again. "make maintainer-clean" should remove lisp/loaddefs.el as well. Doesn't it? Or is it insufficient? Stefan ^ permalink raw reply [flat|nested] 68+ messages in thread
* Re: bootstrap not regenerating some *loaddefs 2008-06-17 17:34 ` Stefan Monnier @ 2008-06-17 17:45 ` Juanma Barranquero 0 siblings, 0 replies; 68+ messages in thread From: Juanma Barranquero @ 2008-06-17 17:45 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel Mailinglist On Tue, Jun 17, 2008 at 19:34, Stefan Monnier <monnier@iro.umontreal.ca> wrote: > "make maintainer-clean" should remove lisp/loaddefs.el as well. > Doesn't it? Or is it insufficient? It is currently insufficient, because during bootstrap (on Windows, at least) there's always a loaddefs.el, which is a copy of ldefs-boot.el. If updating that loaddefs.el does not need to update calc's autoloads, calc/calc-loaddefs.el is not generated (AFAICS). Juanma ^ permalink raw reply [flat|nested] 68+ messages in thread
end of thread, other threads:[~2008-06-23 18:01 UTC | newest] Thread overview: 68+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-06-17 11:57 bootstrap not regenerating some *loaddefs Juanma Barranquero 2008-06-17 15:13 ` Jason Rumney 2008-06-17 16:19 ` Juanma Barranquero 2008-06-17 16:38 ` Glenn Morris 2008-06-17 17:43 ` Juanma Barranquero 2008-06-17 17:46 ` Glenn Morris 2008-06-17 17:55 ` Juanma Barranquero 2008-06-17 18:05 ` Juanma Barranquero 2008-06-17 19:01 ` Juanma Barranquero 2008-06-17 21:05 ` Stefan Monnier 2008-06-18 14:23 ` Juanma Barranquero 2008-06-18 15:20 ` Stefan Monnier 2008-06-18 15:51 ` Juanma Barranquero 2008-06-18 16:47 ` Glenn Morris 2008-06-18 16:59 ` Juanma Barranquero 2008-06-18 18:18 ` Eli Zaretskii 2008-06-19 6:23 ` Glenn Morris 2008-06-19 8:28 ` Juanma Barranquero 2008-06-19 19:13 ` Glenn Morris 2008-06-19 19:38 ` Juanma Barranquero 2008-06-19 20:51 ` Stefan Monnier 2008-06-20 4:17 ` Glenn Morris 2008-06-20 7:49 ` Juanma Barranquero 2008-06-20 18:13 ` Glenn Morris 2008-06-20 7:54 ` Jason Rumney 2008-06-20 7:58 ` Juanma Barranquero 2008-06-20 9:16 ` Eli Zaretskii 2008-06-20 17:46 ` Glenn Morris 2008-06-20 19:43 ` Eli Zaretskii 2008-06-20 20:15 ` Glenn Morris 2008-06-20 21:25 ` Stefan Monnier 2008-06-20 22:46 ` Glenn Morris 2008-06-21 7:10 ` Eli Zaretskii 2008-06-21 19:37 ` Glenn Morris 2008-06-18 18:12 ` Eli Zaretskii 2008-06-18 18:18 ` Juanma Barranquero 2008-06-19 0:20 ` Miles Bader 2008-06-19 0:36 ` Juanma Barranquero 2008-06-19 3:15 ` Eli Zaretskii 2008-06-19 8:23 ` Juanma Barranquero 2008-06-19 10:53 ` Juanma Barranquero 2008-06-19 19:02 ` Eli Zaretskii 2008-06-19 22:44 ` Juanma Barranquero 2008-06-20 8:45 ` Eli Zaretskii 2008-06-20 9:27 ` Juanma Barranquero 2008-06-20 9:49 ` Eli Zaretskii 2008-06-20 10:03 ` Jason Rumney 2008-06-20 10:19 ` Eli Zaretskii 2008-06-20 10:37 ` Jason Rumney 2008-06-20 9:50 ` Eli Zaretskii 2008-06-20 10:30 ` Juanma Barranquero 2008-06-20 10:48 ` Eli Zaretskii 2008-06-20 11:10 ` Juanma Barranquero 2008-06-20 11:12 ` Juanma Barranquero 2008-06-20 12:02 ` Eli Zaretskii 2008-06-20 13:24 ` Juanma Barranquero 2008-06-20 14:29 ` Eli Zaretskii 2008-06-20 15:06 ` Juanma Barranquero 2008-06-20 15:36 ` Eli Zaretskii 2008-06-21 3:40 ` dhruva 2008-06-23 11:01 ` Juanma Barranquero 2008-06-23 18:01 ` Eli Zaretskii 2008-06-20 15:07 ` Eli Zaretskii 2008-06-20 15:19 ` Juanma Barranquero 2008-06-19 19:00 ` Eli Zaretskii 2008-06-17 18:02 ` Stefan Monnier 2008-06-17 17:34 ` Stefan Monnier 2008-06-17 17:45 ` Juanma Barranquero
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).