diff options
author | Samuel Mira <samuel.mira@qt.io> | 2023-04-25 16:53:11 +0300 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2023-05-16 18:35:23 +0200 |
commit | 2751db4d2902083d3678d16fdb444e053138be19 (patch) | |
tree | fab0c72ef0502d6dd630c34beaab2ddc5c4fc4ed | |
parent | 84df93d37e8e56028ced3d8b2fac9777065c152f (diff) | |
download | qt5-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.yaml | 2 | ||||
-rw-r--r-- | coin/provisioning/common/windows/install-ffmpeg.ps1 | 33 |
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 }) |