diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2024-08-22 12:13:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-22 12:13:08 +0200 |
commit | 836be2364ca62e01e89ac07c8e18b19949fc43b4 (patch) | |
tree | 887e78d2c6a4a858037561e335e3c42043c6f048 /var | |
parent | b623f58782c53bc465d14b84b44e91ffc2b872cd (diff) | |
download | spack-836be2364ca62e01e89ac07c8e18b19949fc43b4.tar.gz spack-836be2364ca62e01e89ac07c8e18b19949fc43b4.tar.bz2 spack-836be2364ca62e01e89ac07c8e18b19949fc43b4.tar.xz spack-836be2364ca62e01e89ac07c8e18b19949fc43b4.zip |
Make spack compiler find use external find (#45784)
so that there is no duplicate detection logic for compilers
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin.mock/packages/gcc/package.py | 12 | ||||
-rw-r--r-- | var/spack/repos/builtin.mock/packages/intel-oneapi-compilers/package.py | 9 |
2 files changed, 19 insertions, 2 deletions
diff --git a/var/spack/repos/builtin.mock/packages/gcc/package.py b/var/spack/repos/builtin.mock/packages/gcc/package.py index 05518419dd..fa2b0309ff 100644 --- a/var/spack/repos/builtin.mock/packages/gcc/package.py +++ b/var/spack/repos/builtin.mock/packages/gcc/package.py @@ -16,11 +16,23 @@ class Gcc(CompilerPackage, Package): version("2.0", md5="abcdef0123456789abcdef0123456789") version("3.0", md5="def0123456789abcdef0123456789abc") + variant( + "languages", + default="c,c++,fortran", + values=("c", "c++", "fortran"), + multi=True, + description="Compilers and runtime libraries to build", + ) + depends_on("conflict", when="@3.0") c_names = ["gcc"] cxx_names = ["g++"] fortran_names = ["gfortran"] + compiler_prefixes = [r"\w+-\w+-\w+-"] + compiler_suffixes = [r"-mp-\d+(?:\.\d+)?", r"-\d+(?:\.\d+)?", r"\d\d"] + compiler_version_regex = r"(?<!clang version)\s?([0-9.]+)" + compiler_version_argument = ("-dumpfullversion", "-dumpversion") def install(self, spec, prefix): # Create the minimal compiler that will fool `spack compiler find` diff --git a/var/spack/repos/builtin.mock/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin.mock/packages/intel-oneapi-compilers/package.py index 78fdbe056c..892a09f7dc 100644 --- a/var/spack/repos/builtin.mock/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin.mock/packages/intel-oneapi-compilers/package.py @@ -18,9 +18,14 @@ class IntelOneapiCompilers(Package, CompilerPackage): version("2.0", md5="abcdef0123456789abcdef0123456789") version("3.0", md5="def0123456789abcdef0123456789abc") + compiler_languages = ["c", "cxx", "fortran"] c_names = ["icx"] cxx_names = ["icpx"] fortran_names = ["ifx"] + compiler_version_argument = "--version" + compiler_version_regex = ( + r"(?:(?:oneAPI DPC\+\+(?:\/C\+\+)? Compiler)|(?:\(IFORT\))|(?:\(IFX\))) (\S+)" + ) @property def compiler_search_prefix(self): @@ -32,9 +37,9 @@ class IntelOneapiCompilers(Package, CompilerPackage): comp = self.compiler_search_prefix.icx if sys.platform == "win32": comp = comp + ".bat" - comp_string = "@echo off\necho oneAPI DPC++ Compiler %s" % str(spec.version) + comp_string = f"@echo off\necho oneAPI DPC++ Compiler {str(spec.version)}" else: - comp_string = '#!/bin/bash\necho "oneAPI DPC++ Compiler %s"' % str(spec.version) + comp_string = f'#!/bin/bash\necho "oneAPI DPC++ Compiler {str(spec.version)}"' with open(comp, "w") as f: f.write(comp_string) set_executable(comp) |