aboutsummaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-opencl
diff options
context:
space:
mode:
authorAnuj Mittal <anuj.mittal@intel.com>2019-08-05 21:52:16 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2019-08-21 12:27:06 +0800
commit9c62233238a72a913090c175662f4b2550a2e3dd (patch)
tree805b6d058aac022bfcd6399d5885f6fa08c6610c /dynamic-layers/clang-layer/recipes-opencl
parent10b74dda871b4ce8244ef65f7c6463fd2217b181 (diff)
downloadmeta-intel-9c62233238a72a913090c175662f4b2550a2e3dd.tar.gz
meta-intel-9c62233238a72a913090c175662f4b2550a2e3dd.tar.bz2
meta-intel-9c62233238a72a913090c175662f4b2550a2e3dd.zip
opencl-clang: move to a separate recipe
Since this is managed as a separate repository, build it as a separate component instead of bundling with LLVM/clang. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers/clang-layer/recipes-opencl')
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch38
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_8.0.0.bb35
2 files changed, 73 insertions, 0 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch
new file mode 100644
index 00000000..b0bfa6ee
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch
@@ -0,0 +1,38 @@
+From 40be69a2c9460aea40beab8734684050988b9322 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Tue, 26 Mar 2019 14:11:29 +0800
+Subject: [PATCH] point to correct llvm-tblgen
+
+Let llvm-tblgen path be passed from recipe itself.
+
+Also since we're going to do the patching ourselves, no need to look for
+git through cmake.
+
+Upstream-Status: Inappropriate [OE specific]
+
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 174133b..be409e5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,7 +53,7 @@ endif(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ include(AddLLVM)
+ include(TableGen)
+
+-find_package(Git REQUIRED)
++#find_package(Git REQUIRED)
+
+ if (NOT WIN32)
+ add_subdirectory( linux_linker )
+@@ -102,7 +102,7 @@ endif(NOT USE_PREBUILT_LLVM)
+ set (COMPILE_OPTIONS_TD opencl_clang_options.td)
+ set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
+
+-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
++#set(LLVM_TABLEGEN_EXE "llvm-tblgen")
+ set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
+ if(USE_PREBUILT_LLVM)
+ set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_8.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_8.0.0.bb
new file mode 100644
index 00000000..6599c9b6
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_8.0.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Common clang is a thin wrapper library around clang"
+DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \
+ to compile OpenCL C kernels to SPIR-V modules."
+
+LICENSE = "NCSA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c"
+
+SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-80;protocol=https \
+ file://point-to-correct-llvm-tblgen.patch \
+ "
+
+SRCREV = "daf5e4dd718477ae8cf89a283c653939d9182f15"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+DEPENDS += "clang clang-native"
+
+DEPENDS_append_class-target = " opencl-clang-native"
+LDFLAGS_append_class-native = " -fuse-ld=lld"
+
+COMPATIBLE_HOST = '(x86_64).*-linux'
+COMPATIBLE_HOST_libc-musl = "null"
+
+EXTRA_OECMAKE += "\
+ -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
+ -DCMAKE_SKIP_RPATH=TRUE \
+ "
+
+do_install_append_class-native() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/
+}
+
+BBCLASSEXTEND = "native nativesdk"