xref: /OK3568_Linux_fs/buildroot/package/kodi/kodi.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# kodi
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun# When updating the version, please also update kodi-jsonschemabuilder
8*4882a593Smuzhiyun# and kodi-texturepacker
9*4882a593SmuzhiyunKODI_VERSION_MAJOR = 19.3
10*4882a593SmuzhiyunKODI_VERSION_NAME = Matrix
11*4882a593SmuzhiyunKODI_VERSION = $(KODI_VERSION_MAJOR)-$(KODI_VERSION_NAME)
12*4882a593SmuzhiyunKODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
13*4882a593SmuzhiyunKODI_LICENSE = GPL-2.0
14*4882a593SmuzhiyunKODI_LICENSE_FILES = LICENSE.md
15*4882a593SmuzhiyunKODI_CPE_ID_VENDOR = kodi
16*4882a593SmuzhiyunKODI_CPE_ID_VERSION = $(KODI_VERSION_MAJOR)
17*4882a593Smuzhiyun# needed for binary addons
18*4882a593SmuzhiyunKODI_INSTALL_STAGING = YES
19*4882a593Smuzhiyun# kodi recommends building out-of-source
20*4882a593SmuzhiyunKODI_SUPPORTS_IN_SOURCE_BUILD = NO
21*4882a593SmuzhiyunKODI_DEPENDENCIES = \
22*4882a593Smuzhiyun	ffmpeg \
23*4882a593Smuzhiyun	flatbuffers \
24*4882a593Smuzhiyun	fmt \
25*4882a593Smuzhiyun	fontconfig \
26*4882a593Smuzhiyun	freetype \
27*4882a593Smuzhiyun	fstrcmp \
28*4882a593Smuzhiyun	host-flatbuffers \
29*4882a593Smuzhiyun	host-gawk \
30*4882a593Smuzhiyun	host-gettext \
31*4882a593Smuzhiyun	host-gperf \
32*4882a593Smuzhiyun	host-kodi-jsonschemabuilder \
33*4882a593Smuzhiyun	host-kodi-texturepacker \
34*4882a593Smuzhiyun	host-nasm \
35*4882a593Smuzhiyun	host-swig \
36*4882a593Smuzhiyun	host-xmlstarlet \
37*4882a593Smuzhiyun	libass \
38*4882a593Smuzhiyun	libcdio \
39*4882a593Smuzhiyun	libcrossguid \
40*4882a593Smuzhiyun	libcurl \
41*4882a593Smuzhiyun	libdrm \
42*4882a593Smuzhiyun	libegl \
43*4882a593Smuzhiyun	libfribidi \
44*4882a593Smuzhiyun	libplist \
45*4882a593Smuzhiyun	lzo \
46*4882a593Smuzhiyun	openssl \
47*4882a593Smuzhiyun	pcre \
48*4882a593Smuzhiyun	python3 \
49*4882a593Smuzhiyun	rapidjson \
50*4882a593Smuzhiyun	spdlog \
51*4882a593Smuzhiyun	sqlite \
52*4882a593Smuzhiyun	taglib \
53*4882a593Smuzhiyun	tinyxml \
54*4882a593Smuzhiyun	zlib
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun# taken from tools/depends/target/*/*-VERSION
57*4882a593SmuzhiyunKODI_LIBDVDCSS_VERSION = 1.4.2-Leia-Beta-5
58*4882a593SmuzhiyunKODI_LIBDVDNAV_VERSION = 6.0.0-Leia-Alpha-3
59*4882a593SmuzhiyunKODI_LIBDVDREAD_VERSION = 6.0.0-Leia-Alpha-3
60*4882a593SmuzhiyunKODI_EXTRA_DOWNLOADS += \
61*4882a593Smuzhiyun	$(call github,xbmc,libdvdcss,$(KODI_LIBDVDCSS_VERSION))/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \
62*4882a593Smuzhiyun	$(call github,xbmc,libdvdnav,$(KODI_LIBDVDNAV_VERSION))/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \
63*4882a593Smuzhiyun	$(call github,xbmc,libdvdread,$(KODI_LIBDVDREAD_VERSION))/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz
64*4882a593Smuzhiyun
65*4882a593SmuzhiyunKODI_CONF_OPTS += \
66*4882a593Smuzhiyun	-DCMAKE_C_FLAGS="$(TARGET_CFLAGS) $(KODI_C_FLAGS)" \
67*4882a593Smuzhiyun	-DENABLE_APP_AUTONAME=OFF \
68*4882a593Smuzhiyun	-DENABLE_CCACHE=OFF \
69*4882a593Smuzhiyun	-DENABLE_DVDCSS=ON \
70*4882a593Smuzhiyun	-DENABLE_INTERNAL_CROSSGUID=OFF \
71*4882a593Smuzhiyun	-DWITH_FFMPEG=$(STAGING_DIR)/usr \
72*4882a593Smuzhiyun	-DENABLE_INTERNAL_FLATBUFFERS=OFF \
73*4882a593Smuzhiyun	-DFLATBUFFERS_FLATC_EXECUTABLE=$(HOST_DIR)/bin/flatc \
74*4882a593Smuzhiyun	-DKODI_DEPENDSBUILD=OFF \
75*4882a593Smuzhiyun	-DENABLE_LDGOLD=OFF \
76*4882a593Smuzhiyun	-DNATIVEPREFIX=$(HOST_DIR) \
77*4882a593Smuzhiyun	-DDEPENDS_PATH=$(STAGING_DIR)/usr \
78*4882a593Smuzhiyun	-DENABLE_TESTING=OFF \
79*4882a593Smuzhiyun	-DWITH_JSONSCHEMABUILDER=$(HOST_DIR)/bin/JsonSchemaBuilder \
80*4882a593Smuzhiyun	-DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \
81*4882a593Smuzhiyun	-DLIBDVDCSS_URL=$(KODI_DL_DIR)/kodi-libdvdcss-$(KODI_LIBDVDCSS_VERSION).tar.gz \
82*4882a593Smuzhiyun	-DLIBDVDNAV_URL=$(KODI_DL_DIR)/kodi-libdvdnav-$(KODI_LIBDVDNAV_VERSION).tar.gz \
83*4882a593Smuzhiyun	-DLIBDVDREAD_URL=$(KODI_DL_DIR)/kodi-libdvdread-$(KODI_LIBDVDREAD_VERSION).tar.gz
84*4882a593Smuzhiyun
85*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GL),y)
86*4882a593SmuzhiyunKODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gl
87*4882a593SmuzhiyunKODI_DEPENDENCIES += libgl libglu
88*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_KODI_RENDER_SYSTEM_GLES),y)
89*4882a593SmuzhiyunKODI_CONF_OPTS += -DAPP_RENDER_SYSTEM=gles
90*4882a593SmuzhiyunKODI_DEPENDENCIES += libgles
91*4882a593Smuzhiyunendif
92*4882a593Smuzhiyun
93*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_GBM),y)
94*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += gbm
95*4882a593SmuzhiyunKODI_DEPENDENCIES += libinput libxkbcommon mesa3d
96*4882a593Smuzhiyunendif
97*4882a593Smuzhiyun
98*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND),y)
99*4882a593SmuzhiyunKODI_CONF_OPTS += \
100*4882a593Smuzhiyun	-DPC_WAYLANDPP_SCANNER=$(HOST_DIR)/bin/wayland-scanner \
101*4882a593Smuzhiyun	-DPC_WAYLANDPP_SCANNER_FOUND=ON
102*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += wayland
103*4882a593SmuzhiyunKODI_DEPENDENCIES += libxkbcommon waylandpp
104*4882a593Smuzhiyunendif
105*4882a593Smuzhiyun
106*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11),y)
107*4882a593SmuzhiyunKODI_CORE_PLATFORM_NAME += x11
108*4882a593SmuzhiyunKODI_DEPENDENCIES += \
109*4882a593Smuzhiyun	xlib_libX11 \
110*4882a593Smuzhiyun	xlib_libXext \
111*4882a593Smuzhiyun	xlib_libXrandr
112*4882a593Smuzhiyunendif
113*4882a593Smuzhiyun
114*4882a593SmuzhiyunKODI_CONF_OPTS += -DCORE_PLATFORM_NAME="$(KODI_CORE_PLATFORM_NAME)"
115*4882a593Smuzhiyun
116*4882a593Smuzhiyunifeq ($(BR2_ENABLE_LOCALE),)
117*4882a593SmuzhiyunKODI_DEPENDENCIES += libiconv
118*4882a593Smuzhiyunendif
119*4882a593Smuzhiyun
120*4882a593Smuzhiyunifeq ($(BR2_arceb)$(BR2_arcle),y)
121*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=arc -DWITH_CPU=arc
122*4882a593Smuzhiyunelse ifeq ($(BR2_armeb),y)
123*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
124*4882a593Smuzhiyunelse ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
125*4882a593SmuzhiyunKODI_CONF_OPTS += \
126*4882a593Smuzhiyun	-DWITH_ARCH=mips$(if $(BR2_ARCH_IS_64),64) \
127*4882a593Smuzhiyun	-DWITH_CPU=mips$(if $(BR2_ARCH_IS_64),64)
128*4882a593Smuzhiyunelse ifeq ($(BR2_powerpc)$(BR2_powerpc64le),y)
129*4882a593SmuzhiyunKODI_CONF_OPTS += \
130*4882a593Smuzhiyun	-DWITH_ARCH=powerpc$(if $(BR2_ARCH_IS_64),64) \
131*4882a593Smuzhiyun	-DWITH_CPU=powerpc$(if $(BR2_ARCH_IS_64),64)
132*4882a593Smuzhiyunelse ifeq ($(BR2_powerpc64)$(BR2_sparc64)$(BR2_sh4)$(BR2_xtensa),y)
133*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_ARCH=$(BR2_ARCH) -DWITH_CPU=$(BR2_ARCH)
134*4882a593Smuzhiyunelse
135*4882a593Smuzhiyun# Kodi auto-detects ARCH, tested: arm, aarch64, i386, x86_64
136*4882a593Smuzhiyun# see project/cmake/scripts/linux/ArchSetup.cmake
137*4882a593SmuzhiyunKODI_CONF_OPTS += -DWITH_CPU=$(BR2_ARCH)
138*4882a593Smuzhiyunendif
139*4882a593Smuzhiyun
140*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE),y)
141*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON
142*4882a593Smuzhiyunelse
143*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE_OK=OFF -D_SSE_TRUE=OFF
144*4882a593Smuzhiyunendif
145*4882a593Smuzhiyun
146*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE2),y)
147*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE2_OK=ON -D_SSE2_TRUE=ON
148*4882a593Smuzhiyunelse
149*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE2_OK=OFF -D_SSE2_TRUE=OFF
150*4882a593Smuzhiyunendif
151*4882a593Smuzhiyun
152*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE3),y)
153*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE3_OK=ON -D_SSE3_TRUE=ON
154*4882a593Smuzhiyunelse
155*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE3_OK=OFF -D_SSE3_TRUE=OFF
156*4882a593Smuzhiyunendif
157*4882a593Smuzhiyun
158*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
159*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSSE3_OK=ON -D_SSSE3_TRUE=ON
160*4882a593Smuzhiyunelse
161*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSSE3_OK=OFF -D_SSSE3_TRUE=OFF
162*4882a593Smuzhiyunendif
163*4882a593Smuzhiyun
164*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE4),y)
165*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE41_OK=ON -D_SSE41_TRUE=ON
166*4882a593Smuzhiyunelse
167*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE41_OK=OFF -D_SSE41_TRUE=OFF
168*4882a593Smuzhiyunendif
169*4882a593Smuzhiyun
170*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_SSE42),y)
171*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE42_OK=ON -D_SSE42_TRUE=ON
172*4882a593Smuzhiyunelse
173*4882a593SmuzhiyunKODI_CONF_OPTS += -D_SSE42_OK=OFF -D_SSE42_TRUE=OFF
174*4882a593Smuzhiyunendif
175*4882a593Smuzhiyun
176*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_AVX),y)
177*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX_OK=ON -D_AVX_TRUE=ON
178*4882a593Smuzhiyunelse
179*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX_OK=OFF -D_AVX_TRUE=OFF
180*4882a593Smuzhiyunendif
181*4882a593Smuzhiyun
182*4882a593Smuzhiyunifeq ($(BR2_X86_CPU_HAS_AVX2),y)
183*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX2_OK=ON -D_AVX2_TRUE=ON
184*4882a593Smuzhiyunelse
185*4882a593SmuzhiyunKODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF
186*4882a593Smuzhiyunendif
187*4882a593Smuzhiyun
188*4882a593Smuzhiyun# mips: uses __atomic_load_8
189*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
190*4882a593SmuzhiyunKODI_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
191*4882a593Smuzhiyunendif
192*4882a593Smuzhiyun
193*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_5),)
194*4882a593SmuzhiyunKODI_C_FLAGS += -std=gnu99
195*4882a593Smuzhiyunendif
196*4882a593Smuzhiyun
197*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_MYSQL),y)
198*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON
199*4882a593SmuzhiyunKODI_DEPENDENCIES += mysql
200*4882a593Smuzhiyunelse
201*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF
202*4882a593Smuzhiyunendif
203*4882a593Smuzhiyun
204*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_UDEV),y)
205*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UDEV=ON
206*4882a593SmuzhiyunKODI_DEPENDENCIES += udev
207*4882a593Smuzhiyunelse
208*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UDEV=OFF
209*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBUSB),y)
210*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LIBUSB=ON
211*4882a593SmuzhiyunKODI_DEPENDENCIES += libusb-compat
212*4882a593Smuzhiyunelse
213*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LIBUSB=OFF
214*4882a593Smuzhiyunendif
215*4882a593Smuzhiyunendif
216*4882a593Smuzhiyun
217*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCAP),y)
218*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CAP=ON
219*4882a593SmuzhiyunKODI_DEPENDENCIES += libcap
220*4882a593Smuzhiyunelse
221*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CAP=OFF
222*4882a593Smuzhiyunendif
223*4882a593Smuzhiyun
224*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBXML2)$(BR2_PACKAGE_LIBXSLT),yy)
225*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_XSLT=ON
226*4882a593SmuzhiyunKODI_DEPENDENCIES += libxml2 libxslt
227*4882a593Smuzhiyunelse
228*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_XSLT=OFF
229*4882a593Smuzhiyunendif
230*4882a593Smuzhiyun
231*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_BLUEZ),y)
232*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLUETOOTH=ON
233*4882a593SmuzhiyunKODI_DEPENDENCIES += bluez5_utils
234*4882a593Smuzhiyunelse
235*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLUETOOTH=OFF
236*4882a593Smuzhiyunendif
237*4882a593Smuzhiyun
238*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_DBUS),y)
239*4882a593SmuzhiyunKODI_DEPENDENCIES += dbus
240*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_DBUS=ON
241*4882a593Smuzhiyunelse
242*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_DBUS=OFF
243*4882a593Smuzhiyunendif
244*4882a593Smuzhiyun
245*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_EVENTCLIENTS),y)
246*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=ON
247*4882a593Smuzhiyunelse
248*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_EVENTCLIENTS=OFF
249*4882a593Smuzhiyunendif
250*4882a593Smuzhiyun
251*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_ALSA_LIB),y)
252*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_ALSA=ON
253*4882a593SmuzhiyunKODI_DEPENDENCIES += alsa-lib
254*4882a593Smuzhiyunelse
255*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_ALSA=OFF
256*4882a593Smuzhiyunendif
257*4882a593Smuzhiyun
258*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y)
259*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON
260*4882a593SmuzhiyunKODI_DEPENDENCIES += libmicrohttpd
261*4882a593Smuzhiyunelse
262*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_MICROHTTPD=OFF
263*4882a593Smuzhiyunendif
264*4882a593Smuzhiyun
265*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBSMBCLIENT),y)
266*4882a593SmuzhiyunKODI_DEPENDENCIES += samba4
267*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_SMBCLIENT=ON
268*4882a593Smuzhiyunelse
269*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_SMBCLIENT=OFF
270*4882a593Smuzhiyunendif
271*4882a593Smuzhiyun
272*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBNFS),y)
273*4882a593SmuzhiyunKODI_DEPENDENCIES += libnfs
274*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_NFS=ON
275*4882a593Smuzhiyunelse
276*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_NFS=OFF
277*4882a593Smuzhiyunendif
278*4882a593Smuzhiyun
279*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBBLURAY),y)
280*4882a593SmuzhiyunKODI_DEPENDENCIES += libbluray
281*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLURAY=ON
282*4882a593Smuzhiyunelse
283*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_BLURAY=OFF
284*4882a593Smuzhiyunendif
285*4882a593Smuzhiyun
286*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBSHAIRPLAY),y)
287*4882a593SmuzhiyunKODI_DEPENDENCIES += libshairplay
288*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AIRTUNES=ON
289*4882a593Smuzhiyunelse
290*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AIRTUNES=OFF
291*4882a593Smuzhiyunendif
292*4882a593Smuzhiyun
293*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_AVAHI),y)
294*4882a593SmuzhiyunKODI_DEPENDENCIES += avahi
295*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AVAHI=ON
296*4882a593Smuzhiyunelse
297*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_AVAHI=OFF
298*4882a593Smuzhiyunendif
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBCEC),y)
301*4882a593SmuzhiyunKODI_DEPENDENCIES += libcec
302*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CEC=ON
303*4882a593Smuzhiyunelse
304*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_CEC=OFF
305*4882a593Smuzhiyunendif
306*4882a593Smuzhiyun
307*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LCMS2),y)
308*4882a593SmuzhiyunKODI_DEPENDENCIES += lcms2
309*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LCMS2=ON
310*4882a593Smuzhiyunelse
311*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_LCMS2=OFF
312*4882a593Smuzhiyunendif
313*4882a593Smuzhiyun
314*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIRC_TOOLS),y)
315*4882a593SmuzhiyunKODI_DEPENDENCIES += lirc-tools
316*4882a593Smuzhiyunendif
317*4882a593Smuzhiyun
318*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBVA),y)
319*4882a593SmuzhiyunKODI_DEPENDENCIES += libva
320*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VAAPI=ON
321*4882a593Smuzhiyunelse
322*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VAAPI=OFF
323*4882a593Smuzhiyunendif
324*4882a593Smuzhiyun
325*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_LIBVDPAU),y)
326*4882a593SmuzhiyunKODI_DEPENDENCIES += libvdpau
327*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VDPAU=ON
328*4882a593Smuzhiyunelse
329*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_VDPAU=OFF
330*4882a593Smuzhiyunendif
331*4882a593Smuzhiyun
332*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_UPNP),y)
333*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UPNP=ON
334*4882a593Smuzhiyunelse
335*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_UPNP=OFF
336*4882a593Smuzhiyunendif
337*4882a593Smuzhiyun
338*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
339*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_OPTICAL=ON
340*4882a593Smuzhiyunelse
341*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_OPTICAL=OFF
342*4882a593Smuzhiyunendif
343*4882a593Smuzhiyun
344*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_KODI_PULSEAUDIO),y)
345*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_PULSEAUDIO=ON
346*4882a593SmuzhiyunKODI_DEPENDENCIES += pulseaudio
347*4882a593Smuzhiyunelse
348*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_PULSEAUDIO=OFF
349*4882a593Smuzhiyunendif
350*4882a593Smuzhiyun
351*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBUDFREAD),y)
352*4882a593SmuzhiyunKODI_DEPENDENCIES += libudfread
353*4882a593Smuzhiyunelse
354*4882a593SmuzhiyunKODI_CONF_OPTS += -DENABLE_INTERNAL_UDFREAD=OFF
355*4882a593Smuzhiyunendif
356*4882a593Smuzhiyun
357*4882a593Smuzhiyun# Remove versioncheck addon, updating Kodi is done by building a new
358*4882a593Smuzhiyun# buildroot image.
359*4882a593SmuzhiyunKODI_ADDON_MANIFEST = $(TARGET_DIR)/usr/share/kodi/system/addon-manifest.xml
360*4882a593Smuzhiyundefine KODI_CLEAN_UNUSED_ADDONS
361*4882a593Smuzhiyun	rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/service.xbmc.versioncheck
362*4882a593Smuzhiyun	$(HOST_DIR)/bin/xml ed -L \
363*4882a593Smuzhiyun		-d "/addons/addon[text()='service.xbmc.versioncheck']" \
364*4882a593Smuzhiyun		$(KODI_ADDON_MANIFEST)
365*4882a593Smuzhiyunendef
366*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS
367*4882a593Smuzhiyun
368*4882a593Smuzhiyundefine KODI_INSTALL_BR_WRAPPER
369*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 package/kodi/br-kodi \
370*4882a593Smuzhiyun		$(TARGET_DIR)/usr/bin/br-kodi
371*4882a593Smuzhiyunendef
372*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_BR_WRAPPER
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun# When run from a startup script, Kodi has no $HOME where to store its
375*4882a593Smuzhiyun# configuration, so ends up storing it in /.kodi  (yes, at the root of
376*4882a593Smuzhiyun# the rootfs). This is a problem for read-only filesystems. But we can't
377*4882a593Smuzhiyun# easily change that, so create /.kodi as a symlink where we want the
378*4882a593Smuzhiyun# config to eventually be. Add synlinks for the legacy XBMC name as well
379*4882a593Smuzhiyundefine KODI_INSTALL_CONFIG_DIR
380*4882a593Smuzhiyun	$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/kodi
381*4882a593Smuzhiyun	ln -sf /var/kodi $(TARGET_DIR)/.kodi
382*4882a593Smuzhiyun	ln -sf /var/kodi $(TARGET_DIR)/var/xbmc
383*4882a593Smuzhiyun	ln -sf /var/kodi $(TARGET_DIR)/.xbmc
384*4882a593Smuzhiyunendef
385*4882a593SmuzhiyunKODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_CONFIG_DIR
386*4882a593Smuzhiyun
387*4882a593Smuzhiyundefine KODI_INSTALL_INIT_SYSV
388*4882a593Smuzhiyun	$(INSTALL) -D -m 755 package/kodi/S50kodi \
389*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S50kodi
390*4882a593Smuzhiyunendef
391*4882a593Smuzhiyun
392*4882a593Smuzhiyundefine KODI_INSTALL_INIT_SYSTEMD
393*4882a593Smuzhiyun	$(INSTALL) -D -m 644 package/kodi/kodi.service \
394*4882a593Smuzhiyun		$(TARGET_DIR)/usr/lib/systemd/system/kodi.service
395*4882a593Smuzhiyunendef
396*4882a593Smuzhiyun
397*4882a593Smuzhiyun$(eval $(cmake-package))
398