[Buildroot] [PATCH 1/2] package/mesa-libclc: new package

Bernd Kuhls <[email protected]>
Newsgroups net.busybox.buildroot
Message-ID <[email protected]>
Signed-off-by: Bernd Kuhls <[email protected]>
---
Gitlab check-* pipeline passed:
https://gitlab.com/bkuhls/buildroot/-/commits/b4ca952392ac2a057a101fe44058b9d53b437ff7

Building defconfig

BR2_PACKAGE_LLVM=y
BR2_PACKAGE_MESA_LIBCLC=y

stopped after reaching the 3h timeout on the Gitlab pipelines:
https://gitlab.com/bkuhls/buildroot/-/pipelines/2762788072

 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/mesa-libclc/Config.in        | 13 +++++++++
 package/mesa-libclc/mesa-libclc.hash |  3 ++
 package/mesa-libclc/mesa-libclc.mk   | 42 ++++++++++++++++++++++++++++
 5 files changed, 60 insertions(+)
 create mode 100644 package/mesa-libclc/Config.in
 create mode 100644 package/mesa-libclc/mesa-libclc.hash
 create mode 100644 package/mesa-libclc/mesa-libclc.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 98c9ee55d3..bcb1d54e04 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -469,6 +469,7 @@ F:	package/libzippp/
 F:	package/linux-firmware/
 F:	package/mc/
 F:	package/mesa3d/
+F:	package/mesa-libclc/
 F:	package/minidlna/
 F:	package/mjpg-streamer/
 F:	package/mpg123/
diff --git a/package/Config.in b/package/Config.in
index 6058800682..5fdb3fdf25 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2270,6 +2270,7 @@ endif
 	source "package/llvm-project/llvm/Config.in"
 	source "package/lttng-libust/Config.in"
 	source "package/matio/Config.in"
+	source "package/mesa-libclc/Config.in"
 	source "package/mpc/Config.in"
 	source "package/mpdecimal/Config.in"
 	source "package/mpfr/Config.in"
diff --git a/package/mesa-libclc/Config.in b/package/mesa-libclc/Config.in
new file mode 100644
index 0000000000..620bfb13e8
--- /dev/null
+++ b/package/mesa-libclc/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_MESA_LIBCLC
+	bool "mesa-libclc"
+	depends on BR2_PACKAGE_LLVM
+	select BR2_PACKAGE_LLVM_AMDGPU
+	select BR2_PACKAGE_LLVM_RTTI
+	help
+	  This is a fork of LLVM's libclc applying some fixes of a
+	  known good state to be used by Mesa3D.
+
+	  https://gitlab.freedesktop.org/karolherbst/mesa-libclc
+
+comment "mesa-libclc needs llvm"
+	depends on !BR2_PACKAGE_LLVM
diff --git a/package/mesa-libclc/mesa-libclc.hash b/package/mesa-libclc/mesa-libclc.hash
new file mode 100644
index 0000000000..a03274867e
--- /dev/null
+++ b/package/mesa-libclc/mesa-libclc.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256  c77fc1104fbc2d254a48d2176a33cbec915dde9a48beda7a274f2e837b796386  mesa-libclc-22.1.8.3-git4.tar.gz
+sha256  3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479  LICENSE.TXT
diff --git a/package/mesa-libclc/mesa-libclc.mk b/package/mesa-libclc/mesa-libclc.mk
new file mode 100644
index 0000000000..62d7fef69e
--- /dev/null
+++ b/package/mesa-libclc/mesa-libclc.mk
@@ -0,0 +1,42 @@
+################################################################################
+#
+# mesa-libclc
+#
+################################################################################
+
+MESA_LIBCLC_VERSION = 22.1.8.3
+MESA_LIBCLC_SITE = https://gitlab.freedesktop.org/karolherbst/mesa-libclc.git
+MESA_LIBCLC_SITE_METHOD = git
+MESA_LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT
+MESA_LIBCLC_LICENSE_FILES = LICENSE.TXT
+MESA_LIBCLC_DEPENDENCIES = host-clang host-llvm host-spirv-llvm-translator
+HOST_MESA_LIBCLC_DEPENDENCIES = host-clang host-llvm host-spirv-llvm-translator
+MESA_LIBCLC_INSTALL_STAGING = YES
+
+# CMAKE_*_COMPILER_FORCED=ON skips testing the tools and assumes
+# llvm-config provided values
+#
+# CMAKE_*_COMPILER has to be set to the host compiler to build a host
+# 'prepare_builtins' tool used during the build process
+#
+# The headers are installed in /usr/share and not /usr/include,
+# because they are needed at runtime on the target to build the OpenCL
+# kernels.
+MESA_LIBCLC_CONF_OPTS = \
+	-DCMAKE_SYSROOT="" \
+	-DCMAKE_C_COMPILER_FORCED=ON \
+	-DCMAKE_INSTALL_DATADIR="share" \
+	-DCMAKE_FIND_ROOT_PATH="$(HOST_DIR)" \
+	-DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
+	-DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
+	-DCMAKE_SHARED_LINKER_FLAGS="$(HOST_LDFLAGS)" \
+	-DCMAKE_MODULE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
+	-DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
+	-DLLVM_CMAKE_DIR="$(HOST_DIR)/lib/cmake/llvm" \
+	-DLIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR="$(HOST_DIR)/bin"
+
+HOST_MESA_LIBCLC_CONF_OPTS = \
+	-DLIBCLC_TARGETS_TO_BUILD=spirv64-mesa3d-
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
-- 
2.47.3

_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.