about summary refs log tree commit diff
path: root/pkgs/development/compilers/ghc
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2016-11-18 10:44:53 -0500
committerShea Levy <shea@shealevy.com>2016-11-18 10:44:53 -0500
commit64ec4dd87bf7b211773541fa350ef2f56b9c658f (patch)
tree4ed6f6816025e1667183d5afa9cefb9e602bcf64 /pkgs/development/compilers/ghc
parent247d7c88d228e26a3bfda4f157618ba858114821 (diff)
downloadnixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar.gz
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar.bz2
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar.lz
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar.xz
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.tar.zst
nixlib-64ec4dd87bf7b211773541fa350ef2f56b9c658f.zip
Add haskell packages set for cross ghc
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 d95791353ae3..f46a017c66aa 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
@@ -70,6 +70,11 @@ in stdenv.mkDerivation (rec {
 
   passthru = {
     inherit bootPkgs;
+  } // stdenv.lib.optionalAttrs (crossSystem != null) {
+    crossCompiler = selfPkgs.ghc.override {
+      cross = crossSystem;
+      bootPkgs = selfPkgs;
+    };
   };
 
   meta = {
@@ -90,11 +95,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";
+  };
 })