diff --git a/coin/provisioning/common/unix/install-ffmpeg-android-multi-ndk.sh b/coin/provisioning/common/unix/install-ffmpeg-android-multi-ndk.sh new file mode 100755 index 00000000..98befc7e --- /dev/null +++ b/coin/provisioning/common/unix/install-ffmpeg-android-multi-ndk.sh @@ -0,0 +1,151 @@ +#!/usr/bin/env bash +# Copyright (C) 2026 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script will build and install multiple variants of FFmpeg, +# one for each NDK version. It also sets the relevant environment +# variables for FFmpeg. +# +# Note! The environment variable names used here must match those that are +# used when building Qt in CI. + +usage() { + cat < --page-size + +Build FFmpeg libraries for Android, once for each NDK available in the environment. + +Options: + --abi Target Android ABI. One of: arm64, arm32, x86, x86_64. + --page-size One of: 4kb, 16kb. + -h, --help Show this help and exit. + +Example: + $(basename "${BASH_SOURCE[0]}") --abi arm64 --page-size 16kb +EOF +} + +abi="" +page_size="" + +while [ $# -gt 0 ]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + --abi|--page-size) + if [ $# -lt 2 ]; then + echo "Error: option '$1' requires a value." >&2 + exit 2 + fi + case "$1" in + --abi) abi="$2" ;; + --page-size) page_size="$2" ;; + esac + shift + ;; + *) + echo "Error: unknown argument '$1'." >&2 + echo "" >&2 + usage >&2 + exit 2 + ;; + esac + shift +done + +source "${BASH_SOURCE%/*}/ffmpeg-installation-utils.sh" + +is_populated_dir() { + local value="$1" + [ -n "$value" ] || return 1 + [ -d "$value" ] || return 1 + find "$value" -mindepth 1 -maxdepth 1 -print -quit >/dev/null 2>&1 || return 1 +} + +assert_envvar_is_populated_dir() { + local envvar="$1" + local value="${!envvar}" + if [ -z "$value" ] || ! is_populated_dir "$value" ; then + echo "Environment variable '$envvar' is unset, or the directory is not populated." + exit 1 + fi +} + +set -eux + +ENVVAR_NAME_BASE="FFMPEG_DIR_ANDROID" +OUTPUT_PATH_BASE="/usr/local/android" + +# Set up environment name and output directory based on ABI parameter. +# The envvar name will be suffixed with the specific NDK version we +# are building with. +envvar_name="" +output_path="" +case "$abi" in + x86) + output_path="${OUTPUT_PATH_BASE}/ffmpeg-x86" + envvar_name="${ENVVAR_NAME_BASE}_X86" + ;; + x86_64) + output_path="${OUTPUT_PATH_BASE}/ffmpeg-x86_64" + envvar_name="${ENVVAR_NAME_BASE}_X86_64" + ;; + arm32) + output_path="${OUTPUT_PATH_BASE}/ffmpeg-arm32" + envvar_name="${ENVVAR_NAME_BASE}_ARM32" + ;; + arm64) + output_path="${OUTPUT_PATH_BASE}/ffmpeg-arm64" + envvar_name="${ENVVAR_NAME_BASE}_ARM64" + ;; + *) + echo "Error: --abi must be one of: arm64, arm32, x86, x86_64. Got: '$abi'" >&2 + exit 1 + ;; +esac + +if [ "$page_size" != "16kb" ] && [ "$page_size" != "4kb" ]; then + echo "Error: --page-size must be '4kb' or '16kb'. Got: '$page_size'" >&2 + exit 1 +fi + +install_ffmpeg() { + local ndk_root="$1" + local openssl_root="$2" + local output_dir="$3" + "${BASH_SOURCE%/*}/install-ffmpeg-android.sh" \ + --abi "$abi" \ + --ndk "$ndk_root" \ + --openssl "$openssl_root" \ + --page-size "$page_size" \ + --output "$output_dir" +} + +assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST" +assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST" +output_dir_latest="$output_path/ndk-latest" +install_ffmpeg "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST" "$output_dir_latest" +set_ffmpeg_dir_env_var "${envvar_name}_NDK_LATEST" "$output_dir_latest" + +if [ -n "${ANDROID_NDK_ROOT_PREVIEW-}" ]; then + assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW" + output_dir_preview="$output_path/ndk-preview" + install_ffmpeg "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW" "$output_dir_preview" + set_ffmpeg_dir_env_var "${envvar_name}_NDK_PREVIEW" "$output_dir_preview" +fi + +if [ -n "${ANDROID_NDK_ROOT_NIGHTLY1-}" ]; then + assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1" + output_dir_nightly1="$output_path/ndk-nightly1" + install_ffmpeg "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1" "$output_dir_nightly1" + set_ffmpeg_dir_env_var "${envvar_name}_NDK_NIGHTLY1" "$output_dir_nightly1" +fi + +if [ -n "${ANDROID_NDK_ROOT_NIGHTLY2-}" ]; then + assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2" + output_dir_nightly2="$output_path/ndk-nightly2" + install_ffmpeg "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" "$output_dir_nightly2" + set_ffmpeg_dir_env_var "${envvar_name}_NDK_NIGHTLY2" "$output_dir_nightly2" +fi diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index 5158247b..17993a05 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -2,67 +2,145 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script will build and install FFmpeg shared libs -set -ex +# This script will build FFmpeg libraries for Android + +usage() { + cat < --ndk --openssl --page-size --output + +Build FFmpeg libraries for Android. + +Options: + --abi Target Android ABI. One of: arm64, arm32, x86, x86_64. + --ndk Path to the Android NDK root. + --openssl Path to the OpenSSL for Android root. + --page-size One of: 4kb, 16kb. + --output Directory to install FFmpeg into. + -h, --help Show this help and exit. + +Example: + $(basename "$0") --abi arm64 --ndk /path/to/ndk --openssl /path/to/openssl \\ + --page-size 16kb --output /path/to/output +EOF +} + +abi="" +ndk_root="" +openssl_root="" +page_size="" +target_dir="" + +while [ $# -gt 0 ]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + --abi|--ndk|--openssl|--page-size|--output) + if [ $# -lt 2 ]; then + echo "Error: option '$1' requires a value." >&2 + exit 2 + fi + case "$1" in + --abi) abi="$2" ;; + --ndk) ndk_root="$2" ;; + --openssl) openssl_root="$2" ;; + --page-size) page_size="$2" ;; + --output) target_dir="$2" ;; + esac + shift + ;; + *) + echo "Error: unknown argument '$1'." >&2 + echo "" >&2 + usage >&2 + exit 2 + ;; + esac + shift +done + +set -eux source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh" -os="$1" -# Optional parameter to set output installation directory. Useful for local builds. -page_size="$2" -target_install_dir_param="$3" +is_populated_dir() { + local value="$1" + [ -n "$value" ] || return 1 + [ -d "$value" ] || return 1 + find "$value" -mindepth 1 -maxdepth 1 -print -quit >/dev/null 2>&1 || return 1 +} + +case "$abi" in + arm64|arm32|x86|x86_64) + ;; + *) + echo "Error: --abi must be one of: arm64, arm32, x86, x86_64. Got: '$abi'" >&2 + exit 1 + ;; +esac + +if ! is_populated_dir "$ndk_root"; then + echo "Error: --ndk '$ndk_root' is not a populated directory." >&2 + exit 1 +fi + +if ! is_populated_dir "$openssl_root"; then + echo "Error: --openssl '$openssl_root' is not a populated directory." >&2 + exit 1 +fi + +if [ "$page_size" != "16kb" ] && [ "$page_size" != "4kb" ]; then + echo "Error: --page-size must be '4kb' or '16kb'. Got: '$page_size'" >&2 + exit 1 +fi + +if [ -z "$target_dir" ]; then + echo "Error: --output must be set." >&2 + exit 1 +fi + build_type=$(get_ffmpeg_build_type) ffmpeg_source_dir=$(download_ffmpeg) -assert_envvar_is_populated_dir() { - local envvar="$1" - local value="${!envvar}" - if [ -z "$value" ] || [ ! -d "$value" ] || [ -z "$(find "$value" -mindepth 1 -type f | head -n 1)" ]; then - echo "Environment variable '$envvar' is unset, not a directory, or the directory is empty." - exit 1 - fi -} - build_ffmpeg_android() { 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 openssl_include="$openssl_root/include" local target_arch local openssl_libs local libs_prefix local target_cpu local target_toolchain_arch - if [ "$os" == "android-x86" ]; then + if [ "$abi" == "x86" ]; then target_toolchain_arch="i686-linux-android" target_arch=x86 target_cpu=i686 - openssl_libs="$openssl_android_path/x86" + openssl_libs="$openssl_root/x86" libs_prefix="_x86" - elif [ "$os" == "android-x86_64" ]; then + elif [ "$abi" == "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" + openssl_libs="$openssl_root/x86_64" libs_prefix="_x86_64" - elif [ "$os" == "android-arm32" ]; then + elif [ "$abi" == "arm32" ]; then target_toolchain_arch="armv7a-linux-androideabi" target_arch=arm target_cpu=armv7-a - openssl_libs="$openssl_android_path/armeabi-v7a" + openssl_libs="$openssl_root/armeabi-v7a" libs_prefix="_arm32-v7a" - elif [ "$os" == "android-arm64" ]; then + elif [ "$abi" == "arm64" ]; then target_toolchain_arch="aarch64-linux-android" target_arch=aarch64 target_cpu=armv8-a - openssl_libs="$openssl_android_path/arm64-v8a" + openssl_libs="$openssl_root/arm64-v8a" libs_prefix="_arm64-v8a" else - >&2 echo "Unhandled android os param: $os" + >&2 echo "Unhandled android abi param: $abi" exit 1 fi @@ -93,14 +171,11 @@ build_ffmpeg_android() { ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/" ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib} --strip=${strip}" ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}" - if [ $page_size == "use_16kb_page_size" ]; then + if [ "$page_size" == "16kb" ]; then ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384" echo "FFmpeg Android using 16KB page sizes" - elif [ $page_size == "use_4kb_page_size" ]; then + elif [ "$page_size" == "4kb" ]; then echo "FFmpeg Android using 4KB page sizes" - else - echo "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_4kb_page_size got: $page_size" >&2 - exit 1 fi local build_dir="$ffmpeg_source_dir/build_android/$target_arch" mkdir -p "$build_dir" @@ -121,7 +196,7 @@ build_ffmpeg_android() { local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh" local page_size_arg="" - if [ $page_size == "use_16kb_page_size" ]; then + if [ "$page_size" == "16kb" ]; then page_size_arg="16384" fi local set_rpath_arg="no" @@ -135,62 +210,4 @@ build_ffmpeg_android() { fi } -if [ "$os" == "android-x86" ]; then - 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_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_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_dir="/usr/local/android/ffmpeg-arm64" - envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST" - envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1" - envvar_nightly2="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY2" - envvar_preview="FFMPEG_DIR_ANDROID_ARM64_NDK_PREVIEW" -else - >&2 echo "Unhandled android os param: $os" - exit 1 -fi - -# If parameter is set, use it as the target output directory. -if [ ! -z $target_install_dir_param ]; then - target_dir=$target_install_dir_param -fi - -assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST" -assert_envvar_is_populated_dir "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_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_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_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2" - set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2" -fi +build_ffmpeg_android "$target_dir" diff --git a/coin/provisioning/qtci-linux-RHEL-10.0-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-10.0-x86_64/90-install-ffmpeg.sh index 467c6acc..0e5419de 100755 --- a/coin/provisioning/qtci-linux-RHEL-10.0-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-10.0-x86_64/90-install-ffmpeg.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.sh index 13af3a7b..e0cbb858 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.sh @@ -3,5 +3,5 @@ #SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh index 4b38a74a..7dd1705f 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh @@ -3,5 +3,5 @@ #SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh index 1ec85bee..fb63df58 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh @@ -3,4 +3,4 @@ #SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh index 13af3a7b..e0cbb858 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh @@ -3,5 +3,5 @@ #SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh index 467c6acc..0e5419de 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" diff --git a/coin/provisioning/qtci-linux-RHEL-9.6-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.6-x86_64/90-install-ffmpeg.sh index 467c6acc..0e5419de 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.6-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.6-x86_64/90-install-ffmpeg.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash source "${BASH_SOURCE%/*}/../common/linux/install-ffmpeg-linux.sh" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" "use_4kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86_64" --page-size "16kb" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "x86" --page-size "4kb" diff --git a/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh index eaf2e469..e3f5385a 100755 --- a/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh index 230c5016..099014aa 100755 --- a/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-15-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-15-arm/90-install-ffmpeg.sh index 230c5016..099014aa 100755 --- a/coin/provisioning/qtci-macos-15-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-15-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-15-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-15-x86_64/90-install-ffmpeg.sh index 230c5016..099014aa 100755 --- a/coin/provisioning/qtci-macos-15-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-15-x86_64/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-26-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-26-arm/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-26-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-26-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-26-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-26-x86_64/90-install-ffmpeg.sh index 230c5016..099014aa 100755 --- a/coin/provisioning/qtci-macos-26-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-26-x86_64/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-27-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-27-arm/90-install-ffmpeg.sh index 5023fefc..c97ca5e4 100755 --- a/coin/provisioning/qtci-macos-27-arm/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-macos-27-arm/90-install-ffmpeg.sh @@ -5,5 +5,5 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-macos.sh" "macos-universal" -#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android-multi-ndk.sh" --abi "arm64" --page-size "16kb" source "${BASH_SOURCE%/*}/../common/macos/install-ffmpeg-ios.sh"