...
This commit is contained in:
Executable
+101
@@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
# SET BUILD OPTIONS
|
||||
TARGET=""
|
||||
ASM_OPTIONS=""
|
||||
case ${ARCH} in
|
||||
armv7 | armv7s)
|
||||
|
||||
# note that --disable-runtime-cpu-detect is used for arm
|
||||
# using --enable-runtime-cpu-detect cause the following error
|
||||
# vpx_ports/arm_cpudetect.c:151:2: error: "--enable-runtime-cpu-detect selected, but no CPU detection method " "available for your platform. Reconfigure with --disable-runtime-cpu-detect."
|
||||
|
||||
TARGET="$(get_target_cpu)-darwin-gcc"
|
||||
ASM_OPTIONS="--disable-runtime-cpu-detect --enable-neon --enable-neon-asm"
|
||||
;;
|
||||
arm64*)
|
||||
TARGET="arm64-darwin-gcc"
|
||||
|
||||
# --enable-neon-asm option not added because it causes the following error
|
||||
# vpx_dsp/arm/intrapred_neon_asm.asm.S:653:26: error: vector register expected
|
||||
# vst1.64
|
||||
ASM_OPTIONS="--disable-runtime-cpu-detect --enable-neon"
|
||||
;;
|
||||
i386)
|
||||
TARGET="x86-iphonesimulator-gcc"
|
||||
ASM_OPTIONS="--enable-runtime-cpu-detect --disable-avx512"
|
||||
;;
|
||||
x86-64*)
|
||||
if [[ ${ARCH} == "x86-64-mac-catalyst" ]]; then
|
||||
TARGET="x86_64-macosx-gcc"
|
||||
else
|
||||
|
||||
# WORKAROUND TO USE A VALID TARGET FOR LIBVPX BUILD SCRIPTS
|
||||
# HAS NO EFFECT ON THE OUTPUT
|
||||
# CUSTOMIZED LIBVPX BUILD SCRIPTS (FOR tvOS, macOS) USE BUILD FLAGS SET BY FFMPEG KIT
|
||||
TARGET="x86_64-iphonesimulator-gcc"
|
||||
fi
|
||||
ASM_OPTIONS="--enable-runtime-cpu-detect --disable-avx512 --disable-sse --disable-sse2 --disable-mmx"
|
||||
;;
|
||||
esac
|
||||
|
||||
# ALWAYS CLEAN THE PREVIOUS BUILD
|
||||
make distclean 2>/dev/null 1>/dev/null
|
||||
|
||||
# NOTE THAT RECONFIGURE IS NOT SUPPORTED
|
||||
|
||||
# WORKAROUND TO FIX BUILD OPTIONS DEFINED IN configure.sh
|
||||
case ${ARCH} in
|
||||
x86-64-mac-catalyst)
|
||||
overwrite_file "${BASEDIR}"/tools/patch/make/libvpx/configure.x86_64_mac_catalyst.sh "${BASEDIR}"/src/"${LIB_NAME}"/build/make/configure.sh || return 1
|
||||
;;
|
||||
*)
|
||||
overwrite_file "${BASEDIR}"/tools/patch/make/libvpx/configure.sh "${BASEDIR}"/src/"${LIB_NAME}"/build/make/configure.sh || return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
./configure \
|
||||
--prefix="${LIB_INSTALL_PREFIX}" \
|
||||
--target="${TARGET}" \
|
||||
--extra-cflags="${CFLAGS}" \
|
||||
--extra-cxxflags="${CXXFLAGS}" \
|
||||
--as=yasm \
|
||||
--log=yes \
|
||||
--enable-libs \
|
||||
--enable-install-libs \
|
||||
--enable-pic \
|
||||
--enable-optimizations \
|
||||
--enable-better-hw-compatibility \
|
||||
--enable-vp9-highbitdepth \
|
||||
${ASM_OPTIONS} \
|
||||
--enable-vp8 \
|
||||
--enable-vp9 \
|
||||
--enable-multithread \
|
||||
--enable-spatial-resampling \
|
||||
--enable-small \
|
||||
--enable-static \
|
||||
--disable-realtime-only \
|
||||
--disable-shared \
|
||||
--disable-debug \
|
||||
--disable-gprof \
|
||||
--disable-gcov \
|
||||
--disable-ccache \
|
||||
--disable-install-bins \
|
||||
--disable-install-srcs \
|
||||
--disable-install-docs \
|
||||
--disable-docs \
|
||||
--disable-tools \
|
||||
--disable-examples \
|
||||
--disable-unit-tests \
|
||||
--disable-decode-perf-tests \
|
||||
--disable-encode-perf-tests \
|
||||
--disable-codec-srcs \
|
||||
--disable-debug-libs \
|
||||
--disable-internal-stats || return 1
|
||||
|
||||
make -j$(get_cpu_count) || return 1
|
||||
|
||||
make install || return 1
|
||||
|
||||
# MANUALLY COPY PKG-CONFIG FILES
|
||||
cp ./*.pc "${INSTALL_PKG_CONFIG_DIR}" || return 1
|
||||
Reference in New Issue
Block a user