# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           cmake 1.1
PortGroup           compiler_blacklist_versions 1.0
PortGroup           github 1.0

github.setup        accellera-official systemc 3.0.1
revision            0
categories          devel
description         SystemC Reference Implementation
long_description    SystemC addresses the need for a system design and verification language \
                    that spans hardware and software. It is a language built as an ANSI C++ class library \
                    created for design and verification. Users worldwide are applying SystemC \
                    to system-level modeling, abstract analog/mixed-signal modeling, architectural exploration, \
                    performance modeling, software development, functional verification and high-level synthesis.
license             Apache-2
maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
homepage            https://systemc.org/overview/systemc
checksums           rmd160  fce2c8141e7068cb4759ae79aaf8024d67275cf2 \
                    sha256  d07765d0d2ffd6c01767880d0c6aaf53cd9487975f898c593ffffd713258fcbb \
                    size    4637759
github.tarball_from archive

# https://github.com/accellera-official/systemc/pull/53
patchfiles-append   0001-Fix-macOS-PowerPC.patch

# error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
compiler.blacklist-append \
                    {*gcc-[34].*} {clang < 400}

configure.args-append \
                    -DBUILD_SHARED_LIBS=ON \
                    -DBUILD_SOURCE_DOCUMENTATION=OFF \
                    -DENABLE_ASSERTIONS=OFF \
                    -DENABLE_LEGACY_MEM_MGMT=OFF \
                    -DENABLE_PTHREADS=OFF

# Support for QuickThreads has been dropped for PowerPC:
# https://github.com/accellera-official/systemc/pull/51#issuecomment-1852359457
# However it did not correctly earlier anyway: https://github.com/accellera-official/systemc/issues/54
# We probably need this on old Intel too.
if {${os.platform} eq "darwin" && ${os.major} < 11} {
    configure.args-replace \
                    -DENABLE_PTHREADS=OFF -DENABLE_PTHREADS=ON
}

test.run            yes
test.target         check