# $MidnightBSD: trunk/multimedia/libvpx/Makefile 23382 2018-05-06 14:02:11Z laffer1 $

PORTNAME=	libvpx
DISTVERSIONPREFIX=	v
DISTVERSION=	1.7.0
PORTREVISION=	1
CATEGORIES=	multimedia

MAINTAINER=	ports@MidnightBSD.org
COMMENT=	VP8/VP9 Codec SDK

LICENSE=	bsd3
LICENSE_FILE=	${WRKSRC}/LICENSE

BUILD_DEPENDS=	nasm:devel/nasm

USE_GITHUB=	yes
GH_ACCOUNT=	webmproject

USE_GCC=	4.8
USES=		cpe gmake perl5 shebangfix
CPE_VENDOR=	john_koleszar
HAS_CONFIGURE=	yes
USE_PERL5=	build
USE_LDCONFIG=	yes
SHEBANG_FILES=	build/make/ads2gas.pl
CONFIGURE_ENV=	ASFLAGS="${ASFLAGS}"
# Only explicitly list ARCHs with SIMD optimizations
CONFIGURE_ARGS_aarch64=	--target=arm64-linux-gcc
CONFIGURE_ARGS_amd64=	--target=x86_64-linux-gcc
CONFIGURE_ARGS_armv7=	--target=armv7-linux-gcc
CONFIGURE_ARGS_i386=	--target=x86-linux-gcc
CONFIGURE_ARGS+=${CONFIGURE_ARGS_${ARCH}} \
		--prefix=${PREFIX} \
		--disable-install-docs \
		--disable-install-srcs \
		--enable-pic \
		--enable-vp8 \
		--enable-vp9
MAKE_ARGS+=	verbose=yes
ASFLAGS+=	${ASFLAGS_${ARCH}}
ASFLAGS_armv7=	-meabi=5
ALL_TARGET=	# empty

# armv7 is actually armv6 target before FreeBSD 12.0
.if ${CFLAGS:M-march=armv7*}
CONFIGURE_ARGS+=	${CONFIGURE_ARGS_armv7}
ASFLAGS+=		${ASFLAGS_armv7}
.endif

OPTIONS_DEFINE=	DEBUG MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT TEST THREADS
OPTIONS_DEFAULT=MULTIRES POSTPROC RTCPU SHARED SIZE_LIMIT THREADS
OPTIONS_EXCLUDE_aarch64=RTCPU
OPTIONS_SUB=		yes

DEBUG_CONFIGURE_ON=	--enable-debug

MULTIRES_DESC=		Enable multi-resolution encoding
MULTIRES_CONFIGURE_ON=	--enable-multi-res-encoding

POSTPROC_DESC=		Enable postprocessing
POSTPROC_CONFIGURE_ON=	--enable-postproc --enable-vp9-postproc	\
			--enable-vp9-temporal-denoising

RTCPU_DESC=		Detect CPU capabilities at runtime
RTCPU_CONFIGURE_ON=	--enable-runtime-cpu-detect

SHARED_DESC=		Enable shared-library support
SHARED_CONFIGURE_ON=	--enable-shared

SIZE_LIMIT_DESC=	Maximum size allowed by decoder: ${SIZE_LIMIT}
SIZE_LIMIT_CONFIGURE_ON=--size-limit=${SIZE_LIMIT}
SIZE_LIMIT?=		16384x16384 # Chromium; Firefox has 4000x3000

TEST_CONFIGURE_OFF=	--disable-unit-tests

THREADS_CONFIGURE_OFF=	--disable-multithread

post-patch:
	@${REINPLACE_CMD} 's|\(link_with_cc\)=gcc|\1=$${CC}|' \
		${WRKSRC}/build/make/configure.sh
	@${REINPLACE_CMD} 's|sparc-solaris-gcc|sparc-linux-gcc|' \
		${WRKSRC}/configure

post-install:
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/vpx*
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libvpx.so.*.*.*

.include <bsd.port.mk>
