mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-06-28 00:43:05 +03:00
Build libavif with -Os and with LTO enabled
This commit is contained in:
parent
8a6e5affa1
commit
deb1c9dd4a
9
.github/workflows/wheels-dependencies.sh
vendored
9
.github/workflows/wheels-dependencies.sh
vendored
|
@ -129,6 +129,12 @@ function build_libavif {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local build_type=MinSizeRel
|
||||||
|
|
||||||
|
if [[ -z "$IS_ALPINE" ]] && [[ "$MB_ML_VER" == 2014 ]]; then
|
||||||
|
build_type=Release
|
||||||
|
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)
|
||||||
# CONFIG_AV1_DECODER=0 is a flag for libaom (included as a subproject of
|
# CONFIG_AV1_DECODER=0 is a flag for libaom (included as a subproject of
|
||||||
# libavif) to disable the compilation and inclusion of aom's AV1 decoder.
|
# libavif) to disable the compilation and inclusion of aom's AV1 decoder.
|
||||||
|
@ -138,7 +144,6 @@ function build_libavif {
|
||||||
-DCMAKE_INSTALL_LIBDIR=$BUILD_PREFIX/lib \
|
-DCMAKE_INSTALL_LIBDIR=$BUILD_PREFIX/lib \
|
||||||
-DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib \
|
-DCMAKE_INSTALL_NAME_DIR=$BUILD_PREFIX/lib \
|
||||||
-DCMAKE_MACOSX_RPATH=OFF \
|
-DCMAKE_MACOSX_RPATH=OFF \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
-DAVIF_LIBSHARPYUV=LOCAL \
|
-DAVIF_LIBSHARPYUV=LOCAL \
|
||||||
-DAVIF_LIBYUV=LOCAL \
|
-DAVIF_LIBYUV=LOCAL \
|
||||||
|
@ -146,6 +151,8 @@ function build_libavif {
|
||||||
-DCONFIG_AV1_DECODER=0 \
|
-DCONFIG_AV1_DECODER=0 \
|
||||||
-DAVIF_CODEC_AOM_DECODE=OFF \
|
-DAVIF_CODEC_AOM_DECODE=OFF \
|
||||||
-DAVIF_CODEC_DAV1D=LOCAL \
|
-DAVIF_CODEC_DAV1D=LOCAL \
|
||||||
|
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||||
|
-DCMAKE_BUILD_TYPE=$build_type \
|
||||||
. \
|
. \
|
||||||
&& make install)
|
&& make install)
|
||||||
touch libavif-stamp
|
touch libavif-stamp
|
||||||
|
|
|
@ -57,7 +57,10 @@ def cmd_nmake(
|
||||||
|
|
||||||
|
|
||||||
def cmds_cmake(
|
def cmds_cmake(
|
||||||
target: str | tuple[str, ...] | list[str], *params: str, build_dir: str = "."
|
target: str | tuple[str, ...] | list[str],
|
||||||
|
*params: str,
|
||||||
|
build_dir: str = ".",
|
||||||
|
build_type: str = "Release",
|
||||||
) -> list[str]:
|
) -> list[str]:
|
||||||
if not isinstance(target, str):
|
if not isinstance(target, str):
|
||||||
target = " ".join(target)
|
target = " ".join(target)
|
||||||
|
@ -66,7 +69,7 @@ def cmds_cmake(
|
||||||
" ".join(
|
" ".join(
|
||||||
[
|
[
|
||||||
"{cmake}",
|
"{cmake}",
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
f"-DCMAKE_BUILD_TYPE={build_type}",
|
||||||
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
"-DCMAKE_VERBOSE_MAKEFILE=ON",
|
||||||
"-DCMAKE_RULE_MESSAGES:BOOL=OFF", # for NMake
|
"-DCMAKE_RULE_MESSAGES:BOOL=OFF", # for NMake
|
||||||
"-DCMAKE_C_COMPILER=cl.exe", # for Ninja
|
"-DCMAKE_C_COMPILER=cl.exe", # for Ninja
|
||||||
|
@ -396,6 +399,8 @@ DEPS: dict[str, dict[str, Any]] = {
|
||||||
"-DAVIF_CODEC_AOM_DECODE=OFF",
|
"-DAVIF_CODEC_AOM_DECODE=OFF",
|
||||||
"-DAVIF_CODEC_DAV1D=LOCAL",
|
"-DAVIF_CODEC_DAV1D=LOCAL",
|
||||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
|
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
|
||||||
|
"-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON",
|
||||||
|
build_type="MinSizeRel",
|
||||||
),
|
),
|
||||||
cmd_xcopy("include", "{inc_dir}"),
|
cmd_xcopy("include", "{inc_dir}"),
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue
Block a user