aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Tools/jit/_llvm.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/jit/_llvm.py')
-rw-r--r--Tools/jit/_llvm.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Tools/jit/_llvm.py b/Tools/jit/_llvm.py
index 925b56ac669..f09a8404871 100644
--- a/Tools/jit/_llvm.py
+++ b/Tools/jit/_llvm.py
@@ -8,8 +8,11 @@ import shlex
import subprocess
import typing
+import _targets
+
_LLVM_VERSION = 19
_LLVM_VERSION_PATTERN = re.compile(rf"version\s+{_LLVM_VERSION}\.\d+\.\d+\S*\s+")
+_EXTERNALS_LLVM_TAG = "llvm-19.1.7.0"
_P = typing.ParamSpec("_P")
_R = typing.TypeVar("_R")
@@ -74,6 +77,11 @@ async def _find_tool(tool: str, *, echo: bool = False) -> str | None:
path = f"{tool}-{_LLVM_VERSION}"
if await _check_tool_version(path, echo=echo):
return path
+ # PCbuild externals:
+ externals = os.environ.get("EXTERNALS_DIR", _targets.EXTERNALS)
+ path = os.path.join(externals, _EXTERNALS_LLVM_TAG, "bin", tool)
+ if await _check_tool_version(path, echo=echo):
+ return path
# Homebrew-installed executables:
prefix = await _get_brew_llvm_prefix(echo=echo)
if prefix is not None: