summary refs log tree commit diff
path: root/pkgs/build-support/rust/lib/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/build-support/rust/lib/default.nix')
-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 2be0c256787..5eac208cc31 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"];
 }