about summary refs log tree commit diff
path: root/pkgs/stdenv/cross
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2017-04-26 00:06:11 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2017-06-22 17:52:28 -0400
commit594d26420594acf458e5a8ab75229a2147d9194f (patch)
tree9211ca90764bdb1810aa4c2a5fb0e5fd51f78a76 /pkgs/stdenv/cross
parent9bfd03eff78aa37bff9a7f4cb12c6bed1f04e764 (diff)
cross stdenv adaptor: Support --host --build --target across the board
Packages get --host and --target by default, but can explicitly request
any subset to be passed as needed. See docs for more info.

rustc: Avoid hash breakage by using the old (ignored)
dontSetConfigureCross when not cross building
Diffstat (limited to 'pkgs/stdenv/cross')
-rw-r--r--pkgs/stdenv/cross/default.nix15
1 files changed, 9 insertions, 6 deletions
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index f9c23078cd304..125c4300975a0 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -31,12 +31,15 @@ in bootStages ++ [
     targetPlatform = crossSystem;
     inherit config overlays;
     selfBuild = false;
-    stdenv = buildPackages.makeStdenvCross
-      buildPackages.stdenv
-      crossSystem
-      (if crossSystem.useiOSCross or false
-       then buildPackages.darwin.ios-cross
-       else buildPackages.gccCrossStageFinal);
+    stdenv = buildPackages.makeStdenvCross {
+      inherit (buildPackages) stdenv;
+      buildPlatform = localSystem;
+      hostPlatform = crossSystem;
+      targetPlatform = crossSystem;
+      cc = if crossSystem.useiOSCross or false
+           then buildPackages.darwin.ios-cross
+           else buildPackages.gccCrossStageFinal;
+    };
   })
 
 ]