spack/lib/spack
Greg Becker c9561c5a0e
intel oneapi classic bootstrapping (#31285)
The `intel` compiler at versions > 20 is provided by the `intel-oneapi-compilers-classic`
package (a thin wrapper around the `intel-oneapi-compilers` package), and the `oneapi`
compiler is provided by the `intel-oneapi-compilers` package. 

Prior to this work, neither of these compilers could be bootstrapped by Spack as part of
an install with `install_missing_compilers: True`.

Changes made to make these two packages bootstrappable:

1. The `intel-oneapi-compilers-classic` package includes a bin directory and symlinks
   to the compiler executables, not just logical pointers in Spack.
2. Spack can look for bootstrapped compilers in directories other than `$prefix/bin`,
   defined on a per-package basis
3. `intel-oneapi-compilers` specifies a non-default search directory for the
   compiler executables.
4. The `spack.compilers` module now can make more advanced associations between
   packages and compilers, not just simple name translations
5. Spack support for lmod hierarchies accounts for differences between package
   names and the associated compiler names for `intel-oneapi-compilers/oneapi`,
   `intel-oneapi-compilers-classic/intel@20:`, `llvm+clang/clang`, and
   `llvm-amdgpu/rocmcc`.

- [x] full end-to-end testing
- [x] add unit tests
2022-11-07 21:50:16 -08:00
..
docs reorder packages.yaml: requirements first, then preferences (#33741) 2022-11-07 16:16:11 -08:00
env Cray support: use linux platform for newer craype versions (#29392) 2022-11-04 14:52:11 -07:00
external archspec: update version, translate renamed uarchs (#33556) 2022-11-07 04:50:38 -08:00
llnl Experimental binding of shared ELF libraries (#31948) 2022-11-03 17:34:00 -06:00
spack intel oneapi classic bootstrapping (#31285) 2022-11-07 21:50:16 -08:00
spack_installable encode development requirements in pyproject.toml (#32616) 2022-11-07 15:00:22 -08:00