diff options
author | Alyssa Ross <hi@alyssa.is> | 2024-03-24 11:04:41 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2024-03-24 11:04:41 +0100 |
commit | 5423cabbbf2b6dec5568f1ecabd288d5d9a642ec (patch) | |
tree | f316a6a921bfefd3a63bd4502c2eb50ff1644f67 /nixpkgs/pkgs/development/compilers/llvm/16/default.nix | |
parent | 46a88117a05c3469af5d99433af140c3de8ca088 (diff) | |
parent | 8aa81f34981add12aecada6c702ddbbd0375ca36 (diff) | |
download | nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.gz nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.bz2 nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.lz nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.xz nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.zst nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.zip |
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/llvm/16/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/llvm/16/default.nix | 42 |
1 files changed, 1 insertions, 41 deletions
diff --git a/nixpkgs/pkgs/development/compilers/llvm/16/default.nix b/nixpkgs/pkgs/development/compilers/llvm/16/default.nix index 143076c3f76e..66185071f22b 100644 --- a/nixpkgs/pkgs/development/compilers/llvm/16/default.nix +++ b/nixpkgs/pkgs/development/compilers/llvm/16/default.nix @@ -139,7 +139,6 @@ in let cc = tools.clang-unwrapped; libcxx = targetLlvmLibraries.libcxx; extraPackages = [ - libcxx.cxxabi targetLlvmLibraries.compiler-rt ]; extraBuildCommands = mkExtraBuildCommands cc; @@ -214,7 +213,6 @@ in let libcxx = targetLlvmLibraries.libcxx; bintools = bintools'; extraPackages = [ - libcxx.cxxabi targetLlvmLibraries.compiler-rt ] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [ targetLlvmLibraries.libunwind @@ -324,45 +322,7 @@ in let libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang; - libcxxabi = let - # CMake will "require" a compiler capable of compiling C++ programs - # cxx-header's build does not actually use one so it doesn't really matter - # what stdenv we use here, as long as CMake is happy. - cxx-headers = callPackage ./libcxx { - inherit llvm_meta; - # Note that if we use the regular stdenv here we'll get cycle errors - # when attempting to use this compiler in the stdenv. - # - # The final stdenv pulls `cxx-headers` from the package set where - # hostPlatform *is* the target platform which means that `stdenv` at - # that point attempts to use this toolchain. - # - # So, we use `stdenv_` (the stdenv containing `clang` from this package - # set, defined below) to sidestep this issue. - # - # Because we only use `cxx-headers` in `libcxxabi` (which depends on the - # clang stdenv _anyways_), this is okay. - stdenv = stdenv_; - headersOnly = true; - }; - - # `libcxxabi` *doesn't* need a compiler with a working C++ stdlib but it - # *does* need a relatively modern C++ compiler (see: - # https://releases.llvm.org/15.0.0/projects/libcxx/docs/index.html#platform-and-compiler-support). - # - # So, we use the clang from this LLVM package set, like libc++ - # "boostrapping builds" do: - # https://releases.llvm.org/15.0.0/projects/libcxx/docs/BuildingLibcxx.html#bootstrapping-build - # - # We cannot use `clangNoLibcxx` because that contains `compiler-rt` which, - # on macOS, depends on `libcxxabi`, thus forming a cycle. - stdenv_ = overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc; - in callPackage ./libcxxabi { - stdenv = stdenv_; - inherit llvm_meta cxx-headers; - }; - - # Like `libcxxabi` above, `libcxx` requires a fairly modern C++ compiler, + # `libcxx` requires a fairly modern C++ compiler, # so: we use the clang from this LLVM package set instead of the regular # stdenv's compiler. libcxx = callPackage ./libcxx { |