mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
sys-libs/compiler-rt: Add 19.0.0_pre20240404 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
|
||||
DIST llvm-gentoo-patchset-16.0.6-r4.tar.xz 18732 BLAKE2B 2f00135700b5e4f0d0e049e13c1da06fd37017b7f455419157ac441bb7d4de12e3e25f4d8480431c1074cfa6a5d66a38ae63d95faefaa4e9c8cd5810c082a596 SHA512 f61c82a195307dc6cb42e09b3c82af2b37827583884ff2de0ef300290fb8f92e90a08895d12e5dec9b29a232c2e942a2d5951dab431e02722fcafbcd1e2b7976
|
||||
DIST llvm-gentoo-patchset-17.0.6.tar.xz 1792 BLAKE2B 21b34b436333c0b37522d4340cccc84a572701f6e267cf7c6adfa9be419913f5a6c9ee40a6be5c62d12fbd868912801d30381573c4459c05676e05785cccaefe SHA512 2d90b5e7fcbb950249ef7133fac1ed3dcb758a4d92732119049526cea0b291bd4e9738c4c0d806d70e7d769e1906f8ef3930066c206c00b6ec7d3509ed0fed19
|
||||
DIST llvm-project-12735916bd3a63aa9f316af8eebfe9420cfec489.tar.gz 208645973 BLAKE2B 4a64dcaa15cb592634eceb384ecfc11173dbf0285402c32be2b8056374bb8ecef8fa1055fbe353a0836c84b75736cc05f3a14428bc431c18362cfaa7bf96a50a SHA512 ee42f7db322c84dfae3c67ffcfff2ee8d56d6bd4a0412b6bd4f8952ac1da4d57d18fa38011fe514631363b4cc143327be887792dd2e9562942261c99e655d948
|
||||
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
|
||||
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
|
||||
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
|
||||
|
||||
171
sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240404.ebuild
Normal file
171
sys-libs/compiler-rt/compiler-rt-19.0.0_pre20240404.ebuild
Normal file
@@ -0,0 +1,171 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
inherit cmake crossdev flag-o-matic llvm.org llvm-utils python-any-r1
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Compiler runtime library for clang (built-in part)"
|
||||
HOMEPAGE="https://llvm.org/"
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
||||
SLOT="${LLVM_MAJOR}"
|
||||
IUSE="+abi_x86_32 abi_x86_64 +clang +debug test"
|
||||
RESTRICT="!test? ( test ) !clang? ( test )"
|
||||
|
||||
DEPEND="
|
||||
sys-devel/llvm:${LLVM_MAJOR}
|
||||
"
|
||||
BDEPEND="
|
||||
clang? ( sys-devel/clang )
|
||||
test? (
|
||||
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
|
||||
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
|
||||
)
|
||||
!test? (
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
"
|
||||
|
||||
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
|
||||
llvm.org_set_globals
|
||||
|
||||
python_check_deps() {
|
||||
use test || return 0
|
||||
python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if ! use clang && ! tc-is-clang; then
|
||||
ewarn "Building using a compiler other than clang may result in broken atomics"
|
||||
ewarn "library. Enable USE=clang unless you have a very good reason not to."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if target_is_not_host || tc-is-cross-compiler ; then
|
||||
# strips vars like CFLAGS="-march=x86_64-v3" for non-x86 architectures
|
||||
CHOST=${CTARGET} strip-unsupported-flags
|
||||
# overrides host docs otherwise
|
||||
DOCS=()
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
test_compiler() {
|
||||
target_is_not_host && return
|
||||
$(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
|
||||
<<<'int main() { return 0; }' &>/dev/null
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
llvm_prepend_path "${LLVM_MAJOR}"
|
||||
|
||||
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
|
||||
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
||||
|
||||
# pre-set since we need to pass it to cmake
|
||||
BUILD_DIR=${WORKDIR}/${P}_build
|
||||
|
||||
if use clang && ! is_crosspkg; then
|
||||
# Only do this conditionally to allow overriding with
|
||||
# e.g. CC=clang-13 in case of breakage
|
||||
if ! tc-is-clang ; then
|
||||
local -x CC=${CHOST}-clang
|
||||
local -x CXX=${CHOST}-clang++
|
||||
fi
|
||||
|
||||
strip-unsupported-flags
|
||||
fi
|
||||
|
||||
if ! is_crosspkg && ! test_compiler ; then
|
||||
local nolib_flags=( -nodefaultlibs -lc )
|
||||
|
||||
if test_compiler "${nolib_flags[@]}"; then
|
||||
local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
|
||||
ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
|
||||
elif test_compiler "${nolib_flags[@]}" -nostartfiles; then
|
||||
# Avoiding -nostartfiles earlier on for bug #862540,
|
||||
# and set available entry symbol for bug #862798.
|
||||
nolib_flags+=( -nostartfiles -emain )
|
||||
|
||||
local -x LDFLAGS="${LDFLAGS} ${nolib_flags[*]}"
|
||||
ewarn "${CC} seems to lack runtime, trying with ${nolib_flags[*]}"
|
||||
fi
|
||||
fi
|
||||
|
||||
local mycmakeargs=(
|
||||
-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_MAJOR}"
|
||||
|
||||
-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF
|
||||
-DCOMPILER_RT_BUILD_ORC=OFF
|
||||
-DCOMPILER_RT_BUILD_PROFILE=OFF
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF
|
||||
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
)
|
||||
|
||||
if use amd64 && ! target_is_not_host; then
|
||||
mycmakeargs+=(
|
||||
-DCAN_TARGET_i386=$(usex abi_x86_32)
|
||||
-DCAN_TARGET_x86_64=$(usex abi_x86_64)
|
||||
)
|
||||
fi
|
||||
|
||||
if is_crosspkg; then
|
||||
# Needed to target built libc headers
|
||||
export CFLAGS="${CFLAGS} -isystem /usr/${CTARGET}/usr/include"
|
||||
mycmakeargs+=(
|
||||
# Without this, the compiler will compile a test program
|
||||
# and fail due to no builtins.
|
||||
-DCMAKE_C_COMPILER_WORKS=1
|
||||
-DCMAKE_CXX_COMPILER_WORKS=1
|
||||
|
||||
# Without this, compiler-rt install location is not unique
|
||||
# to target triples, only to architecture.
|
||||
# Needed if you want to target multiple libcs for one arch.
|
||||
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
|
||||
|
||||
-DCMAKE_ASM_COMPILER_TARGET="${CTARGET}"
|
||||
-DCMAKE_C_COMPILER_TARGET="${CTARGET}"
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
|
||||
)
|
||||
fi
|
||||
|
||||
if use prefix && [[ "${CHOST}" == *-darwin* ]] ; then
|
||||
mycmakeargs+=(
|
||||
# setting -isysroot is disabled with compiler-rt-prefix-paths.patch
|
||||
# this allows adding arm64 support using SDK in EPREFIX
|
||||
-DDARWIN_macosx_CACHED_SYSROOT="${EPREFIX}/MacOSX.sdk"
|
||||
# Set version based on the SDK in EPREFIX.
|
||||
# This disables i386 for SDK >= 10.15
|
||||
-DDARWIN_macosx_OVERRIDE_SDK_VERSION="$(realpath ${EPREFIX}/MacOSX.sdk | sed -e 's/.*MacOSX\(.*\)\.sdk/\1/')"
|
||||
# Use our libtool instead of looking it up with xcrun
|
||||
-DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
|
||||
)
|
||||
fi
|
||||
|
||||
if use test; then
|
||||
mycmakeargs+=(
|
||||
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
||||
-DLLVM_LIT_ARGS="$(get_lit_flags)"
|
||||
|
||||
-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
|
||||
-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# respect TMPDIR!
|
||||
local -x LIT_PRESERVES_TMP=1
|
||||
|
||||
cmake_build check-builtins
|
||||
}
|
||||
Reference in New Issue
Block a user