[Buildroot] [PATCH v2 8/9] package/opencl-icd-loader: new package
Sebastian Weyer
sebastian.weyer at smile.fr
Tue Jul 25 17:31:00 UTC 2023
With this package it is possible to have multiple implementations of
OpenCL at the same time. This package provides a libOpenCL.so file that
captures the OpenCL API calls and forwards it to the correct
implementation of OpenCL. OpenCL implementations can be manually
registered by creating a file containing its full file path in
/etc/OpenCL/vendors/<implementation>.icd[1]
This package is required by certain OpenCL implementations, for example
Mesa3D's implementation if it is not built in standalone mode.
[1] https://github.com/KhronosGroup/OpenCL-ICD-Loader#registering-icds
Signed-off-by: Sebastian Weyer <sebastian.weyer at smile.fr>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/opencl-icd-loader/Config.in | 12 ++++++++++++
.../opencl-icd-loader/opencl-icd-loader.hash | 3 +++
.../opencl-icd-loader/opencl-icd-loader.mk | 19 +++++++++++++++++++
5 files changed, 36 insertions(+)
create mode 100644 package/opencl-icd-loader/Config.in
create mode 100644 package/opencl-icd-loader/opencl-icd-loader.hash
create mode 100644 package/opencl-icd-loader/opencl-icd-loader.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 38f46b4ac3..6af31d447e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2604,6 +2604,7 @@ F: package/ripgrep/
N: Sebastian Weyer <sebastian.weyer at smile.fr>
F: package/opencl-headers
+F: package/opencl-icd-loader
F: package/rust-bindgen
N: Sébastien Szymanski <sebastien.szymanski at armadeus.com>
diff --git a/package/Config.in b/package/Config.in
index fc73cd1727..2b7446386b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1639,6 +1639,7 @@ menu "Graphics"
source "package/menu-cache/Config.in"
source "package/opencl-clhpp/Config.in"
source "package/opencl-headers/Config.in"
+ source "package/opencl-icd-loader/Config.in"
source "package/opencv3/Config.in"
source "package/opencv4/Config.in"
source "package/opencv4-contrib/Config.in"
diff --git a/package/opencl-icd-loader/Config.in b/package/opencl-icd-loader/Config.in
new file mode 100644
index 0000000000..405dc5401a
--- /dev/null
+++ b/package/opencl-icd-loader/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_OPENCL_ICD_LOADER
+ bool "OpenCL-ICD-Loader"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_PACKAGE_HAS_LIBOPENCL
+ select BR2_PACKAGE_OPENCL_HEADERS
+ help
+ OpenCL defines an Installable Client Driver (ICD) mechanism to
+ allow developers to build applications against an Installable
+ Client Driver loader (ICD loader) rather than linking their
+ applications against a specific OpenCL implementation.
+
+ https://github.com/KhronosGroup/OpenCL-ICD-Loader
diff --git a/package/opencl-icd-loader/opencl-icd-loader.hash b/package/opencl-icd-loader/opencl-icd-loader.hash
new file mode 100644
index 0000000000..d028e3d856
--- /dev/null
+++ b/package/opencl-icd-loader/opencl-icd-loader.hash
@@ -0,0 +1,3 @@
+# locally generated
+sha256 173bdc4f321d550b6578ad2aafc2832f25fbb36041f095e6221025f74134b876 OpenCL-ICD-Loader-2023.04.17.tar.gz
+sha256 c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4 LICENSE
diff --git a/package/opencl-icd-loader/opencl-icd-loader.mk b/package/opencl-icd-loader/opencl-icd-loader.mk
new file mode 100644
index 0000000000..d3d94b9cb5
--- /dev/null
+++ b/package/opencl-icd-loader/opencl-icd-loader.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# opencl-icd-loader
+#
+################################################################################
+
+OPENCL_ICD_LOADER_VERSION = 2023.04.17
+OPENCL_ICD_LOADER_SOURCE = OpenCL-ICD-Loader-$(OPENCL_ICD_LOADER_VERSION).tar.gz
+OPENCL_ICD_LOADER_SITE = $(call github,KhronosGroup,OpenCL-ICD-Loader,v$(OPENCL_ICD_LOADER_VERSION))
+OPENCL_ICD_LOADER_LICENSE = Apache-2.0
+OPENCL_ICD_LOADER_LICENSE_FILES = LICENSE
+OPENCL_ICD_LOADER_INSTALL_STAGING = YES
+
+OPENCL_ICD_LOADER_DEPENDENCIES = opencl-headers
+
+OPENCL_ICD_LOADER_CONF_OPTS += -DOPENCL_ICD_LOADER_HEADERS_DIR=$(STAGING_DIR)/usr/include
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
--
2.34.1
More information about the buildroot
mailing list