# IT4Innovations 2023
# JK

name = 'Score-P'
version = '8.0'

homepage = 'https://www.score-p.org'
description = """
 The Score-P measurement infrastructure is a highly scalable and easy-to-use
 tool suite for profiling, event tracing, and online analysis of HPC
 applications.
"""

toolchain = {'name': 'iimpi', 'version': '2021b'}

source_urls = ['https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-%(version)s']
sources = ['scorep-%(version)s.tar.gz']
checksums = ['4c0f34f20999f92ebe6ca1ff706d0846b8ce6cd537ffbedb49dfaef0faa66311']

dependencies = [
    ('CubeLib', '4.8'),
    ('CubeWriter', '4.8'),
    ('libunwind', '1.5.0'),
    ('OPARI2', '2.0.7'),
    ('OTF2', '3.0.2'),
    # Hardware counter support (optional):
    ('PAPI', '6.0.0.1'),
    # PDT source-to-source instrumentation support (optional):
    ('PDT', '3.25.1'),
]

configopts = '--enable-shared'

local_adapters = [
    'compiler_event', 'compiler_mgmt', 'mpi_event', 'mpi_mgmt', 'opari2_mgmt', 'user_event', 'user_mgmt'
]
sanity_check_paths = {
    'files':
        ['bin/scorep', 'include/scorep/SCOREP_User.h'] +
        ['lib/libscorep_adapter_%s.%s' % (a, e) for a in local_adapters for e in ('a', SHLIB_EXT)],
    'dirs': [],
}
sanity_check_commands = ['scorep-config --help']

# Ensure that local metric documentation is found by CubeGUI
modextrapaths = {'CUBE_DOCPATH': 'share/doc/scorep/profile'}

moduleclass = 'perf'