# IT4Innovations 2025
# PH
##
# Copyright:: Copyright 2013-2020 Juelich Supercomputing Centre, Germany
# Copyright 2020 TU Dresden, Germany
# Authors::
# * Bernd Mohr <b.mohr@fz-juelich.de>
# * Markus Geimer <m.geimer@fz-juelich.de>
# * Alexander Grund <alexander.grund@tu-dresden.de>
# * Robert Mijakovic <robert.mijakovic@lxp.lu>
# License::   3-clause BSD
#
# This work is based on experiences from the UNITE project
# http://apps.fz-juelich.de/unite/
##

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': '2022a'}

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.6.2'),
    ('OPARI2', '2.0.7'),
    ('OTF2', '3.0.2'),
    # Hardware counter support (optional):
    ('PAPI', '7.0.0'),
    # 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'
