comment "alsa-utils needs a toolchain w/ threads, dynamic library"
	depends on BR2_USE_MMU # fork
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

menuconfig BR2_PACKAGE_ALSA_UTILS
	bool "alsa-utils"
	depends on BR2_USE_MMU # fork
	depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
	depends on !BR2_STATIC_LIBS # uses dlfcn.h
	select BR2_PACKAGE_ALSA_LIB
	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
	help
	  This package contains the command line utilities for the ALSA
	  project.

	  http://www.alsa-project.org/

if BR2_PACKAGE_ALSA_UTILS

config BR2_PACKAGE_ALSA_UTILS_ALSACONF
	bool "alsaconf"

config BR2_PACKAGE_ALSA_UTILS_ACONNECT
	bool "aconnect"
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_ALSACTL
	bool "alsactl"
	default y

config BR2_PACKAGE_ALSA_UTILS_ALSALOOP
	bool "alsaloop"

config BR2_PACKAGE_ALSA_UTILS_ALSAMIXER
	bool "alsamixer"
	select BR2_PACKAGE_NCURSES
	select BR2_PACKAGE_NCURSES_TARGET_PANEL
	select BR2_PACKAGE_NCURSES_TARGET_FORM
	select BR2_PACKAGE_NCURSES_TARGET_MENU
	select BR2_PACKAGE_ALSA_LIB_MIXER
	depends on BR2_USE_WCHAR
	default y

comment "alsamixer needs a toolchain w/ wchar"
	depends on !BR2_USE_WCHAR

config BR2_PACKAGE_ALSA_UTILS_ALSAUCM
	bool "alsaucm"

config BR2_PACKAGE_ALSA_UTILS_ALSATPLG
	bool "alsatplg"

config BR2_PACKAGE_ALSA_UTILS_AMIDI
	bool "amidi"
	select BR2_PACKAGE_ALSA_LIB_RAWMIDI
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_AMIXER
	bool "amixer"
	select BR2_PACKAGE_ALSA_LIB_MIXER

config BR2_PACKAGE_ALSA_UTILS_APLAY
	bool "aplay/arecord"
	select BR2_PACKAGE_ALSA_LIB_PCM

config BR2_PACKAGE_ALSA_UTILS_APLAYMIDI
	bool "aplaymidi"
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI
	bool "arecordmidi"
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_ASEQDUMP
	bool "aseqdump"
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_ASEQNET
	bool "aseqnet"
	select BR2_PACKAGE_ALSA_LIB_SEQ

config BR2_PACKAGE_ALSA_UTILS_BAT
	bool "bat"
	select BR2_PACKAGE_FFTW

config BR2_PACKAGE_ALSA_UTILS_IECSET
	bool "iecset"
	select BR2_PACKAGE_ALSA_LIB_PCM

config BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST
	bool "speaker-test"
	select BR2_PACKAGE_ALSA_LIB_PCM

endif
