Further reduce size (LTO on macOS, more aggressive symbol stripping)

This commit is contained in:
Frankie Dintino 2025-04-23 15:13:06 -04:00
parent 6c918a02b8
commit 5573242126
No known key found for this signature in database
GPG Key ID: 97E295AACFBABD9E

View File

@ -111,10 +111,20 @@ function build_libavif {
local build_type=MinSizeRel local build_type=MinSizeRel
local lto=ON local lto=ON
local libavif_cmake_flags=()
if [ -n "$IS_MACOS" ]; then if [ -n "$IS_MACOS" ]; then
lto=OFF lto=OFF
elif [[ "$MB_ML_VER" == 2014 ]] && [[ "$PLAT" == "x86_64" ]]; then libavif_cmake_flags+=(
build_type=Release -DCMAKE_C_FLAGS_MINSIZEREL="-Oz -DNDEBUG -flto " \
-DCMAKE_CXX_FLAGS_MINSIZEREL="-Oz -DNDEBUG -flto" \
-DCMAKE_SHARED_LINKER_FLAGS_INIT="-Wl,-S,-x,-dead_strip_dylibs" \
)
else
if [[ "$MB_ML_VER" == 2014 ]] && [[ "$PLAT" == "x86_64" ]]; then
build_type=Release
fi
libavif_cmake_flags+=(-DCMAKE_SHARED_LINKER_FLAGS_INIT="-Wl,--strip-all,-z,relro,-z,now")
fi 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)
@ -136,7 +146,10 @@ function build_libavif {
-DAVIF_CODEC_AOM_DECODE=OFF \ -DAVIF_CODEC_AOM_DECODE=OFF \
-DAVIF_CODEC_DAV1D=LOCAL \ -DAVIF_CODEC_DAV1D=LOCAL \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$lto \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$lto \
-DCMAKE_C_VISIBILITY_PRESET=hidden \
-DCMAKE_CXX_VISIBILITY_PRESET=hidden \
-DCMAKE_BUILD_TYPE=$build_type \ -DCMAKE_BUILD_TYPE=$build_type \
"${libavif_cmake_flags[@]}" \
. \ . \
&& make install) && make install)
touch libavif-stamp touch libavif-stamp