config BR2_PACKAGE_FWTS_ARCH_SUPPORTS
	bool
	default y if BR2_aarch64
	default y if BR2_arm
	default y if BR2_i386
	default y if BR2_RISCV_64
	default y if BR2_x86_64

config BR2_PACKAGE_FWTS
	bool "fwts"
	depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS
	depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd
	depends on BR2_USE_MMU # libglib2
	depends on BR2_USE_WCHAR # libglib2, libbsd
	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libbsd
	depends on !BR2_STATIC_LIBS # libbsd
	depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_LIBBSD
	help
	  Firmware Test Suite (FWTS) is a test suite that performs
	  sanity checks on firmware. It is intended to identify BIOS and
	  ACPI errors and if appropriate it will try to explain the
	  errors and give advice to help workaround or fix firmware
	  bugs.

	  dtc (libfdt) is an optional dependency for fdt related tests.

	  For testing EFI runtime services, the Kernel config must
	  have CONFIG_EFI_TEST=y (since Kernel v4.9).

	  https://wiki.ubuntu.com/FirmwareTestSuite

comment "fwts needs a glibc toolchain w/ wchar, threads, dynamic library"
	depends on BR2_PACKAGE_FWTS_ARCH_SUPPORTS
	depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
