about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorAlex Martens <alex@thinglab.org>2022-10-07 07:35:29 -0700
committerAlex Martens <alex@thinglab.org>2022-10-07 07:35:29 -0700
commitbac7ee3208209cca6d8c58ade2f25e3f91053848 (patch)
treed6fbfa6d24bf5c4373af68af0961d896f712f611 /pkgs/build-support
parent8e9a77e2b52fe5dda0121594b6e15d970cf60723 (diff)
rustc: fix build for no_std targets
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/rust/lib/default.nix5
1 files changed, 5 insertions, 0 deletions
diff --git a/pkgs/build-support/rust/lib/default.nix b/pkgs/build-support/rust/lib/default.nix
index 2be0c25678798..5eac208cc31ca 100644
--- a/pkgs/build-support/rust/lib/default.nix
+++ b/pkgs/build-support/rust/lib/default.nix
@@ -38,4 +38,9 @@ rec {
     if platform ? rustc.platform
     then builtins.toFile (toRustTarget platform + ".json") (builtins.toJSON platform.rustc.platform)
     else toRustTarget platform;
+
+  # Returns true if the target is no_std
+  # https://github.com/rust-lang/rust/blob/2e44c17c12cec45b6a682b1e53a04ac5b5fcc9d2/src/bootstrap/config.rs#L415-L421
+  IsNoStdTarget = platform: let rustTarget = toRustTarget platform; in
+    builtins.any (t: lib.hasInfix t rustTarget) ["-none" "nvptx" "switch" "-uefi"];
 }