From a339dcbb4b6ebbb935e1ab4e8b30b07a33087b87 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Thu, 3 Aug 2023 09:33:41 +0800 Subject: opencl-clang/15.0: update to latest Include the latest changes from ocl-open-150 branch. Backport fixes from main and include another patch to fix issues with building target binaries. Signed-off-by: Anuj Mittal (cherry picked from commit d9d4392e6628effd6f8fe064f25f824607648893) Signed-off-by: Anuj Mittal --- .../files/0001-Fix-standalone-build-415.patch | 32 ++++++++++++ ...CMakeLists.txt-use-clang-from-native-sysr.patch | 49 ++++++++++++++++++ ...ative-clang-only-when-cross-compiling-464.patch | 60 ++++++++++++++++++++++ .../recipes-opencl/opencl-clang/opencl-clang.inc | 3 ++ .../opencl-clang/opencl-clang_15.0.0.bb | 2 +- 5 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Fix-standalone-build-415.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch create mode 100644 dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Fix-standalone-build-415.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Fix-standalone-build-415.patch new file mode 100644 index 00000000..3767d537 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Fix-standalone-build-415.patch @@ -0,0 +1,32 @@ +From c2481fb3c7890302db5ee326ad9807155a2a2188 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Fri, 21 Apr 2023 04:07:21 +0200 +Subject: [PATCH 1/2] Fix standalone build (#415) + +Fixes https://github.com/intel/opencl-clang/issues/406 +Fixes https://github.com/intel/opencl-clang/issues/374 + +Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/529a9188114bcbd8ed753d2276942384fa50d7a1] +Signed-off-by: Anuj Mittal +--- + cl_headers/CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 69cf11e..18296c2 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -1,5 +1,9 @@ + set(CL_HEADERS_LIB cl_headers) +-set(CLANG_COMMAND $ ) ++if(USE_PREBUILT_LLVM) ++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++else() ++ set(CLANG_COMMAND $) ++endif() + if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL) + build_native_tool(clang CLANG_COMMAND) + endif() +-- +2.37.3 + 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 @@ +From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal +Date: Tue, 1 Aug 2023 11:15:31 +0800 +Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot + +Allow clang to be found in target sysroot for target builds and dont try +to compile cross binaries, we do that ourselves. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Anuj Mittal +--- + CMakeLists.txt | 8 ++++---- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5864009..60ba39e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) +- include(CrossCompile) +- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) +-endif() ++#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) ++# include(CrossCompile) ++# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) ++#endif() + + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(USE_PREBUILT_LLVM ON) +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 16cabb7..4423536 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -1,6 +1,6 @@ + set(CL_HEADERS_LIB cl_headers) + if(USE_PREBUILT_LLVM) +- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR}) + else() + set(CLANG_COMMAND $) + endif() +-- +2.37.3 + 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 @@ +From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001 +From: Tim Creech +Date: Wed, 28 Jun 2023 03:45:51 -0400 +Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464) + +* Request native clang only when cross-compiling + +LLVM_USE_HOST_TOOLS may be set if LLVM is configured with +LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate +cross-compilation or that clang will only execute on the target. + +By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only +build/use clang again if necessary for host execution. + +* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS + +Co-authored-by: Wenju He + +* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt + +--------- + +Co-authored-by: Wenju He + +Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86] +Signed-off-by: Anuj Mittal +--- + CMakeLists.txt | 2 +- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e772de9..5864009 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) + include(CrossCompile) + llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) + endif() +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 18296c2..16cabb7 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM) + else() + set(CLANG_COMMAND $) + endif() +-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL) + build_native_tool(clang CLANG_COMMAND) + endif() + +-- +2.37.3 + 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 0886e43b..061ecbba 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,9 @@ LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \ + file://0001-Fix-standalone-build-415.patch \ + file://0002-Request-native-clang-only-when-cross-compiling-464.patch \ + file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \ " S = "${WORKDIR}/git" 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 index 217158e9..84629cff 100644 --- 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 @@ -1,6 +1,6 @@ require opencl-clang.inc -SRCREV = "c78c1f884ffe8b40e1681a90ebde1a919c08ddb1" +SRCREV = "bc1d13ecc1c6f7aa5da3acf33165037d3fc5ed06" BRANCH = "ocl-open-150" -- cgit v1.2.3-54-g00ecf