diff --git a/llvm-core/lld/Manifest b/llvm-core/lld/Manifest index dda0d634bf2ef..f1a541572f38b 100644 --- a/llvm-core/lld/Manifest +++ b/llvm-core/lld/Manifest @@ -17,3 +17,4 @@ DIST llvm-project-22.1.0.src.tar.xz.sig 119 BLAKE2B d3190d9dbacedf9de0c6b3d5c771 DIST llvm-project-22.1.1.src.tar.xz 167029452 BLAKE2B 5d02e03ed943904e8e45d5a522ee37720540b80f79f449bdc50ac87c1703d0129aa853384a63782eabf8f6d375e123709d73167f9f708bde4e0118d10837f2b0 SHA512 dddf09651c0e77caa83284788765016b023a9e239cfe35820bab7be64b68218e86bcf39bb07ee14dcddf7b0974b551344d2bff0e109cc9458b0394a3c940917c DIST llvm-project-22.1.1.src.tar.xz.sig 119 BLAKE2B 02dd014936c4bac983ad6822a3ca084ddc94beeb4f4ccc6afae0031c7c563b10f7b962ef5a1a3d573330725c590f7e3b2eef2c21100063e68e32a1015b733c3d SHA512 592d603d610e121e7466a342bbf6b95c9a5f689268fad778befbf9e5663b53717c50daab9db07288020e3dcc2ec2bf38d611761a9ff6c3ce10a4340cfc2593c7 DIST llvm-project-704c87bb948aff1bec718d56ad52b9b5d9c49cfb.tar.gz 264313048 BLAKE2B 68a42c37c44be743f1b584e97fbc9633cb2f679d8b2a733c31eb1f6805591a3b817e5c41dcc2d5a7bcf399e822fab3b020f8f2126918ef2e96f7a231b2b2a08f SHA512 dbcbc3b988c60e9a9cd3a03c339d53722f3a854ff05c53f88a9dad2c52db16453a34bd481ce90d063eae93428e438cf397bc5c60194e14ca9c65b0459c2a91d7 +DIST llvm-project-df9eb79970c012990e829d174d181d575d414efe.tar.gz 265149781 BLAKE2B ab7a87dad369685fc26a054c065dee6ef2754b6446d5a6e15ed7f5bb52d7d433b519cac0522063ba222600f6f40dc40f7bf27930c74031cc40fff5372308a097 SHA512 7c63bf1360902e6a55c7f4c15d08a716d54476875744e6f40ec51157de6c18bf75d8fdb921f26831017151e87649bd1a48041e007edd9a0afc5e9f9066bfd79d diff --git a/llvm-core/lld/lld-23.0.0_pre20260321.ebuild b/llvm-core/lld/lld-23.0.0_pre20260321.ebuild new file mode 100644 index 0000000000000..2b07118a33b03 --- /dev/null +++ b/llvm-core/lld/lld-23.0.0_pre20260321.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs + +DESCRIPTION="The LLVM linker (link editor)" +HOMEPAGE="https://llvm.org/" + +LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA" +SLOT="${LLVM_MAJOR}/${LLVM_SOABI}" +IUSE="+debug test zstd" +RESTRICT="!test? ( test )" + +DEPEND=" + ~llvm-core/llvm-${PV}[debug=,zstd=] + virtual/zlib:= + zstd? ( app-arch/zstd:= ) +" +RDEPEND=" + ${DEPEND} + !llvm-core/lld:0 +" +BDEPEND=" + llvm-core/llvm:${LLVM_MAJOR} + test? ( + $(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') + ) +" +PDEPEND=" + >=llvm-core/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR} +" + +LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o ) +LLVM_TEST_COMPONENTS=( llvm/utils/dtlto ) +LLVM_USE_TARGETS=llvm+eq +llvm.org_set_globals + +python_check_deps() { + python_has_version "dev-python/lit[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_unpack() { + llvm.org_src_unpack + + # Directory ${WORKDIR}/llvm does not exist with USE="-test", + # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below, + # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system + # (lld/MachO/CMakeLists.txt) and is expected to be resolvable + # to existent directory ${WORKDIR}/libunwind/include. + mkdir -p "${WORKDIR}/llvm" || die +} + +src_configure() { + # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844 + use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG" + + use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152 + + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + -DBUILD_SHARED_LIBS=ON + -DLLVM_INCLUDE_TESTS=$(usex test) + -DLLVM_ENABLE_ZLIB=FORCE_ON + -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF) + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}" + ) + + use test && mycmakeargs+=( + -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit" + -DLLVM_LIT_ARGS="$(get_lit_flags)" + -DPython3_EXECUTABLE="${PYTHON}" + ) + + tc-is-cross-compiler && mycmakeargs+=( + -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen" + ) + + cmake_src_configure +} + +src_test() { + local -x LIT_PRESERVES_TMP=1 + cmake_build check-lld +}