summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorJoe Hermaszewski <git@monoid.al>2017-04-23 23:48:02 +0000
committerJoe Hermaszewski <git@monoid.al>2017-04-25 19:59:35 +0000
commit12bbc630247f85f4fa84c100d856a712b6d7cf4d (patch)
treeee0eb7c79fd12e89f6460e8b134364aef1b2c0e6 /pkgs/development/compilers
parent3eee6ea7c17aea50b8a1e04b95e9ee226591e38f (diff)
downloadnixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar.gz
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar.bz2
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar.lz
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar.xz
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.tar.zst
nixlib-12bbc630247f85f4fa84c100d856a712b6d7cf4d.zip
llvm-3.9: Fix cross compilation
It's now possible to cross compile llvm:

`nix-build -E '(import ./. { crossSystem = import ./platform.nix; }).pkgs.llvm'`
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix14
1 files changed, 13 insertions, 1 deletions
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 2c47ec5127f9..0408b9413c8a 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -17,6 +17,9 @@
 , debugVersion ? false
 , enableSharedLibraries ? true
 , darwin
+, buildPackages
+, buildPlatform
+, hostPlatform
 }:
 
 let
@@ -39,7 +42,13 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
 
-  buildInputs = [ perl groff cmake libxml2 python libffi ]
+  buildInputs = [
+    buildPackages.perl
+    buildPackages.buildPackages.cmake
+    buildPackages.python
+    groff
+    libxml2
+    libffi ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
 
   propagatedBuildInputs = [ ncurses zlib ];
@@ -88,6 +97,9 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
+  ] ++ stdenv.lib.optionals (buildPlatform != hostPlatform) [
+    "-DCMAKE_CROSSCOMPILING=True"
+    "-DLLVM_TABLEGEN=${buildPackages.llvmPackages_39.llvm}/bin/llvm-tblgen"
   ];
 
   postBuild = ''