summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-opencl/igc
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/clang-layer/recipes-opencl/igc')
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch33
-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.patch23
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch35
-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/files/0004-find-external-llvm-tblgen.patch30
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.8744.bb63
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb79
9 files changed, 181 insertions, 156 deletions
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 a6af0ef3..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 6f6997066040c5f33bf05ffde36a9800dcde1fcf 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 5d9a901d7..66e59e399 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@@ -88,7 +88,7 @@ function(vc_embed_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_embed_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 add_custom_command( 30
31 OUTPUT ${BIF_CPP_PATH} 31 add_custom_target(${TARGET_NAME}
32 COMMAND ${PYTHON_EXECUTABLE} ${RESOURCE_EMBEDDER_SCRIPT} ${BIF_OPT_BC_NAME} ${BIF_CPP_NAME} 32 DEPENDS ${BIF_OPT_BC_PATH}
33--
342.32.0
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
new file mode 100644
index 00000000..3d9ae02f
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch
@@ -0,0 +1,23 @@
1From 1641dc87b2ed6b6b87b2cef824e4d66da65b0b30 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Thu, 19 May 2022 22:50:09 +0800
4Subject: [PATCH] fix tblgen
5
6Upstream-Status: Inappropriate [OE specific]
7---
8 IGC/cmake/igc_llvm.cmake | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
12index b708cc904..fe4668890 100644
13--- a/IGC/cmake/igc_llvm.cmake
14+++ b/IGC/cmake/igc_llvm.cmake
15@@ -53,7 +53,7 @@ else()
16 set(LLVM_OPT_EXE "opt" CACHE STRING "")
17
18 set(LLVM_TABLEGEN_EXE "llvm-tblgen")
19- if(CMAKE_CROSSCOMPILING)
20+ if(TRUE)
21 if(DEFINED LLVM_TABLEGEN)
22 set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN})
23 else()
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch
deleted file mode 100644
index d62f47ca..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 3d99559779d628704568879a2ee51e968e66d005 Mon Sep 17 00:00:00 2001
2From: Anuj Mittal <anuj.mittal@intel.com>
3Date: Tue, 5 Oct 2021 00:11:26 +0800
4Subject: [PATCH] llvm_deps.cmake: don't copy header file when building
5
6We build in pre-built mode and this header shouldn't be copied in
7that case.
8
9Upstream-Status: Pending
10
11Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
12---
13 external/llvm/llvm_deps.cmake | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16diff --git a/external/llvm/llvm_deps.cmake b/external/llvm/llvm_deps.cmake
17index 425d3766f..e43804f77 100644
18--- a/external/llvm/llvm_deps.cmake
19+++ b/external/llvm/llvm_deps.cmake
20@@ -46,9 +46,9 @@ if(IGC_OPTION__LLVM_LLD)
21 include(llvm_lld_source_hook)
22 if(NOT EXISTS "${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o" AND ${IGC_OPTION__LLVM_PREFERRED_VERSION} GREATER_EQUAL "12.0.0")
23 # Need to copy one header from unwind package for LLD (only for building from sources)
24- file(MAKE_DIRECTORY ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o)
25- file(COPY ${DEFAULT_IGC_LLVM_SOURCES_DIR}/libunwind/include/mach-o/compact_unwind_encoding.h
26- DESTINATION ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o/)
27+ #file(MAKE_DIRECTORY ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o)
28+ #file(COPY ${DEFAULT_IGC_LLVM_SOURCES_DIR}/libunwind/include/mach-o/compact_unwind_encoding.h
29+ # DESTINATION ${IGC_LLVM_WORKSPACE_SRC}/libunwind/include/mach-o/)
30 endif()
31 endif()
32
33--
342.32.0
35
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/files/0004-find-external-llvm-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0004-find-external-llvm-tblgen.patch
deleted file mode 100644
index 79f79976..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0004-find-external-llvm-tblgen.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From c9fe51ec555fadd098cfc98804ce91b1cf3029d4 Mon Sep 17 00:00:00 2001
2From: Dongwon Kim <dongwon.kim@intel.com>
3Date: Thu, 19 Aug 2021 08:28:03 -0700
4Subject: [PATCH 4/5] find external llvm-tblgen
5
6Upstream-Status: Pending
7Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
8---
9 IGC/cmake/igc_llvm.cmake | 5 ++++-
10 1 file changed, 4 insertions(+), 1 deletion(-)
11
12diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
13index 541793f21..bc82922b1 100644
14--- a/IGC/cmake/igc_llvm.cmake
15+++ b/IGC/cmake/igc_llvm.cmake
16@@ -24,7 +24,10 @@ set(CMAKE_MODULE_PATH
17 ${CMAKE_MODULE_PATH}
18 )
19
20-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
21+find_program(LLVM_TABLEGEN_EXE "llvm-tblgen")
22+if(LLVM_TABLEGEN_EXE-NOTFOUND)
23+ message(FATAL_ERROR "[VC] llvm-tblgen is not found")
24+endif()
25
26 include(AddLLVM)
27 include(TableGen)
28--
292.20.1
30
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.8744.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.8744.bb
deleted file mode 100644
index 8a09934d..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.8744.bb
+++ /dev/null
@@ -1,63 +0,0 @@
1SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
2DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
3llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
4hardware architecture."
5
6LICENSE = "MIT & BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
8 file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=23;md5=4a985f2545dd5a846e205b1e60a51cd9 \
9 file://NOTICES.txt;md5=db621145dfb627436bc90ad600386801"
10
11SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=master \
12 git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;branch=master \
13 file://0001-llvm_deps.cmake-don-t-copy-header-file-when-building.patch \
14 file://0003-Improve-Reproducibility-for-src-package.patch \
15 file://0004-find-external-llvm-tblgen.patch \
16 file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
17 "
18
19SRCREV_igc = "3ba8dde8c414a0e47df58b1bba12a64f8ba2089e"
20SRCREV_vc = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872"
21
22# Used to replace with relative path in reproducibility patch
23export B
24
25S = "${WORKDIR}/git"
26
27inherit cmake pkgconfig
28
29CXXFLAGS:append = " -Wno-error=nonnull"
30
31COMPATIBLE_HOST = '(x86_64).*-linux'
32COMPATIBLE_HOST:libc-musl = "null"
33
34DEPENDS += " flex-native bison-native clang opencl-clang"
35DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native"
36
37RDEPENDS:${PN} += "opencl-clang"
38
39PACKAGECONFIG ??= "vc"
40PACKAGECONFIG[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,"
41
42EXTRA_OECMAKE = " \
43 -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
44 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
45 -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
46 -DIGC_OPTION__LLVM_MODE=Prebuilds \
47 "
48
49do_install:append:class-native () {
50 install -d ${D}${bindir}
51 install ${B}/IGC/Release/elf_packager ${D}${bindir}/
52 if ${@bb.utils.contains('PACKAGECONFIG', 'vc', 'true', 'false', d)}; then
53 install ${B}/IGC/Release/CMCLTranslatorTool ${D}${bindir}/
54 fi
55}
56
57BBCLASSEXTEND = "native nativesdk"
58
59UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
60
61FILES:${PN} += " \
62 ${libdir}/igc/NOTICES.txt \
63 "
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb
new file mode 100644
index 00000000..b6d8ddeb
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_2.10.10.bb
@@ -0,0 +1,79 @@
1SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
2DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
3llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
4hardware architecture."
5
6LICENSE = "MIT & Apache-2.0"
7LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
8 file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
9 file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880"
10
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 \
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=git/SPIRV-Headers;name=spirv-headers;branch=main \
15 file://0003-Improve-Reproducibility-for-src-package.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 \
19 "
20
21SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
22
23SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
24SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
25SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
26SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
27
28SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers"
29
30# Used to replace with relative path in reproducibility patch
31export B
32
33S = "${WORKDIR}/git"
34
35inherit cmake pkgconfig qemu python3native
36
37CXXFLAGS:append = " -Wno-error=nonnull"
38
39COMPATIBLE_HOST = '(x86_64).*-linux'
40COMPATIBLE_HOST:libc-musl = "null"
41
42DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
43 python3-pyyaml-native \
44 "
45
46RDEPENDS:${PN} += "opencl-clang"
47
48PACKAGECONFIG ??= "vc"
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,"
50
51EXTRA_OECMAKE = " \
52 -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
53 -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
54 -DIGC_OPTION__LLVM_MODE=Prebuilds \
55 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
56 -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \
57 -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \
58 -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
59 "
60
61do_configure:prepend:class-target () {
62 # Write out a qemu wrapper that will be used by cmake.
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}')])}"
64 cat > ${WORKDIR}/qemuwrapper << EOF
65#!/bin/sh
66$qemu_binary "\$@"
67EOF
68 chmod +x ${WORKDIR}/qemuwrapper
69}
70
71
72UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
73
74FILES:${PN} += " \
75 ${libdir}/igc2/NOTICES.txt \
76 "
77
78# libigc.so contains buildpaths
79INSANE_SKIP:${PN} += "buildpaths"