diff options
-rw-r--r-- | var/spack/repos/builtin/packages/valgrind/package.py | 21 |
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 |