For iOS x86_64, do not use dav1d and build aom without optimizations (#8)

Co-authored-by: Andrew Murray <radarhere@users.noreply.github.com>
This commit is contained in:
Andrew Murray 2025-08-02 11:51:59 +10:00 committed by GitHub
parent d042ce3b19
commit 41b83dc0d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 11 additions and 14 deletions

View File

@ -186,7 +186,7 @@ function build_libavif {
python3 -m pip install meson ninja python3 -m pip install meson ninja
if [[ "$PLAT" == "x86_64" ]] || [ -n "$SANITIZER" ]; then if ([[ "$PLAT" == "x86_64" ]] && [[ -z "$IOS_SDK" ]]) || [ -n "$SANITIZER" ]; then
build_simple nasm 2.16.03 https://www.nasm.us/pub/nasm/releasebuilds/2.16.03 build_simple nasm 2.16.03 https://www.nasm.us/pub/nasm/releasebuilds/2.16.03
fi fi
@ -196,7 +196,7 @@ function build_libavif {
local libavif_cmake_flags local libavif_cmake_flags
if [ -n "$IS_MACOS" ]; then if [[ -n "$IS_MACOS" ]]; then
lto=OFF lto=OFF
libavif_cmake_flags=( libavif_cmake_flags=(
-DCMAKE_C_FLAGS_MINSIZEREL="-Oz -DNDEBUG -flto" \ -DCMAKE_C_FLAGS_MINSIZEREL="-Oz -DNDEBUG -flto" \
@ -212,6 +212,14 @@ function build_libavif {
fi fi
libavif_cmake_flags=(-DCMAKE_SHARED_LINKER_FLAGS_INIT="-Wl,--strip-all,-z,relro,-z,now") libavif_cmake_flags=(-DCMAKE_SHARED_LINKER_FLAGS_INIT="-Wl,--strip-all,-z,relro,-z,now")
fi fi
if [[ -n "$IOS_SDK" ]] && [[ "$PLAT" == "x86_64" ]]; then
libavif_cmake_flags+=(-DAOM_TARGET_CPU=generic)
else
libavif_cmake_flags+=(
-DAVIF_CODEC_AOM_DECODE=OFF \
-DAVIF_CODEC_DAV1D=LOCAL
)
fi
local out_dir=$(fetch_unpack https://github.com/AOMediaCodec/libavif/archive/refs/tags/v$LIBAVIF_VERSION.tar.gz libavif-$LIBAVIF_VERSION.tar.gz) local out_dir=$(fetch_unpack https://github.com/AOMediaCodec/libavif/archive/refs/tags/v$LIBAVIF_VERSION.tar.gz libavif-$LIBAVIF_VERSION.tar.gz)
@ -227,8 +235,6 @@ function build_libavif {
-DAVIF_LIBYUV=LOCAL \ -DAVIF_LIBYUV=LOCAL \
-DAVIF_CODEC_AOM=LOCAL \ -DAVIF_CODEC_AOM=LOCAL \
-DCONFIG_AV1_HIGHBITDEPTH=0 \ -DCONFIG_AV1_HIGHBITDEPTH=0 \
-DAVIF_CODEC_AOM_DECODE=OFF \
-DAVIF_CODEC_DAV1D=LOCAL \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$lto \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$lto \
-DCMAKE_C_VISIBILITY_PRESET=hidden \ -DCMAKE_C_VISIBILITY_PRESET=hidden \
-DCMAKE_CXX_VISIBILITY_PRESET=hidden \ -DCMAKE_CXX_VISIBILITY_PRESET=hidden \
@ -282,12 +288,7 @@ function build {
build_tiff build_tiff
fi fi
if [[ -z "$IOS_SDK" ]] || [[ "$PLAT" == "arm64" ]]; then
# Building libavif for x86_64 iOS simulator isn't currently possible
# because it requires the use of nasm, which doesn't create
# iOS-compatible binaries.
build_libavif build_libavif
fi
build_libpng build_libpng
build_lcms2 build_lcms2
build_openjpeg build_openjpeg

View File

@ -27,10 +27,6 @@ def test_wheel_modules() -> None:
# tkinter is not available on iOS # tkinter is not available on iOS
expected_modules.remove("tkinter") expected_modules.remove("tkinter")
# libavif is not available on x86_64 iOS simulators
if platform.machine() == "x86_64":
expected_modules.remove("avif")
assert set(features.get_supported_modules()) == expected_modules assert set(features.get_supported_modules()) == expected_modules