Support optional vars script arguments (#40064)

This commit is contained in:
Brian Vanderwende 2023-09-28 04:52:22 -06:00 committed by GitHub
parent bf8e8d9f5f
commit fba47e87d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -61,6 +61,11 @@ def component_prefix(self):
"""Path to component <prefix>/<component>/<version>."""
return self.prefix.join(join_path(self.component_dir, self.spec.version))
@property
def env_script_args(self):
"""Additional arguments to pass to vars.sh script."""
return ()
def install(self, spec, prefix):
self.install_component(basename(self.url_for_version(spec.version)))
@ -124,7 +129,7 @@ def setup_run_environment(self, env):
if "~envmods" not in self.spec:
env.extend(
EnvironmentModifications.from_sourcing_file(
join_path(self.component_prefix, "env", "vars.sh")
join_path(self.component_prefix, "env", "vars.sh"), *self.env_script_args
)
)

View File

@ -111,6 +111,13 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage):
def component_dir(self):
return "mpi"
@property
def env_script_args(self):
if "+external-libfabric" in self.spec:
return ("-i_mpi_ofi_internal=0",)
else:
return ()
def setup_dependent_package(self, module, dep_spec):
if "+generic-names" in self.spec:
self.spec.mpicc = join_path(self.component_prefix.bin, "mpicc")