config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
	bool
	default y
	# libbsd does not support those architectures (see src/local-elf.h)
	depends on !BR2_microblaze
	depends on !BR2_arc
	depends on !BR2_xtensa

config BR2_PACKAGE_LIBBSD
	bool "libbsd"
	depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_WCHAR
	help
	  This library provides useful functions commonly found on BSD
	  systems, and lacking on others like GNU systems, thus making
	  it easier to port projects with strong BSD origins, without
	  needing to embed the same code over and over again on each
	  project.

	  http://libbsd.freedesktop.org/

comment "libbsd needs a toolchain w/ threads, wchar"
	depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
