5 |
5 |
|
6 |
6 |
PYTHON_COMPAT=( python3_{10..12} )
|
7 |
7 |
|
8 |
|
inherit cmake flag-o-matic llvm.org multilib-minimal pax-utils python-any-r1
|
|
8 |
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1
|
9 |
9 |
inherit toolchain-funcs
|
10 |
10 |
|
11 |
11 |
DESCRIPTION="Low Level Virtual Machine"
|
... | ... | |
19 |
19 |
|
20 |
20 |
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
|
21 |
21 |
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
|
22 |
|
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
|
|
22 |
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
|
23 |
23 |
IUSE="
|
24 |
|
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
|
25 |
|
xml z3 zstd
|
|
24 |
+binutils-plugin debug debuginfod doc exegesis libedit +libffi
|
|
25 |
ncurses test xar xml z3 zstd
|
26 |
26 |
"
|
27 |
27 |
RESTRICT="!test? ( test )"
|
28 |
28 |
|
29 |
29 |
RDEPEND="
|
30 |
30 |
sys-libs/zlib:0=[${MULTILIB_USEDEP}]
|
|
31 |
debuginfod? (
|
|
32 |
net-misc/curl:=
|
|
33 |
dev-cpp/cpp-httplib:=
|
|
34 |
)
|
31 |
35 |
exegesis? ( dev-libs/libpfm:= )
|
32 |
36 |
libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
|
33 |
37 |
libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
|
... | ... | |
68 |
72 |
binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
|
69 |
73 |
"
|
70 |
74 |
|
71 |
|
LLVM_COMPONENTS=( llvm cmake )
|
72 |
|
LLVM_TEST_COMPONENTS=( third-party )
|
|
75 |
LLVM_COMPONENTS=( llvm cmake third-party )
|
73 |
76 |
LLVM_MANPAGES=1
|
74 |
|
LLVM_PATCHSET=${PV}
|
75 |
77 |
LLVM_USE_TARGETS=provide
|
76 |
78 |
llvm.org_set_globals
|
77 |
79 |
|
... | ... | |
129 |
131 |
# TableGen lib + deps
|
130 |
132 |
LLVMDemangle|LLVMSupport|LLVMTableGen)
|
131 |
133 |
;;
|
|
134 |
# testing libraries
|
|
135 |
LLVMTestingAnnotations|LLVMTestingSupport)
|
|
136 |
;;
|
132 |
137 |
# static libs
|
133 |
138 |
LLVM*)
|
134 |
139 |
continue
|
... | ... | |
205 |
210 |
LLVMDemangle
|
206 |
211 |
LLVMSupport
|
207 |
212 |
LLVMTableGen
|
|
213 |
|
|
214 |
# testing libraries
|
|
215 |
llvm_gtest
|
|
216 |
llvm_gtest_main
|
|
217 |
LLVMTestingAnnotations
|
|
218 |
LLVMTestingSupport
|
208 |
219 |
)
|
209 |
220 |
|
210 |
221 |
if multilib_is_native_abi; then
|
... | ... | |
239 |
250 |
llvm-cxxfilt
|
240 |
251 |
llvm-cxxmap
|
241 |
252 |
llvm-debuginfo-analyzer
|
242 |
|
llvm-debuginfod
|
243 |
253 |
llvm-debuginfod-find
|
244 |
254 |
llvm-diff
|
245 |
255 |
llvm-dis
|
... | ... | |
320 |
330 |
use binutils-plugin && out+=(
|
321 |
331 |
LLVMgold
|
322 |
332 |
)
|
|
333 |
use debuginfod && out+=(
|
|
334 |
llvm-debuginfod
|
|
335 |
)
|
323 |
336 |
fi
|
324 |
337 |
|
325 |
338 |
printf "%s${sep}" "${out[@]}"
|
326 |
339 |
}
|
327 |
340 |
|
328 |
341 |
multilib_src_configure() {
|
329 |
|
tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
|
330 |
|
|
331 |
342 |
local ffi_cflags ffi_ldflags
|
332 |
343 |
if use libffi; then
|
333 |
344 |
ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
|
... | ... | |
352 |
363 |
-DLLVM_TARGETS_TO_BUILD=""
|
353 |
364 |
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
|
354 |
365 |
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
355 |
|
-DLLVM_INCLUDE_TESTS=$(usex test)
|
|
366 |
-DLLVM_INCLUDE_TESTS=ON
|
356 |
367 |
-DLLVM_BUILD_TESTS=$(usex test)
|
|
368 |
-DLLVM_INSTALL_GTEST=ON
|
357 |
369 |
|
358 |
370 |
-DLLVM_ENABLE_FFI=$(usex libffi)
|
359 |
371 |
-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
|
... | ... | |
365 |
377 |
-DLLVM_ENABLE_RTTI=ON
|
366 |
378 |
-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
|
367 |
379 |
-DLLVM_ENABLE_ZSTD=$(usex zstd)
|
|
380 |
-DLLVM_ENABLE_CURL=$(usex debuginfod)
|
|
381 |
-DLLVM_ENABLE_HTTPLIB=$(usex debuginfod)
|
368 |
382 |
|
369 |
383 |
-DLLVM_HOST_TRIPLE="${CHOST}"
|
370 |
384 |
|
... | ... | |
452 |
466 |
|
453 |
467 |
grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
|
454 |
468 |
CMakeCache.txt ||
|
455 |
|
die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
|
|
469 |
die "Incorrect version, did you update _LLVM_MAIN_MAJOR?"
|
456 |
470 |
multilib_is_native_abi && check_distribution_components
|
457 |
471 |
}
|
458 |
472 |
|