summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/build_systems/oneapi.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/spack/spack/build_systems/oneapi.py b/lib/spack/spack/build_systems/oneapi.py
index 9f009918fd..b7456a5775 100644
--- a/lib/spack/spack/build_systems/oneapi.py
+++ b/lib/spack/spack/build_systems/oneapi.py
@@ -10,7 +10,7 @@ from os.path import basename, dirname, isdir
from llnl.util.filesystem import find_headers, find_libraries, join_path
-from spack.directives import conflicts
+from spack.directives import conflicts, variant
from spack.util.environment import EnvironmentModifications
from spack.util.executable import Executable
@@ -36,6 +36,13 @@ class IntelOneApiPackage(Package):
]:
conflicts(c, msg="This package in only available for x86_64 and Linux")
+ # Add variant to toggle environment modifications from vars.sh
+ variant(
+ "envmods",
+ default=True,
+ description="Toggles environment modifications",
+ )
+
@staticmethod
def update_description(cls):
"""Updates oneapi package descriptions with common text."""
@@ -114,11 +121,13 @@ class IntelOneApiPackage(Package):
$ source {prefix}/{component}/{version}/env/vars.sh
"""
- env.extend(
- EnvironmentModifications.from_sourcing_file(
- join_path(self.component_prefix, "env", "vars.sh")
+ # Only if environment modifications are desired (default is +envmods)
+ if "+envmods" in self.spec:
+ env.extend(
+ EnvironmentModifications.from_sourcing_file(
+ join_path(self.component_prefix, "env", "vars.sh")
+ )
)
- )
class IntelOneApiLibraryPackage(IntelOneApiPackage):