[Python-checkins] cpython: Issue #21907: Further improvments to build_pgo.bat. Patch by Ingolf Becker.

zach.ware python-checkins at python.org
Fri Aug 1 06:49:03 CEST 2014


http://hg.python.org/cpython/rev/60c61ea64021
changeset:   91951:60c61ea64021
user:        Zachary Ware <zachary.ware at gmail.com>
date:        Thu Jul 31 23:48:45 2014 -0500
summary:
  Issue #21907: Further improvments to build_pgo.bat.  Patch by Ingolf Becker.

files:
  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
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -98,6 +98,7 @@
 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
--- a/PCbuild/build_pgo.bat
+++ b/PCbuild/build_pgo.bat
@@ -7,14 +7,15 @@
 
 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 @@
 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
 
- at echo on
+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%
+
 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
--- 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>

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list