summaryrefslogtreecommitdiff
path: root/PCbuild/build_pgo.bat
diff options
context:
space:
mode:
Diffstat (limited to 'PCbuild/build_pgo.bat')
-rw-r--r--PCbuild/build_pgo.bat37
1 files changed, 22 insertions, 15 deletions
diff --git a/PCbuild/build_pgo.bat b/PCbuild/build_pgo.bat
index d7e4e8bdb7..79ec2670b0 100644
--- a/PCbuild/build_pgo.bat
+++ b/PCbuild/build_pgo.bat
@@ -7,14 +7,16 @@ rem building the PGUpdate configuration while developing.
setlocal
set platf=Win32
+set parallel=/m
+set dir=%~dp0
rem use the performance testsuite. This is quick and simple
-set job1=..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
-set path1=..\tools\pybench
+set job1="%dir%..\tools\pybench\pybench.py" -n 1 -C 1 --with-gc
+set path1="%dir%..\tools\pybench"
rem or the whole testsuite for more thorough testing
-set job2=..\lib\test\regrtest.py
-set path2=..\lib
+set job2="%dir%..\lib\test\regrtest.py"
+set path2="%dir%..\lib"
set job=%job1%
set clrpath=%path1%
@@ -22,20 +24,25 @@ set clrpath=%path1%
:CheckOpts
if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
if "%1"=="-2" (set job=%job2%) & (set clrpath=%path2%) & shift & goto CheckOpts
+if "%1"=="-M" (set parallel=) & shift & goto CheckOpts
+
+
+rem We cannot cross compile PGO builds, as the optimization needs to be run natively
+set vs_platf=x86
+set PGO=%dir%win32-pgo
+
+if "%platf%"=="x64" (set vs_platf=amd64) & (set PGO=%dir%amd64-pgo)
+rem Setup the environment
+call "%dir%env.bat" %vs_platf%
-set PGI=%platf%-pgi
-set PGO=%platf%-pgo
-@echo on
rem build the instrumented version
-call build -p %platf% -c PGInstrument
+msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGInstrument /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
rem remove .pyc files, .pgc files and execute the job
-%PGI%\python.exe rmpyc.py %clrpath%
-del %PGI%\*.pgc
-%PGI%\python.exe %job%
-
-rem finally build the optimized version
-if exist %PGO% del /s /q %PGO%
-call build -p %platf% -c PGUpdate
+"%PGO%\python.exe" "%dir%rmpyc.py" %clrpath%
+del "%PGO%\*.pgc"
+"%PGO%\python.exe" %job%
+rem build optimized version
+msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGUpdate /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9