diff options
| author | ruki <[email protected]> | 2023-08-08 23:52:48 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-08-08 23:52:48 +0800 |
| commit | 6ace9d5ab4735767b35d22cefd980e5f447db95c (patch) | |
| tree | ff48025d851bedd4d18385b1405edf476574cff6 /xmake/toolchains | |
| parent | 1494182a09187cf49edc9a19badc3be287e8a327 (diff) | |
add cross build
Diffstat (limited to 'xmake/toolchains')
| -rw-r--r-- | xmake/toolchains/rust/xmake.lua | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/xmake/toolchains/rust/xmake.lua b/xmake/toolchains/rust/xmake.lua index 3329b73b7..0bb6ad36f 100644 --- a/xmake/toolchains/rust/xmake.lua +++ b/xmake/toolchains/rust/xmake.lua @@ -18,21 +18,31 @@ -- @file xmake.lua -- --- define toolchain toolchain("rust") - -- set homepage set_homepage("https://www.rust-lang.org/") set_description("Rust Programming Language Compiler") - -- set toolset +-- 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 load + on_check(function (toolchain) + import("lib.detect.find_tool") + return find_tool("rustc") + end) + on_load(function (toolchain) - toolchain:set("rcshflags", "") - toolchain:set("rcldflags", "") + -- 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) + else + toolchain:set("rcshflags", "") + toolchain:set("rcldflags", "") + end end) |
