Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/llvm/
Date: Fri, 09 Jul 2021 14:44:50
Message-Id: 1625841857.19c8a599b187ef53b0bb48665e1debd4b51495e0.mgorny@gentoo
1 commit: 19c8a599b187ef53b0bb48665e1debd4b51495e0
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 9 08:43:10 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 9 14:44:17 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19c8a599
7
8 sys-devel/llvm: Remove 12.0.1-rc4
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/llvm/Manifest | 2 -
13 sys-devel/llvm/llvm-12.0.1_rc4.ebuild | 518 ----------------------------------
14 2 files changed, 520 deletions(-)
15
16 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
17 index 180f9bfce05..c6bb4321371 100644
18 --- a/sys-devel/llvm/Manifest
19 +++ b/sys-devel/llvm/Manifest
20 @@ -4,11 +4,9 @@ DIST llvm-12.0.0-manpages.tar.bz2 191228 BLAKE2B 60cc736de2512b9368d55cc8c73e8b5
21 DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e7e3c69f218c73c71f85c498a341cfc06f892c15fa51011913547bb61f3f8cebb826b75276304fdcc4552b78d103b7fc6113e240 SHA512 1d90d5c990e6b7819681609a06c8b1cd5e094b9f9647ba486079abcdec375cd7c261ef1c5b41aa614decdc595bf830e1d325fb66b070cda1945bb6c7f08668b6
22 DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
23 DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
24 -DIST llvm-gentoo-patchset-12.0.1-rc4-1.tar.xz 4776 BLAKE2B 2ae7994089922805c9b82268e4c73d9a70edbb8860af7e593da904c673836713fae5fd7626ef1dbfe813c66f4da8308b26b4cd0bd977471834d49512690afa39 SHA512 386668fd338ee24677c51379c69a73b6a749bd4cf72bf59f9cb800b1ac19938275d64d0c23e431c80ed5e572d86d94bbb030241c43cbf541801cdc672f5911c1
25 DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
26 DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
27 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
28 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
29 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
30 -DIST llvmorg-12.0.1-rc4.tar.gz 134278617 BLAKE2B d407421c7244bb125151e69e2a341f1af0a0cf8c1fda3b8ae3d4114c3a285d6307620bbf82b22d96d2c7782b37b0975e87be80c24e3ce1fdc71152734be1e8f8 SHA512 1a2c18435a970491eb9fc9381ba66af726e17dcbd5bf6774f9341b1e82fd35f2e5686844743f5317ebd2106b902c39e09aa98102e58a86e290b29102241c949f
31 DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
32
33 diff --git a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild b/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
34 deleted file mode 100644
35 index 0810033e4dd..00000000000
36 --- a/sys-devel/llvm/llvm-12.0.1_rc4.ebuild
37 +++ /dev/null
38 @@ -1,518 +0,0 @@
39 -# Copyright 1999-2021 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI=7
43 -
44 -PYTHON_COMPAT=( python3_{8..10} )
45 -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
46 - toolchain-funcs
47 -
48 -DESCRIPTION="Low Level Virtual Machine"
49 -HOMEPAGE="https://llvm.org/"
50 -
51 -# Those are in lib/Targets, without explicit CMakeLists.txt mention
52 -ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
53 -# Keep in sync with CMakeLists.txt
54 -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
55 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
56 - "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
57 -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
58 -
59 -# Additional licenses:
60 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
61 -# 2. xxhash: BSD.
62 -# 3. MD5 code: public-domain.
63 -# 4. ConvertUTF.h: TODO.
64 -
65 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
66 -SLOT="$(ver_cut 1)"
67 -KEYWORDS=""
68 -IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
69 - kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
70 -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
71 -RESTRICT="!test? ( test )"
72 -
73 -RDEPEND="
74 - sys-libs/zlib:0=[${MULTILIB_USEDEP}]
75 - exegesis? ( dev-libs/libpfm:= )
76 - gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
77 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
78 - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
79 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
80 - xar? ( app-arch/xar )
81 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
82 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
83 -DEPEND="${RDEPEND}
84 - gold? ( sys-libs/binutils-libs )"
85 -BDEPEND="
86 - dev-lang/perl
87 - >=dev-util/cmake-3.16
88 - sys-devel/gnuconfig
89 - kernel_Darwin? (
90 - <sys-libs/libcxx-$(ver_cut 1-3).9999
91 - >=sys-devel/binutils-apple-5.1
92 - )
93 - doc? ( $(python_gen_any_dep '
94 - dev-python/recommonmark[${PYTHON_USEDEP}]
95 - dev-python/sphinx[${PYTHON_USEDEP}]
96 - ') )
97 - libffi? ( virtual/pkgconfig )
98 - ${PYTHON_DEPS}"
99 -# There are no file collisions between these versions but having :0
100 -# installed means llvm-config there will take precedence.
101 -RDEPEND="${RDEPEND}
102 - !sys-devel/llvm:0"
103 -PDEPEND="sys-devel/llvm-common
104 - gold? ( >=sys-devel/llvmgold-${SLOT} )"
105 -
106 -LLVM_COMPONENTS=( llvm )
107 -LLVM_MANPAGES=build
108 -LLVM_PATCHSET=12.0.1-rc4-1
109 -llvm.org_set_globals
110 -
111 -python_check_deps() {
112 - use doc || return 0
113 -
114 - has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
115 - has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
116 -}
117 -
118 -check_live_ebuild() {
119 - local prod_targets=(
120 - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
121 - | tail -n +2 | head -n -1)
122 - )
123 - local all_targets=(
124 - lib/Target/*/
125 - )
126 - all_targets=( "${all_targets[@]#lib/Target/}" )
127 - all_targets=( "${all_targets[@]%/}" )
128 -
129 - local exp_targets=() i
130 - for i in "${all_targets[@]}"; do
131 - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
132 - done
133 - # reorder
134 - all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
135 -
136 - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
137 - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
138 - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
139 - eqawarn "Expected: ${exp_targets[*]}"
140 - eqawarn
141 - fi
142 -
143 - if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
144 - eqawarn "ALL_LLVM_TARGETS is outdated!"
145 - eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
146 - eqawarn "Expected: ${all_targets[*]}"
147 - fi
148 -}
149 -
150 -check_distribution_components() {
151 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
152 - local all_targets=() my_targets=() l
153 - cd "${BUILD_DIR}" || die
154 -
155 - while read -r l; do
156 - if [[ ${l} == install-*-stripped:* ]]; then
157 - l=${l#install-}
158 - l=${l%%-stripped*}
159 -
160 - case ${l} in
161 - # shared libs
162 - LLVM|LLVMgold)
163 - ;;
164 - # TableGen lib + deps
165 - LLVMDemangle|LLVMSupport|LLVMTableGen)
166 - ;;
167 - # static libs
168 - LLVM*)
169 - continue
170 - ;;
171 - # meta-targets
172 - distribution|llvm-libraries)
173 - continue
174 - ;;
175 - # used only w/ USE=doc
176 - docs-llvm-html)
177 - use doc || continue
178 - ;;
179 - esac
180 -
181 - all_targets+=( "${l}" )
182 - fi
183 - done < <(ninja -t targets all)
184 -
185 - while read -r l; do
186 - my_targets+=( "${l}" )
187 - done < <(get_distribution_components $"\n")
188 -
189 - local add=() remove=()
190 - for l in "${all_targets[@]}"; do
191 - if ! has "${l}" "${my_targets[@]}"; then
192 - add+=( "${l}" )
193 - fi
194 - done
195 - for l in "${my_targets[@]}"; do
196 - if ! has "${l}" "${all_targets[@]}"; then
197 - remove+=( "${l}" )
198 - fi
199 - done
200 -
201 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
202 - eqawarn "get_distribution_components() is outdated!"
203 - eqawarn " Add: ${add[*]}"
204 - eqawarn "Remove: ${remove[*]}"
205 - fi
206 - cd - >/dev/null || die
207 - fi
208 -}
209 -
210 -src_prepare() {
211 - # disable use of SDK on OSX, bug #568758
212 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
213 -
214 - # Update config.guess to support more systems
215 - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
216 -
217 - # Verify that the live ebuild is up-to-date
218 - check_live_ebuild
219 -
220 - llvm.org_src_prepare
221 -}
222 -
223 -# Is LLVM being linked against libc++?
224 -is_libcxx_linked() {
225 - local code='#include <ciso646>
226 -#if defined(_LIBCPP_VERSION)
227 - HAVE_LIBCXX
228 -#endif
229 -'
230 - local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
231 -
232 - [[ ${out} == *HAVE_LIBCXX* ]]
233 -}
234 -
235 -get_distribution_components() {
236 - local sep=${1-;}
237 -
238 - local out=(
239 - # shared libs
240 - LLVM
241 - LTO
242 - Remarks
243 -
244 - # tools
245 - llvm-config
246 -
247 - # common stuff
248 - cmake-exports
249 - llvm-headers
250 -
251 - # libraries needed for clang-tblgen
252 - LLVMDemangle
253 - LLVMSupport
254 - LLVMTableGen
255 - )
256 -
257 - if multilib_is_native_abi; then
258 - out+=(
259 - # utilities
260 - llvm-tblgen
261 - FileCheck
262 - llvm-PerfectShuffle
263 - count
264 - not
265 - yaml-bench
266 -
267 - # tools
268 - bugpoint
269 - dsymutil
270 - llc
271 - lli
272 - lli-child-target
273 - llvm-addr2line
274 - llvm-ar
275 - llvm-as
276 - llvm-bcanalyzer
277 - llvm-bitcode-strip
278 - llvm-c-test
279 - llvm-cat
280 - llvm-cfi-verify
281 - llvm-config
282 - llvm-cov
283 - llvm-cvtres
284 - llvm-cxxdump
285 - llvm-cxxfilt
286 - llvm-cxxmap
287 - llvm-diff
288 - llvm-dis
289 - llvm-dlltool
290 - llvm-dwarfdump
291 - llvm-dwp
292 - llvm-elfabi
293 - llvm-exegesis
294 - llvm-extract
295 - llvm-gsymutil
296 - llvm-ifs
297 - llvm-install-name-tool
298 - llvm-jitlink
299 - llvm-jitlink-executor
300 - llvm-lib
301 - llvm-libtool-darwin
302 - llvm-link
303 - llvm-lipo
304 - llvm-lto
305 - llvm-lto2
306 - llvm-mc
307 - llvm-mca
308 - llvm-ml
309 - llvm-modextract
310 - llvm-mt
311 - llvm-nm
312 - llvm-objcopy
313 - llvm-objdump
314 - llvm-opt-report
315 - llvm-pdbutil
316 - llvm-profdata
317 - llvm-profgen
318 - llvm-ranlib
319 - llvm-rc
320 - llvm-readelf
321 - llvm-readobj
322 - llvm-reduce
323 - llvm-rtdyld
324 - llvm-size
325 - llvm-split
326 - llvm-stress
327 - llvm-strings
328 - llvm-strip
329 - llvm-symbolizer
330 - llvm-undname
331 - llvm-xray
332 - obj2yaml
333 - opt
334 - sancov
335 - sanstats
336 - split-file
337 - verify-uselistorder
338 - yaml2obj
339 -
340 - # python modules
341 - opt-viewer
342 - )
343 -
344 - if llvm_are_manpages_built; then
345 - out+=(
346 - # manpages
347 - docs-dsymutil-man
348 - docs-llvm-dwarfdump-man
349 - docs-llvm-man
350 - )
351 - fi
352 - use doc && out+=(
353 - docs-llvm-html
354 - )
355 -
356 - use gold && out+=(
357 - LLVMgold
358 - )
359 - fi
360 -
361 - printf "%s${sep}" "${out[@]}"
362 -}
363 -
364 -multilib_src_configure() {
365 - local ffi_cflags ffi_ldflags
366 - if use libffi; then
367 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
368 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
369 - fi
370 -
371 - local libdir=$(get_libdir)
372 - local mycmakeargs=(
373 - # disable appending VCS revision to the version to improve
374 - # direct cache hit ratio
375 - -DLLVM_APPEND_VC_REV=OFF
376 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
377 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
378 -
379 - -DBUILD_SHARED_LIBS=OFF
380 - -DLLVM_BUILD_LLVM_DYLIB=ON
381 - -DLLVM_LINK_LLVM_DYLIB=ON
382 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
383 -
384 - # cheap hack: LLVM combines both anyway, and the only difference
385 - # is that the former list is explicitly verified at cmake time
386 - -DLLVM_TARGETS_TO_BUILD=""
387 - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
388 - -DLLVM_BUILD_TESTS=$(usex test)
389 -
390 - -DLLVM_ENABLE_FFI=$(usex libffi)
391 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
392 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
393 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
394 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
395 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
396 - -DLLVM_ENABLE_EH=ON
397 - -DLLVM_ENABLE_RTTI=ON
398 - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
399 -
400 - -DLLVM_HOST_TRIPLE="${CHOST}"
401 -
402 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
403 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
404 - # used only for llvm-objdump tool
405 - -DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
406 -
407 - -DPython3_EXECUTABLE="${PYTHON}"
408 -
409 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
410 - -DOCAMLFIND=NO
411 - )
412 -
413 - if is_libcxx_linked; then
414 - # Smart hack: alter version suffix -> SOVERSION when linking
415 - # against libc++. This way we won't end up mixing LLVM libc++
416 - # libraries with libstdc++ clang, and the other way around.
417 - mycmakeargs+=(
418 - -DLLVM_VERSION_SUFFIX="libcxx"
419 - -DLLVM_ENABLE_LIBCXX=ON
420 - )
421 - fi
422 -
423 -# Note: go bindings have no CMake rules at the moment
424 -# but let's kill the check in case they are introduced
425 -# if ! multilib_is_native_abi || ! use go; then
426 - mycmakeargs+=(
427 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
428 - )
429 -# fi
430 -
431 - use test && mycmakeargs+=(
432 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
433 - )
434 -
435 - if multilib_is_native_abi; then
436 - local build_docs=OFF
437 - if llvm_are_manpages_built; then
438 - build_docs=ON
439 - mycmakeargs+=(
440 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
441 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
442 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
443 - )
444 - fi
445 -
446 - mycmakeargs+=(
447 - -DLLVM_BUILD_DOCS=${build_docs}
448 - -DLLVM_ENABLE_OCAMLDOC=OFF
449 - -DLLVM_ENABLE_SPHINX=${build_docs}
450 - -DLLVM_ENABLE_DOXYGEN=OFF
451 - -DLLVM_INSTALL_UTILS=ON
452 - )
453 - use gold && mycmakeargs+=(
454 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
455 - )
456 - fi
457 -
458 - if tc-is-cross-compiler; then
459 - local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
460 - [[ -x "${tblgen}" ]] \
461 - || die "${tblgen} not found or usable"
462 - mycmakeargs+=(
463 - -DCMAKE_CROSSCOMPILING=ON
464 - -DLLVM_TABLEGEN="${tblgen}"
465 - )
466 - fi
467 -
468 - # workaround BMI bug in gcc-7 (fixed in 7.4)
469 - # https://bugs.gentoo.org/649880
470 - # apply only to x86, https://bugs.gentoo.org/650506
471 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
472 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
473 - then
474 - local CFLAGS="${CFLAGS} -mno-bmi"
475 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
476 - fi
477 -
478 - # LLVM can have very high memory consumption while linking,
479 - # exhausting the limit on 32-bit linker executable
480 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
481 -
482 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
483 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
484 - cmake_src_configure
485 -
486 - multilib_is_native_abi && check_distribution_components
487 -}
488 -
489 -multilib_src_compile() {
490 - cmake_build distribution
491 -
492 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
493 - pax-mark m "${BUILD_DIR}"/bin/lli
494 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
495 -
496 - if use test; then
497 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
498 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
499 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
500 - fi
501 -}
502 -
503 -multilib_src_test() {
504 - # respect TMPDIR!
505 - local -x LIT_PRESERVES_TMP=1
506 - cmake_build check
507 -}
508 -
509 -src_install() {
510 - local MULTILIB_CHOST_TOOLS=(
511 - /usr/lib/llvm/${SLOT}/bin/llvm-config
512 - )
513 -
514 - local MULTILIB_WRAPPED_HEADERS=(
515 - /usr/include/llvm/Config/llvm-config.h
516 - )
517 -
518 - local LLVM_LDPATHS=()
519 - multilib-minimal_src_install
520 -
521 - # move wrapped headers back
522 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
523 -}
524 -
525 -multilib_src_install() {
526 - DESTDIR=${D} cmake_build install-distribution
527 -
528 - # move headers to /usr/include for wrapping
529 - rm -rf "${ED}"/usr/include || die
530 - mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
531 -
532 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
533 -}
534 -
535 -multilib_src_install_all() {
536 - local revord=$(( 9999 - ${SLOT} ))
537 - newenvd - "60llvm-${revord}" <<-_EOF_
538 - PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
539 - # we need to duplicate it in ROOTPATH for Portage to respect...
540 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
541 - MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
542 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
543 - _EOF_
544 -
545 - docompress "/usr/lib/llvm/${SLOT}/share/man"
546 - llvm_install_manpages
547 -}
548 -
549 -pkg_postinst() {
550 - elog "You can find additional opt-viewer utility scripts in:"
551 - elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
552 - elog "To use these scripts, you will need Python along with the following"
553 - elog "packages:"
554 - elog " dev-python/pygments (for opt-viewer)"
555 - elog " dev-python/pyyaml (for all of them)"
556 -}