summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Mira <samuel.mira@qt.io>2023-04-25 16:53:11 +0300
committerAlexey Edelev <alexey.edelev@qt.io>2023-05-16 18:35:23 +0200
commit2751db4d2902083d3678d16fdb444e053138be19 (patch)
treefab0c72ef0502d6dd630c34beaab2ddc5c4fc4ed
parent84df93d37e8e56028ced3d8b2fac9777065c152f (diff)
downloadqt5-2751db4d2902083d3678d16fdb444e053138be19.tar.gz
Fix FFmpeg provisioning for Android armv7a
Altered install-ffmpeg.ps1 script to build android armv7a archicture Task-number: QTQAINFRA-5476 Pick-to: 6.5 Change-Id: I5179174c8676a3016df2922c00030e9d45a9009c Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r--coin/platform_configs/cmake_platforms_target_android.yaml2
-rw-r--r--coin/provisioning/common/windows/install-ffmpeg.ps133
2 files changed, 33 insertions, 2 deletions
diff --git a/coin/platform_configs/cmake_platforms_target_android.yaml b/coin/platform_configs/cmake_platforms_target_android.yaml
index ef6bd86b..b758abd3 100644
--- a/coin/platform_configs/cmake_platforms_target_android.yaml
+++ b/coin/platform_configs/cmake_platforms_target_android.yaml
@@ -32,7 +32,7 @@ Configurations:
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'CONAN_HOST_PROFILE=coin/conan/profiles/ci-windows-x86_64-mingw',
'CONAN_PROFILE=coin/conan/profiles/ci-windows-android-armv7-clang',
- 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}}',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1
index 933b2993..72c406f9 100644
--- a/coin/provisioning/common/windows/install-ffmpeg.ps1
+++ b/coin/provisioning/common/windows/install-ffmpeg.ps1
@@ -134,13 +134,44 @@ function InstallLlvmMingwFfmpeg {
return InstallFfmpeg -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin"
}
+function InstallAndroidArmv7 {
+
+ $target_toolchain_arch="armv7a-linux-androideabi"
+ $target_arch="armv7-a"
+ $target_cpu="armv7-a"
+ $api_version="24"
+
+ $ndkVersionLatest = "r25b"
+ $ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest"
+
+ $toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64"
+ $toolchain_bin="${toolchain}/bin"
+ $sysroot="${toolchain}/sysroot"
+ $cxx="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++"
+ $cc="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang"
+ $ld="${toolchain_bin}/ld.exe"
+ $ar="${toolchain_bin}/llvm-ar.exe"
+ $ranlib="${toolchain_bin}/llvm-ranlib.exe"
+ $nm="${toolchain_bin}/llvm-nm.exe"
+ $strip="${toolchain_bin}/llvm-strip.exe"
+
+ $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+ $config += " --disable-vulkan --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
+ $config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
+ $config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
+
+ return InstallFfmpeg -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7"
+}
+
$mingwRes = InstallMingwFfmpeg
$msvcRes = InstallMsvcFfmpeg
$llvmMingwRes = InstallLlvmMingwFfmpeg
+$androidArmV7Res = InstallAndroidArmv7
Write-Host "Ffmpeg installation results:"
Write-Host " mingw:" $(if ($mingwRes) { "OK" } else { "FAIL" })
Write-Host " msvc:" $(if ($msvcRes) { "OK" } else { "FAIL" })
Write-Host " llvm-mingw:" $(if ($llvmMingwRes) { "OK" } else { "FAIL" })
+Write-Host " android-armv7:" $(if ($androidArmV7Res) { "OK" } else { "FAIL" })
-exit $(if ($mingwRes -and $msvcRes -and $llvmMingwRes) { 0 } else { 1 })
+exit $(if ($mingwRes -and $msvcRes -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 })