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.

static from_external_spec(spec: Spec) dict | None[source]
static from_packages_yaml(packages_yaml) List[dict][source]
static from_specs(specs: List[Spec]) List[dict][source]
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_compiler_module_names() List[str][source]
spack.compilers.all_compiler_names() List[str][source]
spack.compilers.all_compiler_specs(scope=None, init_config=True)[source]
spack.compilers.all_compiler_types()[source]
spack.compilers.all_compilers(scope=None, init_config=True)[source]
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.all_compilers_from(configuration, scope=None, init_config=True)[source]
spack.compilers.class_for_compiler_name(compiler_name)[source]

Given a compiler module name, get the corresponding Compiler class.

spack.compilers.compiler_config_files()[source]
spack.compilers.compiler_for_spec(cspec_like, *args, **kwargs)[source]
spack.compilers.compiler_from_dict(items)[source]
spack.compilers.compiler_specs_for_arch(arch_spec, scope=None)[source]
spack.compilers.compilers_for_arch(arch_spec, scope=None)[source]
spack.compilers.compilers_for_spec(cspec_like, *args, **kwargs)[source]
spack.compilers.find(cspec_like, *args, **kwargs)[source]
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 None

  • scope – 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.find_specs_by_arch(cspec_like, *args, **kwargs)[source]
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.get_compilers(config, cspec=None, arch_spec=None)[source]
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.remove_compiler_from_config(cspec_like, *args, **kwargs)[source]
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(cspec_like, *args, **kwargs)[source]
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 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).

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 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).

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).

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).

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).

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
classmethod fc_version(fc)[source]
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()
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
command_str()[source]
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
class spack.compilers.msvc.VarsInvocation(script)[source]

Bases: object

command_str()[source]
property script
spack.compilers.msvc.get_valid_fortran_pth()[source]

Assign maximum available fortran compiler version

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
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).

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).

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

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 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
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