diff mbox series

[7/9] package/opencl-headers: new package

Message ID 20230725135105.536310-8-sebastian.weyer@smile.fr
State Superseded
Headers show
Series Add support for Rusticl in mesa3d | expand

Commit Message

Sebastian Weyer July 25, 2023, 1:51 p.m. UTC
These headers provide the C language API bindings. It is a complement to
the C++ bindings already available in opencl-clhpp. This package is
required to build opencl-icd-loader:

https://github.com/KhronosGroup/OpenCL-ICD-Loader#dependencies

Signed-off-by: Sebastian Weyer <sebastian.weyer@smile.fr>
---
 DEVELOPERS                                 |  1 +
 package/Config.in                          |  1 +
 package/opencl-headers/Config.in           |  7 ++++
 package/opencl-headers/opencl-headers.hash |  3 ++
 package/opencl-headers/opencl-headers.mk   | 42 ++++++++++++++++++++++
 5 files changed, 54 insertions(+)
 create mode 100644 package/opencl-headers/Config.in
 create mode 100644 package/opencl-headers/opencl-headers.hash
 create mode 100644 package/opencl-headers/opencl-headers.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index c9ac202de6..38f46b4ac3 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2603,6 +2603,7 @@  N:	Sam Voss <sam.voss@gmail.com>
 F:	package/ripgrep/
 
 N:	Sebastian Weyer <sebastian.weyer@smile.fr>
+F:	package/opencl-headers
 F:	package/rust-bindgen
 
 N:	Sébastien Szymanski <sebastien.szymanski@armadeus.com>
diff --git a/package/Config.in b/package/Config.in
index f7b369b42a..fc73cd1727 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1638,6 +1638,7 @@  menu "Graphics"
 	source "package/libwpe/Config.in"
 	source "package/menu-cache/Config.in"
 	source "package/opencl-clhpp/Config.in"
+	source "package/opencl-headers/Config.in"
 	source "package/opencv3/Config.in"
 	source "package/opencv4/Config.in"
 	source "package/opencv4-contrib/Config.in"
diff --git a/package/opencl-headers/Config.in b/package/opencl-headers/Config.in
new file mode 100644
index 0000000000..092d8a2a4d
--- /dev/null
+++ b/package/opencl-headers/Config.in
@@ -0,0 +1,7 @@ 
+config BR2_PACKAGE_OPENCL_HEADERS
+	bool "opencl-headers"
+	depends on BR2_PACKAGE_HAS_LIBOPENCL
+	help
+	  C language headers for the OpenCL API
+
+	  https://github.com/KhronosGroup/OpenCL-Headers
diff --git a/package/opencl-headers/opencl-headers.hash b/package/opencl-headers/opencl-headers.hash
new file mode 100644
index 0000000000..f3d7ef8411
--- /dev/null
+++ b/package/opencl-headers/opencl-headers.hash
@@ -0,0 +1,3 @@ 
+#Locally generated
+sha256  0ce992f4167f958f68a37918dec6325be18f848dee29a4521c633aae3304915d  OpenCL-Headers-2023.04.17.tar.gz
+sha256  cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30  LICENSE
diff --git a/package/opencl-headers/opencl-headers.mk b/package/opencl-headers/opencl-headers.mk
new file mode 100644
index 0000000000..1cad98a3d0
--- /dev/null
+++ b/package/opencl-headers/opencl-headers.mk
@@ -0,0 +1,42 @@ 
+################################################################################
+#
+# opencl-headers
+#
+################################################################################
+
+OPENCL_HEADERS_VERSION = 2023.04.17
+OPENCL_HEADERS_SOURCE = OpenCL-Headers-$(OPENCL_HEADERS_VERSION).tar.gz
+OPENCL_HEADERS_SITE = $(call github,KhronosGroup,OpenCL-Headers,v$(OPENCL_HEADERS_VERSION))
+OPENCL_HEADERS_LICENSE = Apache-2.0
+OPENCL_HEADERS_LICENSE_FILES = LICENSE
+OPENCL_HEADERS_INSTALL_STAGING = YES
+
+OPENCL_HEADERS_INSTALL_TARGET = NO
+
+OPENCL_HEADERS_FILES = cl_d3d10.h \
+					   cl_d3d11.h \
+					   cl_dx9_media_sharing.h \
+					   cl_dx9_media_sharing_intel.h \
+					   cl_egl.h \
+					   cl_ext.h \
+					   cl_ext_intel.h \
+					   cl_gl_ext.h \
+					   cl_gl.h \
+					   cl.h \
+					   cl_half.h \
+					   cl_icd.h \
+					   cl_layer.h \
+					   cl_platform.h \
+					   cl_va_api_media_sharing_intel.h \
+					   cl_version.h \
+					   opencl.h
+
+
+define OPENCL_HEADERS_INSTALL_STAGING_CMDS
+	$(foreach header,$(OPENCL_HEADERS_FILES), \
+		$(INSTALL) -D -m 0644 $(@D)/CL/$(header) \
+			$(STAGING_DIR)/usr/include/CL/$(header)
+	)
+endef
+
+$(eval $(generic-package))