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
	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"
	default y
	depends on BR2_USE_WCHAR
	select BR2_PACKAGE_NCURSES
	select BR2_PACKAGE_ALSA_LIB_MIXER

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

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
