diff --git a/coin/provisioning/common/unix/ffmpeg-installation-utils.sh b/coin/provisioning/common/unix/ffmpeg-installation-utils.sh index 9588ca17..1e7dfd52 100755 --- a/coin/provisioning/common/unix/ffmpeg-installation-utils.sh +++ b/coin/provisioning/common/unix/ffmpeg-installation-utils.sh @@ -65,3 +65,11 @@ set_ffmpeg_dir_env_var() { source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" SetEnvVar "$envvar" "$dir" } + +set_ffmpeg_env_var() { + local envvar="$1" + local value="$2" + + source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + SetEnvVar "$envvar" "$value" +} diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index e129102a..94f6d19e 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -9,7 +9,8 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh" os="$1" # Optional parameter to set output installation directory. Useful for local builds. -target_install_dir_param="$2" +page_size="$2" +target_install_dir_param="$3" build_type=$(get_ffmpeg_build_type) ffmpeg_source_dir=$(download_ffmpeg) @@ -88,7 +89,15 @@ 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}" ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}" - + if [ $page_size == "use_16kb_page_size" ]; 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 + 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" pushd "$build_dir" diff --git a/coin/provisioning/common/unix/openssl_for_android.sh b/coin/provisioning/common/unix/openssl_for_android.sh index 22114bea..ee3cf958 100755 --- a/coin/provisioning/common/unix/openssl_for_android.sh +++ b/coin/provisioning/common/unix/openssl_for_android.sh @@ -13,11 +13,11 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" sslVersionForLatest="3.0.7" ndkVersionLatest="r27c" -prebuiltOpensslShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e" +prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8" sslVersionForPreview="3.0.7" ndkVersionPreview="r29-beta2" -prebuiltOpensslShaPreview="c2cf8fabfb7e00b31abcc554e6e306dafd99ae1b" +prebuiltOpensslShaPreview="76c9788216440111be97ea1a63c4d8cd807baacd" ndkVersionNightly1=$ndkVersionLatest sslVersionForNightly1=$sslVersionForLatest @@ -65,10 +65,10 @@ function InstallPrebuiltOpenssl() { sha=$2 sslVersion=$3 - opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}" + opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb" if [[ ! -d ${opensslHome} ]]; then - prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip" - targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip" + prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip" + targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip" DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile" unzip -o "$targetFile" -d "${HOME}" 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 8dcbdf7c..13af3a7b 100644 --- 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" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" +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" 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 90c52cd3..4b38a74a 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" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" +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" 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 1184e5a5..1ec85bee 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" "use_16kb_page_size" 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 8dcbdf7c..13af3a7b 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" -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" +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" 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 e6b40aa1..d0c4db0b 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" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 c36eda45..70dee095 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 e6b40aa1..d0c4db0b 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" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 c36eda45..70dee095 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 ca2f1648..7bb560cd 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 c36eda45..70dee095 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 e6b40aa1..d0c4db0b 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" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 c36eda45..70dee095 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" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/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 e6b40aa1..d0c4db0b 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" +#source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" "use_16kb_page_size" source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-ios.sh"