# -*- 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                llvm_select
version             2
revision            1
categories          sysutils
supported_archs     noarch
platforms           any
license             BSD
maintainers         {jeremyhu @jeremyhu}
description         common files for selecting default llvm version
long_description    llvm_select installs files that allow 'port select' to \
                    switch the default version of llvm. \
                    It symlinks the standard llvm 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      {llvm base} \
                        {llvm none}
}

foreach v {21} {
    subport llvm_select-${v} {
        set llvmver $v
    }
}
if {$subport ne $name} {
    revision    0
    depends_run port:llvm_select
    select.entries  [list llvm_select mp-llvm-${llvmver}]
    pre-activate {
        if {[file exists ${prefix}/etc/select/llvm/mp-llvm-${llvmver}]} {
            set owner [registry_file_registered ${prefix}/etc/select/llvm/mp-llvm-${llvmver}]
            if {[string match llvm-${llvmver}* $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
}
