diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index 01a2e9e3..253dc506 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -24,43 +24,46 @@ assert_envvar_is_populated_dir() { } build_ffmpeg_android() { - local target_arch=$1 - local target_dir=$2 - local ndk_root=$3 - local openssl_android_path=$4 + local target_dir=$1 + local ndk_root=$2 + local openssl_android_path=$3 sudo mkdir -p "$target_dir" local openssl_include="$openssl_android_path/include" + local target_arch local openssl_libs local libs_prefix local target_cpu local target_toolchain_arch - if [ "$target_arch" == "x86_64" ]; then - target_toolchain_arch="x86_64-linux-android" - target_arch=x86_64 - target_cpu=x86-64 - openssl_libs="$openssl_android_path/x86_64" - libs_prefix="_x86_64" - elif [ "$target_arch" == "x86" ]; then + if [ "$os" == "android-x86" ]; then target_toolchain_arch="i686-linux-android" target_arch=x86 target_cpu=i686 openssl_libs="$openssl_android_path/x86" libs_prefix="_x86" - elif [ "$target_arch" == "arm32" ]; then + elif [ "$os" == "android-x86_64" ]; then + target_toolchain_arch="x86_64-linux-android" + target_arch=x86_64 + target_cpu=x86-64 + openssl_libs="$openssl_android_path/x86_64" + libs_prefix="_x86_64" + elif [ "$os" == "android-arm32" ]; then target_toolchain_arch="armv7a-linux-androideabi" target_arch=arm target_cpu=armv7-a openssl_libs="$openssl_android_path/armeabi-v7a" libs_prefix="_arm32-v7a" - elif [ "$target_arch" == "arm64" ]; then + elif [ "$os" == "android-arm64" ]; then target_toolchain_arch="aarch64-linux-android" target_arch=aarch64 target_cpu=armv8-a openssl_libs="$openssl_android_path/arm64-v8a" libs_prefix="_arm64-v8a" + else + >&2 echo "Unhandled android os param: $os" + exit 1 fi ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so" @@ -127,28 +130,24 @@ build_ffmpeg_android() { } if [ "$os" == "android-x86" ]; then - target_arch=x86 target_dir="/usr/local/android/ffmpeg-x86" envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW" elif [ "$os" == "android-x86_64" ]; then - target_arch=x86_64 target_dir="/usr/local/android/ffmpeg-x86_64" envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW" elif [ "$os" == "android-arm32" ]; then - target_arch=arm32 target_dir="/usr/local/android/ffmpeg-arm32" envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1" envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2" envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW" elif [ "$os" == "android-arm64" ]; then - target_arch=arm64 target_dir="/usr/local/android/ffmpeg-arm64" envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST" envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1" @@ -166,26 +165,26 @@ fi assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST" -build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" +build_ffmpeg_android "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest" if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW" - build_ffmpeg_android "$target_arch" "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" + build_ffmpeg_android "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview" fi if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1" - build_ffmpeg_android "$target_arch" "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" + build_ffmpeg_android "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1" fi if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2" assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2" - build_ffmpeg_android "$target_arch" "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" + build_ffmpeg_android "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2" fi