summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2023-07-26 23:20:15 +0200
committerConrad Kostecki <conikost@gentoo.org>2023-07-26 23:23:18 +0200
commit09b1fff61dab3c13a6f38ba3645ff606a4c317a2 (patch)
tree6cc62b6123a64f29539bd81a8f1aa95475d37a8e /dev-libs/opencl-clang
parentnet-dns/knot-resolver: added OpenRC init script (diff)
downloadgentoo-09b1fff61dab3c13a6f38ba3645ff606a4c317a2.tar.gz
gentoo-09b1fff61dab3c13a6f38ba3645ff606a4c317a2.tar.bz2
gentoo-09b1fff61dab3c13a6f38ba3645ff606a4c317a2.zip
dev-libs/opencl-clang: fix so install
Closes: https://bugs.gentoo.org/909399 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'dev-libs/opencl-clang')
-rw-r--r--dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch79
-rw-r--r--dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild (renamed from dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild)0
2 files changed, 72 insertions, 7 deletions
diff --git a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
index 67759595b353..659a2b90bf6c 100644
--- a/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
+++ b/dev-libs/opencl-clang/files/opencl-clang-16.0.0-llvm.patch
@@ -1,9 +1,73 @@
+commit e047ae6bb9cef488781e0b06c5ae9018bacb24c4
+Author: Wenju He <wenju.he@intel.com>
+Date: Thu May 18 16:01:52 2023 +0800
+
+ Revert to use add_llvm_library and revert linking LLVM libraries (#438)
+
+ Add cmake option EXCLUDE_LIBS_FROM_ALL to remove a specific llvm library
+ from llvm 'all'.
+
+ This PR partially reverts 743bd15.
+ This PR addresses #401, #417, #418, #422, and brings back SONAME.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7d1927..be4fefd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -335,36 +335,7 @@
- target_link_libraries( ${TARGET_NAME}
- LINK_PRIVATE
- ${OPENCL_CLANG_LINK_LIBS}
+@@ -298,21 +298,23 @@ else()
+ )
+ endif()
+
+-add_library(${TARGET_NAME} SHARED
+- ${TARGET_INCLUDE_FILES}
+- ${TARGET_SOURCE_FILES}
+- $<TARGET_OBJECTS:cl_headers>
+-)
+-
+-# Same CRT compile option are reqiured to avoid link errors on Windows.
+-# MD and MDd are choosed by default for release and debug build in LLVM.
+-# If users set MT or MTd flags, they also need to add the flags for
+-# opencl-clang sources using a custom macro set_msvc_crt_flags.
+-if(COMMAND set_msvc_crt_flags)
+- set_msvc_crt_flags(${TARGET_NAME})
++set(EXCLUDE_LIBS_FROM_ALL "" CACHE STRING "Space-separated list of LLVM libraries to exclude from all")
++llvm_map_components_to_libnames(ALL_LLVM_LIBS all)
++if (NOT "${EXCLUDE_LIBS_FROM_ALL}" STREQUAL "")
++ list(REMOVE_ITEM ALL_LLVM_LIBS ${EXCLUDE_LIBS_FROM_ALL})
+ endif()
++list(APPEND OPENCL_CLANG_LINK_LIBS ${ALL_LLVM_LIBS})
++
++add_llvm_library(${TARGET_NAME} SHARED
++ ${TARGET_INCLUDE_FILES}
++ ${TARGET_SOURCE_FILES}
++ $<TARGET_OBJECTS:cl_headers>
+
+-add_dependencies(${TARGET_NAME} CClangCompileOptions)
++ DEPENDS CClangCompileOptions
++
++ LINK_LIBS
++ ${OPENCL_CLANG_LINK_LIBS}
++ )
+
+ if (WIN32)
+ # Enable compiler generation of Control Flow Guard security checks.
+@@ -328,51 +330,6 @@ elseif(UNIX)
+ LINK_FLAGS " -Wl,--no-undefined")
+ endif(WIN32)
+
+-# Enable new IN_LIST operator.
+-cmake_policy(SET CMP0057 NEW)
+-set(OTHER_LIBRARIES)
+-if ("NVPTX" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMNVPTXCodeGen LLVMNVPTXDesc LLVMNVPTXInfo)
+-endif()
+-if ("AMDGPU" IN_LIST LLVM_TARGETS_TO_BUILD)
+- list(APPEND OTHER_LIBRARIES LLVMAMDGPUCodeGen LLVMAMDGPUAsmParser LLVMAMDGPUDesc LLVMAMDGPUInfo)
+-endif()
+-
+-target_link_libraries( ${TARGET_NAME}
+- LINK_PRIVATE
+- ${OPENCL_CLANG_LINK_LIBS}
- LLVMX86CodeGen
- LLVMX86AsmParser
- LLVMX86Desc
@@ -34,7 +98,8 @@
- LLVMTarget
- LLVMBitReader
- ${OTHER_LIBRARIES}
-+ LLVM
- )
-
+- )
+-
install(FILES opencl_clang.h
+ DESTINATION include/cclang
+ COMPONENT ${TARGET_NAME})
diff --git a/dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild b/dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild
index 72b5408a634a..72b5408a634a 100644
--- a/dev-libs/opencl-clang/opencl-clang-16.0.0.ebuild
+++ b/dev-libs/opencl-clang/opencl-clang-16.0.0-r1.ebuild