Skip to content

Commit 44d66f4

Browse files
authored
Support optionally building AMD64 with tailcalling (#346)
1 parent c6b588d commit 44d66f4

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

windows-release/azure-pipelines.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ parameters:
4242
displayName: "Signature description"
4343
type: string
4444
default: '(default)'
45+
- name: DoTailCalling
46+
displayName: "Build with tail-calling support (3.15 and later)"
47+
type: boolean
48+
default: false
4549
- name: DoJIT
4650
displayName: "Build the JIT compiler (3.14 and later)"
4751
type: boolean
@@ -161,7 +165,7 @@ stages:
161165
- stage: Build
162166
displayName: Build binaries
163167
pool:
164-
vmImage: ${{ parameters.vmImage }}
168+
vmImage: ${{ iif(eq(parameters.DoTailCalling, 'true'), 'windows-2025-vs2026', parameters.vmImage) }}
165169
jobs:
166170
- template: start-arm64vm.yml
167171
parameters:
@@ -186,7 +190,10 @@ stages:
186190
ExtraOptionsFreethreaded: '--disable-gil --experimental-jit-off'
187191
${{ else }}:
188192
ExtraOptionsFreethreaded: '--disable-gil --experimental-jit'
189-
193+
${{ if ne(parameters.DoTailCalling, 'true') }}:
194+
TailCallingOption: ''
195+
${{ else }}:
196+
TailCallingOption: '--tail-call-interp'
190197
- stage: Sign
191198
displayName: Sign binaries
192199
dependsOn: Build

windows-release/stage-build.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ parameters:
66
ToBeSigned: false
77
ExtraOptions: ''
88
ExtraOptionsFreethreaded: '--disable-gil'
9+
TailCallingOption: ''
910

1011
jobs:
1112
- job: Build_Docs
@@ -71,7 +72,7 @@ jobs:
7172
Platform: x64
7273
Configuration: Release
7374
_HostPython: .\python
74-
ExtraOptions: ${{ parameters.ExtraOptions }}
75+
ExtraOptions: ${{ parameters.ExtraOptions }} ${{ parameters.TailCallingOption }}
7576
${{ if eq(parameters.ToBeSigned, 'true') }}:
7677
Artifact: unsigned_amd64
7778
${{ else }}:
@@ -131,7 +132,7 @@ jobs:
131132
Platform: x64
132133
Configuration: Release
133134
_HostPython: .\python
134-
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
135+
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }} ${{ parameters.TailCallingOption }}
135136
${{ if eq(parameters.ToBeSigned, 'true') }}:
136137
Artifact: unsigned_amd64_t
137138
${{ else }}:
@@ -185,7 +186,7 @@ jobs:
185186
Platform: x64
186187
_HostPython: .\python
187188
PythonExePattern: python.exe
188-
ExtraOptions: ${{ parameters.ExtraOptions }}
189+
ExtraOptions: ${{ parameters.ExtraOptions }} ${{ parameters.TailCallingOption }}
189190
${{ if eq(parameters.ToBeSigned, 'true') }}:
190191
Artifact: unsigned_amd64
191192
${{ else }}:
@@ -197,7 +198,7 @@ jobs:
197198
Platform: x64
198199
_HostPython: .\python
199200
PythonExePattern: python3*t.exe
200-
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }}
201+
ExtraOptions: ${{ parameters.ExtraOptionsFreethreaded }} ${{ parameters.TailCallingOption }}
201202
${{ if eq(parameters.ToBeSigned, 'true') }}:
202203
Artifact: unsigned_amd64_t
203204
${{ else }}:

0 commit comments

Comments
 (0)