config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	bool
	# Numpy has some CPU specific code
	default y if BR2_arc
	default y if BR2_aarch64
	default y if BR2_arm
	default y if BR2_armeb
	default y if BR2_i386
	default y if BR2_mips
	default y if BR2_mipsel
	default y if BR2_powerpc
	default y if BR2_powerpc64
	default y if BR2_riscv
	default y if BR2_sh
	default y if BR2_x86_64

config BR2_PACKAGE_PYTHON_NUMPY
	bool "python-numpy"
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP
	# python-numpy needs fenv.h which is not provided by uclibc
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
	help
	  NumPy is the fundamental package for scientific computing
	  with Python.

	  Note that NumPy needs fenv.h fully supported by the
	  C library.

	  http://www.numpy.org/

comment "python-numpy needs a glibc or musl toolchain w/ C++, gcc >= 9"
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_9 || \
		!(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
