summaryrefslogtreecommitdiff
path: root/lib/spack/docs/tutorial/examples/4.package.py
blob: 3294b86e2598b72c51520811a7d114f403e85b2c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# flake8: noqa

from spack import *

class Mpileaks(AutotoolsPackage):
    """Tool to detect and report MPI objects like MPI_Requests and MPI_Datatypes"""

    homepage = "https://github.com/hpc/mpileaks"
    url      = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"

    version('1.0', '8838c574b39202a57d7c2d68692718aa')

    variant('stackstart', default=0, description='Specify the number of stack frames to truncate.')

    depends_on('mpi')
    depends_on('adept-utils')
    depends_on('callpath')

    def configure_args(self):
       args = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
               '--with-callpath=%s' % self.spec['callpath'].prefix]
       stackstart = int(self.spec.variants['stackstart'].value)
       if stackstart:
           args.extend(['--with-stack-start-c=%s' % stackstart,
                        '--with-stack-start-fortran=%s' % stackstart])
       return args