diff options
author | Artturi <Artturin@artturin.com> | 2023-09-20 09:12:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-20 09:12:51 +0300 |
commit | 6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0 (patch) | |
tree | d9ca724d6f4273620aa69e5a0e832a7eddd3f88a | |
parent | 6d2b362ad920b5ab672b50cca06a8f70106494eb (diff) | |
parent | 42f329261698805c6367cc488105c6573f0e4cf5 (diff) | |
download | nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar.gz nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar.bz2 nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar.lz nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar.xz nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.tar.zst nixlib-6f27ba80ea1125aa94dd1cc499dcf9a4d20a70a0.zip |
Merge pull request #255488 from natto1784/libcxxabi
-rw-r--r-- | pkgs/build-support/cc-wrapper/default.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/llvm/16/default.nix | 8 | ||||
-rw-r--r-- | pkgs/test/cc-wrapper/default.nix | 7 | ||||
-rw-r--r-- | pkgs/test/cc-wrapper/include-cxxabi.cc | 8 |
4 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index e1da3ceb5bc9..eef67154ef94 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -469,6 +469,7 @@ stdenv.mkDerivation { '' + optionalString (libcxx.isLLVM or false) '' echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags + echo "-isystem ${lib.getDev libcxx.cxxabi}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags echo "-l${libcxx.cxxabi.libName}" >> $out/nix-support/libcxx-ldflags '' diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index 9dbe65ed68da..24dd31ea9fef 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -255,14 +255,6 @@ in let [ "-rtlib=compiler-rt" "-Wno-unused-command-line-argument" "-B${targetLlvmLibraries.compiler-rt}/lib" - - # Combat "__cxxabi_config.h not found". Maybe this could be fixed by - # copying these headers into libcxx? Note that building libcxx - # outside of monorepo isn't supported anymore, might be related to - # https://github.com/llvm/llvm-project/issues/55632 - # ("16.0.3 libcxx, libcxxabi: circular build dependencies") - # Looks like the machinery changed in https://reviews.llvm.org/D120727. - "-I${lib.getDev targetLlvmLibraries.libcxx.cxxabi}/include/c++/v1" ] ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional diff --git a/pkgs/test/cc-wrapper/default.nix b/pkgs/test/cc-wrapper/default.nix index 8809030989e6..74009c97980d 100644 --- a/pkgs/test/cc-wrapper/default.nix +++ b/pkgs/test/cc-wrapper/default.nix @@ -30,6 +30,13 @@ in stdenv.mkDerivation { $CXX -o cxx-check ${./cxx-main.cc} ${emulator} ./cxx-check + # test for https://github.com/NixOS/nixpkgs/issues/214524#issuecomment-1431745905 + # .../include/cxxabi.h:20:10: fatal error: '__cxxabi_config.h' file not found + # in libcxxStdenv + echo "checking whether cxxabi.h can be included... " >&2 + $CXX -o include-cxxabi ${./include-cxxabi.cc} + ${emulator} ./include-cxxabi + ${lib.optionalString (stdenv.isDarwin && stdenv.cc.isClang) '' echo "checking whether compiler can build with CoreFoundation.framework... " >&2 mkdir -p foo/lib diff --git a/pkgs/test/cc-wrapper/include-cxxabi.cc b/pkgs/test/cc-wrapper/include-cxxabi.cc new file mode 100644 index 000000000000..6ffc97e414a5 --- /dev/null +++ b/pkgs/test/cc-wrapper/include-cxxabi.cc @@ -0,0 +1,8 @@ +#include <cxxabi.h> +#include <iostream> + +int main(int argc, char **argv) +{ + std::cerr << "ok" << std::endl; + return 0; +} |