config BR2_PACKAGE_PIGLIT
	bool "piglit"
	depends on BR2_PACKAGE_PYTHON3 # python3 only script
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \
		BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \
		BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \
		BR2_PACKAGE_WAFFLE_SUPPORTS_GBM
	depends on BR2_INSTALL_LIBSTDCPP # mesa3d-demos, python-numpy
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9 # python-numpy
	depends on BR2_HOST_GCC_AT_LEAST_9 # host-python-numpy
	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_HAS_LIBGL
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_MESA3D_DEMOS # glxinfo
	select BR2_PACKAGE_PYTHON_MAKO
	select BR2_PACKAGE_PYTHON_NUMPY
	select BR2_PACKAGE_PYTHON_SIX
	select BR2_PACKAGE_PYTHON3_BZIP2
	select BR2_PACKAGE_PYTHON3_PYEXPAT
	select BR2_PACKAGE_PYTHON3_XZ
	select BR2_PACKAGE_PYTHON3_ZLIB
	select BR2_PACKAGE_UTIL_LINUX # runtime
	select BR2_PACKAGE_UTIL_LINUX_BINARIES # requires real dmesg tool
	select BR2_PACKAGE_WAFFLE # wflinfo, libwaffle-1
	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
	select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
	select BR2_PACKAGE_ZLIB
	help
	  Piglit is an open-source test suite for OpenGL
	  implementations.

	  https://piglit.freedesktop.org

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