1################################################################################
2#
3# libheif
4#
5################################################################################
6
7LIBHEIF_VERSION = 1.17.6
8LIBHEIF_SITE = https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)
9LIBHEIF_LICENSE = LGPL-3.0+
10LIBHEIF_LICENSE_FILES = COPYING
11LIBHEIF_CPE_ID_VENDOR = struktur
12LIBHEIF_INSTALL_STAGING = YES
13LIBHEIF_CONF_OPTS = \
14	-DCMAKE_CXX_FLAGS="-std=c++11" \
15	-DENABLE_PLUGIN_LOADING=OFF \
16	-DWITH_AOM_DECODER=OFF \
17	-DWITH_AOM_ENCODER=OFF \
18	-DWITH_DEFLATE_HEADER_COMPRESSION=OFF \
19	-DWITH_EXAMPLES=OFF \
20	-DWITH_GDK_PIXBUF=OFF \
21	-DWITH_LIBSHARPYUV=OFF \
22	-DWITH_RAV1E=OFF \
23	-DWITH_REDUCED_VISIBILITY=ON \
24	-DWITH_SvtEnc=OFF
25
26ifeq ($(BR2_PACKAGE_DAV1D),y)
27LIBHEIF_CONF_OPTS += -DWITH_DAV1D=ON
28LIBHEIF_DEPENDENCIES += dav1d
29else
30LIBHEIF_CONF_OPTS += -DWITH_DAV1D=OFF
31endif
32
33ifeq ($(BR2_PACKAGE_FFMPEG),y)
34LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=ON
35LIBHEIF_DEPENDENCIES += ffmpeg
36else
37LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=OFF
38endif
39
40ifeq ($(BR2_PACKAGE_KVAZAAR),y)
41LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=ON
42LIBHEIF_DEPENDENCIES += kvazaar
43else
44LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=OFF
45endif
46
47ifeq ($(BR2_PACKAGE_LIBDE265),y)
48LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=ON
49LIBHEIF_DEPENDENCIES += libde265
50else
51LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=OFF
52endif
53
54ifeq ($(BR2_PACKAGE_JPEG),y)
55LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON
56LIBHEIF_DEPENDENCIES += jpeg
57else
58LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=OFF -DWITH_JPEG_ENCODER=OFF
59endif
60
61ifeq ($(BR2_PACKAGE_OPENJPEG),y)
62LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=ON -DWITH_OpenJPEG_ENCODER=ON
63LIBHEIF_DEPENDENCIES += openjpeg
64else
65LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=OFF -DWITH_OpenJPEG_ENCODER=OFF
66endif
67
68ifeq ($(BR2_PACKAGE_X265),y)
69LIBHEIF_CONF_OPTS += -DWITH_X265=ON
70LIBHEIF_DEPENDENCIES += x265
71else
72LIBHEIF_CONF_OPTS += -DWITH_X265=OFF
73endif
74
75ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
76LIBHEIF_CONF_OPTS += -DENABLE_MULTITHREADING_SUPPORT=ON
77ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y)
78LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=OFF
79else
80LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=ON
81endif
82else
83LIBHEIF_CONF_OPTS += \
84	-DENABLE_MULTITHREADING_SUPPORT=OFF \
85	-DENABLE_PARALLEL_TILE_DECODING=OFF
86endif
87
88$(eval $(cmake-package))
89