spack.compilers package
This module contains functions related to finding compilers on the system and configuring Spack to use multiple compilers.
- spack.compilers.COMPILER_TAG = 'compiler'
Tag used to identify packages providing a compiler
- class spack.compilers.CacheReference(val)[source]
Bases:
object
This acts as a hashable reference to any object (regardless of whether the object itself is hashable) and also prevents the object from being garbage-collected (so if two CacheReference objects are equal, they will refer to the same object, since it will not have been gc’ed since the creation of the first CacheReference).
- class spack.compilers.CompilerConfigFactory[source]
Bases:
object
Class aggregating all ways of constructing a list of compiler config entries.
- exception spack.compilers.InvalidCompilerConfigurationError(compiler_spec)[source]
Bases:
SpackError
- exception spack.compilers.NoCompilerForSpecError(compiler_spec, target)[source]
Bases:
SpackError
- exception spack.compilers.UnknownCompilerError(compiler_name)[source]
Bases:
SpackError
- spack.compilers.add_compilers_to_config(compilers, scope=None)[source]
Add compilers to the config for the specified architecture.
- Parameters:
compilers – a list of Compiler objects.
scope – configuration scope to modify.
- spack.compilers.all_compilers_config(configuration: Configuration, *, scope: str | None = None, init_config: bool = True) List[Compiler] [source]
Return a set of specs for all the compiler versions currently available to build with. These are instances of CompilerSpec.
- spack.compilers.class_for_compiler_name(compiler_name)[source]
Given a compiler module name, get the corresponding Compiler class.
- spack.compilers.find_compilers(path_hints: List[str] | None = None, *, scope: str | None = None, mixed_toolchain: bool = False, max_workers: int | None = None) List[Compiler] [source]
Searches for compiler in the paths given as argument. If any new compiler is found, the configuration is updated, and the list of new compiler objects is returned.
- Parameters:
path_hints – list of path hints where to look for. A sensible default based on the
PATH
environment variable will be used if the value is Nonescope – configuration scope to modify
mixed_toolchain – allow mixing compilers from different toolchains if otherwise missing for a certain language
max_workers – number of processes used to search for compilers
- spack.compilers.get_compiler_config(configuration: Configuration, *, scope: str | None = None, init_config: bool = False) List[Dict] [source]
Return the compiler configuration for the specified architecture.
- spack.compilers.get_compiler_config_from_packages(configuration: Configuration, *, scope: str | None = None) List[Dict] [source]
Return the compiler configuration from packages.yaml
- spack.compilers.is_mixed_toolchain(compiler)[source]
Returns True if the current compiler is a mixed toolchain, False otherwise.
- Parameters:
compiler (spack.compiler.Compiler) – a valid compiler object
- spack.compilers.pkg_spec_for_compiler(cspec)[source]
Return the spec of the package that provides the compiler.
- spack.compilers.select_new_compilers(compilers, scope=None)[source]
Given a list of compilers, remove those that are already defined in the configuration.
- spack.compilers.supported_compilers() List[str] [source]
Return a set of names of compilers supported by Spack.
See available_compilers() to get a list of all the available versions of supported compilers.
- spack.compilers.supported_compilers_for_host_platform() List[str] [source]
Return a set of compiler class objects supported by Spack that are also supported by the current host platform
- spack.compilers.supported_compilers_for_platform(platform: Platform) List[str] [source]
Return a set of compiler class objects supported by Spack that are also supported by the provided platform
- Parameters:
platform (str) – string representation of platform for which compiler compatability should be determined
Submodules
spack.compilers.aocc module
- class spack.compilers.aocc.Aocc(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cflags
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property cxxflags
- property debug_flags
- classmethod extract_version_from_output(output)[source]
Extracts the version from compiler’s output.
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- property fflags
- property link_paths
- property openmp_flag
- property opt_flags
- required_libs = ['libclang']
- property stdcxx_libs
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
spack.compilers.apple_clang module
- class spack.compilers.apple_clang.AppleClang(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Clang
- property c11_flag
- property c17_flag
- property c23_flag
- property c99_flag
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx20_flag
- property cxx23_flag
- classmethod extract_version_from_output(output)[source]
Extracts the version from compiler’s output.
- openmp_flag = '-Xpreprocessor -fopenmp'
spack.compilers.arm module
- class spack.compilers.arm.Arm(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'arm/armclang', 'cxx': 'arm/armclang++', 'f77': 'arm/armflang', 'fc': 'arm/armflang'}
- property openmp_flag
- property opt_flags
- required_libs = ['libclang', 'libflang']
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = 'Arm C\\/C\\+\\+\\/Fortran Compiler version ([\\d\\.]+) '
Regex used to extract version from compiler’s output
spack.compilers.cce module
- class spack.compilers.cce.Cce(*args, **kwargs)[source]
Bases:
Compiler
Cray compiler environment compiler.
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- property is_clang_based
- property link_paths
- property openmp_flag
- property stdcxx_libs
- suffixes = ['-mp-\\d\\.\\d']
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = '[Cc]ray (?:clang|C :|C\\+\\+ :|Fortran :) [Vv]ersion.*?(\\d+(\\.\\d+)+)'
Regex used to extract version from compiler’s output
spack.compilers.clang module
- class spack.compilers.clang.Clang(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c17_flag
- property c23_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx20_flag
- property cxx23_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- classmethod extract_version_from_output(output)[source]
Extracts the version from compiler’s output.
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- property link_paths
- openmp_flag = '-fopenmp'
- property opt_flags
- required_libs = ['libclang']
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- spack.compilers.clang.f77_mapping = [('gfortran', 'clang/gfortran'), ('xlf_r', 'xl_r/xlf_r'), ('xlf', 'xl/xlf'), ('pgfortran', 'pgi/pgfortran'), ('ifort', 'intel/ifort')]
compiler symlink mappings for mixed f77 compilers
- spack.compilers.clang.fc_mapping = [('gfortran', 'clang/gfortran'), ('xlf90_r', 'xl_r/xlf90_r'), ('xlf90', 'xl/xlf90'), ('pgfortran', 'pgi/pgfortran'), ('ifort', 'intel/ifort')]
compiler symlink mappings for mixed f90/fc compilers
spack.compilers.fj module
- class spack.compilers.fj.Fj(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx98_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'fj/fcc', 'cxx': 'fj/case-insensitive/FCC', 'f77': 'fj/frt', 'fc': 'fj/frt'}
- property openmp_flag
- property opt_flags
- required_libs = ['libfj90i', 'libfj90f', 'libfjsrcinfo']
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = '\\((?:FCC|FRT)\\) ([a-z\\d.]+)'
Regex used to extract version from compiler’s output
spack.compilers.gcc module
- class spack.compilers.gcc.Gcc(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx20_flag
- property cxx23_flag
- property cxx98_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- classmethod default_version(cc)[source]
Older versions of gcc use the
-dumpversion
option. Output looks like this:4.4.7
In GCC 7, this option was changed to only return the major version of the compiler:
7
A new
-dumpfullversion
option was added that gives us what we want:7.2.0
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'gcc/gcc', 'cxx': 'gcc/g++', 'f77': 'gcc/gfortran', 'fc': 'gcc/gfortran'}
- property openmp_flag
- property opt_flags
- property prefix
Query the compiler for its install prefix. This is the install path as reported by the compiler. Note that paths for cc, cxx, etc are not enough to find the install prefix of the compiler, since the can be symlinks, wrappers, or filenames instead of absolute paths.
- required_libs = ['libgcc', 'libgfortran']
- property stdcxx_libs
- suffixes = ['-mp-\\d+(?:\\.\\d+)?', '-\\d+(?:\\.\\d+)?', '\\d\\d']
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
spack.compilers.intel module
- class spack.compilers.intel.Intel(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c18_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'intel/icc', 'cxx': 'intel/icpc', 'f77': 'intel/ifort', 'fc': 'intel/ifort'}
- property openmp_flag
- property opt_flags
- required_libs = ['libirc', 'libifcore', 'libifcoremt', 'libirng']
- setup_custom_environment(pkg, env)[source]
Set any environment variables necessary to use the compiler.
- property stdcxx_libs
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = '\\((?:IFORT|ICC)\\) ([^ ]+)'
Regex used to extract version from compiler’s output
spack.compilers.msvc module
- class spack.compilers.msvc.CmdCall(*cmds)[source]
Bases:
object
Compose a call to cmd for an ordered series of cmd commands/scripts
- property cmd_line
- class spack.compilers.msvc.Msvc(*args, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c17_flag
- property cl_version
Cl toolset version
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx20_flag
- property ifx_version
Ifx compiler version associated with this version of MSVC
- ignore_version_errors: Sequence[int] = [1]
Return values to ignore when invoking the compiler to get its version
- is_supported_on_platform()
- link_paths = {'cc': '', 'cxx': '', 'f77': '', 'fc': ''}
- property msvc_version
This is the VCToolset version NOT the actual version of the cl compiler For CL version, query Msvc.cl_version
- property platform_toolset_ver
This is the platform toolset version of current MSVC compiler i.e. 142. The platform toolset is the targeted MSVC library/compiler versions by compilation (this is different from the VC Toolset)
This is different from the VC toolset version as established by short_msvc_version, but typically are represented by the same three digit value
- setup_custom_environment(pkg, env)[source]
Set environment variables for MSVC using the Microsoft-provided script.
- property short_msvc_version
This is the shorthand VCToolset version of form MSVC<short-ver>
- suffixes = []
- property vc_toolset_ver
The toolset version is the version of the combined set of cl and link This typically relates directly to VS version i.e. VS 2022 is v143 VS 19 is v142, etc. This value is defined by the first three digits of the major + minor version of the VS toolset (143 for 14.3x.bbbbb). Traditionally the minor version has remained a static two digit number for a VS release series, however, as of VS22, this is no longer true, both 14.4x.bbbbb and 14.3x.bbbbb are considered valid VS22 VC toolset versions due to a change in toolset minor version sentiment.
This is NOT the full version, for that see Msvc.msvc_version or MSVC.platform_toolset_ver for the raw platform toolset version
- version_argument = ''
Compiler argument that produces version information
- version_regex = '([1-9][0-9]*\\.[0-9]*\\.[0-9]*)'
Regex used to extract version from compiler’s output
- property visual_studio_version
The four digit Visual Studio version (i.e. 2019 or 2022)
Note: This differs from the msvc version or toolset version as those properties track the compiler and build tools version respectively, whereas this tracks the VS release associated with a given MSVC compiler.
- property vs_root
- class spack.compilers.msvc.VCVarsInvocation(script, arch, msvc_version)[source]
Bases:
VarsInvocation
- property arch
- property sdk_ver
Accessor for Windows SDK version property
Note: This property may not be set by the calling context and as such this property will return an empty string
This property will ONLY be set if the SDK package is a dependency somewhere in the Spack DAG of the package for which we are constructing an MSVC compiler env. Otherwise this property should be unset to allow the VCVARS script to use its internal heuristics to determine appropriate SDK version
- property vcvars_ver
spack.compilers.nag module
- class spack.compilers.nag.Nag(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property cxx11_flag
- property debug_flags
- property disable_new_dtags
- property enable_new_dtags
- classmethod extract_version_from_output(output)[source]
Extracts the version from compiler’s output.
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property f77_rpath_arg
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- property fc_rpath_arg
- link_paths = {'cc': 'cc', 'cxx': 'c++', 'f77': 'nag/nagfor', 'fc': 'nag/nagfor'}
- property linker_arg
Flag that need to be used to pass an argument to the linker.
- property openmp_flag
- property opt_flags
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '-V'
Compiler argument that produces version information
spack.compilers.nvhpc module
- class spack.compilers.nvhpc.Nvhpc(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'nvhpc/nvc', 'cxx': 'nvhpc/nvc++', 'f77': 'nvhpc/nvfortran', 'fc': 'nvhpc/nvfortran'}
- property openmp_flag
- property opt_flags
- required_libs = ['libnvc', 'libnvf']
- property stdcxx_libs
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = 'nv[^ ]* (?:[^ ]+ Dev-r)?([0-9.]+)(?:-[0-9]+)?'
Regex used to extract version from compiler’s output
spack.compilers.oneapi module
- class spack.compilers.oneapi.Oneapi(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- property cxx20_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- link_paths = {'cc': 'oneapi/icx', 'cxx': 'oneapi/icpx', 'f77': 'oneapi/ifx', 'fc': 'oneapi/ifx'}
- property openmp_flag
- property opt_flags
- property prefix
Query the compiler for its install prefix. This is the install path as reported by the compiler. Note that paths for cc, cxx, etc are not enough to find the install prefix of the compiler, since the can be symlinks, wrappers, or filenames instead of absolute paths.
- required_libs = ['libirc', 'libifcore', 'libifcoremt', 'libirng', 'libsvml', 'libintlc', 'libimf', 'libsycl', 'libOpenCL']
- setup_custom_environment(pkg, env)[source]
Set any environment variables necessary to use the compiler.
- property stdcxx_libs
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '--version'
Compiler argument that produces version information
- version_regex = '(?:(?:oneAPI DPC\\+\\+(?:\\/C\\+\\+)? Compiler)|(?:\\(IFORT\\))|(?:\\(IFX\\))) (\\S+)'
Regex used to extract version from compiler’s output
spack.compilers.pgi module
- class spack.compilers.pgi.Pgi(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- ignore_version_errors: Sequence[int] = [2]
Return values to ignore when invoking the compiler to get its version
- link_paths = {'cc': 'pgi/pgcc', 'cxx': 'pgi/pgc++', 'f77': 'pgi/pgfortran', 'fc': 'pgi/pgfortran'}
- property openmp_flag
- property opt_flags
- required_libs = ['libpgc', 'libpgf90']
- property stdcxx_libs
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '-V'
Compiler argument that produces version information
- version_regex = 'pg[^ ]* ([0-9.]+)-[0-9]+ (LLVM )?[^ ]+ target on '
Regex used to extract version from compiler’s output
spack.compilers.rocmcc module
- class spack.compilers.rocmcc.Rocmcc(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Clang
- property c11_flag
- property c99_flag
- property cxx11_flag
- property cxx14_flag
- property cxx17_flag
- classmethod extract_version_from_output(output)[source]
Extracts the version from compiler’s output.
- property link_paths
- property stdcxx_libs
spack.compilers.xl module
- class spack.compilers.xl.Xl(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Compiler
- property c11_flag
- property c99_flag
- property cc_pic_flag
Returns the flag used by the C compiler to produce Position Independent Code (PIC).
- property cxx11_flag
- property cxx14_flag
- property cxx_pic_flag
Returns the flag used by the C++ compiler to produce Position Independent Code (PIC).
- property debug_flags
- property f77_pic_flag
Returns the flag used by the F77 compiler to produce Position Independent Code (PIC).
- property fc_pic_flag
Returns the flag used by the FC compiler to produce Position Independent Code (PIC).
- property fflags
- link_paths = {'cc': 'xl/xlc', 'cxx': 'xl/xlc++', 'f77': 'xl/xlf', 'fc': 'xl/xlf90'}
- property openmp_flag
- property opt_flags
- property verbose_flag
This property should be overridden in the compiler subclass if a verbose flag is available.
If it is not overridden, it is assumed to not be supported.
- version_argument = '-qversion'
Compiler argument that produces version information
- version_regex = '([0-9]?[0-9]\\.[0-9])'
Regex used to extract version from compiler’s output
spack.compilers.xl_r module
- class spack.compilers.xl_r.XlR(cspec, operating_system, target, paths, modules: List[str] | None = None, alias=None, environment=None, extra_rpaths=None, enable_implicit_rpaths=None, **kwargs)[source]
Bases:
Xl
- link_paths = {'cc': 'xl_r/xlc_r', 'cxx': 'xl_r/xlc++_r', 'f77': 'xl_r/xlf_r', 'fc': 'xl_r/xlf90_r'}