about summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch')
-rw-r--r--pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch b/pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch
new file mode 100644
index 000000000000..760eeec9e16f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/git/libcxxabi/skip-other-project-tests.patch
@@ -0,0 +1,45 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -131,10 +131,21 @@ if (NOT LIBCXXABI_ENABLE_SHARED AND NOT LIBCXXABI_ENABLE_STATIC)
+   message(FATAL_ERROR "libc++abi must be built as either a shared or static library.")
+ endif()
+
+-# TODO: Remove this, which shouldn't be necessary since we know we're being built
+-#       side-by-side with libc++.
+ set(LIBCXXABI_LIBCXX_INCLUDES "" CACHE PATH
+     "Specify path to libc++ includes.")
++if (NOT libcxx IN_LIST LLVM_ENABLE_RUNTIMES)
++  if (NOT IS_DIRECTORY ${LIBCXXABI_LIBCXX_INCLUDES})
++    message(FATAL_ERROR
++      "LIBCXXABI_LIBCXX_INCLUDES=${LIBCXXABI_LIBCXX_INCLUDES} is not a valid directory. "
++      "Please provide the path to where the libc++ headers have been installed.")
++  endif()
++  add_library(cxx-headers INTERFACE)
++  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" OR "${CMAKE_CXX_SIMULATE_ID}" STREQUAL "MSVC")
++    target_compile_options(cxx-headers INTERFACE /I "${LIBCXXABI_LIBCXX_INCLUDES}")
++  else()
++    target_compile_options(cxx-headers INTERFACE -I "${LIBCXXABI_LIBCXX_INCLUDES}")
++  endif()
++endif()
+
+ set(LIBCXXABI_HERMETIC_STATIC_LIBRARY_DEFAULT OFF)
+ if (WIN32)
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -61,9 +61,13 @@ if (LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY)
+   list(APPEND LIBCXXABI_TEST_DEPS cxx_external_threads)
+ endif()
+
+-list(APPEND LIBCXXABI_TEST_DEPS cxx)
+-if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)
+-  list(APPEND LIBCXXABI_TEST_DEPS unwind)
++if(libcxx IN_LIST LLVM_ENABLE_RUNTIMES)
++  list(APPEND LIBCXXABI_TEST_DEPS cxx)
++endif()
++if(libunwind IN_LIST LLVM_ENABLE_RUNTIMES)
++  if (LIBCXXABI_USE_LLVM_UNWINDER AND TARGET unwind)
++    list(APPEND LIBCXXABI_TEST_DEPS unwind)
++  endif()
+ endif()
+
+ set(AUTO_GEN_COMMENT "## Autogenerated by libcxxabi configuration.\n# Do not edit!")