summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2015-03-06 08:36:42 -0500
committerShea Levy <shea@shealevy.com>2015-03-06 08:36:42 -0500
commit494ae5fbebd93be58a1dcca18201a6ca166c156d (patch)
treef29281e28c088d9f923ef3d640f90401e945ce98 /pkgs
parentbf0aa66c177a2026bc423b40e2940b4febbe666b (diff)
downloadnixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar.gz
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar.bz2
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar.lz
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar.xz
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.tar.zst
nixlib-494ae5fbebd93be58a1dcca18201a6ca166c156d.zip
clang: provide path to gcc on Linux
gcc contains core runtime bits that aren't available elsewhere for Linux.

Fixes #6449 refs #6668
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang.nix11
1 files changed, 9 insertions, 2 deletions
diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix
index a95b77c08b63..93e0056fb92d 100644
--- a/pkgs/development/compilers/llvm/3.5/clang.nix
+++ b/pkgs/development/compilers/llvm/3.5/clang.nix
@@ -1,6 +1,7 @@
 { stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
-
-stdenv.mkDerivation {
+let
+  gcc = if stdenv.cc.cc.isGNU or false then stdenv.cc.cc else stdenv.cc.cc.gcc;
+in stdenv.mkDerivation {
   name = "clang-${version}";
 
   unpackPhase = ''
@@ -17,6 +18,8 @@ stdenv.mkDerivation {
     "-DCMAKE_BUILD_TYPE=Release"
     "-DCMAKE_CXX_FLAGS=-std=c++11"
   ] ++
+  # Maybe with compiler-rt this won't be needed?
+  (stdenv.lib.optional stdenv.isLinux "-DGCC_INSTALL_PREFIX=${gcc}") ++
   (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include");
 
   patches = [ ./clang-purity.patch ];
@@ -36,6 +39,10 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  passthru = stdenv.lib.optionalAttrs stdenv.isLinux {
+    inherit gcc;
+  };
+
   meta = {
     description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
     homepage    = http://llvm.org/;