summaryrefslogtreecommitdiff
path: root/xmake/toolchains
diff options
context:
space:
mode:
authorruki <[email protected]>2026-01-31 00:55:07 +0800
committerruki <[email protected]>2026-02-01 16:53:34 +0800
commita6ebbeecfd5d6ebe084ac5d3d45e1358e89110d3 (patch)
tree7cee8633ccb6cf0b3183b7ac128c225d8e4ce407 /xmake/toolchains
parentd7bdbc99bcc5b64a3fa257c5835014f5d8878150 (diff)
add target flags for cross-compilation
Diffstat (limited to 'xmake/toolchains')
-rw-r--r--xmake/toolchains/clang/load.lua18
-rw-r--r--xmake/toolchains/kotlin-native/xmake.lua3
-rw-r--r--xmake/toolchains/llvm/xmake.lua18
-rw-r--r--xmake/toolchains/zig/xmake.lua3
4 files changed, 22 insertions, 20 deletions
diff --git a/xmake/toolchains/clang/load.lua b/xmake/toolchains/clang/load.lua
index 4a12b31ce..79c43d85b 100644
--- a/xmake/toolchains/clang/load.lua
+++ b/xmake/toolchains/clang/load.lua
@@ -42,14 +42,16 @@ function main(toolchain, suffix)
toolchain:set("toolset", "ranlib", "llvm-ranlib" .. suffix)
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)
+ -- 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
end
-- set llvm runtimes
diff --git a/xmake/toolchains/kotlin-native/xmake.lua b/xmake/toolchains/kotlin-native/xmake.lua
index 5e72b0ec1..7633af107 100644
--- a/xmake/toolchains/kotlin-native/xmake.lua
+++ b/xmake/toolchains/kotlin-native/xmake.lua
@@ -78,7 +78,6 @@ toolchain("kotlin-native")
end)
on_load(function (toolchain)
- import("private.core.base.is_cross")
-- bind runenvs for java
local runenvs = toolchain:config("runenvs")
@@ -91,7 +90,7 @@ toolchain("kotlin-native")
-- kotlinc-native -list-targets
local target_plat = toolchain:plat()
local target_arch = toolchain:arch()
- if target_plat and target_arch and is_cross(target_plat, target_arch) then
+ if target_plat and target_arch and toolchain:is_cross() then
if target_plat == "macosx" then
target_plat = "macos"
elseif target_plat == "iphoneos" then
diff --git a/xmake/toolchains/llvm/xmake.lua b/xmake/toolchains/llvm/xmake.lua
index fb18f280f..deb615fee 100644
--- a/xmake/toolchains/llvm/xmake.lua
+++ b/xmake/toolchains/llvm/xmake.lua
@@ -57,14 +57,16 @@ toolchain("llvm")
-- add llvm runenvs
toolchain_utils.add_llvm_runenvs(toolchain)
- -- 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)
+ -- 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
end
-- add target flags for swift
diff --git a/xmake/toolchains/zig/xmake.lua b/xmake/toolchains/zig/xmake.lua
index 72e4b943f..d1b2165e4 100644
--- a/xmake/toolchains/zig/xmake.lua
+++ b/xmake/toolchains/zig/xmake.lua
@@ -78,7 +78,6 @@ toolchain("zig")
on_load(function (toolchain)
import("core.base.semver")
- import("private.core.base.is_cross")
-- set toolset
-- we patch target to `zig cc` to fix has_flags. see https://github.com/xmake-io/xmake/issues/955#issuecomment-766929692
@@ -110,7 +109,7 @@ toolchain("zig")
-- get target from cross only for cross-compilation
-- @see https://github.com/xmake-io/xmake/issues/7180
local target
- if not target and is_cross(toolchain:plat(), toolchain:arch()) then
+ if not target and toolchain:is_cross() then
target = toolchain:cross()
end