Hi,

I'd like to introduce a new USE_EXPAND for LLVM & clang. It'd be named
LLVM_TARGETS, and it's going to replace the current solution based on
USE=multitarget & VIDEO_CARDS=radeon.

In the old system, the following rules applied:

- host (implicitly figured out by LLVM) and BPF targets were always
  built,

- VIDEO_CARDS=radeon enabled additional R600 target,

- USE=multitarget enabled all targets.

In the new system, LLVM_TARGETS explicitly controls *all* targets
built. To avoid dependency hell, the host target is package.use.forced
in specific arch profiles. Additionally, the BPF target is on by
default.

The new system will be applied to 3.9.0 and 9999 ebuilds. VIDEO_CARDS
flag will be removed completely because of no revdeps. USE=multitarget
will be kept for compatibility until all revdeps are clean.

As far as revdeps are concerned:

- Packages that require only host target will not have to be changed at
  all (since host is still forced-on).

- Packages that used to require multitarget will eventually have to be
  changed to request the specific targets they need. They could switch
  to this when they stop supporting LLVM < 3.9.

The draft implementation is available in the following PR:
https://github.com/gentoo/gentoo/pull/2405

Any comments?

-- 
Best regards,
Michał Górny
<http://dev.gentoo.org/~mgorny/>

Attachment: pgpeAT9EZAxXT.pgp
Description: OpenPGP digital signature

Reply via email to