config BR2_PACKAGE_LIBIIO
	bool "libiio"
	select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND if !BR2_PACKAGE_LIBIIO_NETWORK_BACKEND
	help
	  Libiio is a library to ease the development of software
	  interfacing Linux Industrial I/O (IIO) devices.

	  http://wiki.analog.com/resources/tools-software/linux-software/libiio

if BR2_PACKAGE_LIBIIO

config BR2_PACKAGE_LIBIIO_LOCAL_BACKEND
	bool "Local backend"
	default y
	help
	  Enable the local backend of the library.

config BR2_PACKAGE_LIBIIO_NETWORK_BACKEND
	bool "Network backend"
	select BR2_PACKAGE_LIBXML2
	default y
	help
	  Enable the network backend of the library.

config BR2_PACKAGE_LIBIIO_IIOD
	bool "IIO Daemon"
	select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND
	depends on BR2_TOOLCHAIN_HAS_THREADS
	default y
	help
	  Install the IIO Daemon.

comment "IIO Daemon needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_LIBIIO_TESTS
	bool "Install test programs"
	select BR2_PACKAGE_LIBIIO_LOCAL_BACKEND
	select BR2_PACKAGE_LIBIIO_NETWORK_BACKEND
	depends on BR2_TOOLCHAIN_HAS_THREADS
	help
	  Install the test programs (iio_info, iio_genxml, iio_readdev).

comment "IIO test programs need a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_LIBIIO_BINDINGS_CSHARP
	bool "Install C# bindings"
	depends on BR2_PACKAGE_MONO
	help
	  Install the C# bindings.

config BR2_PACKAGE_LIBIIO_BINDINGS_PYTHON
	bool "Install Python bindings"
	depends on BR2_PACKAGE_PYTHON
	help
	  Install the Python bindings.

endif
