summaryrefslogtreecommitdiff
path: root/multimedia/libvpx/Makefile
blob: 9541223e0b3727e77d650dec01468a1ac2c50a98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# $NetBSD: Makefile,v 1.64 2016/02/25 15:49:44 jperkin Exp $

DISTNAME=	libvpx-1.5.0
PKGREVISION=	1
CATEGORIES=	multimedia
MASTER_SITES=	${MASTER_SITE_GITHUB:=webmproject/}
GITHUB_PROJECT=	libvpx
GITHUB_TAG=	v${PKGVERSION_NOREV}

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://chromium.googlesource.com/webm/libvpx
COMMENT=	On2 VP8 library from Google
LICENSE=	modified-bsd

USE_LANGUAGES=		c c++
USE_LIBTOOL=		yes
USE_TOOLS+=		gmake bash:build perl:build
HAS_CONFIGURE=		yes
CONFIG_SHELL=		${BASH}
CONFIGURE_ARGS+=	--disable-postproc
CONFIGURE_ARGS+=	--enable-pic
CONFIGURE_ARGS+=	--enable-runtime-cpu-detect
CONFIGURE_ARGS+=	--prefix=${PREFIX}
CONFIGURE_ARGS+=	--disable-unit-tests

.include "../../mk/bsd.prefs.mk"

.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
.  if ${PKGSRC_COMPILER} == "gcc" && (${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS")
# PR pkg/48508: GCC 4.4 or later is required to compile ssse3 code on NetBSD & Solaris.
GCC_REQD+=	4.4
.  endif

BUILD_DEPENDS+=		yasm-[0-9]*:../../devel/yasm
.endif

REPLACE_BASH=		configure \
			build/make/configure.sh \
			build/make/version.sh \
			build/make/gen_asm_deps.sh \
			build/make/rtcd.sh \
			examples/gen_example_text.sh \
			examples/gen_example_code.sh

REPLACE_PERL=		build/make/ads2gas.pl

.if ${OPSYS} == "Darwin"
BUILDLINK_TRANSFORM+=	rm:-Wl,-Bsymbolic
.  if ${MACHINE_ARCH} == "i386"
.    if !empty(OS_VERSION:M1[3-9].*)
CONFIGURE_ARGS+=	--target=x86-darwin13-gcc
.    elif !empty(OS_VERSION:M12.*)
CONFIGURE_ARGS+=	--target=x86-darwin12-gcc
.    elif !empty(OS_VERSION:M11.*)
CONFIGURE_ARGS+=	--target=x86-darwin11-gcc
.    elif !empty(OS_VERSION:M10.*)
CONFIGURE_ARGS+=	--target=x86-darwin10-gcc
.    elif !empty(OS_VERSION:M9.*)
CONFIGURE_ARGS+=	--target=x86-darwin9-gcc
.    else
CONFIGURE_ARGS+=	--target=x86-darwin8-gcc
.    endif
.  elif ${MACHINE_ARCH} == "x86_64"
.    if !empty(OS_VERSION:M1[3-9].*)
CONFIGURE_ARGS+=	--target=x86_64-darwin13-gcc
.    elif !empty(OS_VERSION:M12.*)
CONFIGURE_ARGS+=	--target=x86_64-darwin12-gcc
.    elif !empty(OS_VERSION:M11.*)
CONFIGURE_ARGS+=	--target=x86_64-darwin11-gcc
.    elif !empty(OS_VERSION:M10.*)
CONFIGURE_ARGS+=	--target=x86_64-darwin10-gcc
.    else
CONFIGURE_ARGS+=	--target=x86_64-darwin9-gcc
.    endif
.  elif ${MACHINE_ARCH} == "powerpc"
.    if !empty(OS_VERSION:M9.*)
CONFIGURE_ARGS+=	--target=ppc32-darwin9-gcc
.    else
CONFIGURE_ARGS+=	--target=ppc32-darwin8-gcc
.    endif
.  endif
.elif ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc*)
.  if ${MACHINE_ARCH} == "x86_64"
CONFIGURE_ARGS+=	--target=x86_64-solaris-gcc
.  elif ${MACHINE_ARCH} == "i386"
CONFIGURE_ARGS+=	--target=x86-solaris-gcc
.  endif
.endif

.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Mclang)
CXXFLAGS+=	-std=c++11
.  if ${OPSYS} == "NetBSD" || ${OPSYS} == "Darwin"
# https://bugzilla.mozilla.org/show_bug.cgi?id=982693
SUBST_CLASSES+=		clang
SUBST_STAGE.clang=	pre-configure
SUBST_FILES.clang=	build/make/Makefile
SUBST_MESSAGE.clang=	Disabling clang integrated assembler
# Test for whether clang supports -fno-integrated-as instead of -no-integrated-as
CLANG_INTEGRATED_AS!=  if ${CCPATH} --version -fno-integrated-as > /dev/null 2>&1; then ${ECHO} "-fno-integrated-as"; else ${ECHO} "-no-integrated-as"; fi
SUBST_SED.clang=	-e 's/-DINLINE_ASM/-DINLINE_ASM ${CLANG_INTEGRATED_AS}/'
.  endif
.endif

.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "mipsel"
CONFIGURE_ARGS+=	--target=mips32-linux-gcc
.endif

.if !empty(MACHINE_PLATFORM:MNetBSD-*-*arm*)
CONFIGURE_ARGS+=	--disable-runtime-cpu-detect
.endif

BUILDLINK_TRANSFORM.MirBSD+=	rm:-lrt
# Compiler is too old for these newfangled features
CONFIGURE_ENV.MirBSD+=		sse2=no sse3=no ssse3=no sse4_1=no
# runtime_cpu_detect=no
CONFIGURE_ENV.MirBSD+=		RTCD_OPTIONS='--disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4_1'
CONFIGURE_ARGS.MirBSD+=		--disable-runtime-cpu-detect

# Under Solaris 10 its /usr/xpg4/bin/tr is not sufficient. PR pkg/48508
.if !empty(MACHINE_PLATFORM:MSunOS-5.10*)
BUILD_DEPENDS=		coreutils-[0-9]*:../../sysutils/coreutils
TOOLS_PLATFORM.tr=	${LOCALBASE}/bin/gtr
.endif

BUILD_TARGET=	# none

post-extract:
	${CP} ${FILESDIR}/strip_fPIC.sh ${WRKSRC}

PKGCONFIG_OVERRIDE+=		vpx.pc
PKGCONFIG_OVERRIDE_STAGE=	post-build

# PR pkg/48508: newer gas from binutils is required to compile ssse3 code.
.if !empty(MACHINE_PLATFORM:MNetBSD-5.*) || \
	!empty(MACHINE_PLATFORM:MSunOS-5.10*) || \
	!empty(MACHINE_PLATFORM:MOpenBSD-5*)
.include "../../devel/binutils/buildlink3.mk"
.include "../../devel/binutils/override-as.mk"
.endif
.include "../../mk/pthread.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"