about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorFranz Pletz <fpletz@fnordicwalking.de>2016-11-23 02:06:26 +0100
committerFranz Pletz <fpletz@fnordicwalking.de>2016-11-23 02:06:26 +0100
commitf01dd648f5253e5bdc439e7369349015af42b5c5 (patch)
treea39aba0a39205df3d49773dafef63d88b86d1890 /pkgs/development/compilers/ghc
parent02668d6c6a8e5492be4339d715da570de9fae8f3 (diff)
parent38d77bc86b83f01ef6cd91fa4b6090f5373bc692 (diff)
downloadnixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar.gz
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar.bz2
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar.lz
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar.xz
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.tar.zst
nixlib-f01dd648f5253e5bdc439e7369349015af42b5c5.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development/compilers/ghc')
-rw-r--r--pkgs/development/compilers/ghc/head.nix22
1 files changed, 20 insertions, 2 deletions
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index aec6faed585e..23a1b2821492 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, libiconv, binutils, coreutils
-, autoconf, automake, happy, alex, cross ? null
+, autoconf, automake, happy, alex, crossSystem, selfPkgs, cross ? null
 }:
 
 let
@@ -66,6 +66,11 @@ in stdenv.mkDerivation (rec {
 
   passthru = {
     inherit bootPkgs;
+  } // stdenv.lib.optionalAttrs (crossSystem != null) {
+    crossCompiler = selfPkgs.ghc.override {
+      cross = crossSystem;
+      bootPkgs = selfPkgs;
+    };
   };
 
   meta = {
@@ -86,11 +91,24 @@ in stdenv.mkDerivation (rec {
   '';
 
   configureFlags = [
-    "CC=${cross.config}-cc"
+    "CC=${stdenv.ccCross}/bin/${cross.config}-cc"
+    "LD=${stdenv.binutilsCross}/bin/${cross.config}-ld"
+    "AR=${stdenv.binutilsCross}/bin/${cross.config}-ar"
+    "NM=${stdenv.binutilsCross}/bin/${cross.config}-nm"
+    "RANLIB=${stdenv.binutilsCross}/bin/${cross.config}-ranlib"
     "--target=${cross.config}"
+    "--enable-bootstrap-with-devel-snapshot"
   ];
 
   buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutilsCross ];
 
   dontSetConfigureCross = true;
+
+  passthru = {
+    inherit bootPkgs cross;
+
+    cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
+
+    ld = "${stdenv.binutilsCross}/bin/${cross.config}-ld";
+  };
 })