瀏覽代碼

package/opencl-icd-loader: new package

This adds the OpenCL installable client driver (ICD) loader
which provides the 'libOpenCL.so' shared library needed to
run OpenCL programs.

Mesa3D can offer opencl implementations (such as rusticl),
but it does not provide 'libOpenCL.so'.

Without it, programs like 'clinfo' fail to build not
finding 'libOpenCL.so'.

see:
https://github.com/KhronosGroup/OpenCL-ICD-Loader

Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
[Julien: add Medhi in DEVELOPERS for this package]
Signed-off-by: Julien Olivain <ju.o@free.fr>
El Mehdi YOUNES 1 月之前
父節點
當前提交
d2a82364ac

+ 1 - 0
DEVELOPERS

@@ -913,6 +913,7 @@ F:	package/docopt-cpp/
 
 
 N:	El Mehdi YOUNES <elmehdi.younes@smile.fr>
 N:	El Mehdi YOUNES <elmehdi.younes@smile.fr>
 F:	package/opencl-headers/
 F:	package/opencl-headers/
+F:	package/opencl-icd-loader/
 
 
 N:	Eloi Bail <eloi.bail@savoirfairelinux.com>
 N:	Eloi Bail <eloi.bail@savoirfairelinux.com>
 F:	package/bayer2rgb-neon/
 F:	package/bayer2rgb-neon/

+ 1 - 0
package/Config.in

@@ -1789,6 +1789,7 @@ menu "Graphics"
 	source "package/menu-cache/Config.in"
 	source "package/menu-cache/Config.in"
 	source "package/opencl-clhpp/Config.in"
 	source "package/opencl-clhpp/Config.in"
 	source "package/opencl-headers/Config.in"
 	source "package/opencl-headers/Config.in"
+	source "package/opencl-icd-loader/Config.in"
 	source "package/opencv3/Config.in"
 	source "package/opencv3/Config.in"
 	source "package/opencv4/Config.in"
 	source "package/opencv4/Config.in"
 	source "package/opencv4-contrib/Config.in"
 	source "package/opencv4-contrib/Config.in"

+ 12 - 0
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

+ 3 - 0
package/opencl-icd-loader/opencl-icd-loader.hash

@@ -0,0 +1,3 @@
+# locally generated
+sha256  95f2f0cda375b13d2760290df044ebea9c6ff954a7d7faa0867422442c9174dc  OpenCL-ICD-Loader-2024.10.24.tar.gz
+sha256  c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4  LICENSE

+ 22 - 0
package/opencl-icd-loader/opencl-icd-loader.mk

@@ -0,0 +1,22 @@
+################################################################################
+#
+# opencl-icd-loader
+#
+################################################################################
+
+# The opencl-headers, opencl-icd-loader, and opencl-clhpp packages
+# must always be updated together to compatible versions.
+# Version desynchronization may result in build or runtime errors.
+# When updating one of them, make sure to check and update the others.
+OPENCL_ICD_LOADER_VERSION = 2024.10.24
+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))