config BR2_PACKAGE_SQUEEZELITE
	bool "squeezelite"
	depends on BR2_USE_WCHAR # flac
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
	depends on BR2_USE_MMU # mpg123
	depends on !BR2_STATIC_LIBS # dlopen
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_MIXER
	select BR2_PACKAGE_FLAC
	select BR2_PACKAGE_LIBMAD
	select BR2_PACKAGE_LIBVORBIS
	select BR2_PACKAGE_MPG123
	help
	  Logitech Media Server client

	  https://github.com/ralph-irving/squeezelite/

if BR2_PACKAGE_SQUEEZELITE

config BR2_PACKAGE_SQUEEZELITE_FFMPEG
	bool "Enable WMA and ALAC decoding"
	default y
	depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
	select BR2_PACKAGE_FFMPEG

config BR2_PACKAGE_SQUEEZELITE_DSD
	bool "Enable DSD decoding"

config BR2_PACKAGE_SQUEEZELITE_LIRC
	bool "Enable lirc support"
	depends on BR2_INSTALL_LIBSTDCPP
	select BR2_PACKAGE_LIRC_TOOLS

comment "lirc support needs a toolchain with C++"
	depends on !BR2_INSTALL_LIBSTDCPP

config BR2_PACKAGE_SQUEEZELITE_RESAMPLE
	bool "Enable resampling support"
	select BR2_PACKAGE_LIBSOXR

config BR2_PACKAGE_SQUEEZELITE_VISEXPORT
	bool "Enable visualiser support"

endif

comment "squeezelite needs a toolchain w/ wchar, NPTL, dynamic library"
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL \
		|| BR2_STATIC_LIBS
