commit:     d72bc570d77c3aae6ca74a509311be211000919b
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  7 10:56:14 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Mon Sep  7 11:09:28 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d72bc570

dev-util/intel-graphics-compiler: bypass opencl-clang version check

Ebuilds already make sure we have a new-enough version of
dev-libs/opencl-clang present, besides we have never even had versions
older than 5.0.0 in the tree. No opencl-clang version check in CMake -
no need to call readelf - no more issues on USE=-native-symlinks
systems.

Closes: https://bugs.gentoo.org/739138
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 ...cs-compiler-1.0.4111-opencl-clang_version.patch | 27 ++++++++++++++++++++++
 .../intel-graphics-compiler-1.0.4111.ebuild        |  2 ++
 2 files changed, 29 insertions(+)

diff --git 
a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4111-opencl-clang_version.patch
 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4111-opencl-clang_version.patch
new file mode 100644
index 00000000000..8996466275c
--- /dev/null
+++ 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.4111-opencl-clang_version.patch
@@ -0,0 +1,27 @@
+--- a/IGC/BiFModule/CMakeLists.txt
++++ b/IGC/BiFModule/CMakeLists.txt
+@@ -160,20 +160,10 @@
+ 
+ if(UNIX)
+   if(NOT ${CCLANG_BUILD_INTREE_LLVM})
+-    # Get common clang library soname
+-    get_target_property(CCLANG_LIB_PATH opencl-clang-lib "IMPORTED_LOCATION")
+-    execute_process(
+-      COMMAND readelf -d ${CCLANG_LIB_PATH}
+-      OUTPUT_VARIABLE CCLANG_READELF_CALL)
+-    string(REGEX MATCH 
"\\[${COMMON_CLANG_LIB_FULL_NAME}\\.([0-9](\\.[0-9]*)*[a-zA-Z0-9]*)\\]" 
CCLANG_SONAME_VERSION "${CCLANG_READELF_CALL}")
+-    set(CCLANG_SONAME_VERSION "${CMAKE_MATCH_1}")
+-
+-    # Check if common clang library is newer than 5.0.0 version on which we 
have SPIR-V support
+-    if("${CCLANG_SONAME_VERSION}" VERSION_GREATER "5.0.0")
+-      set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" 
"${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}")
+-    else()
+-      message(FATAL_ERROR "[IGC\\BiFModule] : Version 
${CCLANG_SONAME_VERSION} of library ${COMMON_CLANG_LIB_FULL_NAME} is below 
version 5.0.0 (where it's starts support of SPIR-V), please upgrade this 
library at least to version 5.0.0")
+-    endif()
++    # Workaround for https://bugs.gentoo.org/739138 : instead of checking
++    # the version of opencl-clang, have ebuilds set CCLANG_SONAME_VERSION
++    # for us.
++    set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" 
"${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}")
+   endif()
+   if (NOT CCLANG_FROM_SYSTEM)
+     install(FILES $<TARGET_FILE:opencl-clang-lib> DESTINATION 
${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl)

diff --git 
a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4111.ebuild 
b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4111.ebuild
index 3bdf70d334d..b5113c4912d 100644
--- a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4111.ebuild
+++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4111.ebuild
@@ -27,6 +27,7 @@ RDEPEND="${COMMON}"
 
 PATCHES=(
        "${FILESDIR}"/${PN}-1.0.9-no_Werror.patch
+       "${FILESDIR}"/${PN}-1.0.4111-opencl-clang_version.patch
 )
 
 S="${WORKDIR}"/${PN}-igc-${PV}
@@ -45,6 +46,7 @@ multilib_src_configure() {
        use debug || append-cppflags -DNDEBUG
 
        local mycmakeargs=(
+               -DCCLANG_SONAME_VERSION=${llvm_slot}
                -DCMAKE_LIBRARY_PATH=$(get_llvm_prefix 
${llvm_slot})/$(get_libdir)
                -DIGC_OPTION__FORCE_SYSTEM_LLVM=ON
                -DIGC_PREFERRED_LLVM_VERSION=${llvm_slot}

Reply via email to