From cb09dcacab59fd1b19346e73ee85318b18c16519 Mon Sep 17 00:00:00 2001 From: Zachary Ware Date: Thu, 31 Jul 2014 23:48:45 -0500 Subject: [PATCH] Issue #21907: Further improvments to build_pgo.bat. Patch by Ingolf Becker. --- Misc/ACKS | 1 + PCbuild/build_pgo.bat | 35 +++++++++++++++++++++-------------- PCbuild/pginstrument.props | 2 +- 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Misc/ACKS b/Misc/ACKS index 07b0647a839..dfe7c5f2004 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -98,6 +98,7 @@ Mike Bayer Samuel L. Bayer Donald Beaudry David Beazley +Ingolf Becker Neal Becker Robin Becker Torsten Becker diff --git a/PCbuild/build_pgo.bat b/PCbuild/build_pgo.bat index 6ead19a3de5..f5135836027 100644 --- a/PCbuild/build_pgo.bat +++ b/PCbuild/build_pgo.bat @@ -7,14 +7,15 @@ rem building the PGUpdate configuration while developing. setlocal set platf=Win32 +set dir=%~dp0 rem use the performance testsuite. This is quick and simple -set job1=%~dp0..\tools\pybench\pybench.py -n 1 -C 1 --with-gc -set path1=%~dp0..\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=%~dp0..\lib\test\regrtest.py -set path2=%~dp0..\lib +set job2="%dir%..\lib\test\regrtest.py" +set path2="%dir%..\lib" set job=%job1% set clrpath=%path1% @@ -23,19 +24,25 @@ set clrpath=%path1% if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts if "%1"=="-2" (set job=%job2%) & (set clrpath=%path2%) & shift & goto CheckOpts -set PGI=%platf%-pgi -set PGO=%platf%-pgo +set PGI=%dir%%platf%-pgi +set PGO=%dir%%platf%-pgo + +rem We cannot cross compile PGO builds, as the optimization needs to be run natively +set vs_platf=x86 +if "%platf%"=="x64" (set vs_platf=amd64) +rem Setup the environment +call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" %vs_platf% -@echo on rem build the instrumented version -call build -p %platf% -c PGInstrument +msbuild "%dir%pcbuild.sln" /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%" +"%PGI%\python.exe" "%dir%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 +rem clean +if exist "%PGO%" del /s /q "%PGO%" +rem build optimized version +msbuild "%dir%pcbuild.sln" /t:Build /p:Configuration=PGUpdate /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/PCbuild/pginstrument.props b/PCbuild/pginstrument.props index 5584995d200..22fac2e7726 100644 --- a/PCbuild/pginstrument.props +++ b/PCbuild/pginstrument.props @@ -1,7 +1,7 @@  - $(SolutionDir)$(Platform)-pgi\ + $(SolutionDir)$(Platform)-pgi <_ProjectFileVersion>10.0.30319.1