summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstar9029 <[email protected]>2025-10-20 10:45:08 +0800
committerGitHub <[email protected]>2025-10-20 10:45:08 +0800
commit7d51bbe70edf3e26841bf3b4252a1d64df832a8a (patch)
treec6663fafd9558b6b5520f5587f040387177af2ae
parent9fba3e92a48958cbba78bee3a6500455248800f6 (diff)
Enhance Clang toolchain with LLD linker support
-rw-r--r--xmake/toolchains/clang/load.lua7
1 files changed, 7 insertions, 0 deletions
diff --git a/xmake/toolchains/clang/load.lua b/xmake/toolchains/clang/load.lua
index 7b50ac526..be35286a9 100644
--- a/xmake/toolchains/clang/load.lua
+++ b/xmake/toolchains/clang/load.lua
@@ -51,6 +51,8 @@ function _add_vsenv(toolchain, name, curenvs)
end
function main(toolchain, suffix)
+ import("core.project.project")
+
local target
if toolchain:is_arch("x86_64", "x64") then
target = "x86_64"
@@ -79,6 +81,11 @@ function main(toolchain, suffix)
end
end
+ if project.policy("build.optimization.lto") then
+ toolchain:add("ldflags", "-fuse-ld=lld-link")
+ toolchain:add("shflags", "-fuse-ld=lld-link")
+ end
+
if is_host("linux") then
toolchain:add("ldflags", "-fuse-ld=lld-link" .. suffix)
toolchain:add("shflags", "-fuse-ld=lld-link" .. suffix)