Issue #28573: Avoid setting up env too many times during build

This commit is contained in:
Steve Dower 2016-11-14 16:15:39 -08:00
commit e044dfa22b
2 changed files with 10 additions and 29 deletions

View File

@ -120,9 +120,9 @@ if "%do_pgo%"=="true" (
@echo off @echo off
call :Kill call :Kill
set conf=PGUpdate set conf=PGUpdate
set target=Build
) )
goto Build goto Build
:Kill :Kill
echo on echo on
msbuild "%dir%\pythoncore.vcxproj" /t:KillPython %verbose%^ msbuild "%dir%\pythoncore.vcxproj" /t:KillPython %verbose%^

View File

@ -35,7 +35,7 @@ set BUILDX86=
set BUILDX64= set BUILDX64=
set TARGET=Rebuild set TARGET=Rebuild
set TESTTARGETDIR= set TESTTARGETDIR=
set PGO=default set PGO=-m test -q --pgo
set BUILDNUGET=1 set BUILDNUGET=1
set BUILDZIP=1 set BUILDZIP=1
@ -109,14 +109,12 @@ exit /B 0
@echo off @echo off
if "%1" EQU "x86" ( if "%1" EQU "x86" (
call "%PCBUILD%env.bat" x86
set PGO= set PGO=
set BUILD=%PCBUILD%win32\ set BUILD=%PCBUILD%win32\
set BUILD_PLAT=Win32 set BUILD_PLAT=Win32
set OUTDIR_PLAT=win32 set OUTDIR_PLAT=win32
set OBJDIR_PLAT=x86 set OBJDIR_PLAT=x86
) else ( ) else (
call "%PCBUILD%env.bat" amd64
set BUILD=%PCBUILD%amd64\ set BUILD=%PCBUILD%amd64\
set PGO=%~2 set PGO=%~2
set BUILD_PLAT=x64 set BUILD_PLAT=x64
@ -149,29 +147,17 @@ if not "%SKIPBUILD%" EQU "1" (
@echo off @echo off
if "%PGO%" EQU "" ( if "%PGO%" EQU "" (
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %CERTOPTS% set PGOOPTS=
) else ( ) else (
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -c PGInstrument -t %TARGET% %CERTOPTS% set PGOOPTS=--pgo --pgojob "%PGO%"
@if errorlevel 1 exit /B
@del "%BUILD%*.pgc"
if "%PGO%" EQU "default" (
"%BUILD%python.exe" -m test -q --pgo
) else if "%PGO%" EQU "default2" (
"%BUILD%python.exe" -m test -r -q --pgo
"%BUILD%python.exe" -m test -r -q --pgo
) else if "%PGO%" EQU "default10" (
for /L %%i in (0, 1, 9) do "%BUILD%python.exe" -m test -q -r --pgo
) else (
"%BUILD%python.exe" %PGO%
)
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -c PGUpdate -t Build %CERTOPTS%
) )
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %CERTOPTS% %PGOOPTS%
@if errorlevel 1 exit /B @if errorlevel 1 exit /B
@rem build.bat turns echo back on, so we disable it again
@echo off @echo off
) )
call "%PCBUILD%env.bat"
if "%OUTDIR_PLAT%" EQU "win32" ( if "%OUTDIR_PLAT%" EQU "win32" (
msbuild "%D%launcher\launcher.wixproj" /p:Platform=x86 %CERTOPTS% /p:ReleaseUri=%RELEASE_URI% msbuild "%D%launcher\launcher.wixproj" /p:Platform=x86 %CERTOPTS% /p:ReleaseUri=%RELEASE_URI%
if errorlevel 1 exit /B if errorlevel 1 exit /B
@ -220,10 +206,9 @@ echo --build (-b) Incrementally build Python rather than rebuilding
echo --skip-build (-B) Do not build Python (just do the installers) echo --skip-build (-B) Do not build Python (just do the installers)
echo --skip-doc (-D) Do not build documentation echo --skip-doc (-D) Do not build documentation
echo --pgo Specify PGO command for x64 installers echo --pgo Specify PGO command for x64 installers
echo --skip-pgo Build x64 installers using PGO echo --skip-pgo Build x64 installers without using PGO
echo --skip-nuget Do not build Nuget packages echo --skip-nuget Do not build Nuget packages
echo --skip-zip Do not build embeddable package echo --skip-zip Do not build embeddable package
echo --pgo Build x64 installers using PGO
echo --download Specify the full download URL for MSIs echo --download Specify the full download URL for MSIs
echo --test Specify the test directory to run the installer tests echo --test Specify the test directory to run the installer tests
echo -h Display this help information echo -h Display this help information
@ -231,12 +216,8 @@ echo.
echo If no architecture is specified, all architectures will be built. echo If no architecture is specified, all architectures will be built.
echo If --test is not specified, the installer tests are not run. echo If --test is not specified, the installer tests are not run.
echo. echo.
echo For the --pgo option, any Python command line can be used as well as the echo For the --pgo option, any Python command line can be used, or 'default' to
echo following shortcuts: echo use the default task (-m test --pgo).
echo Shortcut Description
echo default Test suite with --pgo
echo default2 2x test suite with --pgo and randomized test order
echo default10 10x test suite with --pgo and randomized test order
echo. echo.
echo The following substitutions will be applied to the download URL: echo The following substitutions will be applied to the download URL:
echo Variable Description Example echo Variable Description Example