config BR2_PACKAGE_ALSA_LIB
	bool "alsa-lib"
	# Temporary until
	# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913
	# is fixed
	select BR2_PACKAGE_ALSA_LIB_PCM
	# Even though some parts of alsa-lib use threads only when
	# available, some PCM plugins use them unconditionally. Since
	# the usage of alsa-lib on no-thread systems is pretty
	# unlikely, just require thread support globally for alsa-lib.
	depends on BR2_TOOLCHAIN_HAS_THREADS
	help
	  The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
	  functionality to the Linux operating system.

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

comment "alsa-lib needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

if BR2_PACKAGE_ALSA_LIB

config BR2_PACKAGE_ALSA_LIB_PYTHON
	bool "Python support for alsa-lib"
	depends on BR2_PACKAGE_PYTHON
	help
	  Add python support for alsa-lib.
	  Python will be built and libpython will be installed
	  in the target directory
	  http://www.alsa-project.org/

menu "ALSA lib selection"

config BR2_PACKAGE_ALSA_LIB_DEVDIR
	string "directory with ALSA device files"
	default "/dev/snd"

config BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS
	string "built PCM plugins"
	default "all" if BR2_USE_MMU
	default "copy linear route mulaw alaw adpcm rate plug multi file null empty share meter hooks lfloat ladspa dmix dshare dsnoop asym iec958 softvol extplug ioplug mmap_emul" if !BR2_USE_MMU

config BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS
	string "built control plugins"
	default "all"

config BR2_PACKAGE_ALSA_LIB_ALOAD
	bool "aload"
	default y

config BR2_PACKAGE_ALSA_LIB_MIXER
	bool "mixer"
	default y

config BR2_PACKAGE_ALSA_LIB_PCM
	bool "pcm"
	default y

config BR2_PACKAGE_ALSA_LIB_RAWMIDI
	bool "rawmidi"
	default y

config BR2_PACKAGE_ALSA_LIB_HWDEP
	bool "hwdep"
	default y

config BR2_PACKAGE_ALSA_LIB_SEQ
	bool "seq"
	default y

config BR2_PACKAGE_ALSA_LIB_ALISP
	bool "alisp"
	depends on BR2_USE_MMU
	default y

config BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS
	bool "old-symbols"
	default y

endmenu

endif
