summaryrefslogtreecommitdiff
path: root/xmake/toolchains/llvm
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-20 00:43:54 +0800
committerruki <[email protected]>2025-12-20 00:43:54 +0800
commitd6d9ad8cbdeb62e26db3e2a96d25319f4802e36b (patch)
tree07c344e703a4b40990de830bfdf250ad2d58d743 /xmake/toolchains/llvm
parent50e52b0aa88b409f65181b8a6607427c8e17a28d (diff)
improve clang target flags
Diffstat (limited to 'xmake/toolchains/llvm')
-rw-r--r--xmake/toolchains/llvm/xmake.lua39
1 files changed, 14 insertions, 25 deletions
diff --git a/xmake/toolchains/llvm/xmake.lua b/xmake/toolchains/llvm/xmake.lua
index 4a89b4f32..fb18f280f 100644
--- a/xmake/toolchains/llvm/xmake.lua
+++ b/xmake/toolchains/llvm/xmake.lua
@@ -58,33 +58,22 @@ toolchain("llvm")
toolchain_utils.add_llvm_runenvs(toolchain)
-- add target flags
- local target
- if toolchain:is_plat("windows") and not is_host("windows") then
- if toolchain:is_arch("i386", "x86") then
- target = "i386-pc-windows-msvc"
- else
- target = "x86_64-pc-windows-msvc"
- end
- elseif toolchain:is_plat("cross") then
- target = toolchain:cross():gsub("(.*)%-$", "%1")
+ 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
- local target_flags
+
+ -- add target flags for swift
+ local target = toolchain_utils.get_clang_target(toolchain)
if target then
- target_flags = "--target=" .. target
- elseif toolchain:is_arch("x86_64", "x64") then
- target_flags = "-m64"
- elseif toolchain:is_arch("i386", "x86") then
- target_flags = "-m32"
- end
- if target_flags then
- toolchain:add("cxflags", target_flags)
- toolchain:add("mxflags", target_flags)
- toolchain:add("asflags", target_flags)
- toolchain:add("ldflags", target_flags)
- toolchain:add("shflags", target_flags)
- toolchain:add("scasflags", "--target=" .. target_flags)
- toolchain:add("scldflags", "--target=" .. target_flags)
- toolchain:add("scshflags", "--target=" .. target_flags)
+ local flag = "--target=" .. target
+ toolchain:add("scasflags", flag)
+ toolchain:add("scldflags", flag)
+ toolchain:add("scshflags", flag)
end
-- init flags for platform