Coin, iOS, FFmpeg: Stop installing .dylibs in iOS FFmpeg provisioning

On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.

This patch removes this installation step during provisioning.

Pick-to: 6.9 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
Nils Petter Skålerud 2025-03-27 10:35:45 +01:00 committed by Nils Petter Skålerud
parent eb290c48d4
commit 9c7e564d7e
1 changed files with 7 additions and 28 deletions

View File

@ -60,33 +60,6 @@ build_ffmpeg_ios() {
popd popd
} }
install_ffmpeg() {
for dir in "$@"; do
echo "Processing files in $dir ..."
pushd "$dir" >/dev/null
find . -type l -name '*.*.dylib' | while read -r f; do
dst="${f:1}"
dstdir="$(dirname "$dst")"
sudo mkdir -p "$dstdir"
if [[ ! -f "$dst" ]]; then
echo "<Copying $dir/$f to $dst"
sudo cp -c "$f" "$dst"
symlinkname="$(tmp=${f/*\/}; echo ${tmp/\.*}).dylib"
sudo ln -s "$(basename -- "$f")" $dstdir/"$symlinkname"
elif lipo -info "$f" >/dev/null 2>&1; then
echo "Lipoing $dir/$f into $dst"
sudo lipo -create -output "$dst" "$dst" "$f"
elif ! diff "$f" "$dst"; then
echo "Error: File $f in $dir doesn't match destination $dst"
exit 1
fi
done
popd >/dev/null
done
sudo cp -r $1$prefix/include $prefix
}
build_info_plist() { build_info_plist() {
local file_path="$1" local file_path="$1"
local framework_name="$2" local framework_name="$2"
@ -189,6 +162,12 @@ for name in $ffmpeg_libs; do
create_xcframework $name "arm64-iphoneos" "x86_64-simulator" create_xcframework $name "arm64-iphoneos" "x86_64-simulator"
done done
install_ffmpeg "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed" # xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed/usr/local/ios/ffmpeg/include" $prefix
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
# So we create a dummy "lib" folder to pass the check.
sudo mkdir -p "${prefix}/lib"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix