mirror of
https://github.com/openwrt/video.git
synced 2026-10-12 05:57:07 +04:00
llvm-mesa: update to 23.1.1 / SPIRV-LLVM-Translator 23.1.1
Update LLVM and SPIRV-LLVM-Translator, which are used for the Mesa build, to the latest release. libclc is no longer a standalone LLVM project and is no longer built either, as the Intel GPU drivers do not need it any more. Give the refreshed ARC patch the git header the OpenWrt patch guidelines require. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
1 parent
b1f2e305d9
commit
938621437f
2 files changed
+21
-23
No files matched your search
+6
-22
@@ -1,18 +1,18 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=llvm-project
|
||||
PKG_VERSION:=22.1.5
|
||||
PKG_VERSION:=23.1.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).src.tar.xz
|
||||
PKG_SOURCE_URL:=https://github.com/llvm/llvm-project/releases/download/llvmorg-$(PKG_VERSION)
|
||||
PKG_HASH:=7972b87b705a003ce70ab55f9f0fb495d156887cba0eb296d284731139118e2c
|
||||
PKG_HASH:=ebe9be46fe8756d58c5b198ffad0fa2a766257add81a4dc52179bfacc7888ee6
|
||||
PKG_CPE_ID:=cpe:/a:llvm:llvm
|
||||
|
||||
SPIRV_LLVM_TRANSLATOR_VERSION:=22.1.2
|
||||
SPIRV_LLVM_TRANSLATOR_VERSION:=23.1.1
|
||||
SPIRV_LLVM_TRANSLATOR_FILE:=SPIRV-LLVM-Translator-$(SPIRV_LLVM_TRANSLATOR_VERSION).tar.gz
|
||||
SPIRV_LLVM_TRANSLATOR_URL:=https://codeload.github.com/KhronosGroup/SPIRV-LLVM-Translator/tar.gz/v$(SPIRV_LLVM_TRANSLATOR_VERSION)?
|
||||
SPIRV_LLVM_TRANSLATOR_HASH:=b37196b1a1a60282a24cf937ab7d6807d7d54dc718f2a37a78e211be26df57ac
|
||||
SPIRV_LLVM_TRANSLATOR_HASH:=9e0bf1beb0ab7edca6cd8c17fd9bbb7ce3dcd520f3e969e0485ff5b00931f929
|
||||
|
||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/llvm-mesa/$(PKG_NAME)-$(PKG_VERSION).src
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/llvm-mesa/$(PKG_NAME)-$(PKG_VERSION).src
|
||||
@@ -52,10 +52,9 @@ CMAKE_HOST_OPTIONS += \
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
|
||||
-DCOMPILER_RT_BUILD_PROFILE=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DLIBCLC_TARGETS_TO_BUILD= \
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD= \
|
||||
-DLLVM_TARGETS_TO_BUILD= \
|
||||
-DLLVM_ENABLE_PROJECTS="libclc;clang" \
|
||||
-DLLVM_ENABLE_PROJECTS="clang" \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
@@ -142,15 +141,13 @@ CMAKE_OPTIONS += \
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
|
||||
-DCOMPILER_RT_BUILD_PROFILE=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DLIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR="$(STAGING_DIR_HOST)/llvm-mesa/bin" \
|
||||
-DLIBCLC_TARGETS_TO_BUILD="amdgcn--;amdgcn-amd-amdhsa;clspv--;clspv64--;r600--;nvptx64--;nvptx64--nvidiacl;amdgcn-mesa-mesa3d;spirv-mesa3d-;spirv64-mesa3d-" \
|
||||
-DLLVM_TARGET_ARCH=$(LLVM_TARGET_ARCH) \
|
||||
-DLLVM_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_TARGETS_TO_BUILD))" \
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="$(subst $(space),;,$(LLVM_EXPERIMENTAL_TARGETS_TO_BUILD))" \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE=$(LLVM_TARGET_TRIPLE) \
|
||||
-DLLVM_HOST_TRIPLE=$(LLVM_TARGET_TRIPLE) \
|
||||
-DLLVM_NATIVE_TOOL_DIR="$(STAGING_DIR_HOST)/llvm-mesa/bin" \
|
||||
-DLLVM_ENABLE_PROJECTS="libclc;clang" \
|
||||
-DLLVM_ENABLE_PROJECTS="clang" \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
@@ -236,16 +233,12 @@ define Host/Install
|
||||
STRIP_KMOD= PATCHELF= STRIP=strip $(SCRIPT_DIR)/rstrip.sh $(STAGING_DIR_HOST)/llvm-mesa
|
||||
echo "$(PKG_VERSION)" > $(CMAKE_HOST_INSTALL_PREFIX)/.llvm-version
|
||||
$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(STAGING_DIR_HOST)/llvm-mesa/share/pkgconfig/libclc.pc $(STAGING_DIR_HOSTPKG)/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(STAGING_DIR_HOST)/llvm-mesa/lib/pkgconfig/LLVMSPIRVLib.pc $(STAGING_DIR_HOSTPKG)/lib/pkgconfig
|
||||
$(INSTALL_DATA) $(STAGING_DIR_HOST)/llvm-mesa/lib/libLLVMSPIRVLib.a $(STAGING_DIR_HOSTPKG)/lib
|
||||
endef
|
||||
|
||||
define Host/Uninstall
|
||||
rm -rf $(STAGING_DIR_HOST)/llvm-mesa*
|
||||
rm -rf $(STAGING_DIR_HOSTPKG)/include/clc
|
||||
rm -rf $(STAGING_DIR_HOSTPKG)/share/clc
|
||||
rm -f $(STAGING_DIR_HOSTPKG)/lib/pkgconfig/libclc.pc
|
||||
rm -f $(STAGING_DIR_HOSTPKG)/lib/pkgconfig/LLVMSPIRVLib.pc
|
||||
endef
|
||||
|
||||
@@ -254,15 +247,6 @@ define Build/Prepare
|
||||
$(STAGING_DIR_HOST)/bin/libdeflate-gzip -dc $(DL_DIR)/$(SPIRV_LLVM_TRANSLATOR_FILE) | $(TAR) -C $(PKG_BUILD_DIR)/llvm/projects $(TAR_OPTIONS)
|
||||
endef
|
||||
|
||||
define Build/Install
|
||||
$(call Build/Install/Default)
|
||||
# hack: install SPIRV OpenCL libs also to host build to avoid having to build LLVM three times
|
||||
# (LLVM >= 22 installs libclc bytecode under usr/lib/clang/<major>/lib/libclc/
|
||||
# rather than the previous usr/share/clc/)
|
||||
$(INSTALL_DIR) $(CMAKE_HOST_INSTALL_PREFIX)/share/clc
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/clang/*/lib/libclc/spirv{,64}-mesa3d-.spv $(CMAKE_HOST_INSTALL_PREFIX)/share/clc
|
||||
endef
|
||||
|
||||
define Package/libclang/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libclang.so* $(1)/usr/lib
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Mon, 25 Nov 2024 22:34:54 +0100
|
||||
Subject: [PATCH] cmake: recognise arc as a native target architecture
|
||||
|
||||
LLVM_NATIVE_ARCH is derived from the host triple, so an ARC host ends
|
||||
up unmapped and the native target is left unset. Map it to the ARC
|
||||
backend the same way the other architectures are mapped.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
---
|
||||
llvm/cmake/config-ix.cmake | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- a/llvm/cmake/config-ix.cmake
|
||||
+++ b/llvm/cmake/config-ix.cmake
|
||||
@@ -555,6 +555,8 @@ elseif (LLVM_NATIVE_ARCH MATCHES "aarch6
|
||||
@@ -560,6 +560,8 @@ elseif (LLVM_NATIVE_ARCH MATCHES "aarch6
|
||||
set(LLVM_NATIVE_ARCH AArch64)
|
||||
elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
|
||||
set(LLVM_NATIVE_ARCH AArch64)
|
||||
|
||||
Reference in new issue
Block a user