config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
	bool
	default y if BR2_TOOLCHAIN_HAS_ATOMIC
	# bitcoin uses 8-byte __atomic intrinsics, which are not
	# available on ARM noMMU platforms that we
	# support. BR2_TOOLCHAIN_HAS_ATOMIC does not provide a
	# size-level granularity to express this dependency.
	depends on !(BR2_arm || BR2_armeb) || BR2_USE_MMU

config BR2_PACKAGE_BITCOIN
	bool "bitcoin"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem
	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_THREADS # boost
	depends on BR2_USE_WCHAR
	select BR2_PACKAGE_BOOST
	select BR2_PACKAGE_BOOST_SYSTEM
	select BR2_PACKAGE_BOOST_FILESYSTEM
	select BR2_PACKAGE_BOOST_THREAD
	select BR2_PACKAGE_LIBEVENT
	help
	  Bitcoin Core is an open source project which maintains and
	  releases Bitcoin client software called “Bitcoin Core”.

	  It is a direct descendant of the original Bitcoin software
	  client released by Satoshi Nakamoto after he published the
	  famous Bitcoin whitepaper.

	  Bitcoin Core consists of both "full-node" software for fully
	  validating the blockchain as well as a bitcoin wallet. The
	  project also currently maintains related software such as
	  the cryptography library libsecp256k1 and others located at
	  GitHub.

	  https://bitcoincore.org

comment "bitcoin needs a toolchain w/ C++, threads, wchar"
	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR

comment "bitcoin needs a toolchain not affected by GCC bug 64735"
	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
