config BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
	bool
	default y if BR2_aarch64 || BR2_aarch64_be
	default y if BR2_arm || BR2_armeb
	default y if BR2_i386 || BR2_x86_64
	default y if BR2_m68k
	default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
	default y if BR2_riscv
	default y if BR2_sparc || BR2_sparc64
	default y if BR2_s390x
	default y if BR2_sh

config BR2_PACKAGE_BOTAN
	bool "botan"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
	select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST
	select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST
	help
	  Botan is a crypto library for C++

	  http://botan.randombit.net

comment "botan needs a toolchain w/ C++, threads, gcc >= 4.8"
	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS

comment "botan needs a toolchain not affected by GCC bug 64735"
	depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
