# archs officially supported by upstream
config BR2_PACKAGE_XMRIG_ARCH_SUPPORTS
	bool
	default y if BR2_ARM_CPU_ARMV7A
	default y if BR2_ARM_CPU_ARMV8A
	default y if BR2_aarch64
	default y if BR2_RISCV_64
	default y if BR2_x86_64
	default y if BR2_i386

config BR2_PACKAGE_XMRIG
	bool "xmrig"
	depends on BR2_PACKAGE_XMRIG_ARCH_SUPPORTS
	depends on BR2_USE_MMU # libuv
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
	# xmrig needs fenv.h which is not provided by uclibc
	depends on !BR2_TOOLCHAIN_USES_UCLIBC
	depends on !BR2_STATIC_LIBS # libuv
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # libuv
	depends on BR2_INSTALL_LIBSTDCPP
	select BR2_PACKAGE_LIBUV
	help
	  RandomX, CryptoNight, AstroBWT and Argon2 CPU/GPU miner.

	  https://xmrig.com

comment "xmrig needs a glibc or musl toolchain w/ NPTL, dynamic library, C++, gcc >= 4.9"
	depends on BR2_PACKAGE_XMRIG_ARCH_SUPPORTS
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
		BR2_TOOLCHAIN_USES_UCLIBC || BR2_STATIC_LIBS || \
		!BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
