From ea8aab2c062fb535f365037bad65b44ddee307e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20Petter=20Sk=C3=A5lerud?= Date: Mon, 19 Jan 2026 12:42:24 +0100 Subject: [PATCH] Android, FFmpeg: Move multi-NDK logic outside install-ffmpeg-android.sh Currently, this script handles building FFmpeg, in multiple variants, depending on what environment variables happen to be available. This structure makes it harder to run the script locally, as well as maintaining it over time. This patch moves the logic for doing multiple NDK variants into a separate script. As a drive-by, we give both install-ffmpeg-android.sh and install-ffmpeg-android-multi-ndk.sh named parameters. It is now possible to run the script locally. Pick-to: 6.12 Change-Id: Iaa4a4c8f9123830eaf88be04a8a2c845c6a62982 Reviewed-by: Artem Dyomin --- .../unix/install-ffmpeg-android-multi-ndk.sh | 151 +++++++++++++ .../common/unix/install-ffmpeg-android.sh | 201 ++++++++++-------- .../90-install-ffmpeg.sh | 4 +- .../90-install-ffmpeg.sh | 4 +- .../90-install-ffmpeg.sh | 4 +- .../90-install-ffmpeg.sh | 2 +- .../90-install-ffmpeg.sh | 4 +- .../90-install-ffmpeg.sh | 4 +- .../90-install-ffmpeg.sh | 4 +- .../qtci-macos-12-arm/90-install-ffmpeg.sh | 2 +- .../qtci-macos-12-x86_64/90-install-ffmpeg.sh | 2 +- .../qtci-macos-13-arm/90-install-ffmpeg.sh | 2 +- .../qtci-macos-13-x86_64/90-install-ffmpeg.sh | 2 +- .../qtci-macos-14-arm/90-install-ffmpeg.sh | 2 +- .../qtci-macos-14-x86_64/90-install-ffmpeg.sh | 2 +- .../qtci-macos-15-arm/90-install-ffmpeg.sh | 2 +- .../qtci-macos-15-x86_64/90-install-ffmpeg.sh | 2 +- .../qtci-macos-26-arm/90-install-ffmpeg.sh | 2 +- .../qtci-macos-26-x86_64/90-install-ffmpeg.sh | 2 +- .../qtci-macos-27-arm/90-install-ffmpeg.sh | 2 +- 20 files changed, 284 insertions(+), 116 deletions(-) create mode 100755 coin/provisioning/common/unix/install-ffmpeg-android-multi-ndk.sh 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"