aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/compilers/llvm/5
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/llvm/5')
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/default.nix20
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh6
5 files changed, 12 insertions, 28 deletions
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
index 1016398992f..cd7d952243c 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -4,7 +4,6 @@
}:
let
- gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation ({
pname = "clang";
inherit version;
@@ -27,6 +26,7 @@ let
cmakeFlags = [
"-DCMAKE_CXX_FLAGS=-std=c++11"
+ "-DLLVM_ENABLE_RTTI=ON"
] ++ stdenv.lib.optionals enableManpages [
"-DCLANG_INCLUDE_DOCS=ON"
"-DLLVM_ENABLE_SPHINX=ON"
@@ -77,8 +77,6 @@ let
passthru = {
isClang = true;
inherit llvm;
- } // stdenv.lib.optionalAttrs stdenv.isLinux {
- inherit gcc;
};
meta = {
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
index 624034b5228..32d6dd3d479 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt.nix
@@ -47,6 +47,7 @@ stdenv.mkDerivation {
patches = [
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
+ ../7/compiler-rt-glibc.patch
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
++ stdenv.lib.optional (stdenv.hostPlatform.libc == "glibc") ./compiler-rt-sys-ustat.patch
++ stdenv.lib.optional stdenv.hostPlatform.isAarch32 ./compiler-rt-armv7l.patch;
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
index e7083a6ed13..36495249d16 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/default.nix
@@ -1,5 +1,6 @@
-{ lowPrio, newScope, pkgs, stdenv, cmake, gcc, libstdcxxHook
+{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
+, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
- '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
- echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
+ '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
+ echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@@ -51,25 +52,18 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
- extraTools = [
- libstdcxxHook
- ];
+ # libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
+ libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];
- extraBuildCommands = ''
- echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
- echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
- echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
- echo "-L${gcc.cc.lib}/${targetConfig}/lib" >> $out/nix-support/cc-ldflags
- '' + mkExtraBuildCommands cc;
+ extraBuildCommands = mkExtraBuildCommands cc;
};
libcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx;
extraPackages = [
- targetLlvmLibraries.libcxx
targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt
];
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
index 88ad3c29c3e..f8185fc3ff4 100644
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
+++ b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/default.nix
@@ -37,12 +37,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
- linkCxxAbi = stdenv.isLinux;
-
- setupHooks = [
- ../../../../../build-support/setup-hooks/role.bash
- ./setup-hook.sh
- ];
+ passthru = {
+ isLLVM = true;
+ };
meta = {
homepage = "https://libcxx.llvm.org/";
diff --git a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh b/nixpkgs/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh
deleted file mode 100644
index 6611259165a..00000000000
--- a/nixpkgs/pkgs/development/compilers/llvm/5/libc++/setup-hook.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-# See pkgs/build-support/setup-hooks/role.bash
-getHostRole
-
-linkCxxAbi="@linkCxxAbi@"
-export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
-export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"