summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2015-11-04 22:34:54 -0500
committerSteve Hay <steve.m.hay@googlemail.com>2015-11-05 08:27:56 +0000
commite598d4db5a36150a31a4fd4c97f8feff6cc6bf65 (patch)
tree7a98817ef2d948c92b097d10f21b971cbd28ee13 /win32
parenta4a12576beffb0a87af8e541b0cbe0b9e1d10c9f (diff)
downloadperl-e598d4db5a36150a31a4fd4c97f8feff6cc6bf65.tar.gz
re-parallelize Win32 build after Unicode::Normalize got XS
commit 57dca39807 serialized the 1st and 3rd longest targets (Extensions and UNIDATAFILES aka mktables) together after commit c6b7cc2176 which upgraded Unicode::Normalize, and Unicode::Normalize went from PP->XS, and the XS version requires unicore/CombiningClass.pl in cpan/Unicode-Normalize/mkheader during U::N's building. The serialization added about 32 second to a "dmake -P8 all" on a 8 core machine. Fix this by spltting off U::N from Extensions and put it in its own target. Making Extensions, the longest target slightly shorter by removing 1 module from its workload is another plus. See perl #126564 for time savings details. [Committer filled in RT ticket number in commit message.]
Diffstat (limited to 'win32')
-rw-r--r--win32/makefile.mk13
1 files changed, 8 insertions, 5 deletions
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 5bdba0ab35..a6f46a3bf9 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -1064,7 +1064,7 @@ CFG_VARS = \
# Top targets
#
-all : CHECKDMAKE rebasePE $(UNIDATAFILES) Extensions_nonxs $(PERLSTATIC)
+all : CHECKDMAKE rebasePE Extensions_nonxs $(PERLSTATIC)
..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
@@ -1457,8 +1457,11 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
# DynaLoader.pm, so this will have to do
#most of deps of this target are in DYNALOADER and therefore omitted here
-Extensions : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
- $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
+Extensions : $(PERLDEP) $(DYNALOADER) $(GLOBEXE)
+ $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic !Unicode/Normalize
+
+Extensions_normalize : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
+ $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +Unicode/Normalize
Extensions_reonly : $(PERLDEP) $(DYNALOADER)
$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
@@ -1484,9 +1487,9 @@ Extensions_realclean :
# be running in parallel like UNIDATAFILES, this target a placeholder for the
# future
.IF "$(BUILD_STATIC)"=="define"
-rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(GLOBEXE) $(PERLEXESTATIC)
+rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE) $(GLOBEXE) $(PERLEXESTATIC)
.ELSE
-rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(GLOBEXE)
+rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE) $(GLOBEXE)
.ENDIF
$(NOOP)