oneapi-compilers: allow detection of executables symlinked to prefix.bin (#49742)
* intel-oneapi-compilers: detect compilers when symlinked to prefix.bin * update detection tests -- Signed-off-by: Gregory Becker <becker33@llnl.gov>
This commit is contained in:
parent
6f2019ece9
commit
d5f5d48bb3
@ -21,3 +21,25 @@ paths:
|
|||||||
c: ".*/compiler/2021.2.0/linux/bin/icx"
|
c: ".*/compiler/2021.2.0/linux/bin/icx"
|
||||||
cxx: ".*/compiler/2021.2.0/linux/bin/icpx"
|
cxx: ".*/compiler/2021.2.0/linux/bin/icpx"
|
||||||
fortran: ".*/compiler/2021.2.0/linux/bin/ifx"
|
fortran: ".*/compiler/2021.2.0/linux/bin/ifx"
|
||||||
|
- layout:
|
||||||
|
- executables:
|
||||||
|
- "bin/icx"
|
||||||
|
- "bin/icpx"
|
||||||
|
script: |
|
||||||
|
echo "Intel(R) oneAPI DPC++ Compiler 2021.2.0 (2021.2.0.20210317)"
|
||||||
|
echo "Target: x86_64-unknown-linux-gnu"
|
||||||
|
echo "Thread model: posix"
|
||||||
|
echo "InstalledDir: /made/up/path",
|
||||||
|
- executables:
|
||||||
|
- "bin/ifx"
|
||||||
|
script: |
|
||||||
|
echo "ifx (IFORT) 2021.2.0 Beta 20201214"
|
||||||
|
echo "Copyright (C) 1985-2020 Intel Corporation. All rights reserved."
|
||||||
|
platforms: [linux]
|
||||||
|
results:
|
||||||
|
- spec: intel-oneapi-compilers@2021.2.0
|
||||||
|
extra_attributes:
|
||||||
|
compilers:
|
||||||
|
c: ".*/bin/icx"
|
||||||
|
cxx: ".*/bin/icpx"
|
||||||
|
fortran: ".*/bin/ifx"
|
||||||
|
@ -639,7 +639,15 @@ def determine_variants(cls, exes, version_str):
|
|||||||
dirs = ", ".join([str(x) for x in sorted(bin_dirs)])
|
dirs = ", ".join([str(x) for x in sorted(bin_dirs)])
|
||||||
raise RuntimeError(f"executables found in multiple dirs: {dirs}")
|
raise RuntimeError(f"executables found in multiple dirs: {dirs}")
|
||||||
bin_dir = bin_dirs.pop()
|
bin_dir = bin_dirs.pop()
|
||||||
prefix_parts = bin_dir.parts[: bin_dir.parts.index("compiler")]
|
|
||||||
|
# Some sites symlink the bindir to the top level of the prefix
|
||||||
|
if "compiler" in bin_dir.parts:
|
||||||
|
# Normal installation
|
||||||
|
prefix_parts = bin_dir.parts[: bin_dir.parts.index("compiler")]
|
||||||
|
else:
|
||||||
|
# Executables from top level bin dir as symlinks
|
||||||
|
prefix_parts = bin_dir.parts[:-1]
|
||||||
|
|
||||||
computed_prefix = pathlib.Path(*prefix_parts)
|
computed_prefix = pathlib.Path(*prefix_parts)
|
||||||
extra_attributes["prefix"] = str(computed_prefix)
|
extra_attributes["prefix"] = str(computed_prefix)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user