Skip to content

Commit dea4083

Browse files
GH-146210: Fix building the jit stencils on Windows when the interpreter is built with a different clang version (#146338)
Co-authored-by: Savannah Ostrowski <savannah@python.org>
1 parent 80d0a85 commit dea4083

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix building the jit stencils on Windows when the interpreter is built with
2+
a different clang version. Patch by Chris Eibl.

Tools/jit/_llvm.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,19 @@ async def _run(tool: str, args: typing.Iterable[str], echo: bool = False) -> str
4242
async with _CORES:
4343
if echo:
4444
print(shlex.join(command))
45+
46+
if os.name == "nt":
47+
# When building with /p:PlatformToolset=ClangCL, the VS build
48+
# system puts that clang's include path into INCLUDE. The JIT's
49+
# clang may be a different version, and mismatched headers cause
50+
# build errors. See https://github.com/python/cpython/issues/146210.
51+
env = os.environ.copy()
52+
env.pop("INCLUDE", None)
53+
else:
54+
env = None
4555
try:
4656
process = await asyncio.create_subprocess_exec(
47-
*command, stdout=subprocess.PIPE
57+
*command, stdout=subprocess.PIPE, env=env
4858
)
4959
except FileNotFoundError:
5060
return None

0 commit comments

Comments
 (0)