diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2018-12-08 19:25:43 +0000 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2018-12-08 19:25:43 +0000 |
commit | 2ca39fe86b4c5581e4a3aa9d716df05db895d582 (patch) | |
tree | 476f14bb9bb7a63bc81427779333ea58dff3b4f9 /pkgs/development/compilers/llvm | |
parent | b3ae7d1c8cfe2afa09fa5bbde7540484a2438985 (diff) | |
download | nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar.gz nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar.bz2 nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar.lz nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar.xz nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.tar.zst nixlib-2ca39fe86b4c5581e4a3aa9d716df05db895d582.zip |
llvm_7: fix cross-compiling
Diffstat (limited to 'pkgs/development/compilers/llvm')
-rw-r--r-- | pkgs/development/compilers/llvm/7/llvm.nix | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix index 67bde813feed..06024856356f 100644 --- a/pkgs/development/compilers/llvm/7/llvm.nix +++ b/pkgs/development/compilers/llvm/7/llvm.nix @@ -23,6 +23,18 @@ let # Used when creating a version-suffixed symlink of libLLVM.dylib shortVersion = with stdenv.lib; concatStringsSep "." (take 1 (splitString "." release_version)); + + llvmTarget = platform: + if platform.parsed.cpu.family == "x86" then + "X86" + else if platform.parsed.cpu.name == "aarch64" then + "AArch64" + else if platform.parsed.cpu.family == "arm" then + "ARM" + else if platform.parsed.cpu.family == "mips" then + "Mips" + else + throw "Unsupported system"; in stdenv.mkDerivation (rec { name = "llvm-${version}"; @@ -78,10 +90,9 @@ in stdenv.mkDerivation (rec { "-DLLVM_BUILD_TESTS=ON" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_ENABLE_RTTI=ON" - "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - "-DTARGET_TRIPLE=${stdenv.hostPlatform.config}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.targetPlatform.config}" + "-DLLVM_TARGETS_TO_BUILD=${llvmTarget stdenv.hostPlatform};${llvmTarget stdenv.targetPlatform}" "-DLLVM_ENABLE_DUMP=ON" ] |