menuconfig BR2_PACKAGE_MPD
	bool "mpd"
	depends on BR2_INSTALL_LIBSTDCPP
	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)
	depends on !BR2_UCLIBC_VERSION_0_9_32 # lacks signalfd
	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

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
	depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
	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_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_PULSEAUDIO
	bool "pulseaudio"
	depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
	depends on BR2_LARGEFILE # pulseaudio -> libsndfile
	select BR2_PACKAGE_PULSEAUDIO
	help
	  Enable pulseaudio output support.

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

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

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_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_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_LAME
	bool "lame"
	select BR2_PACKAGE_LAME
	help
	  Enable lame (mp3) encoding support.

config BR2_PACKAGE_MPD_LIBCUE
	bool "libcue"
	select BR2_PACKAGE_LIBCUE
	help
	  Enable cue file support.

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_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 "mpd-libsndfile 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
	help
	  Enable opus input support.
	  Select this if you want to play back OPUS encoded files.

config BR2_PACKAGE_MPD_SOUNDCLOUD
	bool "soundcloud"
	select BR2_PACKAGE_YAJL
	help
	  Enable soundcloud.com playlist 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.

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_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.

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
