Dropping support of gnu binutils

ffmpeg_4.4.2
Javernaut 3 years ago
parent f358f0a70b
commit d4d600c705
  1. 3
      .github/workflows/compilability_check.yml
  2. 13
      scripts/export-build-variables.sh
  3. 5
      scripts/libvpx/build.sh
  4. 14
      scripts/parse-arguments.sh

@ -6,7 +6,6 @@ jobs:
strategy: strategy:
matrix: matrix:
abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ] abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ]
binutils: [ "gnu", "llvm" ]
fail-fast: false fail-fast: false
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@ -19,4 +18,4 @@ jobs:
- name: Executing the script - name: Executing the script
run: | run: |
export ANDROID_SDK_HOME=$ANDROID_HOME export ANDROID_SDK_HOME=$ANDROID_HOME
./ffmpeg-android-maker.sh -all-free -all-gpl -android=21 -abis=${{ matrix.abi }} -binutils=${{ matrix.binutils }} ./ffmpeg-android-maker.sh -all-free -all-gpl -android=21 -abis=${{ matrix.abi }}

@ -54,18 +54,11 @@ export TARGET_TRIPLE_MACHINE_CC=$TARGET_TRIPLE_MACHINE_CC
export CPU_FAMILY=$CPU_FAMILY export CPU_FAMILY=$CPU_FAMILY
# Common prefix for ld, as, etc. # Common prefix for ld, as, etc.
if [ $DESIRED_BINUTILS = "gnu" ] ; then export CROSS_PREFIX_WITH_PATH=${TOOLCHAIN_PATH}/bin/llvm-
export CROSS_PREFIX=${TARGET_TRIPLE_MACHINE_BINUTILS}-linux-${TARGET_TRIPLE_OS}-
else
export CROSS_PREFIX=llvm-
fi
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
@ -81,11 +74,7 @@ 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}
if [[ $DESIRED_BINUTILS == "llvm" ]]; then
# The llvm-as doesn't work in place of gnu as, so just using clang here
export FAM_AS=${FAM_CC} export FAM_AS=${FAM_CC}
fi
# 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

@ -12,10 +12,7 @@ case $ANDROID_ABI in
VPX_AS=${FAM_YASM} VPX_AS=${FAM_YASM}
;; ;;
armeabi-v7a) armeabi-v7a)
EXTRA_BUILD_FLAGS="--target=armv7-android-gcc --enable-thumb" EXTRA_BUILD_FLAGS="--target=armv7-android-gcc --enable-thumb --disable-neon"
if [[ $DESIRED_BINUTILS == "llvm" ]]; then
EXTRA_BUILD_FLAGS+=" --disable-neon"
fi
;; ;;
arm64-v8a) arm64-v8a)
EXTRA_BUILD_FLAGS="--target=arm64-android-gcc --enable-thumb" EXTRA_BUILD_FLAGS="--target=arm64-android-gcc --enable-thumb"

@ -10,7 +10,6 @@ ABIS_TO_BUILD=()
API_LEVEL=16 API_LEVEL=16
SOURCE_TYPE=TAR SOURCE_TYPE=TAR
SOURCE_VALUE=4.4 SOURCE_VALUE=4.4
BINUTILS=gnu
EXTERNAL_LIBRARIES=() EXTERNAL_LIBRARIES=()
FFMPEG_GPL_ENABLED=false FFMPEG_GPL_ENABLED=false
@ -73,18 +72,6 @@ for argument in "$@"; do
SOURCE_TYPE=TAR SOURCE_TYPE=TAR
SOURCE_VALUE="${argument#*=}" SOURCE_VALUE="${argument#*=}"
;; ;;
# Which binutils to use (gnu or llvm)
--binutils=* | -binutils=*)
binutils_value="${argument#*=}"
case $binutils_value in
gnu | llvm)
BINUTILS=$binutils_value
;;
*)
echo "Unknown binutils: $binutils_value"
;;
esac
;;
# Arguments below enable certain external libraries to build into FFmpeg # Arguments below enable certain external libraries to build into FFmpeg
--enable-libaom | -aom) --enable-libaom | -aom)
EXTERNAL_LIBRARIES+=("libaom") EXTERNAL_LIBRARIES+=("libaom")
@ -154,4 +141,3 @@ export FFMPEG_EXTERNAL_LIBRARIES=${EXTERNAL_LIBRARIES[@]}
# Desired Android API level to use during compilation # Desired Android API level to use during compilation
# Will be replaced with 21 for 64bit ABIs if the value is less than 21 # Will be replaced with 21 for 64bit ABIs if the value is less than 21
export DESIRED_ANDROID_API_LEVEL=${API_LEVEL} export DESIRED_ANDROID_API_LEVEL=${API_LEVEL}
export DESIRED_BINUTILS=${BINUTILS}

Loading…
Cancel
Save