config BR2_PACKAGE_KODI_ARCH_SUPPORTS
	bool
	default y if BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
	# i386: needs sse (see upstream PR 10351)
	depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE)
	depends on BR2_USE_MMU # libcdio, and others

comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.8"
	depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
		|| !BR2_USE_WCHAR || BR2_STATIC_LIBS \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
		|| BR2_TOOLCHAIN_USES_MUSL \
		|| !BR2_PACKAGE_PYTHON \
		|| BR2_PACKAGE_PYTHON_PYC_ONLY

config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
	bool

config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI
	bool
	default y
	# List of valid CPUs can be found here:
	# https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L12
	depends on BR2_arm1176jzf_s || BR2_cortex_a7 || BR2_cortex_a53
	depends on BR2_PACKAGE_RPI_USERLAND
	depends on BR2_PACKAGE_HAS_UDEV # libinput
	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS

config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBGL
	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp
	depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp
	depends on BR2_PACKAGE_WAYLAND # waylandpp
	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS

config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBGLES
	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp
	depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp
	depends on BR2_PACKAGE_WAYLAND # waylandpp
	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS

config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGL
	depends on BR2_PACKAGE_XORG7
	select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS

comment "kodi needs an OpenGL EGL backend with OpenGL support"
	depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS

menuconfig BR2_PACKAGE_KODI
	bool "kodi"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libass -> harfbuzz
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on !BR2_TOOLCHAIN_USES_MUSL
	depends on BR2_USE_WCHAR
	depends on !BR2_STATIC_LIBS # gnutls, python and others
	depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
	depends on BR2_PACKAGE_PYTHON
	depends on !BR2_PACKAGE_PYTHON_PYC_ONLY
	select BR2_NEEDS_HOST_JAVA
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_FLATBUFFERS
	select BR2_PACKAGE_FMT
	select BR2_PACKAGE_FONTCONFIG
	select BR2_PACKAGE_FREETYPE
	select BR2_PACKAGE_FSTRCMP
	select BR2_PACKAGE_GNUTLS
	select BR2_PACKAGE_LIBASS
	select BR2_PACKAGE_LIBCDIO
	select BR2_PACKAGE_LIBCROSSGUID
	select BR2_PACKAGE_LIBCURL
	select BR2_PACKAGE_LIBFRIBIDI
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_LIBICONV_EXTRA_ENCODINGS if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_LIBPLIST
	select BR2_PACKAGE_LIBSAMPLERATE
	select BR2_PACKAGE_LZO
	select BR2_PACKAGE_NCURSES
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_PCRE
	select BR2_PACKAGE_PCRE_UCP
	select BR2_PACKAGE_PYTHON_2TO3
	select BR2_PACKAGE_PYTHON_BSDDB
	select BR2_PACKAGE_PYTHON_CURSES
	select BR2_PACKAGE_PYTHON_PYEXPAT
	select BR2_PACKAGE_PYTHON_SQLITE
	select BR2_PACKAGE_PYTHON_SSL
	select BR2_PACKAGE_PYTHON_UNICODEDATA
	select BR2_PACKAGE_PYTHON_ZLIB
	select BR2_PACKAGE_RAPIDJSON
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_TAGLIB
	select BR2_PACKAGE_TINYXML
	select BR2_PACKAGE_ZLIB
	select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support
	help
	  Kodi is an award-winning free and open source (GPL) software
	  media player and entertainment hub for digital media.

	  http://kodi.tv

if BR2_PACKAGE_KODI

source "package/kodi-platform/Config.in"

config BR2_PACKAGE_KODI_ALSA_LIB
	bool "alsa"
	select BR2_PACKAGE_ALSA_LIB
	help
	  Enable alsa support.

config BR2_PACKAGE_KODI_AVAHI
	bool "avahi"
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_DAEMON
	help
	  Enable Avahi support.
	  Select this if you want Kodi to support Bonjour protocol.

config BR2_PACKAGE_KODI_BLUEZ
	bool "bluetooth"
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5_utils
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5_utils
	select BR2_PACKAGE_BLUEZ5_UTILS
	help
	    Enable bluetooth support

config BR2_PACKAGE_KODI_DBUS
	bool "dbus"
	select BR2_PACKAGE_DBUS
	help
	  Enable D-Bus support

config BR2_PACKAGE_KODI_EVENTCLIENTS
	bool "eventclients"
	help
	  Enable event clients support

	  https://github.com/xbmc/xbmc/blob/master/tools/EventClients/README.txt

config BR2_PACKAGE_KODI_LIBBLURAY
	bool "blu-ray"
	select BR2_PACKAGE_LIBBLURAY
	help
	  Enable Blu-ray input support.
	  Select this if you want to play back Blu-ray content.

config BR2_PACKAGE_KODI_LIBCEC
	bool "hdmi cec"
	select BR2_PACKAGE_LIBCEC
	help
	  Enable CEC (Consumer Electronics Control) support.
	  Select this if you want Kodi to support HDMI CEC.

config BR2_PACKAGE_KODI_LCMS2
	bool "lcms2"
	select BR2_PACKAGE_LCMS2
	help
	  Enable color management support.

config BR2_PACKAGE_KODI_LIBMICROHTTPD
	bool "web server"
	select BR2_PACKAGE_LIBMICROHTTPD
	help
	  Enable webserver feature

config BR2_PACKAGE_KODI_LIBNFS
	bool "nfs"
	# libnfs -> libtirpc
	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_LIBNFS
	help
	  Enable NFS server support.

comment "nfs support needs a toolchain w/ threads support"
	depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)

config BR2_PACKAGE_KODI_MYSQL
	bool "mysql"
	select BR2_PACKAGE_MYSQL
	help
	  Enable MySQL support

choice
	prompt "platform"
	default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL

config BR2_PACKAGE_KODI_PLATFORM_RBPI
	bool "Raspberry Pi"
	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI
	select BR2_PACKAGE_LIBINPUT
	select BR2_PACKAGE_LIBXKBCOMMON

config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL
	bool "Wayland/OpenGL"
	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL
	select BR2_PACKAGE_LIBGLU
	select BR2_PACKAGE_LIBXKBCOMMON
	select BR2_PACKAGE_WAYLANDPP

config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES
	bool "Wayland/GLES"
	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES
	select BR2_PACKAGE_LIBXKBCOMMON
	select BR2_PACKAGE_WAYLANDPP

config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
	bool "X11/OpenGL"
	depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
	select BR2_PACKAGE_LIBDRM
	select BR2_PACKAGE_LIBGLU
	select BR2_PACKAGE_XLIB_LIBXRANDR

endchoice

config BR2_PACKAGE_KODI_PULSEAUDIO
	bool "pulseaudio"
	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
	# Pulseaudio support in kodi needs glib support in Pulseaudio,
	# see FindPulseAudio.cmake. Kodi meets all dependencies of
	# libglib2, so there is no need to propagate them here.
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_PULSEAUDIO
	help
	  Enable Pulseaudio support.

config BR2_PACKAGE_KODI_LIBSHAIRPLAY
	bool "shairport"
	select BR2_PACKAGE_LIBSHAIRPLAY
	help
	  Enable Shairport support.
	  Select this if you want to stream content from an Apple
	  device.

config BR2_PACKAGE_KODI_LIBSMBCLIENT
	bool "samba"
	depends on BR2_PACKAGE_SAMBA4
	help
	  Enable Samba support

config BR2_PACKAGE_KODI_LIBUSB
	bool "usb"
	# https://github.com/xbmc/xbmc/blob/Jarvis/configure.ac#L1554
	# "if libudev is available, we don't need libusb"
	depends on !BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_LIBUSB
	select BR2_PACKAGE_LIBUSB_COMPAT
	help
	  Enable libusb support.

config BR2_PACKAGE_KODI_LIBVA
	bool "va"
	depends on \
		BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL || \
		BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES || \
		BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
	select BR2_PACKAGE_LIBVA
	help
	  Enable libva support.

comment "libva support needs platform 'Wayland' or 'X11/OpenGL'"
	depends on \
		!BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL && \
		!BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES && \
		!BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL

config BR2_PACKAGE_KODI_LIBVDPAU
	bool "vdpau"
	depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
	select BR2_PACKAGE_LIBVDPAU
	help
	  Enable libvdpau support.

comment "libvdpau support needs platform 'X11/OpenGL'"
	depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL

config BR2_PACKAGE_KODI_UPNP
	bool "upnp"
	help
	  Enable UPnP support

config BR2_PACKAGE_KODI_OPTICALDRIVE
	bool "optical drives"
	help
	  Add support for optical drives, to read e.g. DVDs...

menu "Audio decoder addons"
	source "package/kodi-audiodecoder-modplug/Config.in"
	source "package/kodi-audiodecoder-nosefart/Config.in"
	source "package/kodi-audiodecoder-sidplay/Config.in"
	source "package/kodi-audiodecoder-snesapu/Config.in"
	source "package/kodi-audiodecoder-stsound/Config.in"
	source "package/kodi-audiodecoder-timidity/Config.in"
	source "package/kodi-audiodecoder-vgmstream/Config.in"
endmenu

menu "Audio encoder addons"
	source "package/kodi-audioencoder-flac/Config.in"
	source "package/kodi-audioencoder-lame/Config.in"
	source "package/kodi-audioencoder-vorbis/Config.in"
	source "package/kodi-audioencoder-wav/Config.in"
endmenu

menu "Peripheral addons"
	source "package/kodi-peripheral-joystick/Config.in"
	source "package/kodi-peripheral-xarcade/Config.in"
endmenu

menu "Inputstream addons"
	source "package/kodi-inputstream-adaptive/Config.in"
	source "package/kodi-inputstream-rtmp/Config.in"
endmenu

menu "PVR addons"
	source "package/kodi-pvr-argustv/Config.in"
	source "package/kodi-pvr-dvblink/Config.in"
	source "package/kodi-pvr-dvbviewer/Config.in"
	source "package/kodi-pvr-filmon/Config.in"
	source "package/kodi-pvr-hdhomerun/Config.in"
	source "package/kodi-pvr-hts/Config.in"
	source "package/kodi-pvr-iptvsimple/Config.in"
	source "package/kodi-pvr-mediaportal-tvserver/Config.in"
	source "package/kodi-pvr-mythtv/Config.in"
	source "package/kodi-pvr-nextpvr/Config.in"
	source "package/kodi-pvr-njoy/Config.in"
	source "package/kodi-pvr-octonet/Config.in"
	source "package/kodi-pvr-pctv/Config.in"
	source "package/kodi-pvr-stalker/Config.in"
	source "package/kodi-pvr-vbox/Config.in"
	source "package/kodi-pvr-vdr-vnsi/Config.in"
	source "package/kodi-pvr-vuplus/Config.in"
	source "package/kodi-pvr-wmc/Config.in"
	source "package/kodi-pvr-zattoo/Config.in"
endmenu

menu "Screensavers"
	source "package/kodi-screensaver-asteroids/Config.in"
	source "package/kodi-screensaver-asterwave/Config.in"
	source "package/kodi-screensaver-biogenesis/Config.in"
	source "package/kodi-screensaver-cpblobs/Config.in"
	source "package/kodi-screensaver-crystalmorph/Config.in"
	source "package/kodi-screensaver-greynetic/Config.in"
	source "package/kodi-screensaver-matrixtrails/Config.in"
	source "package/kodi-screensaver-pingpong/Config.in"
	source "package/kodi-screensaver-pyro/Config.in"
	source "package/kodi-screensaver-rsxs/Config.in"
	source "package/kodi-screensaver-stars/Config.in"
endmenu

menu "Skins"
	source "package/kodi-skin-confluence/Config.in"
endmenu

menu "Virtual file systems"
	source "package/kodi-vfs-rar/Config.in"
	source "package/kodi-vfs-sftp/Config.in"
endmenu

menu "Visualisations"
	source "package/kodi-visualisation-fishbmc/Config.in"
	source "package/kodi-visualisation-goom/Config.in"
	source "package/kodi-visualisation-shadertoy/Config.in"
	source "package/kodi-visualisation-spectrum/Config.in"
	source "package/kodi-visualisation-starburst/Config.in"
	source "package/kodi-visualisation-waveform/Config.in"
endmenu

endif # BR2_PACKAGE_KODI
