summaryrefslogtreecommitdiffstats
path: root/PCbuild
diff options
context:
space:
mode:
authorPieter Eendebak <pieter.eendebak@gmail.com>2024-12-19 14:45:34 (GMT)
committerGitHub <noreply@github.com>2024-12-19 14:45:34 (GMT)
commitb9b3e4a076caddf7876d1d4d762a117a26faffcf (patch)
tree06bf93b77cdc0752a23958bb4042dbae3ff7bb0e /PCbuild
parentb5d1e4552f0ba40d8380368e1b099261686a89cf (diff)
downloadcpython-b9b3e4a076caddf7876d1d4d762a117a26faffcf.zip
cpython-b9b3e4a076caddf7876d1d4d762a117a26faffcf.tar.gz
cpython-b9b3e4a076caddf7876d1d4d762a117a26faffcf.tar.bz2
gh-127951: Add build option to enable pystats on Windows (GH-127952)
Diffstat (limited to 'PCbuild')
-rw-r--r--PCbuild/build.bat3
-rw-r--r--PCbuild/pyproject.props4
2 files changed, 6 insertions, 1 deletions
diff --git a/PCbuild/build.bat b/PCbuild/build.bat
index 6d3ce81..d3e3894 100644
--- a/PCbuild/build.bat
+++ b/PCbuild/build.bat
@@ -39,6 +39,7 @@ echo. --regen Regenerate all opcodes, grammar and tokens.
echo. --experimental-jit Enable the experimental just-in-time compiler.
echo. --experimental-jit-off Ditto but off by default (PYTHON_JIT=1 enables).
echo. --experimental-jit-interpreter Enable the experimental Tier 2 interpreter.
+echo. --pystats Enable PyStats collection.
echo.
echo.Available flags to avoid building certain modules.
echo.These flags have no effect if '-e' is not given:
@@ -93,6 +94,7 @@ if "%~1"=="--experimental-jit" (set UseJIT=true) & (set UseTIER2=1) & shift & go
if "%~1"=="--experimental-jit-off" (set UseJIT=true) & (set UseTIER2=3) & shift & goto CheckOpts
if "%~1"=="--experimental-jit-interpreter" (set UseTIER2=4) & shift & goto CheckOpts
if "%~1"=="--experimental-jit-interpreter-off" (set UseTIER2=6) & shift & goto CheckOpts
+if "%~1"=="--pystats" (set PyStats=1) & shift & goto CheckOpts
rem These use the actual property names used by MSBuild. We could just let
rem them in through the environment, but we specify them on the command line
rem anyway for visibility so set defaults after this
@@ -186,6 +188,7 @@ echo on
/p:UseTestMarker=%UseTestMarker% %GITProperty%^
/p:UseJIT=%UseJIT%^
/p:UseTIER2=%UseTIER2%^
+ /p:PyStats=%PyStats%^
%1 %2 %3 %4 %5 %6 %7 %8 %9
@echo off
diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props
index c653411..17abfa8 100644
--- a/PCbuild/pyproject.props
+++ b/PCbuild/pyproject.props
@@ -42,6 +42,8 @@
<PropertyGroup>
<_DebugPreprocessorDefinition>NDEBUG;</_DebugPreprocessorDefinition>
<_DebugPreprocessorDefinition Condition="$(Configuration) == 'Debug'">_DEBUG;</_DebugPreprocessorDefinition>
+ <_PyStatsPreprocessorDefinition>PyStats;</_PyStatsPreprocessorDefinition>
+ <_PyStatsPreprocessorDefinition Condition="$(PySTATS) != ''">Py_STATS;</_PyStatsPreprocessorDefinition>
<_PlatformPreprocessorDefinition>_WIN32;</_PlatformPreprocessorDefinition>
<_PlatformPreprocessorDefinition Condition="$(Platform) == 'x64'">_WIN64;</_PlatformPreprocessorDefinition>
<_PlatformPreprocessorDefinition Condition="$(Platform) == 'x64' and $(PlatformToolset) != 'ClangCL'">_M_X64;$(_PlatformPreprocessorDefinition)</_PlatformPreprocessorDefinition>
@@ -50,7 +52,7 @@
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(PySourcePath)Include;$(PySourcePath)Include\internal;$(PySourcePath)Include\internal\mimalloc;$(GeneratedPyConfigDir);$(PySourcePath)PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;$(_Py3NamePreprocessorDefinition);$(_PlatformPreprocessorDefinition)$(_DebugPreprocessorDefinition)$(_PydPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;$(_Py3NamePreprocessorDefinition);$(_PlatformPreprocessorDefinition)$(_DebugPreprocessorDefinition)$(_PyStatsPreprocessorDefinition)$(_PydPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(SupportPGO)' and ($(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate')">_Py_USING_PGO=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>