mirror of
git://code.qt.io/qt/qt5.git
synced 2026-02-01 19:36:04 +08:00
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>
This commit is contained in:
committed by
Alexey Edelev
parent
84df93d37e
commit
2751db4d29
@@ -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}}'
|
||||
]
|
||||
-
|
||||
|
||||
@@ -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 })
|
||||
|
||||
Reference in New Issue
Block a user