Issue #28573: Avoid setting up env too many times during build
This commit is contained in:
parent
6bf87d3fce
commit
4468bed2fc
|
@ -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%^
|
||||||
|
|
|
@ -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
|
||||||
|
@ -143,37 +141,18 @@ if not "%CERTNAME%" EQU "" (
|
||||||
)
|
)
|
||||||
|
|
||||||
if not "%SKIPBUILD%" EQU "1" (
|
if not "%SKIPBUILD%" EQU "1" (
|
||||||
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -d -t %TARGET% %CERTOPTS%
|
if "%PGO%" EQU "" (
|
||||||
|
set PGOOPTS=
|
||||||
|
) else (
|
||||||
|
set PGOOPTS=--pgo --pgojob "%PGO%"
|
||||||
|
)
|
||||||
|
@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
|
@rem build.bat turns echo back on, so we disable it again
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
if "%PGO%" EQU "" (
|
|
||||||
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -t %TARGET% %CERTOPTS%
|
|
||||||
) else (
|
|
||||||
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -c PGInstrument -t %TARGET% %CERTOPTS%
|
|
||||||
@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 if "%PGO%" EQU "pybench" (
|
|
||||||
"%BUILD%python.exe" "%PCBUILD%..\Tools\pybench\pybench.py"
|
|
||||||
) else (
|
|
||||||
"%BUILD%python.exe" %PGO%
|
|
||||||
)
|
|
||||||
|
|
||||||
@call "%PCBUILD%build.bat" -e -p %BUILD_PLAT% -c PGUpdate -t Build %CERTOPTS%
|
|
||||||
)
|
|
||||||
@if errorlevel 1 exit /B
|
|
||||||
@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
|
||||||
|
@ -222,10 +201,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
|
||||||
|
@ -233,13 +211,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 pybench pybench script
|
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue