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.

	  https://wiki.ubuntu.com/FirmwareTestSuite

if BR2_PACKAGE_FWTS
config BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE
	bool "efi_runtime module"
	depends on BR2_LINUX_KERNEL
	help
	  Firmware Test Suite (FWTS) provides a EFI runtime kernel
	  module required to run UEFI tests.

comment "efi_runtime module needs a Linux kernel to be built"
	depends on !BR2_LINUX_KERNEL
endif

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
