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

PortSystem              1.0
PortGroup select        1.0

name                    libcxxabi
categories              lang
platforms               darwin
license                 MIT NCSA
maintainers             jeremyhu openmaintainer
description             libc++abi is a new implementation of low level support for a standard C++ library.
long_description        ${description} \
                        It installs to /usr/lib for older systems that don't have this support natively.

homepage                http://libcxxabi.llvm.org/

fetch.type              svn
svn.revision            164017
version                 ${svn.revision}
worksrcdir              trunk
svn.url                 http://llvm.org/svn/llvm-project/libcxxabi/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_build port:clang-3.1 port:libunwind-headers
    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} ${configure.cppflags}" \
        CXX="${configure.cxx} ${configure.cppflags}" \
        RC_XBS=1 \
        RC_CFLAGS="[get_canonical_archflags]" \
        TRIPLE="-apple-darwin${os.major}"

    # We want to use the host's libc++abi 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++abi.dylib ${destroot}/usr/lib

        xinstall -m 755 -d ${destroot}/usr/include
        xinstall -m 644 ${worksrcpath}/include/cxa_demangle.h ${destroot}/usr/include
        xinstall -m 644 ${worksrcpath}/include/cxxabi.h ${destroot}/usr/include
    }
}

livecheck.type none
