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_sh
	default y if BR2_x86_64

config BR2_PACKAGE_PYTHON_NUMPY
	bool "python-numpy"
	depends on BR2_PACKAGE_PYTHON3
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	# python-numpy needs fenv.h which is not provided by uclibc
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
	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 glibc or musl"
	depends on BR2_PACKAGE_PYTHON3
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
