summaryrefslogtreecommitdiff
path: root/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch')
-rw-r--r--dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch
new file mode 100644
index 0000000..cd6695e
--- /dev/null
+++ b/dev-libs/rocm-opencl-runtime/files/rocm-opencl-runtime-2.8.0-change-opencl.patch
@@ -0,0 +1,70 @@
+diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
+index 2c9dfd6..863b4bf 100644
+--- a/runtime/CMakeLists.txt
++++ b/runtime/CMakeLists.txt
+@@ -23,7 +23,6 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/llvm/include)
+ endif() # if (${USE_COMGR_LIBRARY} STREQUAL "no")
+
+-include_directories(${CMAKE_SOURCE_DIR}/compiler/driver/src)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/include)
+ include_directories(${CMAKE_SOURCE_DIR}/compiler/lib/backends/common)
+@@ -79,6 +78,8 @@ add_library(oclruntime OBJECT
+ ${COMGR_CPP}
+ )
+ set_target_properties(oclruntime PROPERTIES POSITION_INDEPENDENT_CODE ON)
++#add_dependencies(oclruntime opencl1.2-c.amdgcn.inc_target)
++#add_dependencies(oclruntime opencl2.0-c.amdgcn.inc_target)
+
+ set(AMDGCN_DEP_LIST)
+ if(AMDGCN_TARGETS_LIB_DEPS)
+diff --git a/runtime/device/rocm/CMakeLists.txt b/runtime/device/rocm/CMakeLists.txt
+index 5870b65..39166f3 100644
+--- a/runtime/device/rocm/CMakeLists.txt
++++ b/runtime/device/rocm/CMakeLists.txt
+@@ -1,3 +1,21 @@
++find_package(Clang REQUIRED CONFIG)
++
++# FIXME: CLANG_CMAKE_DIR seems like the most stable way to find this, but
++# really there is no way to reliably discover this header.
++#
++# We effectively back up to the Clang output directory (for the case of a build
++# tree) or install prefix (for the case of an installed copy), and then search
++# for a file named opencl-c.h anywhere below that. We take the first result in
++# the case where there are multiple (e.g. if there is an installed copy nested
++# in a build directory). This is a bit imprecise, but it covers cases like MSVC
++# adding some additional configuration-specific subdirectories to the build
++# tree but not to an installed copy.
++file(GLOB_RECURSE OPENCL_C_H_LIST "${CLANG_CMAKE_DIR}/../../../*/opencl-c.h")
++list(GET OPENCL_C_H_LIST 0 OPENCL_C_H)
++if (NOT EXISTS "${OPENCL_C_H}" OR IS_DIRECTORY "${OPENCL_C_H}")
++ message(FATAL_ERROR "Unable to locate opencl-c.h from the supplied Clang. The path '${CLANG_CMAKE_DIR}/../../../*' was searched.")
++endif()
++
+ include(bc2h)
+
+ set(INC_SUFFIX "amdgcn.inc")
+@@ -82,8 +100,8 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+
+ # generating opencl*.inc files
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch
+- COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+- DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++ COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL1.2 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.pch < ${OPENCL_C_H}
++ DEPENDS clang ${OPENCL_C_H}
+ COMMENT "Generating opencl1.2-c.amdgcn.pch"
+ )
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl1.2-c.amdgcn.inc
+@@ -96,8 +114,8 @@ if (${USE_COMGR_LIBRARY} STREQUAL "no")
+ add_dependencies(oclrocm opencl1.2-c.amdgcn.inc_target)
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch
+- COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
+- DEPENDS clang ${CMAKE_SOURCE_DIR}/compiler/llvm/tools/clang/lib/Headers/opencl-c.h
++ COMMAND clang -cc1 -x cl-header -triple amdgcn-amd-amdhsa -Werror -O3 -DNDEBUG -cl-std=CL2.0 -emit-pch -o ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.pch < ${OPENCL_C_H}
++ DEPENDS clang ${OPENCL_C_H}
+ COMMENT "Generating opencl2.0-c.amdgcn.pch"
+ )
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/opencl2.0-c.amdgcn.inc
+