llvm: include build of llvm-spirv

required by mesa-24.1.0 when building for iris

Co-authored-by: CvH <1355173+CvH@users.noreply.github.com>
This commit is contained in:
Rudi Heitbaum 2024-05-24 13:50:12 +00:00
parent 7ae4432099
commit 940d79b12e

View File

@ -13,6 +13,10 @@ 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 \
@ -41,8 +45,21 @@ 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"
post_unpack() {
if listcontains "${GRAPHIC_DRIVERS}" "iris"; 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" \
-C "${PKG_BUILD}/llvm/projects/SPIRV-Headers"
tar --strip-components=1 \
-xf "${SOURCES}/spirv-llvm-translator/spirv-llvm-translator-$(get_pkg_version spirv-llvm-translator).tar.gz" \
-C "${PKG_BUILD}/llvm/projects/SPIRV-LLVM-Translator"
fi
}
pre_configure() {
PKG_CMAKE_SCRIPT=${PKG_BUILD}/llvm/CMakeLists.txt
}
@ -84,12 +101,20 @@ pre_configure_host() {
post_make_host() {
ninja ${NINJA_OPTS} llvm-config llvm-tblgen
if listcontains "${GRAPHIC_DRIVERS}" "iris"; then
ninja ${NINJA_OPTS} llvm-as llvm-link llvm-spirv opt
fi
}
post_makeinstall_host() {
mkdir -p ${TOOLCHAIN}/bin
cp -a bin/llvm-config ${TOOLCHAIN}/bin
cp -a bin/llvm-tblgen ${TOOLCHAIN}/bin
if listcontains "${GRAPHIC_DRIVERS}" "iris"; then
cp -a bin/{llvm-as,llvm-link,llvm-spirv,opt} "${TOOLCHAIN}/bin"
fi
}
pre_configure_target() {