From 8151883d7aad516cbf501aa91e74f23af03605d7 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Thu, 17 Feb 2022 14:59:39 +0000 Subject: [PATCH] Depend on llvm-xy bin utils instead of GNU's binutils NDK 23 removes GNU's bin utils. More info in https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#binutils. LLVM bin utils are available in all modern NDK versions. #minor-release Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 429299806 --- RELEASENOTES.md | 2 ++ .../ffmpeg/src/main/jni/build_ffmpeg.sh | 32 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fd9ccdd063c..649a4bcfb73 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -76,6 +76,8 @@ ([#8891](https://github.com/google/ExoPlayer/issues/8891)). * Retry `AudioTrack` creation if the requested buffer size was > 1MB. ([#9712](https://github.com/google/ExoPlayer/issues/9712)). + * Make `build_ffmpeg.sh` depend on LLVM's bin utils instead of GNU's + ([#9933](https://github.com/google/ExoPlayer/issues/9933)). * Extractors: * Fix inconsistency with spec in H.265 SPS nal units parsing ([#9719](https://github.com/google/ExoPlayer/issues/9719)). diff --git a/extensions/ffmpeg/src/main/jni/build_ffmpeg.sh b/extensions/ffmpeg/src/main/jni/build_ffmpeg.sh index 49f1d028d61..fef653bf6ed 100755 --- a/extensions/ffmpeg/src/main/jni/build_ffmpeg.sh +++ b/extensions/ffmpeg/src/main/jni/build_ffmpeg.sh @@ -49,10 +49,10 @@ cd "${FFMPEG_MODULE_PATH}/jni/ffmpeg" --arch=arm \ --cpu=armv7-a \ --cross-prefix="${TOOLCHAIN_PREFIX}/armv7a-linux-androideabi16-" \ - --nm="${TOOLCHAIN_PREFIX}/arm-linux-androideabi-nm" \ - --ar="${TOOLCHAIN_PREFIX}/arm-linux-androideabi-ar" \ - --ranlib="${TOOLCHAIN_PREFIX}/arm-linux-androideabi-ranlib" \ - --strip="${TOOLCHAIN_PREFIX}/arm-linux-androideabi-strip" \ + --nm="${TOOLCHAIN_PREFIX}/llvm-nm" \ + --ar="${TOOLCHAIN_PREFIX}/llvm-ar" \ + --ranlib="${TOOLCHAIN_PREFIX}/llvm-ranlib" \ + --strip="${TOOLCHAIN_PREFIX}/llvm-strip" \ --extra-cflags="-march=armv7-a -mfloat-abi=softfp" \ --extra-ldflags="-Wl,--fix-cortex-a8" \ ${COMMON_OPTIONS} @@ -64,10 +64,10 @@ make clean --arch=aarch64 \ --cpu=armv8-a \ --cross-prefix="${TOOLCHAIN_PREFIX}/aarch64-linux-android21-" \ - --nm="${TOOLCHAIN_PREFIX}/aarch64-linux-android-nm" \ - --ar="${TOOLCHAIN_PREFIX}/aarch64-linux-android-ar" \ - --ranlib="${TOOLCHAIN_PREFIX}/aarch64-linux-android-ranlib" \ - --strip="${TOOLCHAIN_PREFIX}/aarch64-linux-android-strip" \ + --nm="${TOOLCHAIN_PREFIX}/llvm-nm" \ + --ar="${TOOLCHAIN_PREFIX}/llvm-ar" \ + --ranlib="${TOOLCHAIN_PREFIX}/llvm-ranlib" \ + --strip="${TOOLCHAIN_PREFIX}/llvm-strip" \ ${COMMON_OPTIONS} make -j$JOBS make install-libs @@ -77,10 +77,10 @@ make clean --arch=x86 \ --cpu=i686 \ --cross-prefix="${TOOLCHAIN_PREFIX}/i686-linux-android16-" \ - --nm="${TOOLCHAIN_PREFIX}/i686-linux-android-nm" \ - --ar="${TOOLCHAIN_PREFIX}/i686-linux-android-ar" \ - --ranlib="${TOOLCHAIN_PREFIX}/i686-linux-android-ranlib" \ - --strip="${TOOLCHAIN_PREFIX}/i686-linux-android-strip" \ + --nm="${TOOLCHAIN_PREFIX}/llvm-nm" \ + --ar="${TOOLCHAIN_PREFIX}/llvm-ar" \ + --ranlib="${TOOLCHAIN_PREFIX}/llvm-ranlib" \ + --strip="${TOOLCHAIN_PREFIX}/llvm-strip" \ --disable-asm \ ${COMMON_OPTIONS} make -j$JOBS @@ -91,10 +91,10 @@ make clean --arch=x86_64 \ --cpu=x86_64 \ --cross-prefix="${TOOLCHAIN_PREFIX}/x86_64-linux-android21-" \ - --nm="${TOOLCHAIN_PREFIX}/x86_64-linux-android-nm" \ - --ar="${TOOLCHAIN_PREFIX}/x86_64-linux-android-ar" \ - --ranlib="${TOOLCHAIN_PREFIX}/x86_64-linux-android-ranlib" \ - --strip="${TOOLCHAIN_PREFIX}/x86_64-linux-android-strip" \ + --nm="${TOOLCHAIN_PREFIX}/llvm-nm" \ + --ar="${TOOLCHAIN_PREFIX}/llvm-ar" \ + --ranlib="${TOOLCHAIN_PREFIX}/llvm-ranlib" \ + --strip="${TOOLCHAIN_PREFIX}/llvm-strip" \ --disable-asm \ ${COMMON_OPTIONS} make -j$JOBS