From 95b1c75af17df47231bdf85d3d66298c6ff5c659 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 14:00:48 +0000 Subject: [PATCH 1/3] llvm: panfrost requires libclc since 25.1.0 --- packages/lang/llvm/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk index 3cc3002484..601c4961a8 100644 --- a/packages/lang/llvm/package.mk +++ b/packages/lang/llvm/package.mk @@ -102,7 +102,7 @@ pre_configure_host() { post_make_host() { ninja ${NINJA_OPTS} llvm-config llvm-tblgen - if listcontains "${GRAPHIC_DRIVERS}" "iris"; then + if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then ninja ${NINJA_OPTS} llvm-as llvm-link llvm-spirv opt fi } From 668e515854a9c0c2ea842850b7c3e21f6fb07f60 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Thu, 8 May 2025 15:13:09 +0000 Subject: [PATCH 2/3] llvm: inlcude spirv for mesa panfrost builds --- packages/lang/llvm/package.mk | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk index 601c4961a8..6fa8bf7cf8 100644 --- a/packages/lang/llvm/package.mk +++ b/packages/lang/llvm/package.mk @@ -13,10 +13,6 @@ PKG_DEPENDS_TARGET="toolchain llvm:host zlib" PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure." PKG_TOOLCHAIN="cmake" -if listcontains "${GRAPHIC_DRIVERS}" "iris"; then - PKG_DEPENDS_UNPACK="spirv-headers spirv-llvm-translator" -fi - PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \ -DLLVM_BUILD_TOOLS=OFF \ -DLLVM_BUILD_UTILS=OFF \ @@ -45,11 +41,15 @@ PKG_CMAKE_OPTS_COMMON="-DLLVM_INCLUDE_TOOLS=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_UNWIND_TABLES=OFF \ -DLLVM_ENABLE_Z3_SOLVER=OFF \ - -DLLVM_SPIRV_INCLUDE_TESTS=OFF \ -DCMAKE_SKIP_RPATH=ON" +if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then + PKG_DEPENDS_UNPACK="spirv-headers spirv-llvm-translator" + PKG_CMAKE_OPTS_COMMON+=" -DLLVM_SPIRV_INCLUDE_TESTS=OFF" +fi + post_unpack() { - if listcontains "${GRAPHIC_DRIVERS}" "iris"; then + if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then mkdir -p "${PKG_BUILD}"/llvm/projects/{SPIRV-Headers,SPIRV-LLVM-Translator} tar --strip-components=1 \ -xf "${SOURCES}/spirv-headers/spirv-headers-$(get_pkg_version spirv-headers).tar.gz" \ @@ -112,7 +112,7 @@ post_makeinstall_host() { cp -a bin/llvm-config ${TOOLCHAIN}/bin cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin - if listcontains "${GRAPHIC_DRIVERS}" "iris"; then + if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then cp -a bin/{llvm-as,llvm-link,llvm-spirv,opt} "${TOOLCHAIN}/bin" fi } From 6faf91e511267c1dec0e9d9f4c1d880ad00aea28 Mon Sep 17 00:00:00 2001 From: Rudi Heitbaum Date: Fri, 10 Jan 2025 09:03:40 +0000 Subject: [PATCH 3/3] llvm: build llvm-objcopy required for rust 1.84.0 --- packages/lang/llvm/package.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk index 6fa8bf7cf8..903231059d 100644 --- a/packages/lang/llvm/package.mk +++ b/packages/lang/llvm/package.mk @@ -100,7 +100,7 @@ pre_configure_host() { } post_make_host() { - ninja ${NINJA_OPTS} llvm-config llvm-tblgen + ninja ${NINJA_OPTS} llvm-config llvm-objcopy llvm-tblgen if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then ninja ${NINJA_OPTS} llvm-as llvm-link llvm-spirv opt @@ -110,6 +110,7 @@ post_make_host() { post_makeinstall_host() { mkdir -p ${TOOLCHAIN}/bin cp -a bin/llvm-config ${TOOLCHAIN}/bin + cp -a bin/llvm-objcopy ${TOOLCHAIN}/bin cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin if listcontains "${GRAPHIC_DRIVERS}" "(iris|panfrost)"; then