diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/fj/package.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/fj/package.py b/var/spack/repos/builtin/packages/fj/package.py new file mode 100644 index 0000000000..592960ebea --- /dev/null +++ b/var/spack/repos/builtin/packages/fj/package.py @@ -0,0 +1,55 @@ +# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +import re + +import llnl.util.tty as tty +import spack.compiler +import spack.util.executable + + +class Fj(Package): + """The Fujitsu compiler system is a high performance, production quality + code generation tool designed for high performance parallel + computing workloads. + """ + + homepage = "https://www.fujitsu.com/global/us" + + maintainers = ['t-karatsu'] + + def install(self, spec, prefix): + raise InstallError( + 'Fujitsu compilers are not installable yet, but can be ' + 'detected on a system where they are supplied by vendor' + ) + + executables = ['^fcc', '^FCC', '^frt'] + + @classmethod + def determine_version(cls, exe): + version_regex = re.compile(r'\((?:FCC|FRT)\) ([a-z\d.]+)') + try: + output = spack.compiler.get_compiler_version_output( + exe, '--version' + ) + match = version_regex.search(output) + if match: + return match.group(1) + except spack.util.executable.ProcessError: + pass + except Exception as e: + tty.debug(e) + + @classmethod + def determine_variants(cls, exes, version_str): + compilers = {} + for exe in exes: + if 'fcc' in exe: + compilers['c'] = exe + if 'FCC' in exe: + compilers['cxx'] = exe + if 'frt' in exe: + compilers['fortran'] = exe + return '', {'compilers': compilers} |