# $Id: Portfile 101870 2013-01-20 20:38:33Z jeremyhu@macports.org $

PortSystem              1.0
PortGroup select        1.0

name                    libcxx
categories              lang
platforms               darwin
license                 MIT NCSA
maintainers             jeremyhu openmaintainer
description             libc++ is a new implementation of the C++ standard library, targeting C++11
long_description        ${description}

homepage                http://libcxx.llvm.org/

fetch.type              svn
svn.revision            164017
version                 ${svn.revision}
worksrcdir              trunk
svn.url                 http://llvm.org/svn/llvm-project/libcxx/trunk

variant universal {}
use_configure no

if {${os.major} >= 11} {
    fetch {}
    build {}
    destroot {
        xinstall -d ${destroot}${prefix}/share/doc/${name}
        system "echo ${name} is an empty port on this OS version because the functionality is already provided by the OS. > ${destroot}${prefix}/share/doc/${name}/README.txt"
    }
} elseif {${os.major} < 10} {
    pre-fetch {
        ui_error "${name} is not supported on Leopard or earlier."
        error "unsupported platform"
    }
} else {
    depends_lib port:libcxxabi

    depends_build port:clang-3.1
    depends_skip_archcheck-append clang-3.1

    configure.compiler macports-clang-3.1

    supported_archs i386 x86_64

    build.dir ${worksrcpath}/lib
    build.cmd ./buildit
    build.env-append \
        CC="${configure.cc}" \
        CXX="${configure.cxx}" \
        RC_XBS=1 \
        RC_CFLAGS="[get_canonical_archflags]" \
        TRIPLE="-apple-darwin${os.major}"

    # We want to use the host's libc++ everywhere because we want to ensure
    # that only *ONE* copy of this library is in any process's address space.
    # On newer OS versions (Lion+), this port does not install anything.  On
    # Snow Leopard, this port provide this library in /usr for binary
    # compatibility with Lion and later.

    destroot.violate_mtree yes
    destroot {
        xinstall -m 755 -d ${destroot}/usr/lib
        xinstall -m 755 ${worksrcpath}/lib/libc++.1.dylib ${destroot}/usr/lib
        ln -s libc++.1.dylib ${destroot}/usr/lib/libc++.dylib
    }
}

livecheck.type none
