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 threads support in toolchain"
	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_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

