This reverts commit b7a956ed5e.
Unfortunately, while 19d04b7dc9 tries
to match LLVM_TARGETS, we have a problem where the stage0 rustc is already
broken and you can't temporarily workaround that. Rust always needs Rust
to build, so it's not doable as-is, without disabling USE=system-llvm.
Revert the mask change for now so we can think about it more.
Bug: https://bugs.gentoo.org/767700
Bug: https://bugs.gentoo.org/768267
Signed-off-by: Sam James <sam@gentoo.org>
Unfortunately, Sunshine relies heavily on the v1 process API that was dropped in
Boost 1.88. I tried to make the necessary changes, but v2 is very different and
missing features present in v1. I'll leave this mess to upstream. In the
meantime, build and statically link 1.87. This is less than ideal but better
than holding everyone back. It raises a couple of CMake compatibility warnings,
but upstream will hopefully bump Boost before this becomes an issue.
Closes: https://bugs.gentoo.org/955560
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Gradually unforce targets for LLVM profiles as clang temporarily
breaking isn't okay there (as it can't then build itself). This means
the fix for bug #767700 is delayed on these profiles until old LLVMs
age out.
This pulls in the entries from b7a956ed5e but
adjusted.
Bug: https://bugs.gentoo.org/767700
Signed-off-by: Sam James <sam@gentoo.org>
As noted in 850d5e6b5c, this is fine to do
these days. Combined with the LLVM_TARGET fixes from earlier today, this
should lead to a nice build-time improvement too.
Closes: https://bugs.gentoo.org/735154
Signed-off-by: Sam James <sam@gentoo.org>
... except for ppc where it's needed because of older lld not being
stable there.
People won't have these older Rusts installed for the most part, but
if they do, let's not stop them using system-llvm now.
Bug: https://bugs.gentoo.org/735154
Signed-off-by: Sam James <sam@gentoo.org>
It's tedious to have to keep updating these for misc. packages and it's
also not clear why, if you have LLVM_TARGETS, you would ever not
want the native one for a package.
Signed-off-by: Sam James <sam@gentoo.org>
LLVM continues to grow, so building all targets consumes evermore
disk space at build-time (and once installed) as well as time to compile.
With llvm-core/lld now worked around, we shouldn't need this anymore. If
other consumers are using InitializeAllTargets, they should use llvm.org.eclass's
LLVM_USE_TARGETS=llvm+eq.
Bug: https://bugs.gentoo.org/767700
Bug: https://bugs.gentoo.org/768267
Signed-off-by: Sam James <sam@gentoo.org>
As mentioned in an earlier commit, LLD unfortunately calls InitializeAllTargets
which automagically uses any targets from LLVM.
Workaround that by using new LLVM_USE_TARGETS=llvm+eq to match llvm-core/llvm
targets. While here, pass -DLLVM_TARGETS_TO_BUILD=XXX given it is used
(albeit barely) in lld's CMake.
Bug: https://bugs.gentoo.org/767700
Bug: https://bugs.gentoo.org/768267
Signed-off-by: Sam James <sam@gentoo.org>
See pkgcheck.git commit 7056ff780f7ba4b16adfca5c155fe3cc50fd1a06. UncheckableDep
can fire on complex structures like [x?,y?,z?,...?,...,...?].
Signed-off-by: Sam James <sam@gentoo.org>
Add an additional 'llvm+eq' value which works the same as LLVM_USE_TARGETS=llvm,
but with matching use= deps on LLVM_TARGETS. Needed for packages
which automagically use available targets via e.g. LLVM's InitializeAllTargets.
This sets us on a path to dropping the package.use.force entries
for LLVM_TARGETS.
Bug: https://bugs.gentoo.org/767700
Bug: https://bugs.gentoo.org/768267
Signed-off-by: Sam James <sam@gentoo.org>