diff options
| author | ruki <[email protected]> | 2026-01-31 00:55:07 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2026-02-01 16:53:34 +0800 |
| commit | a6ebbeecfd5d6ebe084ac5d3d45e1358e89110d3 (patch) | |
| tree | 7cee8633ccb6cf0b3183b7ac128c225d8e4ce407 /xmake/toolchains | |
| parent | d7bdbc99bcc5b64a3fa257c5835014f5d8878150 (diff) | |
add target flags for cross-compilation
Diffstat (limited to 'xmake/toolchains')
| -rw-r--r-- | xmake/toolchains/clang/load.lua | 18 | ||||
| -rw-r--r-- | xmake/toolchains/kotlin-native/xmake.lua | 3 | ||||
| -rw-r--r-- | xmake/toolchains/llvm/xmake.lua | 18 | ||||
| -rw-r--r-- | xmake/toolchains/zig/xmake.lua | 3 |
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 |
