Contribs: D3D11, use a defined HASH
[vlc.git] / contrib / src / vpx / rules.mak
blob4b94389e8dbf3048945ace8762b6be5b13702b78
1 # libvpx
3 VPX_VERSION := 1.4.0
4 VPX_URL := http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-$(VPX_VERSION).tar.bz2
6 $(TARBALLS)/libvpx-$(VPX_VERSION).tar.bz2:
7 $(call download,$(VPX_URL))
9 .sum-vpx: libvpx-$(VPX_VERSION).tar.bz2
11 libvpx: libvpx-$(VPX_VERSION).tar.bz2 .sum-vpx
12 $(UNPACK)
13 $(APPLY) $(SRC)/vpx/libvpx-sysroot.patch
14 $(APPLY) $(SRC)/vpx/libvpx-no-cross.patch
15 $(APPLY) $(SRC)/vpx/libvpx-mac.patch
16 $(APPLY) $(SRC)/vpx/libvpx-ios.patch
17 $(MOVE)
19 DEPS_vpx =
21 ifdef HAVE_CROSS_COMPILE
22 VPX_CROSS := $(HOST)-
23 else
24 VPX_CROSS :=
25 endif
27 VPX_LDFLAGS := $(LDFLAGS)
29 ifeq ($(ARCH),arm)
30 VPX_ARCH := armv7
31 else ifeq ($(ARCH),i386)
32 VPX_ARCH := x86
33 else ifeq ($(ARCH),mips)
34 VPX_ARCH := mips32
35 else ifeq ($(ARCH),ppc)
36 VPX_ARCH := ppc32
37 else ifeq ($(ARCH),ppc64)
38 VPX_ARCH := ppc64
39 else ifeq ($(ARCH),sparc)
40 VPX_ARCH := sparc
41 else ifeq ($(ARCH),x86_64)
42 VPX_ARCH := x86_64
43 endif
45 ifdef HAVE_ANDROID
46 VPX_OS := android
47 else ifdef HAVE_LINUX
48 VPX_OS := linux
49 else ifdef HAVE_MACOSX
50 ifeq ($(OSX_VERSION),10.5)
51 VPX_OS := darwin9
52 else
53 VPX_OS := darwin10
54 endif
55 else ifdef HAVE_IOS
56 VPX_OS := darwin11
57 else ifdef HAVE_SOLARIS
58 VPX_OS := solaris
59 else ifdef HAVE_WIN64 # must be before WIN32
60 VPX_OS := win64
61 else ifdef HAVE_WIN32
62 VPX_OS := win32
63 else ifdef HAVE_BSD
64 VPX_OS := linux
65 endif
67 VPX_TARGET := generic-gnu
68 ifdef VPX_ARCH
69 ifdef VPX_OS
70 VPX_TARGET := $(VPX_ARCH)-$(VPX_OS)-gcc
71 endif
72 endif
74 VPX_CONF := \
75 --enable-runtime-cpu-detect \
76 --disable-docs \
77 --disable-examples \
78 --disable-unit-tests \
79 --disable-install-bins \
80 --disable-install-docs
82 ifndef BUILD_ENCODERS
83 VPX_CONF += --disable-vp8-encoder --disable-vp9-encoder
84 endif
86 ifndef HAVE_WIN32
87 VPX_CONF += --enable-pic
88 endif
89 ifdef HAVE_MACOSX
90 VPX_CONF += --sdk-path=$(MACOSX_SDK)
91 endif
92 ifdef HAVE_IOS
93 VPX_CONF += --sdk-path=$(IOS_SDK) --enable-vp8-decoder --disable-vp8-encoder --disable-vp9-encoder
94 ifdef HAVE_TVOS
95 VPX_LDFLAGS := -L$(IOS_SDK)/usr/lib -isysroot $(IOS_SDK) -mtvos-version-min=9.0
96 else
97 VPX_LDFLAGS := -L$(IOS_SDK)/usr/lib -isysroot $(IOS_SDK) -miphoneos-version-min=6.1
98 endif
99 ifeq ($(ARCH),aarch64)
100 VPX_LDFLAGS += -arch arm64
101 else
102 VPX_LDFLAGS += -arch $(ARCH)
103 endif
104 endif
105 ifdef HAVE_ANDROID
106 # vpx configure.sh overrides our sysroot and it looks for it itself, and
107 # uses that path to look for the compiler (which we already know)
108 VPX_CONF += --sdk-path=$(shell dirname $(shell which $(HOST)-gcc))
109 # needed for cpu-features.h
110 VPX_CONF += --extra-cflags="-I $(ANDROID_NDK)/sources/cpufeatures/"
111 endif
113 .vpx: libvpx
114 cd $< && LDFLAGS="$(VPX_LDFLAGS)" CROSS=$(VPX_CROSS) ./configure --target=$(VPX_TARGET) \
115 $(VPX_CONF) --prefix=$(PREFIX)
116 cd $< && $(MAKE)
117 cd $< && ../../../contrib/src/pkg-static.sh vpx.pc
118 cd $< && $(MAKE) install
119 touch $@