mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
llvm-core/mlir: Add 21.1.2
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
DIST llvm-project-21.1.1.src.tar.xz 158891056 BLAKE2B 5801ba4ea64e9c55fd1e6a83e1ea463cfb1d2b12c1f25a488ca63fd88254f20388c5e986492e413d795306bc37782487b80485240939227f3beeea860091825c SHA512 a120895e75942d848cc763fd1cb4aeb184e9d4509d69064e8e3f5679fbeb09c73bf916e33d04b842778537d2331067ec9190e0ad75d591d3ba57871770e19bce
|
||||
DIST llvm-project-21.1.1.src.tar.xz.sig 438 BLAKE2B 8fdf614e67e31382c65d70a551ef94893b8e4914e855fa96fc3a4a0a4ac916d646758be1c1c9a74028acd776d5d93b77f678d29dc75179ae95909d525d263c85 SHA512 1b9a2c51feaca75ef2f82a89c8e8d741a0b5f05f0dd8ca244d6997deb00f8ded3c37a5cbc6012a4ba8632004383ab4677756d9defe8855fff458e02380d77bd5
|
||||
DIST llvm-project-21.1.2.src.tar.xz 158926856 BLAKE2B 1b5684586297ad637c6da0976854b24d746679e9d125a19e321dc28fa7f83949cc431f4b630e4976496660389e7abac09962c21e45b88dff7d0900ee1bda51d7 SHA512 f810ba8706872257715c05f80c304ceb396cf38b3a8e0bfb50e474e8d0a3417740b9afea170a7c06a33927037753a190471917e83d6740cb18bc50fd50cf4f3d
|
||||
DIST llvm-project-21.1.2.src.tar.xz.sig 566 BLAKE2B 6209caf851c681e6f63ed1bd9589ac139c104d6ee21f463aacda472e30a847c32f3bd74a04208af05bb6203d8fa31bdc0028c0e72736a3037940e75eda615415 SHA512 dd8aa57451752a9207c276117a4b8a86f41263ea3ccc4fa198cd40d6fec79acd0ba126c4b84a1acbb52bbb2bce029fbc336deac8131be94747dd04e4a0f69331
|
||||
DIST llvm-project-70bd610e43853d575e22be1cda46614fe9f0072f.tar.gz 247904536 BLAKE2B f0ae7bd39d921ce28adb6e2aadd8b2b94ba7a48ba344ea6ea236b2507430fb1a0e23cd6186d79d445de31d46580e2ac9ec400fc686cd9a7513e0ae2d0f479c1d SHA512 1201acbcec20d00979e7f06075756926161123cfb11da146a3bfa5c81d607b61d94c645d0abba839614cbe5d44cacb0b1c754e1ae49fa871cb86d9f6d7c70e26
|
||||
DIST llvm-project-f059d2bac034acca39ad60a1b13aaec6afa0a3d6.tar.gz 248627883 BLAKE2B e1603ba38fcf70e7f3794a30a42057d0052a422bd0aaf423c65d1fd8f9ec7d3981cd651f309dc3ab5c28183291241732373b9bdb75fc2a11fc8d9f238388b8c3 SHA512 63a1627a8b3cc8f240cefe2066d7e306cab5091317f97dd808b9ad887d4e6eb2d21af3f79bccfdb9387f5f7a5ed0b772013b0261a647c8d50ffaa55914362dfb
|
||||
|
||||
227
llvm-core/mlir/mlir-21.1.2.ebuild
Normal file
227
llvm-core/mlir/mlir-21.1.2.ebuild
Normal file
@@ -0,0 +1,227 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
inherit cmake llvm.org multilib-minimal python-any-r1
|
||||
|
||||
DESCRIPTION="Multi-Level Intermediate Representation (library only)"
|
||||
HOMEPAGE="https://mlir.llvm.org/"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions"
|
||||
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
IUSE="debug test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
~llvm-core/llvm-${PV}[debug=,${MULTILIB_USEDEP}]
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
llvm-core/llvm:${LLVM_MAJOR}
|
||||
test? (
|
||||
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
||||
)
|
||||
"
|
||||
|
||||
LLVM_COMPONENTS=( mlir cmake )
|
||||
# tablegen tests use *.td files there
|
||||
LLVM_TEST_COMPONENTS=( llvm/include )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
if use test; then
|
||||
python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
llvm.org_src_prepare
|
||||
|
||||
# https://github.com/llvm/llvm-project/issues/120902
|
||||
sed -i -e '/LINK_LIBS/s:PUBLIC:PRIVATE:' \
|
||||
lib/ExecutionEngine/CMakeLists.txt || die
|
||||
}
|
||||
|
||||
check_distribution_components() {
|
||||
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
|
||||
local all_targets=() my_targets=() l
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
while read -r l; do
|
||||
if [[ ${l} == install-*-stripped:* ]]; then
|
||||
l=${l#install-}
|
||||
l=${l%%-stripped*}
|
||||
|
||||
case ${l} in
|
||||
# meta-targets
|
||||
mlir-libraries|distribution)
|
||||
continue
|
||||
;;
|
||||
# dylib
|
||||
MLIR)
|
||||
;;
|
||||
# installed test libraries
|
||||
MLIRTestAnalysis|MLIRTestDialect|MLIRTestIR)
|
||||
;;
|
||||
# static libraries
|
||||
MLIR*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
all_targets+=( "${l}" )
|
||||
fi
|
||||
done < <(${NINJA} -t targets all)
|
||||
|
||||
while read -r l; do
|
||||
my_targets+=( "${l}" )
|
||||
done < <(get_distribution_components $"\n")
|
||||
|
||||
local add=() remove=()
|
||||
for l in "${all_targets[@]}"; do
|
||||
if ! has "${l}" "${my_targets[@]}"; then
|
||||
add+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
for l in "${my_targets[@]}"; do
|
||||
if ! has "${l}" "${all_targets[@]}"; then
|
||||
remove+=( "${l}" )
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
|
||||
eqawarn "get_distribution_components() is outdated!"
|
||||
eqawarn " Add: ${add[*]}"
|
||||
eqawarn "Remove: ${remove[*]}"
|
||||
fi
|
||||
cd - >/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
get_distribution_components() {
|
||||
local sep=${1-;}
|
||||
|
||||
local out=(
|
||||
mlir-cmake-exports
|
||||
mlir-headers
|
||||
|
||||
# the dylib
|
||||
MLIR
|
||||
|
||||
# shared libraries
|
||||
mlir_arm_runner_utils
|
||||
mlir_arm_sme_abi_stubs
|
||||
mlir_async_runtime
|
||||
mlir_c_runner_utils
|
||||
mlir_float16_utils
|
||||
mlir_runner_utils
|
||||
|
||||
# test libraries required by flang
|
||||
MLIRTestAnalysis
|
||||
MLIRTestDialect
|
||||
MLIRTestIR
|
||||
)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
out+=(
|
||||
# tools
|
||||
mlir-linalg-ods-yaml-gen
|
||||
mlir-lsp-server
|
||||
mlir-opt
|
||||
mlir-pdll
|
||||
mlir-pdll-lsp-server
|
||||
mlir-query
|
||||
mlir-reduce
|
||||
mlir-rewrite
|
||||
mlir-runner
|
||||
mlir-tblgen
|
||||
mlir-translate
|
||||
tblgen-lsp-server
|
||||
tblgen-to-irdl
|
||||
)
|
||||
fi
|
||||
|
||||
printf "%s${sep}" "${out[@]}"
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
|
||||
-DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
|
||||
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
# this controls building libMLIR.so
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON
|
||||
-DMLIR_BUILD_MLIR_C_DYLIB=OFF
|
||||
-DMLIR_LINK_MLIR_DYLIB=ON
|
||||
-DMLIR_INCLUDE_TESTS=ON
|
||||
-DMLIR_INCLUDE_INTEGRATION_TESTS=OFF
|
||||
-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
|
||||
# this enables installing mlir-tblgen and mlir-pdll
|
||||
-DLLVM_BUILD_UTILS=ON
|
||||
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
|
||||
-DLLVM_BUILD_TOOLS=ON
|
||||
# TODO
|
||||
-DMLIR_ENABLE_CUDA_RUNNER=0
|
||||
-DMLIR_ENABLE_ROCM_RUNNER=0
|
||||
-DMLIR_ENABLE_SYCL_RUNNER=0
|
||||
-DMLIR_ENABLE_SPIRV_CPU_RUNNER=0
|
||||
-DMLIR_ENABLE_VULKAN_RUNNER=0
|
||||
-DMLIR_ENABLE_BINDINGS_PYTHON=0
|
||||
-DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF
|
||||
)
|
||||
use test && mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags)"
|
||||
)
|
||||
|
||||
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
|
||||
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
||||
cmake_src_configure
|
||||
|
||||
multilib_is_native_abi && check_distribution_components
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
cmake_build distribution
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local known_xfail=()
|
||||
|
||||
case ${ABI} in
|
||||
arm|ppc|x86)
|
||||
known_xfail+=(
|
||||
# MLIR is full of 64-bit assumptions, sigh
|
||||
# https://github.com/llvm/llvm-project/issues/124541
|
||||
Conversion/MemRefToLLVM/memref-to-llvm.mlir
|
||||
Dialect/Bufferization/Transforms/one-shot-bufferize-pass-statistics.mlir
|
||||
Dialect/LLVMIR/sroa-statistics.mlir
|
||||
Dialect/Linalg/vectorize-tensor-extract.mlir
|
||||
Dialect/MemRef/mem2reg-statistics.mlir
|
||||
Dialect/Tensor/fold-tensor-subset-ops.mlir
|
||||
Dialect/Tensor/tracking-listener.mlir
|
||||
Pass/pipeline-stats-nested.mlir
|
||||
Pass/pipeline-stats.mlir
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
# respect TMPDIR!
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
local -x LIT_XFAIL="${known_xfail[*]}"
|
||||
LIT_XFAIL=${LIT_XFAIL// /;}
|
||||
cmake_build check-mlir
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR=${D} cmake_build install-distribution
|
||||
}
|
||||
Reference in New Issue
Block a user