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: Sat, 26 Nov 2022 11:09:31
Message-Id: 1669460897.2575ded56ed8f75277183a3be3a2b72340e7f216.mgorny@gentoo
1 commit: 2575ded56ed8f75277183a3be3a2b72340e7f216
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Sat Nov 26 11:08:17 2022 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Sat Nov 26 11:08:17 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2575ded5
7
8 sys-devel/llvm: Remove 15.0.4
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 sys-devel/llvm/Manifest | 4 -
13 sys-devel/llvm/llvm-15.0.4.ebuild | 521 --------------------------------------
14 2 files changed, 525 deletions(-)
15
16 diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
17 index b4688c42a987..f27cea0f5067 100644
18 --- a/sys-devel/llvm/Manifest
19 +++ b/sys-devel/llvm/Manifest
20 @@ -1,20 +1,16 @@
21 DIST llvm-13.0.1-manpages.tar.bz2 202187 BLAKE2B 32a761426dbe4c3c355d30660254305cd88b6d513faee04c78e370cea9d38761108a9be4c4b4ac39b6a74400af1f9d37ffd11ab05acd7340175c8d66845ae7d9 SHA512 9495e1daf588540fdb8b9ee905a9b6be4693bd70b7f42c8e8a0d667242fc24dc853c45918d3bc09d02f0761ad61541bc9749c1498e312da129abdab638a0d572
22 DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
23 DIST llvm-15.0.3-manpages.tar.bz2 229076 BLAKE2B 377809b34339af7deb80856281932d94d694dab2b7dddbac1f82f653f7bf6932c1f3827635d151479fdb6d776de3e3ee4d08aeae4e320e07baaa1b32877f64c5 SHA512 d4872f68f044e55ecf927b0e6fe4206046f60aafcf41009ae5580e0a3f6a6d6a69f4929487b2740124a41f22073eaa8a4a184b367b7f4606402735374294f4f6
24 -DIST llvm-15.0.4-manpages.tar.bz2 226324 BLAKE2B da85a572f69e4a7a0905590dd330e8a391205f9b92d18efef4125d24060b110260324f2f19f277745572e8cd563e2c0834f59511d71dfa741b2c5c6f85d714ff SHA512 be832f6882eafc329684d415330a703ac240048c2e8eb30f91a45dca29a0fb529e11b14a1c38b0ae5758bcdd042cc0a84afc8f2f414b44bb435431c74fdaeef4
25 DIST llvm-15.0.5-manpages.tar.bz2 225568 BLAKE2B d6257b7296b9be118e0729b384331af200cd00eec3228e053f5ae791ef08b632b40723cd30b0ddb229c9c7ca86c1c59f953862b87129f6cd79a9cf2df8f3be9c SHA512 e524b9c0f3c09e0d9b436ec201d0123534d03da55a97fd762ce772c58bdac796a0e70d92dba2e7462ee0a4afc7f4f7e0423f10e4cfd41c801655ec4a5f05b14b
26 DIST llvm-gentoo-patchset-13.0.1.tar.xz 6288 BLAKE2B 899222b962486e924e4f8a2b574d285531a3f87af9385ff68c81db92aa224a0cde6d4ee049b5405056bedb4b232b50e1d5840024071a4a215f6311853304c92d SHA512 b2805337f1deca626768a44c5e7ac9ed16e0c31bead1647d44a493a8123c1b8e8f1c8ceee3536bcc6fa87fdd3fcec408229f701adf30eff07e7ef9889b847b01
27 DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
28 DIST llvm-gentoo-patchset-15.0.3.tar.xz 17480 BLAKE2B d540b044ad0a0505ebf69f732c71fbce281cfc13ee599ba1289238b673a4ba9a4196e80d63fec99db82e55bf6f036fbb9ca0ba489169c2a732f0d1aa2e96ae5a SHA512 f877d5be3e38d64cccc2c8a47287562a42d07f84c7d1b466ae2161aed3f2797bebedaf1118623ae3ded2b47d6abc0ca29ba7a387c07b6097389e715a50cc3816
29 -DIST llvm-gentoo-patchset-15.0.4.tar.xz 16972 BLAKE2B 39cf8a7112d05e50bab8fd54b7559b5bbb4698d9c1adf97f9b4ef93b37d1c342a1e6fd0e85633369f049c9cbf930b50debb2e476c9a348c53943378a0f77d892 SHA512 a99a31dd6db384a3a896d101e148acb028c837bbc9c4b0239606fd6ef0f365312721eb6b209747024c264c2a9dcf81ee7f1cd1a9f372a7ac741a2456d8356e62
30 DIST llvm-gentoo-patchset-15.0.5.tar.xz 15912 BLAKE2B be6da35631073099cdce66746a318080999f7dace4b07470b0a5d0a9ce93f68e51b06d7ddc174b98a47677a0ec30fb17fd9cfcaffd4e6055d8b5f70084c2262b SHA512 708f49129a5ec48f2fa26d50573734e13888e3e10d09ed24f728b687294b31b5f30773ac1e74890e3b73539c057911611dc91791e2cb18cc0a11e8271ac4e990
31 DIST llvm-gentoo-patchset-9999-r3.tar.xz 4076 BLAKE2B 30bdf740606a1718ae45d850803385d425b656fbbe0250f587cad54f55272e3617d5ee0d04f534a58f87408b0a2dea322ebf1bb8cd653a2beba21d0bc5778c62 SHA512 2c7080ffd09d7dcf4c72a97044a5c63ab895250721d60270bc51c2095aef5f9039781892b4c0d14e942611686153f874a1f52a1c854bb8ca093383c08bdc005a
32 DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
33 DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
34 DIST llvm-project-15.0.3.src.tar.xz 112069972 BLAKE2B 3d29bab890467ba87fedcc4e76522f444e63e3dfbe546793f8e67821bcd403bad460ea176254c9e0b72d60ea56b8480e498a7f610477c1108732d178804c26cd SHA512 d378d417f01c56534f301cfe6cb4958d811c04ae22acaacc917e7e5f0380859d40ce19dffb265d046b70fff95dbc2e759f492e4d5af0ade52f21ebaa8da65856
35 DIST llvm-project-15.0.3.src.tar.xz.sig 438 BLAKE2B e7e0614e144eb878f694c12e97cf42ff8476e47cb55e8f259eb2ec52e303463ad753771271512e89baf0137c1382b11cfa028c85324174ebcd054a124000f537 SHA512 41229bebdb0c2df9a5e3a4d6f02d39fac7dc91f21895a659523beab4fa3ef99ff06eff5e4386221369b6e2b6f8fe974d67b7d8496d5911ce484d09ae0db8b916
36 -DIST llvm-project-15.0.4.src.tar.xz 110936424 BLAKE2B a02b76ad161e352b4d3d84baffdada9c6a0e704de7a2c4017df4d4d05a9e9d02113791cd7d91c3edfa1f5bcb7ab95e1772d60f7061514928c6828600f41a8322 SHA512 9d5b664dd77c08130601636f9d6c006b257f369470ce823aa56d06698a9f0edfec42f2c90da934b9ad52c4d7960d9a024ea46dc9640275be6d191b1ba9869459
37 -DIST llvm-project-15.0.4.src.tar.xz.sig 566 BLAKE2B f1a7be65fcce932dc125ae2b498f68a14e68dad0d7a1e031343c52c5dafb7b123e346f3efa50a7693584361abf01efe9401b1b5781dee6b92dc1045e538e9b7b SHA512 35899ffbd13fc44cade54246a423450571cb4b62b8d706864daa3eef2377c48e24ef3113218e39e29de995b7f7fa307f9187552766576c9050fd924beb517f6e
38 DIST llvm-project-15.0.5.src.tar.xz 110931004 BLAKE2B d751e3627ee26e60a1a037a4a6cc574a31c4abe038331b86206348ac3ce93a243add2be3a0bbfc2ec5ec3f3562a5b5efea745cb1943c9c9153bc7b0fcf4de22e SHA512 cf2a89ebb6bc9d7e3f1fd09531c84ac9927cdbe5ee13a6fcb8ce4d08e5a9d6d480ad982f62126b9c757beafa283b34f2ba1fbc56223c641e70da2be4627f59a6
39 DIST llvm-project-15.0.5.src.tar.xz.sig 566 BLAKE2B a6e7204abc912045346a36f2b349e0829a4d5b9efcb230fb0c97caa38d5159ca17ffb47ce0485cbab276a4938ff3a5c05ef9f8b0b75f4c2028d870ee33023431 SHA512 312bc09b54408a9265f8102241089b0f674be0832dd5cb1998ff13dbccbe19324d7060ba2680457118dee96a1ff390b16282677ad825d7230008014ecebe47d5
40 DIST llvm-project-7b91798a5d3a8432b296778da4efe169012fb7b4.tar.gz 170989337 BLAKE2B 1ab79554a05f8d7a74c0b4bab319c30375475d3fd089764733744fde55c65eb38967cdb19e5b0211a1543549c2bfc3c0f3d43facb7e041f51988e8a65e4448f3 SHA512 4c4d3a748b967cbc75372d0db87ac48d32271a54047ddeeb028d565fa6b7004b2ab3abd82d8ff4621e50c9410fce28c3044550cc94aaf0f6e4f672498f47aba8
41
42 diff --git a/sys-devel/llvm/llvm-15.0.4.ebuild b/sys-devel/llvm/llvm-15.0.4.ebuild
43 deleted file mode 100644
44 index 7e1b4d4609af..000000000000
45 --- a/sys-devel/llvm/llvm-15.0.4.ebuild
46 +++ /dev/null
47 @@ -1,521 +0,0 @@
48 -# Copyright 1999-2022 Gentoo Authors
49 -# Distributed under the terms of the GNU General Public License v2
50 -
51 -EAPI=8
52 -
53 -PYTHON_COMPAT=( python3_{8..11} )
54 -inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
55 - toolchain-funcs
56 -
57 -DESCRIPTION="Low Level Virtual Machine"
58 -HOMEPAGE="https://llvm.org/"
59 -
60 -# Additional licenses:
61 -# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
62 -# 2. xxhash: BSD.
63 -# 3. MD5 code: public-domain.
64 -# 4. ConvertUTF.h: TODO.
65 -
66 -LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
67 -SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
68 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
69 -IUSE="
70 - +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
71 - xml z3 zstd
72 -"
73 -RESTRICT="!test? ( test )"
74 -
75 -RDEPEND="
76 - sys-libs/zlib:0=[${MULTILIB_USEDEP}]
77 - binutils-plugin? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
78 - exegesis? ( dev-libs/libpfm:= )
79 - libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
80 - libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
81 - ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
82 - xar? ( app-arch/xar )
83 - xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
84 - z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
85 - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
86 -"
87 -DEPEND="
88 - ${RDEPEND}
89 - binutils-plugin? ( sys-libs/binutils-libs )
90 -"
91 -BDEPEND="
92 - ${PYTHON_DEPS}
93 - dev-lang/perl
94 - >=dev-util/cmake-3.16
95 - sys-devel/gnuconfig
96 - kernel_Darwin? (
97 - <sys-libs/libcxx-${LLVM_VERSION}.9999
98 - >=sys-devel/binutils-apple-5.1
99 - )
100 - doc? ( $(python_gen_any_dep '
101 - dev-python/recommonmark[${PYTHON_USEDEP}]
102 - dev-python/sphinx[${PYTHON_USEDEP}]
103 - ') )
104 - libffi? ( virtual/pkgconfig )
105 -"
106 -# There are no file collisions between these versions but having :0
107 -# installed means llvm-config there will take precedence.
108 -RDEPEND="
109 - ${RDEPEND}
110 - !sys-devel/llvm:0
111 -"
112 -PDEPEND="
113 - sys-devel/llvm-common
114 - sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
115 - binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
116 -"
117 -
118 -LLVM_COMPONENTS=( llvm cmake third-party )
119 -LLVM_MANPAGES=1
120 -LLVM_PATCHSET=${PV/_/-}
121 -LLVM_USE_TARGETS=provide
122 -llvm.org_set_globals
123 -
124 -python_check_deps() {
125 - use doc || return 0
126 -
127 - python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
128 - python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
129 -}
130 -
131 -check_uptodate() {
132 - local prod_targets=(
133 - $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
134 - | tail -n +2 | head -n -1)
135 - )
136 - local all_targets=(
137 - lib/Target/*/
138 - )
139 - all_targets=( "${all_targets[@]#lib/Target/}" )
140 - all_targets=( "${all_targets[@]%/}" )
141 -
142 - local exp_targets=() i
143 - for i in "${all_targets[@]}"; do
144 - has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
145 - done
146 -
147 - if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
148 - eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
149 - eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
150 - eqawarn "Expected: ${exp_targets[*]}"
151 - eqawarn
152 - fi
153 -
154 - if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
155 - eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
156 - eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
157 - eqawarn "Expected: ${prod_targets[*]}"
158 - fi
159 -}
160 -
161 -check_distribution_components() {
162 - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
163 - local all_targets=() my_targets=() l
164 - cd "${BUILD_DIR}" || die
165 -
166 - while read -r l; do
167 - if [[ ${l} == install-*-stripped:* ]]; then
168 - l=${l#install-}
169 - l=${l%%-stripped*}
170 -
171 - case ${l} in
172 - # shared libs
173 - LLVM|LLVMgold)
174 - ;;
175 - # TableGen lib + deps
176 - LLVMDemangle|LLVMSupport|LLVMTableGen)
177 - ;;
178 - # static libs
179 - LLVM*)
180 - continue
181 - ;;
182 - # meta-targets
183 - distribution|llvm-libraries)
184 - continue
185 - ;;
186 - # used only w/ USE=doc
187 - docs-llvm-html)
188 - use doc || continue
189 - ;;
190 - esac
191 -
192 - all_targets+=( "${l}" )
193 - fi
194 - done < <(${NINJA} -t targets all)
195 -
196 - while read -r l; do
197 - my_targets+=( "${l}" )
198 - done < <(get_distribution_components $"\n")
199 -
200 - local add=() remove=()
201 - for l in "${all_targets[@]}"; do
202 - if ! has "${l}" "${my_targets[@]}"; then
203 - add+=( "${l}" )
204 - fi
205 - done
206 - for l in "${my_targets[@]}"; do
207 - if ! has "${l}" "${all_targets[@]}"; then
208 - remove+=( "${l}" )
209 - fi
210 - done
211 -
212 - if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
213 - eqawarn "get_distribution_components() is outdated!"
214 - eqawarn " Add: ${add[*]}"
215 - eqawarn "Remove: ${remove[*]}"
216 - fi
217 - cd - >/dev/null || die
218 - fi
219 -}
220 -
221 -src_prepare() {
222 - # disable use of SDK on OSX, bug #568758
223 - sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
224 -
225 - # Update config.guess to support more systems
226 - cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
227 -
228 - # Verify that the ebuild is up-to-date
229 - check_uptodate
230 -
231 - llvm.org_src_prepare
232 -}
233 -
234 -get_distribution_components() {
235 - local sep=${1-;}
236 -
237 - local out=(
238 - # shared libs
239 - LLVM
240 - LTO
241 - Remarks
242 -
243 - # tools
244 - llvm-config
245 -
246 - # common stuff
247 - cmake-exports
248 - llvm-headers
249 -
250 - # libraries needed for clang-tblgen
251 - LLVMDemangle
252 - LLVMSupport
253 - LLVMTableGen
254 - )
255 -
256 - if multilib_is_native_abi; then
257 - out+=(
258 - # utilities
259 - llvm-tblgen
260 - FileCheck
261 - llvm-PerfectShuffle
262 - count
263 - not
264 - yaml-bench
265 - UnicodeNameMappingGenerator
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-debuginfod
288 - llvm-debuginfod-find
289 - llvm-diff
290 - llvm-dis
291 - llvm-dlltool
292 - llvm-dwarfdump
293 - llvm-dwarfutil
294 - llvm-dwp
295 - llvm-exegesis
296 - llvm-extract
297 - llvm-gsymutil
298 - llvm-ifs
299 - llvm-install-name-tool
300 - llvm-jitlink
301 - llvm-jitlink-executor
302 - llvm-lib
303 - llvm-libtool-darwin
304 - llvm-link
305 - llvm-lipo
306 - llvm-lto
307 - llvm-lto2
308 - llvm-mc
309 - llvm-mca
310 - llvm-ml
311 - llvm-modextract
312 - llvm-mt
313 - llvm-nm
314 - llvm-objcopy
315 - llvm-objdump
316 - llvm-opt-report
317 - llvm-otool
318 - llvm-pdbutil
319 - llvm-profdata
320 - llvm-profgen
321 - llvm-ranlib
322 - llvm-rc
323 - llvm-readelf
324 - llvm-readobj
325 - llvm-reduce
326 - llvm-remark-size-diff
327 - llvm-rtdyld
328 - llvm-sim
329 - llvm-size
330 - llvm-split
331 - llvm-stress
332 - llvm-strings
333 - llvm-strip
334 - llvm-symbolizer
335 - llvm-tapi-diff
336 - llvm-tli-checker
337 - llvm-undname
338 - llvm-windres
339 - llvm-xray
340 - obj2yaml
341 - opt
342 - sancov
343 - sanstats
344 - split-file
345 - verify-uselistorder
346 - yaml2obj
347 -
348 - # python modules
349 - opt-viewer
350 - )
351 -
352 - if llvm_are_manpages_built; then
353 - out+=(
354 - # manpages
355 - docs-dsymutil-man
356 - docs-llvm-dwarfdump-man
357 - docs-llvm-man
358 - )
359 - fi
360 - use doc && out+=(
361 - docs-llvm-html
362 - )
363 -
364 - use binutils-plugin && out+=(
365 - LLVMgold
366 - )
367 - fi
368 -
369 - printf "%s${sep}" "${out[@]}"
370 -}
371 -
372 -multilib_src_configure() {
373 - local ffi_cflags ffi_ldflags
374 - if use libffi; then
375 - ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
376 - ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
377 - fi
378 -
379 - local libdir=$(get_libdir)
380 - local mycmakeargs=(
381 - # disable appending VCS revision to the version to improve
382 - # direct cache hit ratio
383 - -DLLVM_APPEND_VC_REV=OFF
384 - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
385 - -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
386 -
387 - -DBUILD_SHARED_LIBS=OFF
388 - -DLLVM_BUILD_LLVM_DYLIB=ON
389 - -DLLVM_LINK_LLVM_DYLIB=ON
390 - -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
391 -
392 - # cheap hack: LLVM combines both anyway, and the only difference
393 - # is that the former list is explicitly verified at cmake time
394 - -DLLVM_TARGETS_TO_BUILD=""
395 - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
396 - -DLLVM_BUILD_TESTS=$(usex test)
397 -
398 - -DLLVM_ENABLE_FFI=$(usex libffi)
399 - -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
400 - -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
401 - -DLLVM_ENABLE_LIBXML2=$(usex xml)
402 - -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
403 - -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
404 - -DLLVM_ENABLE_EH=ON
405 - -DLLVM_ENABLE_RTTI=ON
406 - -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
407 - -DLLVM_ENABLE_ZSTD=$(usex zstd)
408 -
409 - -DLLVM_HOST_TRIPLE="${CHOST}"
410 -
411 - -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
412 - -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
413 - # used only for llvm-objdump tool
414 - -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
415 -
416 - -DPython3_EXECUTABLE="${PYTHON}"
417 -
418 - # disable OCaml bindings (now in dev-ml/llvm-ocaml)
419 - -DOCAMLFIND=NO
420 - )
421 -
422 - if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
423 - # Smart hack: alter version suffix -> SOVERSION when linking
424 - # against libc++. This way we won't end up mixing LLVM libc++
425 - # libraries with libstdc++ clang, and the other way around.
426 - mycmakeargs+=(
427 - -DLLVM_VERSION_SUFFIX="libcxx"
428 - -DLLVM_ENABLE_LIBCXX=ON
429 - )
430 - fi
431 -
432 -# Note: go bindings have no CMake rules at the moment
433 -# but let's kill the check in case they are introduced
434 -# if ! multilib_is_native_abi || ! use go; then
435 - mycmakeargs+=(
436 - -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
437 - )
438 -# fi
439 -
440 - use test && mycmakeargs+=(
441 - -DLLVM_LIT_ARGS="$(get_lit_flags)"
442 - )
443 -
444 - if multilib_is_native_abi; then
445 - local build_docs=OFF
446 - if llvm_are_manpages_built; then
447 - build_docs=ON
448 - mycmakeargs+=(
449 - -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
450 - -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
451 - -DSPHINX_WARNINGS_AS_ERRORS=OFF
452 - )
453 - fi
454 -
455 - mycmakeargs+=(
456 - -DLLVM_BUILD_DOCS=${build_docs}
457 - -DLLVM_ENABLE_OCAMLDOC=OFF
458 - -DLLVM_ENABLE_SPHINX=${build_docs}
459 - -DLLVM_ENABLE_DOXYGEN=OFF
460 - -DLLVM_INSTALL_UTILS=ON
461 - )
462 - use binutils-plugin && mycmakeargs+=(
463 - -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
464 - )
465 - fi
466 -
467 - if tc-is-cross-compiler; then
468 - local tblgen="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
469 - [[ -x "${tblgen}" ]] \
470 - || die "${tblgen} not found or usable"
471 - mycmakeargs+=(
472 - -DCMAKE_CROSSCOMPILING=ON
473 - -DLLVM_TABLEGEN="${tblgen}"
474 - )
475 - fi
476 -
477 - # workaround BMI bug in gcc-7 (fixed in 7.4)
478 - # https://bugs.gentoo.org/649880
479 - # apply only to x86, https://bugs.gentoo.org/650506
480 - if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
481 - [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
482 - then
483 - local CFLAGS="${CFLAGS} -mno-bmi"
484 - local CXXFLAGS="${CXXFLAGS} -mno-bmi"
485 - fi
486 -
487 - # LLVM can have very high memory consumption while linking,
488 - # exhausting the limit on 32-bit linker executable
489 - use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
490 -
491 - # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
492 - use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
493 - cmake_src_configure
494 -
495 - grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
496 - CMakeCache.txt ||
497 - die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
498 - multilib_is_native_abi && check_distribution_components
499 -}
500 -
501 -multilib_src_compile() {
502 - cmake_build distribution
503 -
504 - pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
505 - pax-mark m "${BUILD_DIR}"/bin/lli
506 - pax-mark m "${BUILD_DIR}"/bin/lli-child-target
507 -
508 - if use test; then
509 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
510 - pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
511 - pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
512 - fi
513 -}
514 -
515 -multilib_src_test() {
516 - # respect TMPDIR!
517 - local -x LIT_PRESERVES_TMP=1
518 - cmake_build check
519 -}
520 -
521 -src_install() {
522 - local MULTILIB_CHOST_TOOLS=(
523 - /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
524 - )
525 -
526 - local MULTILIB_WRAPPED_HEADERS=(
527 - /usr/include/llvm/Config/llvm-config.h
528 - )
529 -
530 - local LLVM_LDPATHS=()
531 - multilib-minimal_src_install
532 -
533 - # move wrapped headers back
534 - mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
535 -}
536 -
537 -multilib_src_install() {
538 - DESTDIR=${D} cmake_build install-distribution
539 -
540 - # move headers to /usr/include for wrapping
541 - rm -rf "${ED}"/usr/include || die
542 - mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
543 -
544 - LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
545 -}
546 -
547 -multilib_src_install_all() {
548 - local revord=$(( 9999 - ${LLVM_MAJOR} ))
549 - newenvd - "60llvm-${revord}" <<-_EOF_
550 - PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
551 - # we need to duplicate it in ROOTPATH for Portage to respect...
552 - ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
553 - MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
554 - LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
555 - _EOF_
556 -
557 - docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
558 - llvm_install_manpages
559 -}
560 -
561 -pkg_postinst() {
562 - elog "You can find additional opt-viewer utility scripts in:"
563 - elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
564 - elog "To use these scripts, you will need Python along with the following"
565 - elog "packages:"
566 - elog " dev-python/pygments (for opt-viewer)"
567 - elog " dev-python/pyyaml (for all of them)"
568 -}