3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
PYTHON_COMPAT=( python3_{9..10} )
|
|
6 |
PYTHON_COMPAT=( python3_{9..11} )
|
7 |
7 |
inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
|
8 |
8 |
|
9 |
9 |
DESCRIPTION="Compiler runtime library for clang (built-in part)"
|
10 |
10 |
HOMEPAGE="https://llvm.org/"
|
11 |
11 |
|
12 |
12 |
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
|
13 |
|
SLOT="$(ver_cut 1-3)"
|
|
13 |
SLOT="${LLVM_VERSION}"
|
14 |
14 |
KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~ppc-macos ~x64-macos"
|
15 |
15 |
IUSE="+abi_x86_32 abi_x86_64 +clang debug test"
|
16 |
16 |
RESTRICT="!test? ( test ) !clang? ( test )"
|
17 |
17 |
|
18 |
|
LLVM_MAX_SLOT=${SLOT%%.*}
|
19 |
18 |
DEPEND="
|
20 |
|
sys-devel/llvm:${LLVM_MAX_SLOT}
|
|
19 |
sys-devel/llvm:${LLVM_MAJOR}
|
21 |
20 |
"
|
22 |
21 |
BDEPEND="
|
23 |
22 |
>=dev-util/cmake-3.16
|
24 |
23 |
clang? ( sys-devel/clang )
|
25 |
24 |
test? (
|
26 |
|
$(python_gen_any_dep ">=dev-python/lit-9.0.1[\${PYTHON_USEDEP}]")
|
27 |
|
=sys-devel/clang-${PV%_*}*:${LLVM_MAX_SLOT}
|
|
25 |
$(python_gen_any_dep ">=dev-python/lit-15[\${PYTHON_USEDEP}]")
|
|
26 |
=sys-devel/clang-${LLVM_VERSION}*:${LLVM_MAJOR}
|
28 |
27 |
)
|
29 |
28 |
!test? (
|
30 |
29 |
${PYTHON_DEPS}
|
31 |
30 |
)
|
32 |
31 |
"
|
33 |
32 |
|
34 |
|
LLVM_COMPONENTS=( compiler-rt cmake )
|
35 |
|
LLVM_PATCHSET=${PV}-r2
|
|
33 |
LLVM_COMPONENTS=( compiler-rt cmake llvm/cmake )
|
|
34 |
LLVM_PATCHSET=${PV/_/-}
|
36 |
35 |
llvm.org_set_globals
|
37 |
36 |
|
38 |
37 |
python_check_deps() {
|
39 |
38 |
use test || return 0
|
40 |
|
python_has_version ">=dev-python/lit-9.0.1[${PYTHON_USEDEP}]"
|
|
39 |
python_has_version ">=dev-python/lit-15[${PYTHON_USEDEP}]"
|
41 |
40 |
}
|
42 |
41 |
|
43 |
42 |
pkg_pretend() {
|
... | ... | |
52 |
51 |
# bootstrap-prefix to set the appropriate path vars to LLVM instead
|
53 |
52 |
# of using llvm_pkg_setup.
|
54 |
53 |
if [[ ${CHOST} != *-darwin* ]] || has_version sys-devel/llvm; then
|
55 |
|
llvm_pkg_setup
|
|
54 |
LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
|
56 |
55 |
fi
|
57 |
56 |
python-any-r1_pkg_setup
|
58 |
57 |
}
|
... | ... | |
97 |
96 |
fi
|
98 |
97 |
|
99 |
98 |
local mycmakeargs=(
|
100 |
|
-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${SLOT}"
|
|
99 |
-DCOMPILER_RT_INSTALL_PATH="${EPREFIX}/usr/lib/clang/${LLVM_VERSION}"
|
101 |
100 |
|
102 |
101 |
-DCOMPILER_RT_INCLUDE_TESTS=$(usex test)
|
103 |
102 |
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
|
... | ... | |
135 |
134 |
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
|
136 |
135 |
-DLLVM_LIT_ARGS="$(get_lit_flags)"
|
137 |
136 |
|
138 |
|
-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang"
|
139 |
|
-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/bin/clang++"
|
|
137 |
-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang"
|
|
138 |
-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/clang++"
|
140 |
139 |
)
|
141 |
140 |
fi
|
142 |
141 |
|