82 lines
1.8 KiB
Bash
82 lines
1.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
if [[ -z ${ANDROID_NDK_ROOT} ]]; then
|
||
|
echo -e "\n(*) ANDROID_NDK_ROOT not defined\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [[ -z ${ARCH} ]]; then
|
||
|
echo -e "\n(*) ARCH not defined\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [[ -z ${API} ]]; then
|
||
|
echo -e "\n(*) API not defined\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if [[ -z ${BASEDIR} ]]; then
|
||
|
echo -e "\n(*) BASEDIR not defined\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
if ! [ -x "$(command -v tar)" ]; then
|
||
|
echo -e "\n(*) tar command not found\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# ENABLE COMMON FUNCTIONS
|
||
|
. ${BASEDIR}/build/android-common.sh
|
||
|
|
||
|
# PREPARE PATHS & DEFINE ${INSTALL_PKG_CONFIG_DIR}
|
||
|
LIB_NAME="x264"
|
||
|
set_toolchain_paths ${LIB_NAME}
|
||
|
|
||
|
# PREPARING FLAGS
|
||
|
BUILD_HOST=$(get_build_host)
|
||
|
export CFLAGS=$(get_cflags ${LIB_NAME})
|
||
|
export CXXFLAGS=$(get_cxxflags ${LIB_NAME})
|
||
|
export LDFLAGS=$(get_ldflags ${LIB_NAME})
|
||
|
|
||
|
cd ${BASEDIR}/src/${LIB_NAME} || exit 1
|
||
|
|
||
|
make distclean 2>/dev/null 1>/dev/null
|
||
|
|
||
|
ASM_FLAGS=""
|
||
|
case ${ARCH} in
|
||
|
x86)
|
||
|
|
||
|
# please note that asm is disabled
|
||
|
# because enabling asm for x86 causes text relocations in libavfilter.so
|
||
|
ASM_FLAGS="--disable-asm"
|
||
|
;;
|
||
|
x86-64)
|
||
|
if ! [ -x "$(command -v nasm)" ]; then
|
||
|
echo -e "\n(*) nasm command not found\n"
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
export AS="$(command -v nasm)"
|
||
|
|
||
|
# WORKAROUND APPLIED TO ENABLE X86 ASM
|
||
|
# https://github.com/android-ndk/ndk/issues/693
|
||
|
export CFLAGS="${CFLAGS} -mno-stackrealign"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
./configure \
|
||
|
--prefix=${BASEDIR}/prebuilt/android-$(get_target_build)/${LIB_NAME} \
|
||
|
--enable-pic \
|
||
|
--sysroot=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${TOOLCHAIN}/sysroot \
|
||
|
--enable-static \
|
||
|
--disable-cli \
|
||
|
${ASM_FLAGS} \
|
||
|
--host=${BUILD_HOST} || exit 1
|
||
|
|
||
|
make -j$(get_cpu_count) || exit 1
|
||
|
|
||
|
# MANUALLY COPY PKG-CONFIG FILES
|
||
|
cp x264.pc ${INSTALL_PKG_CONFIG_DIR} || exit 1
|
||
|
|
||
|
make install || exit 1
|