sys-devel/clang: Backport non-native build fix for 9.0.0
authorMichał Górny <mgorny@gentoo.org>
Fri, 13 Sep 2019 08:18:39 +0000 (10:18 +0200)
committerMichał Górny <mgorny@gentoo.org>
Fri, 13 Sep 2019 09:39:29 +0000 (11:39 +0200)
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sys-devel/clang/clang-9.0.0.9999.ebuild
sys-devel/clang/files/9.0.0/0001-clang-unittest-Import-LLVMTestingSupport-if-necessar.patch [new file with mode: 0644]

index 92eaa1de0a742572df48b33350134afadb669911..60b45818fe4b6095e6b346f7857459416120a5d3 100644 (file)
@@ -63,6 +63,12 @@ S=${WORKDIR}/x/y/${P}
 # least intrusive of all
 CMAKE_BUILD_TYPE=RelWithDebInfo
 
+PATCHES=(
+       # fix linking in non-native build (without tools-extra)
+       # https://bugs.llvm.org/show_bug.cgi?id=43281
+       "${FILESDIR}"/9.0.0/0001-clang-unittest-Import-LLVMTestingSupport-if-necessar.patch
+)
+
 # Multilib notes:
 # 1. ABI_* flags control ABIs libclang* is built for only.
 # 2. clang is always capable of compiling code for all ABIs for enabled
diff --git a/sys-devel/clang/files/9.0.0/0001-clang-unittest-Import-LLVMTestingSupport-if-necessar.patch b/sys-devel/clang/files/9.0.0/0001-clang-unittest-Import-LLVMTestingSupport-if-necessar.patch
new file mode 100644 (file)
index 0000000..67ae5a8
--- /dev/null
@@ -0,0 +1,39 @@
+From bfb5b0cb86cf90d9fa794f873644aa642b652c43 Mon Sep 17 00:00:00 2001
+From: Michal Gorny <mgorny@gentoo.org>
+Date: Thu, 12 Sep 2019 13:06:12 +0000
+Subject: [PATCH] [clang] [unittest] Import LLVMTestingSupport if necessary
+
+Add LLVMTestingSupport directory from LLVM_MAIN_SRC_DIR when building
+clang stand-alone and LLVMTestingSupport library is not present.  This
+is needed to fix stand-alone builds without clang-tools-extra.
+
+Differential Revision: https://reviews.llvm.org/D67452
+
+llvm-svn: 371733
+---
+ clang/unittests/CMakeLists.txt | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt
+index 9a41000cf43..4c222e24599 100644
+--- a/unittests/CMakeLists.txt
++++ b/unittests/CMakeLists.txt
+@@ -1,6 +1,15 @@
+ add_custom_target(ClangUnitTests)
+ set_target_properties(ClangUnitTests PROPERTIES FOLDER "Clang tests")
++if(CLANG_BUILT_STANDALONE)
++  # LLVMTestingSupport library is needed for some of the unittests.
++  if (EXISTS ${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
++      AND NOT TARGET LLVMTestingSupport)
++    add_subdirectory(${LLVM_MAIN_SRC_DIR}/lib/Testing/Support
++      lib/Testing/Support)
++  endif()
++endif()
++
+ # add_clang_unittest(test_dirname file1.cpp file2.cpp)
+ #
+ # Will compile the list of files together and link against the clang
+-- 
+2.23.0
+