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_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_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_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"
	depends on BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_LIBCEC
	help
	  Enable CEC (Consumer Electronics Control) support.
	  Select this if you want Kodi to support HDMI CEC.

comment "hdmi cec support needs udev /dev management"
	depends on !BR2_PACKAGE_HAS_UDEV

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

config BR2_PACKAGE_KODI_LIBMICROHTTPD
	bool "web server"
	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt, libmicrohttpd
	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_LIBTHEORA
	bool "theora"
	select BR2_PACKAGE_LIBTHEORA
	help
	  Enable Theora input support.
	  Select this if you want to play back OGG/OGV files (Video).

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-steamcontroller/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-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"
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-waveform/Config.in"
endmenu

endif # BR2_PACKAGE_KODI
