From: Eli Zaretskii Date: Tue, 26 Jun 2012 16:57:54 +0000 (+0300) Subject: Fix parallel bootstrap on MS-Windows in lib/ and lisp/. X-Git-Tag: emacs-24.2.90~1199^2~339 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cc06e7e7107b47250ad2a91817932b8079f4bc6e;p=emacs.git Fix parallel bootstrap on MS-Windows in lib/ and lisp/. lib/makefile.w32-in ($(GNULIBOBJS)): Depend on stamp_BLD. This replaces separate dependency for each object file, which required the same object file to be mentioned twice, causing failures in parallel builds. lisp/makefile.w32-in (compile, compile-always): Depend on update-subdirs, not on subdirs.el. Otherwise, several different sub-targets of 'bootstrap' running in parallel could simultaneously write to subdirs.el, producing a garbled file. --- diff --git a/ChangeLog b/ChangeLog index 5e30b570922..0a2fb8b04db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-06-26 Eli Zaretskii + + * lib/makefile.w32-in ($(GNULIBOBJS)): Depend on stamp_BLD. This + replaces separate dependency for each object file, which required + the same object file to be mentioned twice, causing failures in + parallel builds. + 2012-06-26 Paul Eggert Clean out last vestiges of the old HAVE_CONFIG_H stuff. diff --git a/lib/makefile.w32-in b/lib/makefile.w32-in index 92fd7a81848..78a0de0a0ef 100644 --- a/lib/makefile.w32-in +++ b/lib/makefile.w32-in @@ -183,10 +183,7 @@ $(BLD)/filemode.$(O) : \ # The following dependencies are for supporting parallel builds, where # we must make sure $(BLD) exists before any compilation starts. # -$(BLD)/dtoastr.$(O) $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O): stamp_BLD -$(BLD)/strftime.$(O) $(BLD)/time_r.$(O) $(BLD)/md5.$(O): stamp_BLD -$(BLD)/sha1.$(O) $(BLD)/sha256.$(O) $(BLD)/sha512.$(O): stamp_BLD -$(BLD)/filemode.$(O): stamp_BLD +$(GNULIBOBJS): stamp_BLD # # Headers we would preprocess if we could. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 701dae6c4ef..144446a0d02 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2012-06-26 Eli Zaretskii + + * makefile.w32-in (compile, compile-always): Depend on + update-subdirs, not on subdirs.el. Otherwise, several different + sub-targets of 'bootstrap' running in parallel could + simultaneously write to subdirs.el, producing a garbled file. + 2012-06-26 Sam Steingold * files.el (file-name-base): New convenience function. diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 91a25b7c071..0c021cec779 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -311,7 +311,7 @@ TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsf # compiled find the right files. # Need separate version for sh and native cmd.exe -compile: $(lisp)/subdirs.el compile-$(SHELLTYPE) doit +compile: update-subdirs compile-$(SHELLTYPE) doit compile-CMD: autoloads # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g @@ -340,7 +340,7 @@ compile-SH: autoloads # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. -compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit +compile-always: update-subdirs compile-always-$(SHELLTYPE) doit compile-always-CMD: # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g