Skip to content

Commit 98de4c1

Browse files
committed
Add optimizing flag WITH_COMPUTED_GOTOS to support such builds using
clang-cl on Windows. Patch by Chris Eibl.
1 parent ec46a55 commit 98de4c1

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Add optimizing flag `WITH_COMPUTED_GOTOS` to support such builds using
2+
clang-cl on Windows. Patch by Chris Eibl.

PCbuild/pythoncore.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
<PreprocessorDefinitions Condition="'$(UseJIT)' == 'true'">_Py_JIT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
108108
<PreprocessorDefinitions Condition="'$(UseTIER2)' != '' and '$(UseTIER2)' != '0'">_Py_TIER2=$(UseTIER2);%(PreprocessorDefinitions)</PreprocessorDefinitions>
109109
<PreprocessorDefinitions Condition="'$(UseTailCallInterp)' == 'true'">Py_TAIL_CALL_INTERP=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
110+
<PreprocessorDefinitions Condition="'$(WITH_COMPUTED_GOTOS)' != ''">HAVE_COMPUTED_GOTOS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
110111
</ClCompile>
111112
<Link>
112113
<AdditionalDependencies>version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>

PCbuild/readme.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,20 @@ See
310310
for more on this topic.
311311

312312

313+
Optimization flags
314+
------------------
315+
You can set optimization flags either via
316+
* environment variables, e.g.
317+
set WITH_COMPUTED_GOTOS=true
318+
* or pass them as parameters to `build.bat`, e.g.
319+
build.bat "/p:WITH_COMPUTED_GOTOS=true"
320+
* or put them in `msbuild.rsp` in the `PCbuild` directory, one flag per line
321+
322+
Supported flags are:
323+
* WITH_COMPUTED_GOTOS: build the interpreter using "computed gotos".
324+
Currently only supported by clang-cl.
325+
326+
313327
Static library
314328
--------------
315329

0 commit comments

Comments
 (0)