valgrind: add develop; fix build on macOS with clang (#3066)
- add develop version to valgrind; fix build on macOS with clang - switch valgrind to AutotoolsPackage
This commit is contained in:
parent
b1eb921f28
commit
b07835904a
1 changed files with 23 additions and 9 deletions
|
@ -22,11 +22,11 @@
|
||||||
# License along with this program; if not, write to the Free Software
|
# License along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
from spack import *
|
from spack import *
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
class Valgrind(Package):
|
class Valgrind(AutotoolsPackage):
|
||||||
"""An instrumentation framework for building dynamic analysis.
|
"""An instrumentation framework for building dynamic analysis.
|
||||||
|
|
||||||
There are Valgrind tools that can automatically detect many memory
|
There are Valgrind tools that can automatically detect many memory
|
||||||
|
@ -44,17 +44,31 @@ class Valgrind(Package):
|
||||||
version('3.11.0', '4ea62074da73ae82e0162d6550d3f129')
|
version('3.11.0', '4ea62074da73ae82e0162d6550d3f129')
|
||||||
version('3.10.1', '60ddae962bc79e7c95cfc4667245707f')
|
version('3.10.1', '60ddae962bc79e7c95cfc4667245707f')
|
||||||
version('3.10.0', '7c311a72a20388aceced1aa5573ce970')
|
version('3.10.0', '7c311a72a20388aceced1aa5573ce970')
|
||||||
|
version('develop', svn='svn://svn.valgrind.org/valgrind/trunk')
|
||||||
|
|
||||||
variant('mpi', default=True, description='Activates MPI support for valgrind')
|
variant('mpi', default=True,
|
||||||
|
description='Activates MPI support for valgrind')
|
||||||
variant('boost', default=True,
|
variant('boost', default=True,
|
||||||
description='Activates boost support for valgrind')
|
description='Activates boost support for valgrind')
|
||||||
|
|
||||||
depends_on('mpi', when='+mpi')
|
depends_on('mpi', when='+mpi')
|
||||||
depends_on('boost', when='+boost')
|
depends_on('boost', when='+boost')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
depends_on("autoconf", type='build', when='@develop')
|
||||||
options = ['--prefix=%s' % prefix,
|
depends_on("automake", type='build', when='@develop')
|
||||||
'--enable-ubsan']
|
depends_on("libtool", type='build', when='@develop')
|
||||||
configure(*options)
|
|
||||||
make()
|
def configure_args(self):
|
||||||
make("install")
|
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'
|
||||||
|
options.append('--enable-ubsan')
|
||||||
|
|
||||||
|
if sys.platform == 'darwin':
|
||||||
|
options.extend([
|
||||||
|
'--build=amd64-darwin',
|
||||||
|
'--enable-only64bit'
|
||||||
|
])
|
||||||
|
return options
|
||||||
|
|
Loading…
Reference in a new issue