Merge pull request #200431 from obsidiansystems/rust-to-target-family
build-support/rust/lib: Add `toTargetFamily`
This commit is contained in:
commit
1a482feca5
1 changed files with 15 additions and 0 deletions
|
@ -15,6 +15,21 @@ rec {
|
|||
else if platform.isDarwin then "macos"
|
||||
else platform.parsed.kernel.name;
|
||||
|
||||
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_family
|
||||
toTargetFamily = platform:
|
||||
if platform ? rustc.platform.target-family
|
||||
then
|
||||
(
|
||||
# Since https://github.com/rust-lang/rust/pull/84072
|
||||
# `target-family` is a list instead of single value.
|
||||
let
|
||||
f = platform.rustc.platform.target-family;
|
||||
in
|
||||
if builtins.isList f then f else [ f ]
|
||||
)
|
||||
else lib.optional platform.isUnix "unix"
|
||||
++ lib.optional platform.isWindows "windows";
|
||||
|
||||
# Returns the name of the rust target, even if it is custom. Adjustments are
|
||||
# because rust has slightly different naming conventions than we do.
|
||||
toRustTarget = platform: let
|
||||
|
|
Loading…
Reference in a new issue