diff options
author | Harmen Stoppels <me@harmenstoppels.nl> | 2024-04-20 19:23:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-20 13:23:37 -0400 |
commit | 82df0e549dbebcc8c10cc91eb505cfd7df293175 (patch) | |
tree | 2bcfb75cbe9b84be95f9d64d1110fb308dac99ac /CITATION.cff | |
parent | f5591f9068203f201fed5ca160c9632381ba26ef (diff) | |
download | spack-82df0e549dbebcc8c10cc91eb505cfd7df293175.tar.gz spack-82df0e549dbebcc8c10cc91eb505cfd7df293175.tar.bz2 spack-82df0e549dbebcc8c10cc91eb505cfd7df293175.tar.xz spack-82df0e549dbebcc8c10cc91eb505cfd7df293175.zip |
compiler wrapper: prioritize spack store paths in -L, -I, -rpath (#43593)
* compiler wrapper: prioritize spack managed paths in search order
This commit partitions search paths of -L, -I (and -rpath) into three
groups, from highest priority to lowest:
1. Spack managed directories: these include absolute paths such as
stores and the stage dir, as well as all relative paths since they
are relative to a Spack owned dir
2. Non-system dirs: these are for externals that live in non-system
locations
3. System dirs: your typical `/usr/lib` etc.
It's very easy for Spack to known the prefixes it owns, it's much more
difficult to tell system dirs from non-system dirs. Before this commit
Spack tried to distinguish only system and non-system dirs, and failed
for very trivial cases like `/usr/lib/x/..` which comes up often, since
build systems sometimes copy search paths from `gcc -print-search-dirs`.
Potentially this implementation is even faster than the current state of
things, since a loop over paths is replaced with an eval'ed `case ...`.
* Trigger a pipeline
* Revert "Trigger a pipeline"
This reverts commit 5d7fa863de91c5557ef4432c0ea105ed0924a6e8.
* remove redudant return statement
Diffstat (limited to 'CITATION.cff')
0 files changed, 0 insertions, 0 deletions