menuconfig BR2_PACKAGE_MPD
	bool "mpd"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_LARGEFILE # boost
	depends on BR2_USE_WCHAR # libglib2, flac
	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
	depends on BR2_USE_MMU # libglib2
	# avr32, sparc & CS powerpc gcc are too old
	depends on !(BR2_avr32 || BR2_sparc)
	depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
	select BR2_PACKAGE_BOOST
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
	select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
	help
	  MPD is a flexible, powerful, server-side application
	  for playing music. Through plugins and libraries
	  it can play a variety of sound files while being
	  controlled by its network protocol.

	  http://www.musicpd.org

if BR2_PACKAGE_MPD

comment "Archive plugins"

config BR2_PACKAGE_MPD_BZIP2
	bool "bzip2"
	select BR2_PACKAGE_BZIP2
	help
	  Enable bzip2 archive support.

config BR2_PACKAGE_MPD_SQLITE
	bool "sqlite"
	select BR2_PACKAGE_SQLITE
	help
	  Enable sqlite database support.
	  If you don't use sqlite it will use an ASCII database.

comment "Converter plugins"

config BR2_PACKAGE_MPD_LIBSAMPLERATE
	bool "libsamplerate"
	select BR2_PACKAGE_LIBSAMPLERATE
	help
	  Enable libsamplerate input support.
	  Select this for software sample rate conversion.

config BR2_PACKAGE_MPD_LIBSOXR
	bool "libsoxr"
	select BR2_PACKAGE_LIBSOXR
	help
	  Enable libsoxr resampler support.
	  The SoX Resampler library performs software sample-rate conversion.

comment "Decoder plugins"

config BR2_PACKAGE_MPD_AUDIOFILE
	bool "audiofile"
	select BR2_PACKAGE_AUDIOFILE
	help
	  Enable audiofile input/streaming support.
	  Select this if you want to play back WAV files.

config BR2_PACKAGE_MPD_DSD
	bool "dsd"
	help
	  Enable Digital Speech Decoder (DSD) support to play audio files encoded
	  in a digital speech format.

config BR2_PACKAGE_MPD_FAAD2
	bool "faad2"
	select BR2_PACKAGE_FAAD2
	help
	  Enable faad2 input support.
	  Select this if you want to play back MP4/AAC files.

config BR2_PACKAGE_MPD_FFMPEG
	bool "ffmpeg"
	select BR2_PACKAGE_FFMPEG
	depends on BR2_LARGEFILE
	depends on BR2_INET_IPV6
	help
	  Enable ffmpeg input support.
	  Select this if you want to play back files supported by ffmpeg.

comment "ffmpeg support needs a toolchain w/ largefile, IPv6"
	depends on !(BR2_LARGEFILE && BR2_INET_IPV6)

config BR2_PACKAGE_MPD_FLAC
	bool "flac"
	select BR2_PACKAGE_FLAC
	help
	  Enable flac input/streaming support.
	  Select this if you want to play back FLAC files.

config BR2_PACKAGE_MPD_LIBSNDFILE
	bool "libsndfile"
	select BR2_PACKAGE_LIBSNDFILE
	depends on BR2_LARGEFILE
	help
	  Enable libsndfile input/streaming support.
	  Select this if you want to play back WAV files.

comment "libsndfile support needs a toolchain w/ largefile"
	depends on !BR2_LARGEFILE

config BR2_PACKAGE_MPD_MAD
	bool "mad"
	default y
	select BR2_PACKAGE_LIBID3TAG
	select BR2_PACKAGE_LIBMAD
	help
	  Enable mad input support.
	  Select this if you want to play back MP3 files.

config BR2_PACKAGE_MPD_MPG123
	bool "mpg123"
	select BR2_PACKAGE_LIBID3TAG
	select BR2_PACKAGE_MPG123
	help
	  Enable mpg123 input support.
	  Select this if you want to play back MP3 files.

config BR2_PACKAGE_MPD_MUSEPACK
	bool "musepack"
	select BR2_PACKAGE_LIBCUEFILE
	select BR2_PACKAGE_LIBREPLAYGAIN
	select BR2_PACKAGE_MUSEPACK
	help
	  Enable musepack input support.
	  Select this if you want to play back MPC files.

config BR2_PACKAGE_MPD_OPUS
	bool "opus"
	select BR2_PACKAGE_OPUS
	select BR2_PACKAGE_LIBOGG
	help
	  Enable opus input support.
	  Select this if you want to play back OPUS encoded files.

config BR2_PACKAGE_MPD_TREMOR
	bool "tremor"
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_TREMOR
	help
	  Enable vorbis input support.
	  Select this if you want to play back OGG files on softfloat targets.

config BR2_PACKAGE_MPD_VORBIS
	bool "vorbis"
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_LIBVORBIS
	help
	  Enable vorbis input/streaming support.
	  Select this if you want to play back OGG files on hardfloat targets.

config BR2_PACKAGE_MPD_WAVPACK
	bool "wavpack"
	select BR2_PACKAGE_WAVPACK
	help
	  Enable wavpack input support.
	  Select this if you want to play back WV files.

comment "Encoder plugins"

config BR2_PACKAGE_MPD_LAME
	bool "lame"
	select BR2_PACKAGE_LAME
	help
	  Enable lame (mp3) encoding support.

config BR2_PACKAGE_MPD_TWOLAME
	bool "twolame"
	depends on BR2_LARGEFILE # twolame -> libsndfile
	select BR2_PACKAGE_TWOLAME
	help
	  Enable TwoLAME mp2 encoding.

comment "twolame support needs a toolchain w/ largefile"
	depends on !BR2_LARGEFILE

comment "Input plugins"

config BR2_PACKAGE_MPD_CURL
	bool "curl"
	select BR2_PACKAGE_LIBCURL
	help
	  Enable curl streaming (http) support.

config BR2_PACKAGE_MPD_LIBNFS
	bool "nfs"
	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_PACKAGE_LIBNFS
	help
	  Enable Network File System (NFS) support.

comment "nfs support needs a toolchain w/ RPC"
	depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC

config BR2_PACKAGE_MPD_LIBSMBCLIENT
	bool "samba"
	depends on !BR2_nios2 # samba
	select BR2_PACKAGE_SAMBA
	select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
	help
	  Enable Samba support.

config BR2_PACKAGE_MPD_SOUNDCLOUD
	bool "soundcloud"
	select BR2_PACKAGE_YAJL
	help
	  Enable soundcloud.com playlist support.

comment "Output plugins"

config BR2_PACKAGE_MPD_ALSA
	bool "alsa"
	default y
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_ALSA_LIB_PCM
	select BR2_PACKAGE_ALSA_LIB_MIXER
	help
	  Enable alsa output support.

config BR2_PACKAGE_MPD_AO
	bool "ao"
	select BR2_PACKAGE_LIBAO
	help
	  Enable libao output support.

config BR2_PACKAGE_MPD_JACK2
	bool "jack2"
	depends on BR2_LARGEFILE # jack2 -> libsndfile
	depends on BR2_ARCH_HAS_ATOMICS
	select BR2_PACKAGE_JACK2
	help
	  Enable jack output support.

comment "jack support needs a toolchain w/ largefile"
	depends on BR2_ARCH_HAS_ATOMICS
	depends on !BR2_LARGEFILE

config BR2_PACKAGE_MPD_PULSEAUDIO
	bool "pulseaudio"
	depends on BR2_LARGEFILE # pulseaudio -> libsndfile
	depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
	select BR2_PACKAGE_PULSEAUDIO
	help
	  Enable pulseaudio output support.

comment "pulseaudio support needs a toolchain w/ largefile"
	depends on BR2_ARCH_HAS_ATOMICS
	depends on !BR2_LARGEFILE

comment "Miscellaneous plugins"

config BR2_PACKAGE_MPD_AVAHI_SUPPORT
	bool "avahi (zeroconf) support"
	depends on !BR2_PREFER_STATIC_LIB # avahi
	select BR2_PACKAGE_AVAHI
	select BR2_PACKAGE_AVAHI_DAEMON
	select BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY
	help
	  Enable Avahi (zeroconf) support.
	  Select this for multicast DNS/DNS-SD service discovery support. This allows
	  MPD to publish service information on a local network.

comment "avahi support needs a toolchain w/ dynamic library"
	depends on BR2_PREFER_STATIC_LIB

config BR2_PACKAGE_MPD_TCP
	bool "tcp sockets"
	default y
	help
	  Enable mpd to listen on tcp sockets.

	  You want this on if mpd and the client(s) work
	  on different machines (the usual scenario).

config BR2_PACKAGE_MPD_UPNP
	bool "UPnp"
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_LIBUPNP
	help
	  Enable mpd UPnP client support.

endif

comment "mpd needs a toolchain w/ C++, threads, wchar"
	depends on BR2_USE_MMU
	depends on !(BR2_avr32 || BR2_sparc)
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_LARGEFILE
