diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-08-01 04:48:45 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-08-01 04:48:45 (GMT) |
commit | cb09dcacab59fd1b19346e73ee85318b18c16519 (patch) | |
tree | e1561ec5de57bbced224f3ba9427c750a740b635 /PCbuild | |
parent | 0b87831de940a5682300d3857d47c5713be4c8a6 (diff) | |
download | cpython-cb09dcacab59fd1b19346e73ee85318b18c16519.zip cpython-cb09dcacab59fd1b19346e73ee85318b18c16519.tar.gz cpython-cb09dcacab59fd1b19346e73ee85318b18c16519.tar.bz2 |
Issue #21907: Further improvments to build_pgo.bat. Patch by Ingolf Becker.
Diffstat (limited to 'PCbuild')
-rw-r--r-- | PCbuild/build_pgo.bat | 35 | ||||
-rw-r--r-- | PCbuild/pginstrument.props | 2 |
2 files changed, 22 insertions, 15 deletions
diff --git a/PCbuild/build_pgo.bat b/PCbuild/build_pgo.bat index 6ead19a..f513583 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 5584995..22fac2e 100644 --- a/PCbuild/pginstrument.props +++ b/PCbuild/pginstrument.props @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Label="UserMacros"> - <OutDirPGI>$(SolutionDir)$(Platform)-pgi\</OutDirPGI> + <OutDirPGI>$(SolutionDir)$(Platform)-pgi</OutDirPGI> </PropertyGroup> <PropertyGroup> <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> |