1 |
Hi, |
2 |
|
3 |
I'd like to introduce a new USE_EXPAND for LLVM & clang. It'd be named |
4 |
LLVM_TARGETS, and it's going to replace the current solution based on |
5 |
USE=multitarget & VIDEO_CARDS=radeon. |
6 |
|
7 |
In the old system, the following rules applied: |
8 |
|
9 |
- host (implicitly figured out by LLVM) and BPF targets were always |
10 |
built, |
11 |
|
12 |
- VIDEO_CARDS=radeon enabled additional R600 target, |
13 |
|
14 |
- USE=multitarget enabled all targets. |
15 |
|
16 |
In the new system, LLVM_TARGETS explicitly controls *all* targets |
17 |
built. To avoid dependency hell, the host target is package.use.forced |
18 |
in specific arch profiles. Additionally, the BPF target is on by |
19 |
default. |
20 |
|
21 |
The new system will be applied to 3.9.0 and 9999 ebuilds. VIDEO_CARDS |
22 |
flag will be removed completely because of no revdeps. USE=multitarget |
23 |
will be kept for compatibility until all revdeps are clean. |
24 |
|
25 |
As far as revdeps are concerned: |
26 |
|
27 |
- Packages that require only host target will not have to be changed at |
28 |
all (since host is still forced-on). |
29 |
|
30 |
- Packages that used to require multitarget will eventually have to be |
31 |
changed to request the specific targets they need. They could switch |
32 |
to this when they stop supporting LLVM < 3.9. |
33 |
|
34 |
The draft implementation is available in the following PR: |
35 |
https://github.com/gentoo/gentoo/pull/2405 |
36 |
|
37 |
Any comments? |
38 |
|
39 |
-- |
40 |
Best regards, |
41 |
Michał Górny |
42 |
<http://dev.gentoo.org/~mgorny/> |