From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 37C9F1584F2 for ; Mon, 17 Mar 2025 06:22:52 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 19144343134 for ; Mon, 17 Mar 2025 06:22:52 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 8D2901103CB; Mon, 17 Mar 2025 06:22:45 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 821201103CB for ; Mon, 17 Mar 2025 06:22:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1198A34309B for ; Mon, 17 Mar 2025 06:22:45 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 4A0A8236F for ; Mon, 17 Mar 2025 06:22:43 +0000 (UTC) From: "Michał Górny" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Michał Górny" Message-ID: <1742192496.56e6e9080dbc3bc97bdf34bb29bda2be92596f44.mgorny@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: llvm-runtimes/libcxxabi/ X-VCS-Repository: repo/gentoo X-VCS-Files: llvm-runtimes/libcxxabi/libcxxabi-19.1.7-r1.ebuild llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild llvm-runtimes/libcxxabi/libcxxabi-21.0.0.9999.ebuild X-VCS-Directories: llvm-runtimes/libcxxabi/ X-VCS-Committer: mgorny X-VCS-Committer-Name: Michał Górny X-VCS-Revision: 56e6e9080dbc3bc97bdf34bb29bda2be92596f44 X-VCS-Branch: master Date: Mon, 17 Mar 2025 06:22:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: b12c2f9c-cb1f-48f1-abc3-6006f5c015ff X-Archives-Hash: 895257c9d01f9650591654e44468579a commit: 56e6e9080dbc3bc97bdf34bb29bda2be92596f44 Author: Michal Rostecki protonmail com> AuthorDate: Mon Dec 2 14:05:05 2024 +0000 Commit: Michał Górny gentoo org> CommitDate: Mon Mar 17 06:21:36 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56e6e908 sys-libc/libcxxabi: Support cross build Inherit the `crossdev` eclass and use a cross sysroot when a custom target is specified. That allows to bootstrap libcxx with crossdev. Signed-off-by: Michal Rostecki protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/39280 Signed-off-by: Michał Górny gentoo.org> ...bi-20.1.0.ebuild => libcxxabi-19.1.7-r1.ebuild} | 25 ++++++++++++++++------ llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild | 22 ++++++++++++++----- .../libcxxabi/libcxxabi-21.0.0.9999.ebuild | 22 ++++++++++++++----- 3 files changed, 53 insertions(+), 16 deletions(-) diff --git a/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-19.1.7-r1.ebuild similarity index 80% copy from llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild copy to llvm-runtimes/libcxxabi/libcxxabi-19.1.7-r1.ebuild index 5ebe26d49210..427d46554b23 100644 --- a/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild +++ b/llvm-runtimes/libcxxabi/libcxxabi-19.1.7-r1.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 -inherit toolchain-funcs +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs DESCRIPTION="Low level support for a standard C++ library" HOMEPAGE="https://libcxxabi.llvm.org/" @@ -38,7 +38,7 @@ BDEPEND=" " LLVM_COMPONENTS=( runtimes libcxx{abi,} llvm/cmake cmake ) -LLVM_TEST_COMPONENTS=( libc llvm/utils/llvm-lit ) +LLVM_TEST_COMPONENTS=( llvm/utils/llvm-lit ) llvm.org_set_globals python_check_deps() { @@ -50,8 +50,8 @@ multilib_src_configure() { llvm_prepend_path "${LLVM_MAJOR}" if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ + local -x CC=${CTARGET}-clang + local -x CXX=${CTARGET}-clang++ strip-unsupported-flags fi @@ -59,9 +59,13 @@ multilib_src_configure() { local use_compiler_rt=OFF [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + local install_prefix=${EPREFIX} + target_is_not_host && install_prefix+=/usr/${CTARGET} + local libdir=$(get_libdir) local mycmakeargs=( - -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DCMAKE_INSTALL_PREFIX="${install_prefix}/usr" -DPython3_EXECUTABLE="${PYTHON}" -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" -DLLVM_INCLUDE_TESTS=OFF @@ -77,6 +81,7 @@ multilib_src_configure() { # this is broken with standalone builds, and also meaningless -DLIBCXXABI_USE_LLVM_UNWINDER=OFF + -DLIBCXX_LIBDIR_SUFFIX= -DLIBCXX_ENABLE_SHARED=ON -DLIBCXX_ENABLE_STATIC=OFF -DLIBCXX_CXX_ABI=libcxxabi @@ -86,6 +91,14 @@ multilib_src_configure() { -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=OFF ) + if is_crosspkg; then + 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 + ) + fi if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" diff --git a/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild index 5ebe26d49210..54cc68b1af0f 100644 --- a/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild +++ b/llvm-runtimes/libcxxabi/libcxxabi-20.1.0.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 -inherit toolchain-funcs +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs DESCRIPTION="Low level support for a standard C++ library" HOMEPAGE="https://libcxxabi.llvm.org/" @@ -50,8 +50,8 @@ multilib_src_configure() { llvm_prepend_path "${LLVM_MAJOR}" if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ + local -x CC=${CTARGET}-clang + local -x CXX=${CTARGET}-clang++ strip-unsupported-flags fi @@ -59,9 +59,13 @@ multilib_src_configure() { local use_compiler_rt=OFF [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + local install_prefix=${EPREFIX} + target_is_not_host && install_prefix+=/usr/${CTARGET} + local libdir=$(get_libdir) local mycmakeargs=( - -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DCMAKE_INSTALL_PREFIX="${install_prefix}/usr" -DPython3_EXECUTABLE="${PYTHON}" -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" -DLLVM_INCLUDE_TESTS=OFF @@ -86,6 +90,14 @@ multilib_src_configure() { -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=OFF ) + if is_crosspkg; then + 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 + ) + fi if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" diff --git a/llvm-runtimes/libcxxabi/libcxxabi-21.0.0.9999.ebuild b/llvm-runtimes/libcxxabi/libcxxabi-21.0.0.9999.ebuild index 7aab2f168c62..eae7c454f905 100644 --- a/llvm-runtimes/libcxxabi/libcxxabi-21.0.0.9999.ebuild +++ b/llvm-runtimes/libcxxabi/libcxxabi-21.0.0.9999.ebuild @@ -4,8 +4,8 @@ EAPI=8 PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake-multilib flag-o-matic llvm.org llvm-utils python-any-r1 -inherit toolchain-funcs +inherit cmake-multilib crossdev flag-o-matic llvm.org llvm-utils +inherit python-any-r1 toolchain-funcs DESCRIPTION="Low level support for a standard C++ library" HOMEPAGE="https://libcxxabi.llvm.org/" @@ -49,8 +49,8 @@ multilib_src_configure() { llvm_prepend_path "${LLVM_MAJOR}" if use clang; then - local -x CC=${CHOST}-clang - local -x CXX=${CHOST}-clang++ + local -x CC=${CTARGET}-clang + local -x CXX=${CTARGET}-clang++ strip-unsupported-flags fi @@ -58,9 +58,13 @@ multilib_src_configure() { local use_compiler_rt=OFF [[ $(tc-get-c-rtlib) == compiler-rt ]] && use_compiler_rt=ON + local install_prefix=${EPREFIX} + target_is_not_host && install_prefix+=/usr/${CTARGET} + local libdir=$(get_libdir) local mycmakeargs=( - -DCMAKE_CXX_COMPILER_TARGET="${CHOST}" + -DCMAKE_CXX_COMPILER_TARGET="${CTARGET}" + -DCMAKE_INSTALL_PREFIX="${install_prefix}/usr" -DPython3_EXECUTABLE="${PYTHON}" -DLLVM_ENABLE_RUNTIMES="libcxxabi;libcxx" -DLLVM_INCLUDE_TESTS=OFF @@ -85,6 +89,14 @@ multilib_src_configure() { -DLIBCXX_INCLUDE_BENCHMARKS=OFF -DLIBCXX_INCLUDE_TESTS=OFF ) + if is_crosspkg; then + 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 + ) + fi if use test; then mycmakeargs+=( -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"