11
11
MAKE_INSTALL=(sudo make install)
12
12
fi
13
13
14
+ PKGCONFIG=${PKGCONFIG:- pkg-config}
15
+
14
16
export CFLAGS=" -fPIC -O3 $CFLAGS "
15
17
export CXXFLAGS=" -fPIC -O3 $CXXFLAGS "
16
18
@@ -19,24 +21,54 @@ curl -sLo - \
19
21
| tar Czxf . -
20
22
pushd libavif-$LIBAVIF_VERSION
21
23
22
- cd ext
23
- bash libyuv.cmd
24
- bash aom.cmd
25
- # dav1d needs to be compiled with -Denable_avx512=false to accomodate
26
- # older nasm on some systems
27
- perl -pi -e ' s/^meson /meson -Denable_avx512=false /g' dav1d.cmd
28
- bash dav1d.cmd
29
- cd ..
24
+ HAS_DECODER=0
25
+ HAS_ENCODER=0
26
+
27
+ if $PKGCONFIG --exists dav1d; then
28
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_DAV1D=ON)
29
+ HAS_DECODER=1
30
+ fi
31
+
32
+ if $PKGCONFIG --exists rav1e; then
33
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_RAV1E=ON)
34
+ HAS_ENCODER=1
35
+ fi
36
+
37
+ if $PKGCONFIG --exists SvtAv1Enc; then
38
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_SVT=ON)
39
+ HAS_ENCODER=1
40
+ fi
41
+
42
+ if $PKGCONFIG --exists libgav1; then
43
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_LIBGAV1=ON)
44
+ HAS_DECODER=1
45
+ fi
46
+
47
+ if $PKGCONFIG --exists aom; then
48
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_AOM=ON)
49
+ HAS_ENCODER=1
50
+ HAS_DECODER=1
51
+ fi
52
+
53
+ if [ " $HAS_ENCODER " != 1 ] || [ " $HAS_DECODER " != 1 ]; then
54
+ pushd ext > /dev/null
55
+ bash aom.cmd
56
+ popd > /dev/null
57
+ LIBAVIF_CMAKE_FLAGS+=(-DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_AOM=ON)
58
+ fi
59
+
60
+ if uname -s | grep -q Darwin; then
61
+ # Prevent cmake from using @rpath in install id, so that delocate can
62
+ # find and bundle the libavif dylib
63
+ LIBAVIF_CMAKE_FLAGS+=(" -DCMAKE_INSTALL_NAME_DIR=$PREFIX /lib" -DCMAKE_MACOSX_RPATH=OFF)
64
+ fi
30
65
31
66
mkdir build
32
67
cd build
33
68
cmake .. \
34
69
-DCMAKE_INSTALL_PREFIX=$PREFIX \
35
- -DAVIF_CODEC_AOM=ON \
36
- -DAVIF_LOCAL_AOM=ON \
37
- -DAVIF_CODEC_DAV1D=ON \
38
- -DAVIF_LOCAL_DAV1D=ON \
39
- -DAVIF_LOCAL_LIBYUV=ON
70
+ -DCMAKE_BUILD_TYPE=Release \
71
+ " ${LIBAVIF_CMAKE_FLAGS[@]} "
40
72
make && " ${MAKE_INSTALL[@]} "
41
73
cd ..
42
74
0 commit comments