+3
-2
pkgs/build-support/rust/lib/default.nix
+3
-2
pkgs/build-support/rust/lib/default.nix
···
1
1
{ lib
2
2
, stdenv
3
3
, pkgsBuildHost
4
+
, pkgsBuildTarget
4
5
, pkgsTargetTarget
5
6
}:
6
7
···
24
25
cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++";
25
26
linkerForHost = if shouldUseLLD stdenv.targetPlatform
26
27
&& !stdenv.cc.bintools.isLLVM
27
-
then "${pkgsBuildHost.lld}/bin/ld.lld"
28
+
then "${pkgsBuildHost.llvmPackages.bintools}/bin/${stdenv.cc.targetPrefix}ld.lld"
28
29
else ccForHost;
29
30
30
31
# Unfortunately we must use the dangerous `pkgsTargetTarget` here
···
35
36
cxxForTarget = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++";
36
37
linkerForTarget = if shouldUseLLD pkgsTargetTarget.stdenv.targetPlatform
37
38
&& !pkgsTargetTarget.stdenv.cc.bintools.isLLVM # whether stdenv's linker is lld already
38
-
then "${pkgsBuildHost.lld}/bin/ld.lld"
39
+
then "${pkgsBuildTarget.llvmPackages.bintools}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}ld.lld"
39
40
else ccForTarget;
40
41
41
42
rustBuildPlatform = stdenv.buildPlatform.rust.rustcTarget;
+1
-1
pkgs/development/compilers/rust/1_75.nix
+1
-1
pkgs/development/compilers/rust/1_75.nix
+4
-1
pkgs/development/compilers/rust/default.nix
+4
-1
pkgs/development/compilers/rust/default.nix
···
16
16
, CoreFoundation, Security, SystemConfiguration
17
17
, pkgsBuildBuild
18
18
, pkgsBuildHost
19
+
, pkgsBuildTarget
19
20
, pkgsTargetTarget
20
21
, makeRustPlatform
21
22
, wrapRustcWith
···
23
24
24
25
let
25
26
# Use `import` to make sure no packages sneak in here.
26
-
lib' = import ../../../build-support/rust/lib { inherit lib stdenv pkgsBuildHost pkgsTargetTarget; };
27
+
lib' = import ../../../build-support/rust/lib {
28
+
inherit lib stdenv pkgsBuildHost pkgsBuildTarget pkgsTargetTarget;
29
+
};
27
30
# Allow faster cross compiler generation by reusing Build artifacts
28
31
fastCross = (stdenv.buildPlatform == stdenv.hostPlatform) && (stdenv.hostPlatform != stdenv.targetPlatform);
29
32
in