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.
This commit is contained in:
Eli Zaretskii 2012-06-26 19:57:54 +03:00
parent d2c32364fd
commit cc06e7e710
4 changed files with 17 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2012-06-26 Eli Zaretskii <eliz@gnu.org>
* 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 <eggert@cs.ucla.edu>
Clean out last vestiges of the old HAVE_CONFIG_H stuff.

View file

@ -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.

View file

@ -1,3 +1,10 @@
2012-06-26 Eli Zaretskii <eliz@gnu.org>
* 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 <sds@gnu.org>
* files.el (file-name-base): New convenience function.

View file

@ -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