| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
PYTHON_COMPAT=( python3_{12..14} )
|
| 7 |
|
inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
|
|
6 |
PYTHON_COMPAT=( python3_{11..14} )
|
|
7 |
inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs
|
| 8 |
8 |
|
| 9 |
9 |
DESCRIPTION="The LLVM linker (link editor)"
|
| 10 |
10 |
HOMEPAGE="https://llvm.org/"
|
| 11 |
11 |
|
| 12 |
12 |
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
|
| 13 |
13 |
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
|
| 14 |
|
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86 ~arm64-macos"
|
|
14 |
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~arm64-macos ~x64-macos"
|
| 15 |
15 |
IUSE="debug test zstd"
|
| 16 |
16 |
RESTRICT="!test? ( test )"
|
| 17 |
17 |
|
| 18 |
18 |
DEPEND="
|
| 19 |
|
~llvm-core/llvm-${PV}[zstd=]
|
|
19 |
~llvm-core/llvm-${PV}[debug=,zstd=]
|
| 20 |
20 |
virtual/zlib:=
|
| 21 |
21 |
zstd? ( app-arch/zstd:= )
|
| 22 |
22 |
"
|
| ... | ... | |
| 27 |
27 |
BDEPEND="
|
| 28 |
28 |
llvm-core/llvm:${LLVM_MAJOR}
|
| 29 |
29 |
test? (
|
| 30 |
|
$(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
|
|
30 |
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
|
| 31 |
31 |
)
|
| 32 |
32 |
"
|
| 33 |
33 |
PDEPEND="
|
| ... | ... | |
| 35 |
35 |
"
|
| 36 |
36 |
|
| 37 |
37 |
LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
|
| 38 |
|
LLVM_TEST_COMPONENTS=( llvm/utils third-party )
|
| 39 |
|
LLVM_PATCHSET=${PV}-r7
|
|
38 |
LLVM_TEST_COMPONENTS=( llvm/utils/dtlto )
|
|
39 |
LLVM_USE_TARGETS=llvm+eq
|
| 40 |
40 |
llvm.org_set_globals
|
| 41 |
41 |
|
| 42 |
42 |
python_check_deps() {
|
| 43 |
|
python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
|
|
43 |
python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
|
| 44 |
44 |
}
|
| 45 |
45 |
|
| 46 |
46 |
pkg_setup() {
|
| 47 |
|
LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
|
| 48 |
47 |
use test && python-any-r1_pkg_setup
|
| 49 |
48 |
}
|
| 50 |
49 |
|
| ... | ... | |
| 63 |
62 |
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
|
| 64 |
63 |
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
|
| 65 |
64 |
|
|
65 |
# https://gcc.gnu.org/PR121495 (bug #958469)
|
|
66 |
use arm64 && tc-is-gcc && [[ $(gcc-major-version) -ge 14 ]] && append-flags -mearly-ra=none
|
|
67 |
|
| 66 |
68 |
use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
|
| 67 |
69 |
|
| 68 |
70 |
local mycmakeargs=(
|
| 69 |
71 |
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
|
|
72 |
-DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
|
| 70 |
73 |
-DBUILD_SHARED_LIBS=ON
|
| 71 |
74 |
-DLLVM_INCLUDE_TESTS=$(usex test)
|
| 72 |
75 |
-DLLVM_ENABLE_ZLIB=FORCE_ON
|
| 73 |
76 |
-DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
|
|
77 |
-DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
|
| 74 |
78 |
)
|
| 75 |
79 |
|
| 76 |
80 |
use test && mycmakeargs+=(
|