summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/clang-layer')
-rw-r--r--dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.5.3.bb (renamed from dynamic-layers/clang-layer/recipes-core/dnn/onednn_2.6.2.bb)11
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch28
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch37
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch64
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/6a1b2ffae0cc12467838bc671e3b089924de90a6.patch33
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc/ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch63
-rw-r--r--dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb49
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0002-Build-not-able-to-locate-cpp_generation_tool.patch (renamed from dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch)29
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0003-external-ocloc.patch38
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch40
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_25.13.33276.16.bb (renamed from dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_22.38.24278.bb)39
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch31
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch27
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch30
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch10
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch17
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb (renamed from dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb)53
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch49
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch32
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch60
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc12
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb15
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb5
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_0.1.0.bb27
24 files changed, 316 insertions, 483 deletions
diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_2.6.2.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.5.3.bb
index 82d31d71..7a627e83 100644
--- a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_2.6.2.bb
+++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.5.3.bb
@@ -3,7 +3,7 @@ SUMMARY = "Deep Neural Network Library"
3DESCRIPTION = "This software is a user mode library that accelerates\ 3DESCRIPTION = "This software is a user mode library that accelerates\
4deep-learning applications and frameworks on Intel architecture." 4deep-learning applications and frameworks on Intel architecture."
5LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0" 5LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \ 6LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
7 file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ 7 file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
8 file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ 8 file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
9 file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ 9 file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
@@ -12,9 +12,11 @@ SECTION = "lib"
12 12
13inherit pkgconfig cmake ptest 13inherit pkgconfig cmake ptest
14 14
15DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
16
15S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
16SRCREV = "b94c58c212cb54826b9c10602b045179c2ded91e" 18SRCREV = "66f0cb9eb66affd2da3bf5f8d897376f04aae6af"
17SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v2.6;protocol=https \ 19SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
18 file://run-ptest \ 20 file://run-ptest \
19 " 21 "
20 22
@@ -32,10 +34,11 @@ EXTRA_OECMAKE += " \
32 -DDNNL_CPU_RUNTIME=OMP \ 34 -DDNNL_CPU_RUNTIME=OMP \
33 -DDNNL_ARCH_OPT_FLAGS="" \ 35 -DDNNL_ARCH_OPT_FLAGS="" \
34 -DCMAKE_SKIP_RPATH=ON \ 36 -DCMAKE_SKIP_RPATH=ON \
37 -DONEDNN_BUILD_GRAPH=OFF \
35 " 38 "
36 39
37PACKAGECONFIG ??= "gpu" 40PACKAGECONFIG ??= "gpu"
38PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers ocl-icd, intel-compute-runtime" 41PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime"
39 42
40do_install:append () { 43do_install:append () {
41 install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs 44 install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch
deleted file mode 100644
index 4e25420c..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From b9bc0df996d1e65fd70d5eb2d40866693f23bb67 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Thu, 24 Jun 2021 17:53:27 +0800
4Subject: [PATCH] CMakeLists.txt: link with libclang-cpp library instead
5
6Upstream-Status: Inappropriate
7
8Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
9---
10 CMakeLists.txt | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/CMakeLists.txt b/CMakeLists.txt
14index ef88317e..7507d6a5 100644
15--- a/CMakeLists.txt
16+++ b/CMakeLists.txt
17@@ -281,7 +281,7 @@ if (WASM_ENABLED)
18 list(APPEND ISPC_TARGETS wasm-i32x4)
19 endif()
20
21-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
22+set(CLANG_LIBRARY_LIST clang-cpp)
23 set(LLVM_COMPONENTS engine ipo bitreader bitwriter instrumentation linker option frontendopenmp)
24
25 if (X86_ENABLED)
26--
272.17.1
28
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch
deleted file mode 100644
index e7bb599e..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 139b94a7fb72114c31a2a6ab3f7e6024b4a738ec Mon Sep 17 00:00:00 2001
2From: Yogesh Tyagi <yogesh.tyagi@intel.com>
3Date: Tue, 26 Jul 2022 15:25:10 +0800
4Subject: [PATCH] Fix QA Issues
5
6Stop ispc from inserting host file path in generated headers which leads to reproducibility problems.
7
8Upstream-Status: Inappropriate [OE build specific]
9
10Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
11
12---
13 src/module.cpp | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/src/module.cpp b/src/module.cpp
17index 58a2ae83..82673052 100644
18--- a/src/module.cpp
19+++ b/src/module.cpp
20@@ -2105,7 +2105,7 @@ bool Module::writeHeader(const char *fn) {
21 perror("fopen");
22 return false;
23 }
24- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", fn);
25+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
26 fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
27
28 // Create a nice guard string from the filename, turning any
29@@ -2219,7 +2219,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
30 FILE *f = DHI->file;
31
32 if (DHI->EmitFrontMatter) {
33- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", DHI->fn);
34+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
35 fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
36 }
37 // Create a nice guard string from the filename, turning any
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch
deleted file mode 100644
index a13ade9f..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1From 493e886d6dae2ed7bdc12ed03f717ee0e98dfe09 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Thu, 24 Feb 2022 20:01:11 +0530
4Subject: [PATCH] cmake: don't build for 32-bit targets
5
6Error log:
7| tmp/work/corei7-64-poky-linux/ispc/1.16.0-r0/recipe-sysroot/usr/include/bits/long-double.h:23:10: fatal error: 'bits/long-double-32.h' file not found
8| #include <bits/long-double-32.h>
9| ^~~~~~~~~~~~~~~~~~~~~~~
10| 1 error generated.
11
12Remove SYSTEM include search path and set -isysroot dir path
13for root dir for cross compilation.
14
15Upstream-Status: Inappropriate
16
17Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
18---
19 cmake/GenerateBuiltins.cmake | 8 ++++----
20 1 file changed, 4 insertions(+), 4 deletions(-)
21
22diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake
23index fa228247..7adc7e52 100644
24--- a/cmake/GenerateBuiltins.cmake
25+++ b/cmake/GenerateBuiltins.cmake
26@@ -272,7 +272,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
27 # In this case headers will be installed in /usr/arm-linux-gnueabihf/include and will not be picked up
28 # by clang by default. So the following line adds such path explicitly. If this path doesn't exist and
29 # the headers can be found in other locations, this should not be a problem.
30- set(includePath -isystem/usr/${debian_triple}/include)
31+ set(includePath -isysroot${SYSROOT_DIR})
32 endif()
33 endif()
34
35@@ -354,7 +354,7 @@ function (generate_target_builtins resultList)
36 set(regular_targets ${ARGN})
37 list(FILTER regular_targets EXCLUDE REGEX wasm)
38 foreach (ispc_target ${regular_targets})
39- foreach (bit 32 64)
40+ foreach (bit 64)
41 foreach (os_name ${TARGET_OS_LIST_FOR_LL})
42 target_ll_to_cpp(target-${ispc_target} ${bit} ${os_name} output${os_name}${bit})
43 list(APPEND tmpList ${output${os_name}${bit}})
44@@ -415,7 +415,7 @@ function (generate_common_builtins resultList)
45 endif()
46
47 message (STATUS "ISPC will be built with support of ${supported_oses} for ${supported_archs}")
48- foreach (bit 32 64)
49+ foreach (bit 64)
50 foreach (os_name "windows" "linux" "freebsd" "macos" "android" "ios" "ps4" "web")
51 foreach (arch "x86" "arm" "wasm32")
52 builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch})
53@@ -428,7 +428,7 @@ function (generate_common_builtins resultList)
54 endforeach()
55 endforeach()
56 if (XE_ENABLED)
57- foreach (bit 32 64)
58+ foreach (bit 64)
59 builtin_xe_to_cpp(${bit} res_xe_${bit})
60 list(APPEND tmpList ${res_xe_${bit}} )
61 if(MSVC)
62--
632.17.1
64
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/6a1b2ffae0cc12467838bc671e3b089924de90a6.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/6a1b2ffae0cc12467838bc671e3b089924de90a6.patch
deleted file mode 100644
index 6aac0c79..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/6a1b2ffae0cc12467838bc671e3b089924de90a6.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 6a1b2ffae0cc12467838bc671e3b089924de90a6 Mon Sep 17 00:00:00 2001
2From: Dmitry Babokin <dmitry.y.babokin@intel.com>
3Date: Thu, 5 May 2022 16:34:34 -0700
4Subject: [PATCH] Bump ISPC version v1.19.0dev
5
6Upstream-Status: Backport
7
8Include only the LLVM specific bits and not the ispc version bump.
9
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11---
12diff --git a/src/ispc_version.h b/src/ispc_version.h
13index 0e28dfcfa..2b9d9b0cc 100644
14--- a/src/ispc_version.h
15+++ b/src/ispc_version.h
16@@ -51,7 +51,7 @@
17 #define ISPC_LLVM_15_0 150000
18
19 #define OLDEST_SUPPORTED_LLVM ISPC_LLVM_10_0
20-#define LATEST_SUPPORTED_LLVM ISPC_LLVM_14_0
21+#define LATEST_SUPPORTED_LLVM ISPC_LLVM_15_0
22
23 #ifdef __ispc__xstr
24 #undef __ispc__xstr
25@@ -63,7 +63,7 @@
26 __ispc__xstr(LLVM_VERSION_MAJOR) "." __ispc__xstr(LLVM_VERSION_MINOR) "." __ispc__xstr(LLVM_VERSION_PATCH)
27
28 #if ISPC_LLVM_VERSION < OLDEST_SUPPORTED_LLVM || ISPC_LLVM_VERSION > LATEST_SUPPORTED_LLVM
29-#error "Only LLVM 11.0 - 14.0 are supported"
30+#error "Only LLVM 11.0 - 14.0 and 15.0 development branch are supported"
31 #endif
32
33 #define ISPC_VERSION_STRING \
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch
deleted file mode 100644
index a5ab8c19..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1From ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda Mon Sep 17 00:00:00 2001
2From: Arina Neshlyaeva <arina.neshlyaeva@intel.com>
3Date: Tue, 23 Aug 2022 15:21:50 -0700
4Subject: [PATCH] Adjust opt passes for LLVM 15
5
6Upstream-Status: Backport
7Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
8---
9 src/opt.cpp | 17 +++++++++++++++++
10 1 file changed, 17 insertions(+)
11
12diff --git a/src/opt.cpp b/src/opt.cpp
13index 910821e26..86219f384 100644
14--- a/src/opt.cpp
15+++ b/src/opt.cpp
16@@ -84,6 +84,9 @@
17 #include <llvm/Transforms/Scalar.h>
18 #include <llvm/Transforms/Scalar/GVN.h>
19 #include <llvm/Transforms/Scalar/InstSimplifyPass.h>
20+#if ISPC_LLVM_VERSION >= ISPC_LLVM_15_0
21+#include <llvm/Transforms/Scalar/SimpleLoopUnswitch.h>
22+#endif
23 #include <llvm/Transforms/Utils.h>
24 #include <llvm/Transforms/Utils/BasicBlockUtils.h>
25
26@@ -647,7 +650,11 @@ void ispc::Optimize(llvm::Module *module, int optLevel) {
27 optPM.add(llvm::createCFGSimplificationPass());
28 #endif
29
30+#if ISPC_LLVM_VERSION < ISPC_LLVM_15_0
31+ // Starting LLVM 15.0 this pass is supported with new pass manager only (217e857)
32+ // TODO: switch ISPC to new pass manager: https://github.com/ispc/ispc/issues/2359
33 optPM.add(llvm::createArgumentPromotionPass());
34+#endif
35
36 optPM.add(llvm::createAggressiveDCEPass());
37 optPM.add(llvm::createInstructionCombiningPass(), 241);
38@@ -722,7 +729,11 @@ void ispc::Optimize(llvm::Module *module, int optLevel) {
39 optPM.add(CreateInstructionSimplifyPass());
40
41 optPM.add(llvm::createFunctionInliningPass());
42+#if ISPC_LLVM_VERSION < ISPC_LLVM_15_0
43+ // Starting LLVM 15.0 this pass is supported with new pass manager only (217e857)
44+ // TODO: switch ISPC to new pass manager: https://github.com/ispc/ispc/issues/2359
45 optPM.add(llvm::createArgumentPromotionPass());
46+#endif
47
48 optPM.add(llvm::createSROAPass());
49
50@@ -736,7 +747,13 @@ void ispc::Optimize(llvm::Module *module, int optLevel) {
51 optPM.add(llvm::createReassociatePass());
52 optPM.add(llvm::createLoopRotatePass());
53 optPM.add(llvm::createLICMPass());
54+ // Loop unswitch pass was removed in LLVM 15.0 (fb4113).
55+ // Recommended replacement: createSimpleLoopUnswitchLegacyPass
56+#if ISPC_LLVM_VERSION < ISPC_LLVM_15_0
57 optPM.add(llvm::createLoopUnswitchPass(false));
58+#else
59+ optPM.add(llvm::createSimpleLoopUnswitchLegacyPass(false));
60+#endif
61 optPM.add(llvm::createInstructionCombiningPass());
62 optPM.add(CreateInstructionSimplifyPass());
63 optPM.add(llvm::createIndVarSimplifyPass());
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb b/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb
deleted file mode 100644
index 24b0988e..00000000
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
1SUMMARY = "Intel(R) Implicit SPMD Program Compiler"
2DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \
3with extensions for single program, multiple data programming."
4HOMEPAGE = "https://github.com/ispc/ispc"
5
6LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
7LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
8 file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"
9
10inherit cmake python3native
11
12S = "${WORKDIR}/git"
13
14SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
15 file://0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch \
16 file://0002-cmake-don-t-build-for-32-bit-targets.patch \
17 file://0001-Fix-QA-Issues.patch \
18 file://6a1b2ffae0cc12467838bc671e3b089924de90a6.patch \
19 file://ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch \
20 "
21SRCREV = "f7ec3aa173c816377c215d83196b5c7c3a88db1c"
22
23COMPATIBLE_HOST = '(x86_64).*-linux'
24
25DEPENDS += " clang-native bison-native flex-native"
26RDEPENDS:${PN} += " clang-libllvm clang"
27
28YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
29
30do_configure:prepend() {
31 sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt
32 sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt
33}
34
35EXTRA_OECMAKE += " \
36 -DISPC_INCLUDE_TESTS=OFF \
37 -DISPC_INCLUDE_EXAMPLES=OFF \
38 -DISPC_NO_DUMPS=ON \
39 -DARM_ENABLED=OFF \
40 -DISPC_CROSS=ON \
41 -DISPC_ANDROID_TARGET=OFF \
42 -DISPC_FREEBSD_TARGET=OFF \
43 -DISPC_WINDOWS_TARGET=OFF \
44 -DISPC_IOS_TARGET=OFF \
45 -DISPC_PS4_TARGET=OFF \
46 -DSYSROOT_DIR=${STAGING_DIR_NATIVE} \
47 "
48
49BBCLASSEXTEND = "native nativesdk"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0002-Build-not-able-to-locate-cpp_generation_tool.patch
index 4646856d..45288ce1 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch
+++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0002-Build-not-able-to-locate-cpp_generation_tool.patch
@@ -1,35 +1,34 @@
1From 40e9344d37d62158e6c9f72919f0595ef5fde61a Mon Sep 17 00:00:00 2001 1From 8c330d0cb5167612296801f0202b0de35e9ca88d Mon Sep 17 00:00:00 2001
2From: Dongwon Kim <dongwon.kim@intel.com> 2From: Dongwon Kim <dongwon.kim@intel.com>
3Date: Sat, 21 Aug 2021 16:09:39 -0700 3Date: Sat, 21 Aug 2021 16:09:39 -0700
4Subject: [PATCH] Build not able to locate cpp_generation_tool. 4Subject: [PATCH 2/5] Build not able to locate cpp_generation_tool.
5 5
6Upstream-Status: Inappropriate [oe specific] 6Upstream-Status: Inappropriate [oe specific]
7 7
8Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> 8Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
9Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> 9Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
10
11--- 10---
12 shared/source/built_ins/kernels/CMakeLists.txt | 8 ++++---- 11 shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++-----
13 1 file changed, 4 insertions(+), 4 deletions(-) 12 1 file changed, 5 insertions(+), 5 deletions(-)
14 13
15diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt 14Index: git/shared/source/built_ins/kernels/CMakeLists.txt
16index 769e2a100..eef25747e 100644 15===================================================================
17--- a/shared/source/built_ins/kernels/CMakeLists.txt 16--- git.orig/shared/source/built_ins/kernels/CMakeLists.txt
18+++ b/shared/source/built_ins/kernels/CMakeLists.txt 17+++ git/shared/source/built_ins/kernels/CMakeLists.txt
19@@ -94,9 +94,9 @@ function(compile_builtin core_type platform_type builtin bits builtin_options mo 18@@ -122,9 +122,9 @@ function(compile_builtin core_type platf
20 ) 19 endif()
21 add_custom_command( 20 add_custom_command(
22 OUTPUT ${OUTPUT_FILE_CPP} 21 OUTPUT ${OUTPUT_FILE_CPP}
23- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID} 22- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
24+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} --revision_id ${REVISION_ID} 23+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
25 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 24 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
26- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool> 25- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool>
27+ DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool 26+ DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool
28 ) 27 )
29 list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}") 28 list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
30 else() 29 else()
31@@ -147,9 +147,9 @@ function(generate_cpp_spirv builtin) 30@@ -176,9 +176,9 @@ function(generate_cpp_spirv builtin)
32 ) 31 endif()
33 add_custom_command( 32 add_custom_command(
34 OUTPUT ${OUTPUT_FILE_CPP} 33 OUTPUT ${OUTPUT_FILE_CPP}
35- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} 34- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME}
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0003-external-ocloc.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0003-external-ocloc.patch
new file mode 100644
index 00000000..2001d839
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/0003-external-ocloc.patch
@@ -0,0 +1,38 @@
1From 0006db5f55a9f08bd3452558a53704cd3bbb790f Mon Sep 17 00:00:00 2001
2From: Dongwon Kim <dongwon.kim@intel.com>
3Date: Wed, 2 Mar 2022 15:52:45 -0800
4Subject: [PATCH 3/5] external ocloc
5
6Upstream-Status: Inappropriate
7
8Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
9---
10 cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
11 1 file changed, 8 insertions(+), 6 deletions(-)
12
13Index: git/cmake/ocloc_cmd_prefix.cmake
14===================================================================
15--- git.orig/cmake/ocloc_cmd_prefix.cmake
16+++ git/cmake/ocloc_cmd_prefix.cmake
17@@ -4,13 +4,15 @@
18 # SPDX-License-Identifier: MIT
19 #
20
21-if(WIN32)
22- set(ocloc_cmd_prefix ocloc)
23-else()
24- if(DEFINED NEO__IGC_LIBRARY_PATH)
25- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
26+if(NOT DEFINED ocloc_cmd_prefix)
27+ if(WIN32)
28+ set(ocloc_cmd_prefix ocloc)
29 else()
30- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
31+ if(DEFINED NEO__IGC_LIBRARY_PATH)
32+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
33+ else()
34+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
35+ endif()
36 endif()
37 endif()
38
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch
deleted file mode 100644
index 9ee8c96a..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From 1189028d9f77265edf6258a66f8ecadf3aad556a Mon Sep 17 00:00:00 2001
2From: Dongwon Kim <dongwon.kim@intel.com>
3Date: Wed, 2 Mar 2022 15:52:45 -0800
4Subject: [PATCH] external ocloc
5
6Upstream-Status: Inappropriate
7
8Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
9---
10 cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
11 1 file changed, 8 insertions(+), 6 deletions(-)
12
13diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake
14index 9b6bd3cd3..0aba48709 100644
15--- a/cmake/ocloc_cmd_prefix.cmake
16+++ b/cmake/ocloc_cmd_prefix.cmake
17@@ -4,12 +4,14 @@
18 # SPDX-License-Identifier: MIT
19 #
20
21-if(WIN32)
22- set(ocloc_cmd_prefix ocloc)
23-else()
24- if(DEFINED NEO__IGC_LIBRARY_PATH)
25- set(ocloc_cmd_prefix LD_LIBRARY_PATH=${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
26+if(NOT DEFINED ocloc_cmd_prefix)
27+ if(WIN32)
28+ set(ocloc_cmd_prefix ocloc)
29 else()
30- set(ocloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
31+ if(DEFINED NEO__IGC_LIBRARY_PATH)
32+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
33+ else()
34+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
35+ endif()
36 endif()
37 endif()
38--
392.20.1
40
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_22.38.24278.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_25.13.33276.16.bb
index f7043a18..635e8c2f 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_22.38.24278.bb
+++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_25.13.33276.16.bb
@@ -4,27 +4,24 @@ is an open source project to converge Intel's development efforts \
4on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ 4on OpenCL(TM) compute stacks supporting the GEN graphics hardware \
5architecture." 5architecture."
6 6
7LICENSE = "MIT" 7LICENSE = "MIT & Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9280143b568466d8fbe385f838078b93 \ 8LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \
9 file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b" 9 file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
10 10
11SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=master \ 11SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/25.13 \
12 " 12 file://0002-Build-not-able-to-locate-cpp_generation_tool.patch \
13 file://0003-external-ocloc.patch \
14 "
13 15
14SRC_URI:append:class-target = "file://allow-to-find-cpp-generation-tool.patch \ 16SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
15 file://external-ocloc.patch \
16 "
17
18SRCREV = "f7a4790d84eba7d0ee2028a900625bdfc0c557b3"
19 17
20S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
21 19
22DEPENDS += " intel-graphics-compiler gmmlib" 20DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"
23DEPENDS:append:class-target = " intel-compute-runtime-native libva"
24 21
25RDEPENDS:${PN} += " intel-graphics-compiler gmmlib" 22RDEPENDS:${PN} += " intel-graphics-compiler gmmlib"
26 23
27inherit cmake pkgconfig 24inherit cmake pkgconfig qemu
28 25
29COMPATIBLE_HOST = '(x86_64).*-linux' 26COMPATIBLE_HOST = '(x86_64).*-linux'
30COMPATIBLE_HOST:libc-musl = "null" 27COMPATIBLE_HOST:libc-musl = "null"
@@ -40,14 +37,20 @@ EXTRA_OECMAKE = " \
40 37
41EXTRA_OECMAKE:append:class-target = " \ 38EXTRA_OECMAKE:append:class-target = " \
42 -Docloc_cmd_prefix=ocloc \ 39 -Docloc_cmd_prefix=ocloc \
43 " 40 -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
41 "
44 42
45PACKAGECONFIG ??= "" 43PACKAGECONFIG ??= ""
46PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero" 44PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero"
47 45
48do_install:append:class-native() { 46do_configure:prepend:class-target () {
49 install -d ${D}${bindir} 47 # Write out a qemu wrapper that will be used by cmake.
50 install ${B}/bin/cpp_generate_tool ${D}${bindir}/ 48 qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${B}/bin'),d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
49 cat > ${WORKDIR}/qemuwrapper << EOF
50#!/bin/sh
51$qemu_binary "\$@"
52EOF
53 chmod +x ${WORKDIR}/qemuwrapper
51} 54}
52 55
53FILES:${PN} += " \ 56FILES:${PN} += " \
@@ -57,6 +60,4 @@ FILES:${PN} += " \
57 60
58FILES:${PN}-dev = "${includedir}" 61FILES:${PN}-dev = "${includedir}"
59 62
60BBCLASSEXTEND = "native nativesdk"
61
62UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" 63UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch
index 0dd75537..456a8c65 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch
@@ -1,4 +1,4 @@
1From 16fb6c022380bbb3c48f21372fcb1da7f30d3903 Mon Sep 17 00:00:00 2001 1From 1b98a931c3bf8daccc48cd618335ff35e3d382da Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Tue, 12 Oct 2021 23:46:42 +0800 3Date: Tue, 12 Oct 2021 23:46:42 +0800
4Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS 4Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS
@@ -14,22 +14,19 @@ Upstream-Status: Inappropriate
14 14
15Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> 15Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
16--- 16---
17 IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +- 17 IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-) 18 1 file changed, 1 insertion(+), 1 deletion(-)
19 19
20diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt 20Index: git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
21index be8e5557e..07ab40382 100644 21===================================================================
22--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt 22--- git.orig/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
23+++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt 23+++ git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
24@@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) 24@@ -121,7 +121,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_
25 add_custom_command(OUTPUT ${BIF_OPT_BC_PATH} 25 COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
26 COMMAND ${LLVM_OPT_EXE} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} 26 COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL}
27 COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}" 27 COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH}
28- DEPENDS opt ${BIF_CMCL_BC_PATH}) 28- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS})
29+ DEPENDS ${BIF_CMCL_BC_PATH}) 29+ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL})
30 set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE)
31 endfunction()
32 30
33-- 31 add_custom_target(${TARGET_NAME}
342.35.3 32 DEPENDS ${BIF_OPT_BC_PATH}
35
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch
new file mode 100644
index 00000000..87b094aa
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-Build-not-able-to-locate-BiFManager-bin.patch
@@ -0,0 +1,27 @@
1From 048512728eea53b3772a3f80ac9743bfc462487e Mon Sep 17 00:00:00 2001
2From: Yogesh Tyagi <yogesh.tyagi@intel.com>
3Date: Thu, 2 Jan 2025 15:59:27 +0530
4Subject: [PATCH] Build not able to locate BiFManager-bin
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
9---
10 IGC/BiFModule/CMakeLists.txt | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13Index: git/IGC/BiFModule/CMakeLists.txt
14===================================================================
15--- git.orig/IGC/BiFModule/CMakeLists.txt
16+++ git/IGC/BiFModule/CMakeLists.txt
17@@ -655,8 +655,8 @@ set(IGC_BUILD__PROJ__BiFModuleCache_OCL
18
19 add_custom_command(
20 OUTPUT "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc"
21- COMMAND $<TARGET_FILE:BiFManager-bin> "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
22- DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc"$<TARGET_FILE:BiFManager-bin>
23+ COMMAND BiFManager-bin "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
24+ DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" BiFManager-bin
25 COMMENT "BiF: ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc: Spliting output .bc."
26 COMMAND_EXPAND_LISTS
27 )
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch
new file mode 100644
index 00000000..fc66b71d
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch
@@ -0,0 +1,30 @@
1From 251e2854dd206ebf66e5908d3277e4585fe2a63b Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Mon, 9 Jan 2023 11:43:05 +0800
4Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers
5
6We clone the SPIRV headers and tools in a different directory to ensure
7file path substitutions take place.
8
9Upstream-Status: Inappropriate
10
11Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
12---
13 external/SPIRV-Tools/CMakeLists.txt | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16Index: git/external/SPIRV-Tools/CMakeLists.txt
17===================================================================
18--- git.orig/external/SPIRV-Tools/CMakeLists.txt
19+++ git/external/SPIRV-Tools/CMakeLists.txt
20@@ -45,8 +45,8 @@ else() #By default use build from source
21 message(STATUS "[SPIRV-Tools] : Building from source")
22 message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")
23
24- set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory
25- set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools")
26+ set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory
27+ set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools")
28
29 set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build")
30 set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}")
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch
index 24367f19..3d9ae02f 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch
@@ -1,17 +1,18 @@
1From 5329f00de484b470152e2bd3a5ab6dac45668b13 Mon Sep 17 00:00:00 2001 1From 1641dc87b2ed6b6b87b2cef824e4d66da65b0b30 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com> 2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 19 May 2022 22:50:09 +0800 3Date: Thu, 19 May 2022 22:50:09 +0800
4Subject: [PATCH] fix tblgen 4Subject: [PATCH] fix tblgen
5 5
6Upstream-Status: Inappropriate [OE specific]
6--- 7---
7 IGC/cmake/igc_llvm.cmake | 2 +- 8 IGC/cmake/igc_llvm.cmake | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-) 9 1 file changed, 1 insertion(+), 1 deletion(-)
9 10
10diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake 11diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
11index 89c03fc49..85be9ae08 100644 12index b708cc904..fe4668890 100644
12--- a/IGC/cmake/igc_llvm.cmake 13--- a/IGC/cmake/igc_llvm.cmake
13+++ b/IGC/cmake/igc_llvm.cmake 14+++ b/IGC/cmake/igc_llvm.cmake
14@@ -48,7 +48,7 @@ else() 15@@ -53,7 +53,7 @@ else()
15 set(LLVM_OPT_EXE "opt" CACHE STRING "") 16 set(LLVM_OPT_EXE "opt" CACHE STRING "")
16 17
17 set(LLVM_TABLEGEN_EXE "llvm-tblgen") 18 set(LLVM_TABLEGEN_EXE "llvm-tblgen")
@@ -20,6 +21,3 @@ index 89c03fc49..85be9ae08 100644
20 if(DEFINED LLVM_TABLEGEN) 21 if(DEFINED LLVM_TABLEGEN)
21 set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN}) 22 set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN})
22 else() 23 else()
23--
242.35.3
25
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch
index 7dd36aec..4269fadf 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch
@@ -1,7 +1,7 @@
1From c2b7f30dd56568482b1b7c2f22bafdf68736fc88 Mon Sep 17 00:00:00 2001 1From ca136c04d4ac60e3febc8ea2b9c4d4736365a424 Mon Sep 17 00:00:00 2001
2From: Lee Chee Yang <chee.yang.lee@intel.com> 2From: Lee Chee Yang <chee.yang.lee@intel.com>
3Date: Wed, 2 Sep 2020 08:28:35 +0800 3Date: Wed, 2 Sep 2020 08:28:35 +0800
4Subject: [PATCH 3/5] Improve Reproducibility for src package 4Subject: [PATCH] Improve Reproducibility for src package
5 5
6Improve reproducibility for intel-graphics-compiler-src package. 6Improve reproducibility for intel-graphics-compiler-src package.
7needs to pass build path as environment variable to the build. 7needs to pass build path as environment variable to the build.
@@ -13,11 +13,11 @@ Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
13 visa/CMakeLists.txt | 7 +++++-- 13 visa/CMakeLists.txt | 7 +++++--
14 1 file changed, 5 insertions(+), 2 deletions(-) 14 1 file changed, 5 insertions(+), 2 deletions(-)
15 15
16diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt 16Index: git/visa/CMakeLists.txt
17index 65dbb4934..8cd607a69 100644 17===================================================================
18--- a/visa/CMakeLists.txt 18--- git.orig/visa/CMakeLists.txt
19+++ b/visa/CMakeLists.txt 19+++ git/visa/CMakeLists.txt
20@@ -123,8 +123,11 @@ endif() 20@@ -135,8 +135,11 @@ endif()
21 set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) 21 set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp)
22 set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) 22 set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp)
23 23
@@ -31,6 +31,3 @@ index 65dbb4934..8cd607a69 100644
31 ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) 31 ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
32 set(CISAScanner_dependencies) 32 set(CISAScanner_dependencies)
33 33
34--
352.20.1
36
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb
index ed9b47cb..b6d8ddeb 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.12149.1.bb
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb
@@ -6,22 +6,24 @@ hardware architecture."
6LICENSE = "MIT & Apache-2.0" 6LICENSE = "MIT & Apache-2.0"
7LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ 7LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
8 file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ 8 file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
9 file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a" 9 file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880"
10 10
11SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.12149 \ 11SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/2.10.x \
12 git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ 12 git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \
13 git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=SPIRV-Tools;name=spirv-tools;branch=sdk-1.3.204 \ 13 git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \
14 git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=SPIRV-Headers;name=spirv-headers;branch=master \ 14 git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \
15 file://0003-Improve-Reproducibility-for-src-package.patch \ 15 file://0003-Improve-Reproducibility-for-src-package.patch \
16 file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ 16 file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
17 file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
18 file://0001-Build-not-able-to-locate-BiFManager-bin.patch \
17 " 19 "
18 20
19SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" 21SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
20 22
21SRCREV_igc = "a3d06ca6798d1c70bb0bf274695ac74ce0532ae4" 23SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
22SRCREV_vc = "984bb27baacce6ee5c716c2e64845f2a1928025b" 24SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
23SRCREV_spirv-tools = "45dd184c790d6bfc78a5a74a10c37e888b1823fa" 25SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
24SRCREV_spirv-headers = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78" 26SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
25 27
26SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" 28SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers"
27 29
@@ -30,43 +32,48 @@ export B
30 32
31S = "${WORKDIR}/git" 33S = "${WORKDIR}/git"
32 34
33inherit cmake pkgconfig 35inherit cmake pkgconfig qemu python3native
34 36
35CXXFLAGS:append = " -Wno-error=nonnull" 37CXXFLAGS:append = " -Wno-error=nonnull"
36 38
37COMPATIBLE_HOST = '(x86_64).*-linux' 39COMPATIBLE_HOST = '(x86_64).*-linux'
38COMPATIBLE_HOST:libc-musl = "null" 40COMPATIBLE_HOST:libc-musl = "null"
39 41
40DEPENDS += " flex-native bison-native clang opencl-clang" 42DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
41DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native" 43 python3-pyyaml-native \
44 "
42 45
43RDEPENDS:${PN} += "opencl-clang" 46RDEPENDS:${PN} += "opencl-clang"
44 47
45PACKAGECONFIG ??= "vc" 48PACKAGECONFIG ??= "vc"
46PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__USE_KHRONOS_SPIRV_TRANSLATOR_IN_VC=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF," 49PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF,"
47 50
48EXTRA_OECMAKE = " \ 51EXTRA_OECMAKE = " \
49 -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ 52 -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
50 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
51 -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ 53 -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
52 -DIGC_OPTION__LLVM_MODE=Prebuilds \ 54 -DIGC_OPTION__LLVM_MODE=Prebuilds \
53 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 55 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
54 -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ 56 -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \
57 -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \
58 -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
55 " 59 "
56 60
57do_install:append:class-native () { 61do_configure:prepend:class-target () {
58 install -d ${D}${bindir} 62 # Write out a qemu wrapper that will be used by cmake.
59 install ${B}/IGC/Release/elf_packager ${D}${bindir}/ 63 qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
60 if ${@bb.utils.contains('PACKAGECONFIG', 'vc', 'true', 'false', d)}; then 64 cat > ${WORKDIR}/qemuwrapper << EOF
61 install ${B}/IGC/Release/CMCLTranslatorTool ${D}${bindir}/ 65#!/bin/sh
62 install ${B}/IGC/Release/vcb ${D}${bindir}/ 66$qemu_binary "\$@"
63 fi 67EOF
68 chmod +x ${WORKDIR}/qemuwrapper
64} 69}
65 70
66BBCLASSEXTEND = "native nativesdk"
67 71
68UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" 72UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
69 73
70FILES:${PN} += " \ 74FILES:${PN} += " \
71 ${libdir}/igc/NOTICES.txt \ 75 ${libdir}/igc2/NOTICES.txt \
72 " 76 "
77
78# libigc.so contains buildpaths
79INSANE_SKIP:${PN} += "buildpaths"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch
new file mode 100644
index 00000000..031a77c7
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch
@@ -0,0 +1,49 @@
1From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Tue, 1 Aug 2023 11:15:31 +0800
4Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot
5
6Allow clang to be found in target sysroot for target builds and dont try
7to compile cross binaries, we do that ourselves.
8
9Upstream-Status: Inappropriate [oe-specific]
10Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
11---
12 CMakeLists.txt | 8 ++++----
13 cl_headers/CMakeLists.txt | 2 +-
14 2 files changed, 5 insertions(+), 5 deletions(-)
15
16diff --git a/CMakeLists.txt b/CMakeLists.txt
17index 5864009..60ba39e 100644
18--- a/CMakeLists.txt
19+++ b/CMakeLists.txt
20@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH
21
22 include(CMakeFunctions)
23
24-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
25- include(CrossCompile)
26- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
27-endif()
28+#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
29+# include(CrossCompile)
30+# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
31+#endif()
32
33 if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
34 set(USE_PREBUILT_LLVM ON)
35diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
36index 16cabb7..4423536 100644
37--- a/cl_headers/CMakeLists.txt
38+++ b/cl_headers/CMakeLists.txt
39@@ -1,6 +1,6 @@
40 set(CL_HEADERS_LIB cl_headers)
41 if(USE_PREBUILT_LLVM)
42- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
43+ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR})
44 else()
45 set(CLANG_COMMAND $<TARGET_FILE:clang>)
46 endif()
47--
482.37.3
49
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch
deleted file mode 100644
index 8df7e3ab..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 2 Apr 2020 08:59:20 +0800
4Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE
5
6Use the value that has been passed by the user.
7
8Upstream-Status: Submitted
9Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
10---
11 CMakeLists.txt | 5 ++++-
12 1 file changed, 4 insertions(+), 1 deletion(-)
13
14diff --git a/CMakeLists.txt b/CMakeLists.txt
15index 6893e97..941b0ae 100644
16--- a/CMakeLists.txt
17+++ b/CMakeLists.txt
18@@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM)
19 set (COMPILE_OPTIONS_TD opencl_clang_options.td)
20 set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
21
22-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
23+if(NOT DEFINED LLVM_TABLEGEN_EXE)
24+ set(LLVM_TABLEGEN_EXE "llvm-tblgen")
25+endif()
26+
27 set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
28 if(USE_PREBUILT_LLVM)
29 set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
30--
312.25.1
32
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch
new file mode 100644
index 00000000..2f1814f8
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch
@@ -0,0 +1,60 @@
1From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001
2From: Tim Creech <timothy.m.creech@intel.com>
3Date: Wed, 28 Jun 2023 03:45:51 -0400
4Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464)
5
6* Request native clang only when cross-compiling
7
8LLVM_USE_HOST_TOOLS may be set if LLVM is configured with
9LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate
10cross-compilation or that clang will only execute on the target.
11
12By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only
13build/use clang again if necessary for host execution.
14
15* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS
16
17Co-authored-by: Wenju He <wenju.he@intel.com>
18
19* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt
20
21---------
22
23Co-authored-by: Wenju He <wenju.he@intel.com>
24
25Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86]
26Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
27---
28 CMakeLists.txt | 2 +-
29 cl_headers/CMakeLists.txt | 2 +-
30 2 files changed, 2 insertions(+), 2 deletions(-)
31
32diff --git a/CMakeLists.txt b/CMakeLists.txt
33index e772de9..5864009 100644
34--- a/CMakeLists.txt
35+++ b/CMakeLists.txt
36@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH
37
38 include(CMakeFunctions)
39
40-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL)
41+if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
42 include(CrossCompile)
43 llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
44 endif()
45diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
46index 18296c2..16cabb7 100644
47--- a/cl_headers/CMakeLists.txt
48+++ b/cl_headers/CMakeLists.txt
49@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM)
50 else()
51 set(CLANG_COMMAND $<TARGET_FILE:clang>)
52 endif()
53-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
54+if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
55 build_native_tool(clang CLANG_COMMAND)
56 endif()
57
58--
592.37.3
60
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc
index 1d9b4d51..31a3fb21 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc
@@ -6,6 +6,8 @@ LICENSE = "NCSA"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" 6LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c"
7 7
8SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \ 8SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \
9 file://0002-Request-native-clang-only-when-cross-compiling-464.patch \
10 file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \
9 " 11 "
10S = "${WORKDIR}/git" 12S = "${WORKDIR}/git"
11 13
@@ -16,9 +18,17 @@ DEPENDS:append:class-target = " opencl-clang-native"
16COMPATIBLE_HOST = '(x86_64).*-linux' 18COMPATIBLE_HOST = '(x86_64).*-linux'
17COMPATIBLE_HOST:libc-musl = "null" 19COMPATIBLE_HOST:libc-musl = "null"
18 20
21DEPENDS += " spirv-llvm-translator"
22
23EXTRA_OECMAKE += "\
24 -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
25 -DCMAKE_SKIP_RPATH=TRUE \
26 -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
27 "
28
19do_install:append:class-native() { 29do_install:append:class-native() {
20 install -d ${D}${bindir} 30 install -d ${D}${bindir}
21 install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ 31 install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
22} 32}
23 33
24BBCLASSEXTEND = "native nativesdk" 34BBCLASSEXTEND = "native nativesdk"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb
deleted file mode 100644
index 367ca7e9..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
1require opencl-clang.inc
2
3SRC_URI:append = " file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \
4 "
5SRCREV = "06c7c0d7f5cbd13810d79489a533fa6c5b6c7d9f"
6
7BRANCH = "ocl-open-140"
8
9DEPENDS += " spirv-llvm-translator"
10
11EXTRA_OECMAKE += "\
12 -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
13 -DCMAKE_SKIP_RPATH=TRUE \
14 -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
15 "
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb
new file mode 100644
index 00000000..e946c31c
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb
@@ -0,0 +1,5 @@
1require opencl-clang.inc
2
3SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd"
4
5BRANCH = "ocl-open-150"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_0.1.0.bb b/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_0.1.0.bb
deleted file mode 100644
index dfdb4450..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_0.1.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "VC Intrinsics"
2DESCRIPTION = "VC Intrinsics project contains a set of new intrinsics on \
3top of core LLVM IR instructions that represent SIMD semantics of a program \
4targeting GPU"
5
6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://Readme.md;beginline=1;endline=7;md5=3b2db19c3b0877bb312b7adbcb815adc"
8
9SRC_URI = "git://github.com/intel/vc-intrinsics.git;protocol=https;branch=master \
10 "
11SRCREV = "99ac111c2604a47d865bd4d7996be8cfaf2af146"
12
13S = "${WORKDIR}/git"
14
15PE = "1"
16PV .= "+git${SRCPV}"
17
18inherit cmake
19
20COMPATIBLE_HOST = '(x86_64).*-linux'
21COMPATIBLE_HOST:libc-musl = "null"
22
23DEPENDS += " clang"
24
25EXTRA_OECMAKE = "-DLLVM_DIR=${STAGING_LIBDIR}"
26
27BBCLASSEXTEND = "native nativesdk"