Libvpx. Using native android targets with specified compiler and binutils

ffmpeg_4.4.2
Javernaut 4 years ago
parent 05130e8cd9
commit ab51c6f98d
  1. 2
      scripts/export-build-variables.sh
  2. 2
      scripts/ffmpeg/build.sh
  3. 17
      scripts/libvpx/build.sh

@ -65,6 +65,7 @@ export CROSS_PREFIX_WITH_PATH=${TOOLCHAIN_PATH}/bin/${CROSS_PREFIX}
# Exporting Binutils paths, if passing just CROSS_PREFIX_WITH_PATH is not enough # Exporting Binutils paths, if passing just CROSS_PREFIX_WITH_PATH is not enough
# The FAM_ prefix is used to eliminate passing those values implicitly to build systems # The FAM_ prefix is used to eliminate passing those values implicitly to build systems
export FAM_ADDR2LINE=${CROSS_PREFIX_WITH_PATH}addr2line export FAM_ADDR2LINE=${CROSS_PREFIX_WITH_PATH}addr2line
export FAM_AS=${CROSS_PREFIX_WITH_PATH}as
export FAM_AR=${CROSS_PREFIX_WITH_PATH}ar export FAM_AR=${CROSS_PREFIX_WITH_PATH}ar
export FAM_NM=${CROSS_PREFIX_WITH_PATH}nm export FAM_NM=${CROSS_PREFIX_WITH_PATH}nm
export FAM_OBJCOPY=${CROSS_PREFIX_WITH_PATH}objcopy export FAM_OBJCOPY=${CROSS_PREFIX_WITH_PATH}objcopy
@ -80,7 +81,6 @@ export TARGET=${TARGET_TRIPLE_MACHINE_CC}-linux-${TARGET_TRIPLE_OS}${ANDROID_PLA
export FAM_CC=${TOOLCHAIN_PATH}/bin/${TARGET}-clang export FAM_CC=${TOOLCHAIN_PATH}/bin/${TARGET}-clang
export FAM_CXX=${FAM_CC}++ export FAM_CXX=${FAM_CC}++
export FAM_LD=${FAM_CC} export FAM_LD=${FAM_CC}
export FAM_AS=${FAM_CC}
# TODO consider abondaning this strategy of defining the name of the clang wrapper # TODO consider abondaning this strategy of defining the name of the clang wrapper
# in favour of just passing -mstackrealign and -fno-addrsig depending on # in favour of just passing -mstackrealign and -fno-addrsig depending on

@ -31,7 +31,7 @@ DEP_LD_FLAGS="-L${BUILD_DIR_EXTERNAL}/${ANDROID_ABI}/lib $FFMPEG_EXTRA_LD_FLAGS"
--cxx=${FAM_CXX} \ --cxx=${FAM_CXX} \
--ld=${FAM_LD} \ --ld=${FAM_LD} \
--ar=${FAM_AR} \ --ar=${FAM_AR} \
--as=${FAM_AS} \ --as=${FAM_CC} \
--nm=${FAM_NM} \ --nm=${FAM_NM} \
--ranlib=${FAM_RANLIB} \ --ranlib=${FAM_RANLIB} \
--strip=${FAM_STRIP} \ --strip=${FAM_STRIP} \

@ -1,21 +1,21 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Use --cpu VPX_AS=${FAM_AS}
#Try x-android-gcc with manual CC, CXX and other
case $ANDROID_ABI in case $ANDROID_ABI in
x86) x86)
EXTRA_BUILD_FLAGS="--enable-sse2 --enable-sse3 --enable-ssse3" EXTRA_BUILD_FLAGS="--target=x86-android-gcc --disable-sse4_1 --disable-avx --disable-avx2 --disable-avx512"
VPX_AS=${FAM_YASM}
;; ;;
x86_64) x86_64)
EXTRA_BUILD_FLAGS="--enable-sse2 --enable-sse3 --enable-ssse3 --enable-sse4_1" EXTRA_BUILD_FLAGS="--target=x86_64-android-gcc --disable-avx --disable-avx2 --disable-avx512"
VPX_AS=${FAM_YASM}
;; ;;
armeabi-v7a) armeabi-v7a)
EXTRA_BUILD_FLAGS="--enable-thumb --enable-neon --enable-neon-asm" EXTRA_BUILD_FLAGS="--target=armv7-android-gcc"
;; ;;
arm64-v8a) arm64-v8a)
EXTRA_BUILD_FLAGS="--enable-thumb --enable-neon --enable-neon-asm" EXTRA_BUILD_FLAGS="--target=arm64-android-gcc"
;; ;;
esac esac
@ -23,13 +23,12 @@ CC=${FAM_CC} \
CXX=${FAM_CXX} \ CXX=${FAM_CXX} \
AR=${FAM_AR} \ AR=${FAM_AR} \
LD=${FAM_LD} \ LD=${FAM_LD} \
AS=${FAM_AS} \ AS=${VPX_AS} \
STRIP=${FAM_STRIP} \ STRIP=${FAM_STRIP} \
NM=${FAM_NM} \ NM=${FAM_NM} \
./configure \ ./configure \
${EXTRA_BUILD_FLAGS} \ ${EXTRA_BUILD_FLAGS} \
--prefix=${INSTALL_DIR} \ --prefix=${INSTALL_DIR} \
--target=generic-gnu \
--libc=${SYSROOT_PATH} \ --libc=${SYSROOT_PATH} \
--enable-pic \ --enable-pic \
--enable-realtime-only \ --enable-realtime-only \

Loading…
Cancel
Save