spack/lib/spack
Scott Wittenburg 594512bdb3
ci: fixes for compiler bootstrapping (#17563)
This PR addresses a number of issues related to compiler bootstrapping.

Specifically:
1. Collect compilers to be bootstrapped while queueing in installer
Compiler tasks currently have an incomplete list in their task.dependents,
making those packages fail to install as they think they have not all their
dependencies installed. This PR collects the dependents and sets them on
compiler tasks.

2. allow boostrapped compilers to back off target
Bootstrapped compilers may be built with a compiler that doesn't support
the target used by the rest of the spec.  Allow them to build with less
aggressive target optimization settings.

3. Support for target ranges
Backing off the target necessitates computing target ranges, so make Spack
handle those properly.  Notably, this adds an intersection method for target
ranges and fixes the way ranges are satisfied and constrained on Spec objects.

This PR also:
- adds testing
- improves concretizer handling of target ranges

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-18 02:05:06 -08:00
..
docs docs: add single node concurrent build example (#20416) 2020-12-17 17:23:55 +01:00
env Compiler wrapper linting (#20249) 2020-12-07 18:58:19 -08:00
external archspec: added support for aocc (#20124) 2020-11-26 16:18:40 +01:00
llnl spack test (#15702) 2020-11-18 02:39:02 -08:00
spack ci: fixes for compiler bootstrapping (#17563) 2020-12-18 02:05:06 -08:00