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 <anuj.mittal@intel.com>
This commit is contained in:
Anuj Mittal 2023-08-03 09:33:41 +08:00
parent ed119ed7e8
commit d9d4392e66
5 changed files with 145 additions and 1 deletions

View File

@ -0,0 +1,32 @@
From c2481fb3c7890302db5ee326ad9807155a2a2188 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <Zatloukal.Frantisek@gmail.com>
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 <anuj.mittal@intel.com>
---
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 $<TARGET_FILE:clang> )
+if(USE_PREBUILT_LLVM)
+ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
+else()
+ set(CLANG_COMMAND $<TARGET_FILE:clang>)
+endif()
if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
build_native_tool(clang CLANG_COMMAND)
endif()
--
2.37.3

View File

@ -0,0 +1,49 @@
From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001
From: Anuj Mittal <anuj.mittal@intel.com>
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 <anuj.mittal@intel.com>
---
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 $<TARGET_FILE:clang>)
endif()
--
2.37.3

View File

@ -0,0 +1,60 @@
From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001
From: Tim Creech <timothy.m.creech@intel.com>
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 <wenju.he@intel.com>
* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt
---------
Co-authored-by: Wenju He <wenju.he@intel.com>
Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
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 $<TARGET_FILE:clang>)
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

View File

@ -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"

View File

@ -1,6 +1,6 @@
require opencl-clang.inc
SRCREV = "c78c1f884ffe8b40e1681a90ebde1a919c08ddb1"
SRCREV = "bc1d13ecc1c6f7aa5da3acf33165037d3fc5ed06"
BRANCH = "ocl-open-150"