# -*- 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
# $Id: Portfile 117553 2014-03-03 16:52:46Z devans@macports.org $

PortSystem          1.0
PortGroup           muniversal 1.0

name                libvpx
version             1.3.0
revision            1
categories          multimedia
maintainers         devans openmaintainer
platforms           darwin
license             Permissive

description         WebM VP8/VP9 Codec SDK
long_description    The WebM VP8/VP9 codecs are being developed \
                    specifically to meet the demand for the consumption \
                    of video over the Internet, including professionally \
                    and amateur produced video-on-demand and conversational \
                    video content. VP9 is an evolution of the VP8 video \
                    codec and includes a number of enhancements and new \
                    coding tools that have been added to improve coding efficiency. \
                    The VP9 encoder in this release is not, as yet, feature complete.

homepage            http://webmproject.org
master_sites        googlecode:webm
use_bzip2           yes
distname            ${name}-v${version}

checksums           rmd160  bf74821ac8f20ed30f44b6e01473ee1f332f721c \
                    sha256  d3dcc8d84af51c6c382b214397c62402e37a799e8ebcda6f4217aef0010451a9

depends_build       port:yasm

patchfiles          patch-build-make-configure.sh.diff \
                    patch-configure.diff

# As of 1.3.0: doesn't handle shared libraries or debug properly on darwin;
# doesn't install docs or examples correctly, so disable them.
configure.args      --enable-vp8 \
                    --enable-vp9 \
                    --enable-internal-stats \
                    --enable-pic \
                    --enable-postproc \
                    --enable-multithread \
                    --enable-runtime-cpu-detect \
                    --disable-install-docs \
                    --disable-debug-libs \
                    --disable-examples

configure.env       LD="${configure.cc}"

# add in when docs are installed correctly
#variant docs description {Build documentation} {
#    depends_build-append path:bin/php:php5 port:doxygen
#    configure.args-delete --disable-install-docs
#    configure.args-append --enable-install-docs
#}

platform darwin 8 {
    # Tiger's make 3.80 experiences "virtual memory exhausted" during destroot
    depends_build-append    port:gmake
    build.cmd               ${prefix}/bin/gmake
}

build.target
build.args          verbose=1

destroot.args       verbose=1

platform darwin {
    if {${os.major} >= 10} {
        supported_archs i386 x86_64
    }
}

# set configure parameters depending on if universal or not
set my_targets(ppc)     ppc32
set my_targets(ppc64)   ppc64
set my_targets(i386)    x86
set my_targets(x86_64)  x86_64
if {[variant_isset universal]} {
    # clear universal flags; configure will determine them.
    configure.universal_cppflags
    configure.universal_cflags
    configure.universal_cxxflags
    configure.universal_ldflags
    configure.universal_args-delete --disable-dependency-tracking
    foreach my_arch ${configure.universal_archs} {
        set merger_host(${my_arch}) ""
        if {[info exists my_targets(${my_arch})]} {
            set merger_configure_args(${my_arch}) --target=$my_targets(${my_arch})-${os.platform}-gcc
        }
    }
} else {
    # specify only the single target, otherwise 'configure' will try
    # for a universal install.
    if {[info exists my_targets(${build_arch})]} {
        configure.args-append --target=$my_targets(${build_arch})-${os.platform}-gcc
    } else {
        configure.args-append --target=${os.arch}-${os.platform}-gcc
    }
}
