summaryrefslogtreecommitdiff
path: root/xmake/toolchains/rust/xmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2023-08-09 00:45:21 +0800
committerruki <[email protected]>2023-08-09 00:45:21 +0800
commitd56fd4e78dd1d5a64409df3b8c889a54a4f740eb (patch)
treefa70ae50d2aca8f0b198a7d4c3ad3360da8acfee /xmake/toolchains/rust/xmake.lua
parent04ff2a200ba3be2334827b3fe0385038aee9c090 (diff)
use arch to select target
Diffstat (limited to 'xmake/toolchains/rust/xmake.lua')
-rw-r--r--xmake/toolchains/rust/xmake.lua17
1 files changed, 5 insertions, 12 deletions
diff --git a/xmake/toolchains/rust/xmake.lua b/xmake/toolchains/rust/xmake.lua
index 0bb6ad36f..e997eaa21 100644
--- a/xmake/toolchains/rust/xmake.lua
+++ b/xmake/toolchains/rust/xmake.lua
@@ -23,24 +23,17 @@ toolchain("rust")
set_homepage("https://www.rust-lang.org/")
set_description("Rust Programming Language Compiler")
--- set_kind("standalone")
-
set_toolset("rc", "$(env RC)", "rustc")
set_toolset("rcld", "$(env RC)", "rustc")
set_toolset("rcsh", "$(env RC)", "rustc")
set_toolset("rcar", "$(env RC)", "rustc")
- on_check(function (toolchain)
- import("lib.detect.find_tool")
- return find_tool("rustc")
- end)
-
on_load(function (toolchain)
- -- for cross-compilation, e.g. xmake f -p cross --cross=aarch64-unknown-none
- local cross = toolchain:cross()
- if toolchain:is_cross() and cross then
- toolchain:add("rcshflags", "--target=" .. cross)
- toolchain:add("rcldflags", "--target=" .. cross)
+ -- e.g. x86_64-pc-windows-msvc, aarch64-unknown-none
+ local arch = toolchain:arch()
+ if arch and #arch:split("%-") > 1 then
+ toolchain:add("rcshflags", "--target=" .. arch)
+ toolchain:add("rcldflags", "--target=" .. arch)
else
toolchain:set("rcshflags", "")
toolchain:set("rcldflags", "")