From 12bbc630247f85f4fa84c100d856a712b6d7cf4d Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 23 Apr 2017 23:48:02 +0000 Subject: llvm-3.9: Fix cross compilation It's now possible to cross compile llvm: `nix-build -E '(import ./. { crossSystem = import ./platform.nix; }).pkgs.llvm'` --- pkgs/development/compilers/llvm/3.9/llvm.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'pkgs/development/compilers') 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 = '' -- cgit 1.4.1