From eb840d4ab69d8844753dfefe934e921ba27e0f91 Mon Sep 17 00:00:00 2001 From: Daniel Dragan Date: Wed, 4 Nov 2015 17:28:06 -0500 Subject: [PATCH] remove useless build product /win32/config.w32 CFGSH_TMPL (config.gc or config.vc) is not written to by config_sh.PL, so there is no need to make a copy of it, this reduces 1 target node out of dmake so there are less targets to traverse for dep checking, this also fixes an "dmake -n" schedule irregularity where "copy $(CFGSH_TMPL) config.w32" was scheduled (for serial) as the very first recipie to run by dmake for a "dmake -n Extensions" but a recipie in the middle of the procs to launch for "dmake -n Extensions_nonxs". This schedule irregularity might be causing delays in finding parallel work to do. Also arrange ..\config.sh target's deps from "on disk" to "build product" order, so the left side dep nodes get marked "completed" ASAP in the graph. --- C:\p523\src\win32\xs.txt +++ C:\p523\src\win32\nonxs.txt @@ -1,3 +1,4 @@ +copy config.vc config.w32 if not exist ".\mini" mkdir ".\mini" if exist config.h del /f config.h copy config_H.vc config.h @@ -141,20 +142,11 @@ @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\mk31 if exist ..\miniperl.exe.manifest mt -nologo -manifest **CUT** ..\miniperl.exe -I..\lib -f ..\write_buildcustomize.pl .. -copy config.vc config.w32 ..\miniperl.exe -I..\lib config_sh.PL --cfgsh-option-file \ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\mk32 config.w32 > ..\config.sh ..\miniperl.exe -I..\lib ..\configpm --chdir=.. xcopy /f /r /i /d /y config.h ..\lib\CORE\*.* ..\miniperl.exe -I..\lib config_h.PL "ARCHPREFIX=" [Committer indented above diff to allow "git am" to apply the patch.] --- win32/makefile.mk | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/win32/makefile.mk b/win32/makefile.mk index a6f46a3..dece68a 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -1093,8 +1093,6 @@ $(GLOBEXE) : perlglob.c $(LIBFILES) && $(EMBED_EXE_MANI) .ENDIF -config.w32 : $(CFGSH_TMPL) - copy $(CFGSH_TMPL) config.w32 ..\git_version.h : $(HAVEMINIPERL) ..\make_patchnum.pl cd .. && miniperl -Ilib make_patchnum.pl @@ -1102,9 +1100,9 @@ config.w32 : $(CFGSH_TMPL) # make sure that we recompile perl.c if the git version changes ..\perl$(o) : ..\git_version.h -..\config.sh : config.w32 $(HAVEMINIPERL) config_sh.PL FindExt.pm +..\config.sh : $(CFGSH_TMPL) config_sh.PL FindExt.pm $(HAVEMINIPERL) $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file \ - $(mktmp $(CFG_VARS)) config.w32 > ..\config.sh + $(mktmp $(CFG_VARS)) $(CFGSH_TMPL) > ..\config.sh # This target is for when changes to the main config.sh happen. # Edit config.gc, then make perl using GCC in a minimal configuration (i.e. @@ -1754,7 +1752,6 @@ _clean : -@erase perlglob$(o) -@erase perlmain$(o) -@erase perlmainst$(o) - -@erase config.w32 -@erase /f config.h -@erase /f ..\git_version.h -@erase $(GLOBEXE) -- 1.8.3.1