You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.8 KiB
64 lines
1.8 KiB
#!/bin/bash
|
|
|
|
# UPDATE BUILD FLAGS
|
|
export CFLAGS="$CFLAGS $(pkg-config --cflags libiconv) $(pkg-config --cflags cpu-features)"
|
|
export LDFLAGS="$LDFLAGS $(pkg-config --libs --static libiconv) $(pkg-config --libs --static cpu-features)"
|
|
|
|
# SET BUILD OPTIONS
|
|
case ${ARCH} in
|
|
arm-v7a)
|
|
BUILD_ARCH=arm
|
|
CFLAGS+=" -DANDROID_NDK"
|
|
;;
|
|
arm-v7a-neon)
|
|
ASM_OPTIONS=arm
|
|
BUILD_ARCH=arm
|
|
CFLAGS+=" -DHAVE_NEON -DANDROID_NDK"
|
|
;;
|
|
arm64-v8a)
|
|
ASM_OPTIONS=arm64
|
|
BUILD_ARCH=arm64
|
|
CFLAGS+=" -DHAVE_NEON_AARCH64 -DANDROID_NDK"
|
|
;;
|
|
x86)
|
|
ASM_OPTIONS=x86
|
|
BUILD_ARCH=x86
|
|
CFLAGS+=" -DHAVE_AVX2 -DANDROID_NDK"
|
|
;;
|
|
x86-64)
|
|
ASM_OPTIONS=x86
|
|
BUILD_ARCH=x86_64
|
|
CFLAGS+=" -DHAVE_AVX2 -DANDROID_NDK"
|
|
;;
|
|
esac
|
|
|
|
# ALWAYS CLEAN THE PREVIOUS BUILD
|
|
make clean 2>/dev/null 1>/dev/null
|
|
|
|
# DISCARD APPLE WORKAROUNDS
|
|
git checkout "${BASEDIR}"/src/"${LIB_NAME}"/build || return 1
|
|
git checkout "${BASEDIR}"/src/"${LIB_NAME}"/codec || return 1
|
|
|
|
# WORKAROUND TO DISABLE PARTS THAT COMPILE cpu-features INTO libopenh264.a
|
|
${SED_INLINE} 's/^COMMON_INCLUDES +=/# COMMON_INCLUDES +=/' "${BASEDIR}"/src/"${LIB_NAME}"/build/platform-android.mk
|
|
${SED_INLINE} 's/^COMMON_OBJS +=/# COMMON_OBJS +=/' "${BASEDIR}"/src/"${LIB_NAME}"/build/platform-android.mk
|
|
${SED_INLINE} 's/^COMMON_CFLAGS +=/# COMMON_CFLAGS +=/' "${BASEDIR}"/src/"${LIB_NAME}"/build/platform-android.mk
|
|
|
|
make -j$(get_cpu_count) \
|
|
ARCH="${BUILD_ARCH}" \
|
|
CC="${CC}" \
|
|
CFLAGS="${CFLAGS}" \
|
|
CXX="${CXX}" \
|
|
AR="${AR}" \
|
|
CXXFLAGS="${CXXFLAGS}" \
|
|
LDFLAGS="${LDFLAGS}" \
|
|
OS=android \
|
|
PREFIX="${LIB_INSTALL_PREFIX}" \
|
|
NDKLEVEL="${API}" \
|
|
NDKROOT="${ANDROID_NDK_ROOT}" \
|
|
NDK_TOOLCHAIN_VERSION=clang \
|
|
ASM_OPTIONS=${ASM_OPTIONS} \
|
|
TARGET="android-${API}" install-static || return 1
|
|
|
|
# MANUALLY COPY PKG-CONFIG FILES
|
|
cp "${BASEDIR}"/src/"${LIB_NAME}"/openh264-static.pc "${INSTALL_PKG_CONFIG_DIR}"/openh264.pc || return 1
|
|
|