summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-20 00:40:23 +0800
committerruki <[email protected]>2025-12-20 00:40:23 +0800
commit6c159b7950a4d4ded183542453c7e354e4979431 (patch)
treeb78f37ae13a241b4fd74bc25103e5f0c3cf85843
parent8d574375d0f0a496046987541091dca48fad3f5a (diff)
improve check clang
-rw-r--r--xmake/toolchains/clang/check.lua9
-rw-r--r--xmake/toolchains/clang/toolchain_clang.lua10
2 files changed, 9 insertions, 10 deletions
diff --git a/xmake/toolchains/clang/check.lua b/xmake/toolchains/clang/check.lua
index 107410a0b..145805547 100644
--- a/xmake/toolchains/clang/check.lua
+++ b/xmake/toolchains/clang/check.lua
@@ -36,7 +36,7 @@ function _check_clang(toolchain, vcvars, suffix)
return result
end
-function main(toolchain, suffix)
+function _check_for_windows(toolchain, suffix)
-- only for windows or linux (msvc-wine)
if not is_host("windows", "linux") then
@@ -68,3 +68,10 @@ function main(toolchain, suffix)
end
end
+function main(toolchain, suffix)
+ if toolchain:is_plat("windows") then
+ return _check_for_windows(toolchain, suffix)
+ end
+ return find_tool("clang", {program = "clang" .. suffix})
+end
+
diff --git a/xmake/toolchains/clang/toolchain_clang.lua b/xmake/toolchains/clang/toolchain_clang.lua
index d18bdf4b6..c73b9d491 100644
--- a/xmake/toolchains/clang/toolchain_clang.lua
+++ b/xmake/toolchains/clang/toolchain_clang.lua
@@ -46,15 +46,7 @@ function toolchain_clang(version)
end
on_check(function (toolchain)
- if toolchain:is_plat("windows") then
- local rootdir = path.join(path.directory(os.scriptdir()), "clang")
- local result = import("check", {rootdir = rootdir})(toolchain, suffix)
- if result then
- return result
- end
- end
-
- return import("lib.detect.find_tool")("clang", {program = "clang" .. suffix})
+ return import("check")(toolchain, suffix)
end)
on_load(function (toolchain)