diff options
Diffstat (limited to 'llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild')
-rw-r--r-- | llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild b/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild new file mode 100644 index 000000000000..30245857a84e --- /dev/null +++ b/llvm-runtimes/flang-rt/flang-rt-21.0.0_pre20250311.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic llvm.org + +DESCRIPTION="LLVM's Fortran runtime" +HOMEPAGE="https://flang.llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions" +SLOT="${LLVM_MAJOR}" +IUSE="+debug test" +RESTRICT="!test? ( test )" + +RDEPEND=" + !<llvm-core/flang-21.0.0_pre20250221-r1 +" +BDEPEND=" + llvm-core/llvm:${LLVM_MAJOR} + llvm-core/flang + test? ( + dev-python/lit + ) +" + +LLVM_COMPONENTS=( + runtimes flang-rt cmake flang llvm/{cmake,utils/llvm-lit} +) +llvm.org_set_globals + +src_configure() { + # the code is not portable + local -x FC=flang F77=flang + strip-unsupported-flags + + local mycmakeargs=( + # we may not have a runtime yet + -DCMAKE_Fortran_COMPILER_WORKS=TRUE + + -DLLVM_ENABLE_RUNTIMES="flang-rt" + # this package forces NO_DEFAULT_PATHS + -DLLVM_BINARY_DIR="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DFLANG_RT_INCLUDE_TESTS=$(usex test) + ) + 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 +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + cmake_build check-flang-rt +} + +src_install() { + cmake_src_install + + # in standalone build, the library is installed to (incorrect) resource dir + # but the driver only looks for it in lib (sigh) + # https://github.com/llvm/llvm-project/issues/127538 + mkdir -p "${ED}/usr/lib/llvm/${LLVM_MAJOR}" || die + mv "${ED}/usr/$(get_libdir)/clang/${LLVM_MAJOR}/lib"/* \ + "${ED}/usr/lib/llvm/${LLVM_MAJOR}/lib" || die +} |