spack/lib/spack
Todd Gamblin 0c44a9a504
bugfix: make compiler preferences slightly saner (#17590)
* bugfix: make compiler preferences slightly saner

This fixes two issues with the way we currently select compilers.

If multiple compilers have the same "id" (os/arch/compiler/version), we
currently prefer them by picking this one with the most supported
languages.  This can have some surprising effects:

* If you have no `gfortran` but you have `gfortran-8`, you can detect
  `clang` that has no configured C compiler -- just `f77` and `f90`. This
  happens frequently on macOS with homebrew. The bug is due to some
  kludginess about the way we detect mixed `clang`/`gfortran`.

* We can prefer suffixed versions of compilers to non-suffixed versions,
  which means we may select `clang-gpu` over `clang` at LLNL. But,
  `clang-gpu` is not actually clang, and it can break builds. We should
  prefer `clang` if it's available.

- [x] prefer compilers that have C compilers and prefer no name variation
  to variation.

* tests: add test for which()
2020-07-21 18:48:37 -07:00
..
docs Add libglvnd packages/Add EGL support (#14572) 2020-07-13 11:32:36 -04:00
env compiler wrappers: don't override -isystem with -I (#16077) 2020-04-21 13:56:50 -07:00
external Vendoring: remove dependency on Setuptools from vendored pytest (#15612) 2020-03-23 16:55:07 -07:00
llnl change master/child to controller/minion in pty docstrings 2020-07-06 11:39:19 -07:00
spack bugfix: make compiler preferences slightly saner (#17590) 2020-07-21 18:48:37 -07:00