diff options
| author | ruki <[email protected]> | 2026-02-01 19:36:39 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2026-02-01 19:36:39 +0800 |
| commit | d46ab112cb14974b81c66632a1f987e28490d67a (patch) | |
| tree | ff77c4ec93b3b6cc54807269105a440a77b74946 | |
| parent | a6ebbeecfd5d6ebe084ac5d3d45e1358e89110d3 (diff) | |
fix host clang target
| -rw-r--r-- | xmake/modules/private/utils/toolchain.lua | 9 | ||||
| -rw-r--r-- | xmake/toolchains/clang/load.lua | 18 | ||||
| -rw-r--r-- | xmake/toolchains/llvm/xmake.lua | 18 |
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 |
