[vlc-commits] contrib: update libvpx to 1.8.2
Tristan Matthews
git at videolan.org
Wed Jan 22 15:02:40 CET 2020
vlc | branch: master | Tristan Matthews <tmatth at videolan.org> | Tue Jan 21 18:06:20 2020 -0500| [b932973a906848c4b4eeb4f4a52ef50ed0b5d06d] | committer: Thomas Guillem
contrib: update libvpx to 1.8.2
Co-authored-by: Felix Paul Kühne <fkuehne at videolan.org>
Co-authored-by: Thomas Guillem <thomas at gllm.fr>
Signed-off-by: Thomas Guillem <thomas at gllm.fr>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b932973a906848c4b4eeb4f4a52ef50ed0b5d06d
---
contrib/src/vpx/SHA512SUMS | 2 +-
.../src/vpx/libvpx-android-toolchain_path.patch | 19 -----
contrib/src/vpx/libvpx-android.patch | 95 +++-------------------
contrib/src/vpx/libvpx-ios.patch | 46 ++++-------
contrib/src/vpx/rules.mak | 15 ++--
5 files changed, 35 insertions(+), 142 deletions(-)
diff --git a/contrib/src/vpx/SHA512SUMS b/contrib/src/vpx/SHA512SUMS
index 4837909c27..d9ee76c002 100644
--- a/contrib/src/vpx/SHA512SUMS
+++ b/contrib/src/vpx/SHA512SUMS
@@ -1 +1 @@
-77477ec7059de1d90f048c10783b4adce463a84c9c828f125686e533f5bc8c9eeab8a1747df5c928e0869ccf855a9af5608199c8c376a75d35659f719ee870ef libvpx-1.8.0.tar.gz
+da2ab0775a28ddd78654bbe46886e833d4ef7ba91867fc1427dceced735b6177eff06b24f204c075c50c3a5cadc5be6a1fb213c44df189218a543b52554f3a38 libvpx-1.8.2.tar.gz
diff --git a/contrib/src/vpx/libvpx-android-toolchain_path.patch b/contrib/src/vpx/libvpx-android-toolchain_path.patch
deleted file mode 100644
index 66c5b0f149..0000000000
--- a/contrib/src/vpx/libvpx-android-toolchain_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- libvpx-1.8.0/build/make/configure.sh.orig 2019-05-09 08:39:28.062680326 -0400
-+++ libvpx-1.8.0/build/make/configure.sh 2019-05-09 08:40:19.974415124 -0400
-@@ -1031,9 +1031,14 @@
- android*)
- if [ -n "${sdk_path}" ]; then
- SDK_PATH=${sdk_path}
-+ if [ ${tgt_isa} != "arm64" ]; then
-+ tools_prefix=arm-linux-androideabi-
-+ else
-+ tools_prefix=aarch64-linux-android-
-+ fi
- COMPILER_LOCATION=`find "${SDK_PATH}" \
-- -name "arm-linux-androideabi-gcc*" -print -quit`
-- TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/arm-linux-androideabi-
-+ -name "${tools_prefix}gcc*" -print -quit`
-+ TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/${tools_prefix}
- CC=clang
- CXX=clang++
- AR=llvm-ar
diff --git a/contrib/src/vpx/libvpx-android.patch b/contrib/src/vpx/libvpx-android.patch
index 7f9445fa5f..325fd53bf8 100644
--- a/contrib/src/vpx/libvpx-android.patch
+++ b/contrib/src/vpx/libvpx-android.patch
@@ -1,92 +1,17 @@
-We don't use Android.mk to build libvpx. Then we have to force the build of
-cpu-features.c. Additionally, we don't need to link with pthread.
-
---- libvpx/build/make/configure.sh.orig 2019-05-08 15:33:05.038238914 -0400
-+++ libvpx/build/make/configure.sh 2019-05-08 15:52:29.424209219 -0400
-@@ -689,8 +689,8 @@
- }
-
- setup_gnu_toolchain() {
-- CC=${CC:-${CROSS}gcc}
-- CXX=${CXX:-${CROSS}g++}
-+ CC=clang
-+ CXX=clang++
- AR=${AR:-${CROSS}ar}
- LD=${LD:-${CROSS}${link_with_cc:-ld}}
- AS=${AS:-${CROSS}as}
-@@ -1110,9 +1110,9 @@
- COMPILER_LOCATION=`find "${SDK_PATH}" \
- -name "arm-linux-androideabi-gcc*" -print -quit`
- TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/arm-linux-androideabi-
-- CC=${TOOLCHAIN_PATH}gcc
-- CXX=${TOOLCHAIN_PATH}g++
-- AR=${TOOLCHAIN_PATH}ar
-+ CC=clang
-+ CXX=clang++
-+ AR=llvm-ar
- LD=${TOOLCHAIN_PATH}gcc
- AS=${TOOLCHAIN_PATH}as
- STRIP=${TOOLCHAIN_PATH}strip
-@@ -1132,17 +1132,17 @@
- add_ldflags "--sysroot=${alt_libc}"
- fi
-
-- # linker flag that routes around a CPU bug in some
-- # Cortex-A8 implementations (NDK Dev Guide)
-- add_ldflags "-Wl,--fix-cortex-a8"
--
- enable_feature pic
- soft_enable realtime_only
- if [ ${tgt_isa} = "armv7" ]; then
-+ # linker flag that routes around a CPU bug in some
-+ # Cortex-A8 implementations (NDK Dev Guide)
-+ add_ldflags "-Wl,--fix-cortex-a8"
- soft_enable runtime_cpu_detect
- fi
- if enabled runtime_cpu_detect; then
-- add_cflags "-I${SDK_PATH}/sources/android/cpufeatures"
-+ cp "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" vpx_ports
-+ add_cflags "-I${ANDROID_NDK}/sources/android/cpufeatures"
- fi
- else
- echo "Assuming standalone build with NDK toolchain."
-@@ -1546,13 +1546,6 @@
- *-android-gcc)
- # bionic includes basic pthread functionality, obviating -lpthread.
- ;;
-- *)
-- check_header pthread.h && check_lib -lpthread <<EOF && add_extralibs -lpthread || disable_feature pthread_h
--#include <pthread.h>
--#include <stddef.h>
--int main(void) { return pthread_create(NULL, NULL, NULL, NULL); }
--EOF
-- ;;
- esac
- fi
-
---- libvpx/libs.mk.orig 2019-05-08 15:46:19.034127288 -0400
-+++ libvpx/libs.mk 2019-05-08 15:52:00.152360798 -0400
-@@ -323,7 +323,7 @@
- $(qexec)echo 'Conflicts:' >> $@
- $(qexec)echo 'Libs: -L$${libdir} -lvpx -lm' >> $@
- ifeq ($(HAVE_PTHREAD_H),yes)
-- $(qexec)echo 'Libs.private: -lm -lpthread' >> $@
-+ $(qexec)echo 'Libs.private: -lm' >> $@
- else
- $(qexec)echo 'Libs.private: -lm' >> $@
- endif
---- libvpx/vpx_ports/vpx_ports.mk.orig 2019-05-08 15:47:31.609751458 -0400
-+++ libvpx/vpx_ports/vpx_ports.mk 2019-05-08 15:47:52.945640970 -0400
+diff -Naur libvpx-1.8.2.orig/vpx_ports/vpx_ports.mk libvpx-1.8.2/vpx_ports/vpx_ports.mk
+--- libvpx-1.8.2.orig/vpx_ports/vpx_ports.mk 2019-12-10 00:09:20.000000000 +0100
++++ libvpx-1.8.2/vpx_ports/vpx_ports.mk 2020-01-22 14:06:41.478331277 +0100
@@ -35,6 +35,7 @@
endif
- PORTS_SRCS-$(ARCH_ARM) += arm_cpudetect.c
-+PORTS_SRCS-$(ARCH_ARM) += cpu-features.c
- PORTS_SRCS-$(ARCH_ARM) += arm.h
+ PORTS_SRCS-$(VPX_ARCH_ARM) += arm_cpudetect.c
++PORTS_SRCS-$(VPX_ARCH_ARM) += cpu-features.c
+ PORTS_SRCS-$(VPX_ARCH_ARM) += arm.h
- PORTS_SRCS-$(ARCH_PPC) += ppc_cpudetect.c
---- libvpx/vpx_ports/x86_abi_support.asm.orig 2019-05-08 15:50:53.016708446 -0400
-+++ libvpx/vpx_ports/x86_abi_support.asm 2019-05-08 15:51:24.152547214 -0400
+ PORTS_SRCS-$(VPX_ARCH_PPC) += ppc_cpudetect.c
+diff -Naur libvpx-1.8.2.orig/vpx_ports/x86_abi_support.asm libvpx-1.8.2/vpx_ports/x86_abi_support.asm
+--- libvpx-1.8.2.orig/vpx_ports/x86_abi_support.asm 2019-12-10 00:09:20.000000000 +0100
++++ libvpx-1.8.2/vpx_ports/x86_abi_support.asm 2020-01-22 14:07:11.774877937 +0100
@@ -393,6 +393,7 @@
; On Android platforms use lrand48 when building postproc routines. Prior to L
diff --git a/contrib/src/vpx/libvpx-ios.patch b/contrib/src/vpx/libvpx-ios.patch
index 299fe5b05a..06a28d9293 100644
--- a/contrib/src/vpx/libvpx-ios.patch
+++ b/contrib/src/vpx/libvpx-ios.patch
@@ -1,6 +1,6 @@
---- libvpx/build/make/configure.sh.orig 2019-05-08 15:33:05.038238914 -0400
-+++ libvpx/build/make/configure.sh 2019-05-08 15:34:46.909711375 -0400
-@@ -863,88 +863,6 @@
+--- libvpx/build/make/configure.sh.orig 2020-01-21 18:01:06.103409182 -0500
++++ libvpx/build/make/configure.sh 2020-01-21 18:01:33.395259084 -0500
+@@ -832,92 +832,6 @@
# PIC is probably what we want when building shared libs
enabled shared && soft_enable pic
@@ -75,6 +75,10 @@
- add_cflags "-mmacosx-version-min=10.13"
- add_ldflags "-mmacosx-version-min=10.13"
- ;;
+- *-darwin18-*)
+- add_cflags "-mmacosx-version-min=10.14"
+- add_ldflags "-mmacosx-version-min=10.14"
+- ;;
- *-iphonesimulator-*)
- add_cflags "-miphoneos-version-min=${IOS_VERSION_MIN}"
- add_ldflags "-miphoneos-version-min=${IOS_VERSION_MIN}"
@@ -89,30 +93,16 @@
# Handle Solaris variants. Solaris 10 needs -lposix4
case ${toolchain} in
sparc-solaris-*)
-@@ -1177,12 +1095,6 @@
- add_cflags -isysroot ${alt_libc}
- fi
+@@ -1106,12 +1020,6 @@
+ add_cflags -isysroot ${alt_libc}
+ fi
-- if [ "${LD}" = "${CXX}" ]; then
-- add_ldflags -miphoneos-version-min="${IOS_VERSION_MIN}"
-- else
-- add_ldflags -ios_version_min "${IOS_VERSION_MIN}"
-- fi
+- if [ "${LD}" = "${CXX}" ]; then
+- add_ldflags -miphoneos-version-min="${IOS_VERSION_MIN}"
+- else
+- add_ldflags -ios_version_min "${IOS_VERSION_MIN}"
+- fi
-
- for d in lib usr/lib usr/lib/system; do
- try_dir="${alt_libc}/${d}"
- [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}"
-@@ -1372,6 +1284,13 @@
- case ${tgt_cc} in
- gcc*)
- add_cflags -m${bits}
-+ case ${tgt_os} in
-+ darwin*)
-+ ;;
-+ *)
-+ add_ldflags -m${bits}
-+ ;;
-+ esac
- add_ldflags -m${bits}
- ;;
- esac
+ for d in lib usr/lib usr/lib/system; do
+ try_dir="${alt_libc}/${d}"
+ [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}"
diff --git a/contrib/src/vpx/rules.mak b/contrib/src/vpx/rules.mak
index 630f4abdf2..23841bb28c 100644
--- a/contrib/src/vpx/rules.mak
+++ b/contrib/src/vpx/rules.mak
@@ -1,6 +1,6 @@
# libvpx
-VPX_VERSION := 1.8.0
+VPX_VERSION := 1.8.2
VPX_URL := http://github.com/webmproject/libvpx/archive/v${VPX_VERSION}.tar.gz
PKGS += vpx
@@ -18,7 +18,8 @@ libvpx: libvpx-$(VPX_VERSION).tar.gz .sum-vpx
$(APPLY) $(SRC)/vpx/libvpx-ios.patch
ifdef HAVE_ANDROID
$(APPLY) $(SRC)/vpx/libvpx-android.patch
- $(APPLY) $(SRC)/vpx/libvpx-android-toolchain_path.patch
+ cp "${ANDROID_NDK}"/sources/android/cpufeatures/cpu-features.c $(UNPACK_DIR)/vpx_ports
+ cp "${ANDROID_NDK}"/sources/android/cpufeatures/cpu-features.h $(UNPACK_DIR)
endif
$(MOVE)
@@ -126,10 +127,11 @@ else
VPX_CONF += --extra-cflags="-mstackrealign"
endif
ifdef HAVE_MACOSX
-VPX_CONF += --sdk-path=$(MACOSX_SDK) --extra-cflags="$(EXTRA_CFLAGS)"
+VPX_CONF += --extra-cflags="$(CFLAGS) $(EXTRA_CFLAGS)"
endif
ifdef HAVE_IOS
-VPX_CONF += --sdk-path=$(IOS_SDK) --enable-vp8-decoder
+VPX_CONF += --enable-vp8-decoder --disable-tools
+VPX_CONF += --extra-cflags="$(CFLAGS) $(EXTRA_CFLAGS)"
ifdef HAVE_TVOS
VPX_LDFLAGS := -L$(IOS_SDK)/usr/lib -isysroot $(IOS_SDK) -mtvos-version-min=9.0
else
@@ -143,11 +145,6 @@ VPX_LDFLAGS += -arch $(ARCH)
endif
endif
endif
-ifdef HAVE_ANDROID
-# vpx configure.sh overrides our sysroot and it looks for it itself, and
-# uses that path to look for the compiler (which we already know)
-VPX_CONF += --sdk-path=$(shell dirname $(shell which $(HOST)-clang))
-endif
ifneq ($(filter i386 x86_64,$(ARCH)),)
# broken text relocations or invalid register for .seh_savexmm with gcc8
More information about the vlc-commits
mailing list