summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/valgrind/package.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/valgrind/package.py b/var/spack/repos/builtin/packages/valgrind/package.py
index 095dd98232..a6009a1cff 100644
--- a/var/spack/repos/builtin/packages/valgrind/package.py
+++ b/var/spack/repos/builtin/packages/valgrind/package.py
@@ -51,7 +51,17 @@ class Valgrind(AutotoolsPackage):
description='Activates MPI support for valgrind')
variant('boost', default=True,
description='Activates boost support for valgrind')
+ variant('only64bit', default=True,
+ description='Sets --enable-only64bit option for valgrind')
+ variant('ubsan', default=True,
+ description='Activates ubsan support for valgrind')
+ conflicts('+ubsan', when='platform=darwin %clang',
+ msg="""
+Cannot build libubsan with clang on macOS.
+Otherwise with (Apple's) clang there is a linker error:
+clang: error: unknown argument: '-static-libubsan'
+""")
depends_on('mpi', when='+mpi')
depends_on('boost', when='+boost')
@@ -66,14 +76,11 @@ class Valgrind(AutotoolsPackage):
def configure_args(self):
spec = self.spec
options = []
- if not (spec.satisfies('%clang') and sys.platform == 'darwin'):
- # Otherwise with (Apple's) clang there is a linker error:
- # clang: error: unknown argument: '-static-libubsan'
+ if spec.satisfies('+ubsan'):
options.append('--enable-ubsan')
+ if spec.satisfies('+only64bit'):
+ options.append('--enable-only64bit')
if sys.platform == 'darwin':
- options.extend([
- '--build=amd64-darwin',
- '--enable-only64bit'
- ])
+ options.append('--build=amd64-darwin')
return options