1config BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
2	bool
3	default y if BR2_TOOLCHAIN_HAS_ATOMIC
4	# bitcoin uses 8-byte __atomic intrinsics, which are not
5	# available on ARM noMMU platforms that we
6	# support. BR2_TOOLCHAIN_HAS_ATOMIC does not provide a
7	# size-level granularity to express this dependency.
8	depends on !(BR2_arm || BR2_armeb) || BR2_USE_MMU
9
10config BR2_PACKAGE_BITCOIN
11	bool "bitcoin"
12	depends on BR2_INSTALL_LIBSTDCPP
13	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS # boost-thread, boost-filesystem
14	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
15	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
16	depends on BR2_TOOLCHAIN_HAS_THREADS # boost
17	depends on BR2_USE_WCHAR
18	select BR2_PACKAGE_BOOST
19	select BR2_PACKAGE_BOOST_SYSTEM
20	select BR2_PACKAGE_BOOST_FILESYSTEM
21	select BR2_PACKAGE_BOOST_THREAD
22	select BR2_PACKAGE_LIBEVENT
23	help
24	  Bitcoin Core is an open source project which maintains and
25	  releases Bitcoin client software called “Bitcoin Core”.
26
27	  It is a direct descendant of the original Bitcoin software
28	  client released by Satoshi Nakamoto after he published the
29	  famous Bitcoin whitepaper.
30
31	  Bitcoin Core consists of both "full-node" software for fully
32	  validating the blockchain as well as a bitcoin wallet. The
33	  project also currently maintains related software such as
34	  the cryptography library libsecp256k1 and others located at
35	  GitHub.
36
37	  https://bitcoincore.org
38
39if BR2_PACKAGE_BITCOIN
40
41config BR2_PACKAGE_BITCOIN_WALLET
42	bool "wallet support"
43	select BR2_PACKAGE_SQLITE
44	help
45	  Enable bitcoin wallet support.
46
47endif
48
49comment "bitcoin needs a toolchain w/ C++, threads, wchar, gcc >= 9"
50	depends on BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS
51	depends on BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
52	depends on !BR2_INSTALL_LIBSTDCPP || \
53		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
54		!BR2_TOOLCHAIN_GCC_AT_LEAST_9
55