summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2026-02-01 19:36:39 +0800
committerruki <[email protected]>2026-02-01 19:36:39 +0800
commitd46ab112cb14974b81c66632a1f987e28490d67a (patch)
treeff77c4ec93b3b6cc54807269105a440a77b74946
parenta6ebbeecfd5d6ebe084ac5d3d45e1358e89110d3 (diff)
fix host clang target
-rw-r--r--xmake/modules/private/utils/toolchain.lua9
-rw-r--r--xmake/toolchains/clang/load.lua18
-rw-r--r--xmake/toolchains/llvm/xmake.lua18
3 files changed, 22 insertions, 23 deletions
diff --git a/xmake/modules/private/utils/toolchain.lua b/xmake/modules/private/utils/toolchain.lua
index b1a26b8da..9b5dedb88 100644
--- a/xmake/modules/private/utils/toolchain.lua
+++ b/xmake/modules/private/utils/toolchain.lua
@@ -169,9 +169,12 @@ end
-- get clang target flags
function get_clang_target_flags(toolchain)
- local target = get_clang_target(toolchain)
- if target then
- return "--target=" .. target
+ local target
+ if toolchain:is_cross() then
+ target = get_clang_target(toolchain)
+ if target then
+ return "--target=" .. target
+ end
end
if toolchain:is_arch("x86_64", "x64") then
return "-m64"
diff --git a/xmake/toolchains/clang/load.lua b/xmake/toolchains/clang/load.lua
index 79c43d85b..4a12b31ce 100644
--- a/xmake/toolchains/clang/load.lua
+++ b/xmake/toolchains/clang/load.lua
@@ -42,16 +42,14 @@ function main(toolchain, suffix)
toolchain:set("toolset", "ranlib", "llvm-ranlib" .. suffix)
end
- -- add target flags if it's cross-compilation
- if toolchain:is_cross() then
- local flags = toolchain_utils.get_clang_target_flags(toolchain)
- if flags then
- toolchain:add("cxflags", flags)
- toolchain:add("mxflags", flags)
- toolchain:add("asflags", flags)
- toolchain:add("ldflags", flags)
- toolchain:add("shflags", flags)
- end
+ -- add target flags
+ local flags = toolchain_utils.get_clang_target_flags(toolchain)
+ if flags then
+ toolchain:add("cxflags", flags)
+ toolchain:add("mxflags", flags)
+ toolchain:add("asflags", flags)
+ toolchain:add("ldflags", flags)
+ toolchain:add("shflags", flags)
end
-- set llvm runtimes
diff --git a/xmake/toolchains/llvm/xmake.lua b/xmake/toolchains/llvm/xmake.lua
index deb615fee..fb18f280f 100644
--- a/xmake/toolchains/llvm/xmake.lua
+++ b/xmake/toolchains/llvm/xmake.lua
@@ -57,16 +57,14 @@ toolchain("llvm")
-- add llvm runenvs
toolchain_utils.add_llvm_runenvs(toolchain)
- -- add target flags if it's cross-compilation
- if toolchain:is_cross() then
- local flags = toolchain_utils.get_clang_target_flags(toolchain)
- if flags then
- toolchain:add("cxflags", flags)
- toolchain:add("mxflags", flags)
- toolchain:add("asflags", flags)
- toolchain:add("ldflags", flags)
- toolchain:add("shflags", flags)
- end
+ -- add target flags
+ local flags = toolchain_utils.get_clang_target_flags(toolchain)
+ if flags then
+ toolchain:add("cxflags", flags)
+ toolchain:add("mxflags", flags)
+ toolchain:add("asflags", flags)
+ toolchain:add("ldflags", flags)
+ toolchain:add("shflags", flags)
end
-- add target flags for swift