# -*- 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           select 1.0

name                clang_select
version             2.5
revision            0
categories          sysutils
supported_archs     noarch
platforms           any
license             BSD
maintainers         {jeremyhu @jeremyhu}
description         common files for selecting default clang version
long_description    clang_select installs files that allow 'port select' to \
                    switch the default version of clang. \
                    It symlinks the standard compiler executables \
                    in the MacPorts prefix to the selected version.
homepage		    https://www.macports.org/

distfiles
use_configure       no
build               {}
destroot            {}

if {$subport eq $name} {
    select.entries      {clang base} \
                        {clang none}
}

foreach v {21} {
    subport clang_select-${v} {
        set clangver $v
    }
}
if {$subport ne $name} {
    depends_run port:clang_select
    select.entries  [list clang mp-clang-${clangver}]
    pre-activate {
        if {[file exists ${prefix}/etc/select/clang/mp-clang-${clangver}]} {
            set owner [registry_file_registered ${prefix}/etc/select/clang/mp-clang-${clangver}]
            if {[string match clang-${clangver}* $owner]} {
                registry_deactivate_composite $owner "" [list ports_nodepcheck 1]
            }
        }
    }
}

livecheck.type    none

if {${os.platform} eq "darwin" && ${os.major} < 11} {
    # Having the stdlib set to libc++ on 10.6 causes a dependency on a
    # macports-clang compiler to be added, which would be a dep cycle.
    configure.cxx_stdlib
}
