Contribs: update libaom to 1.0.0
[vlc.git] / contrib / src / aom / rules.mak
blob91b875ab0b7ee84e8007ec73950376c72ae4b6a9
1 # aom
2 AOM_HASH := 3715bf25db5cdedbd8b49560903bad02d911c62f
3 AOM_VERSION := v1.0.0-$(AOM_HASH)
4 AOM_GITURL := https://aomedia.googlesource.com/aom/+archive/$(AOM_HASH).tar.gz
6 PKGS += aom
7 ifeq ($(call need_pkg,"aom"),)
8 PKGS_FOUND += aom
9 endif
11 $(TARBALLS)/aom-$(AOM_VERSION).tar.gz:
12 $(call download,$(AOM_GITURL))
14 .sum-aom: aom-$(AOM_VERSION).tar.gz
15 $(warning $@ not implemented)
16 touch $@
18 aom: aom-$(AOM_VERSION).tar.gz .sum-aom
19 rm -Rf $@-$(AOM_VERSION) $@
20 mkdir -p $@-$(AOM_VERSION)
21 tar xvzf "$<" -C $@-$(AOM_VERSION)
22 ifdef HAVE_WINSTORE
23 $(APPLY) $(SRC)/aom/aom-pthreads-win32.patch
24 endif
25 $(MOVE)
27 DEPS_aom =
28 ifdef HAVE_WIN32
29 DEPS_aom += pthreads $(DEPS_pthreads)
30 endif
32 AOM_LDFLAGS := $(LDFLAGS)
34 AOM_CONF := \
35 -DCONFIG_RUNTIME_CPU_DETECT=1 \
36 -DENABLE_DOCS=OFF \
37 -DENABLE_EXAMPLES=OFF \
38 -DENABLE_TOOLS=OFF \
39 -DCONFIG_UNIT_TESTS=0 \
40 -DENABLE_TESTS=OFF \
41 -DCONFIG_INSTALL_BINS=0 \
42 -DCONFIG_INSTALL_DOCS=0 \
43 -DCONFIG_DEPENDENCY_TRACKING=0
45 ifndef BUILD_ENCODERS
46 AOM_CONF += -DCONFIG_AV1_ENCODER=0
47 endif
49 ifndef HAVE_WIN32
50 AOM_CONF += -DCONFIG_PIC=1
51 endif
53 ifdef HAVE_WIN32
54 ifneq ($(filter arm aarch64, $(ARCH)),)
55 # These targets don't have runtime cpu detection.
56 AOM_CONF += -DCONFIG_RUNTIME_CPU_DETECT=0
57 endif
58 ifeq ($(ARCH),arm)
59 # armv7, not just plain arm
60 AOM_CONF += -DAOM_TARGET_CPU=armv7
61 AOM_CONF += -DAOM_ADS2GAS_REQUIRED=1 -DAOM_ADS2GAS=../build/make/ads2gas.pl -DAOM_ADS2GAS_OPTS="-thumb;-noelf" -DAOM_GAS_EXT=S
62 endif
63 endif
65 # libaom doesn't allow in-tree builds
66 .aom: aom toolchain.cmake
67 cd $< && mkdir -p aom_build
68 cd $</aom_build && LDFLAGS="$(AOM_LDFLAGS)" $(HOSTVARS) $(CMAKE) ../ $(AOM_CONF)
69 cd $< && $(MAKE) -C aom_build
70 cd $</aom_build && ../../../../contrib/src/pkg-static.sh aom.pc
71 cd $</aom_build && $(MAKE) install
72 touch $@