mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
llvm-core/mlir: Add 21.0.0_pre20250215 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb
|
||||
DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce
|
||||
DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b
|
||||
DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb
|
||||
|
||||
204
llvm-core/mlir/mlir-21.0.0_pre20250215.ebuild
Normal file
204
llvm-core/mlir/mlir-21.0.0_pre20250215.ebuild
Normal file
@@ -0,0 +1,204 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
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}"
|
||||
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() {
|
||||
# respect TMPDIR!
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
cmake_build check-mlir
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
DESTDIR=${D} cmake_build install-distribution
|
||||
}
|
||||
Reference in New Issue
Block a user