config BR2_PACKAGE_GLMARK2_FLAVOR_ANY
	bool

config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGBM
	depends on BR2_PACKAGE_HAS_LIBGLES
	depends on BR2_PACKAGE_HAS_UDEV
	depends on BR2_TOOLCHAIN_HAS_THREADS  # libpthread-stubs -> libdrm
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GL
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGL
	depends on BR2_PACKAGE_HAS_UDEV
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGLES
	depends on BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGL
	depends on BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGLES
	depends on BR2_PACKAGE_XLIB_LIBX11
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2_FLAVOR_X11_GL
	bool
	default y
	depends on BR2_PACKAGE_HAS_LIBGL
	depends on BR2_PACKAGE_XLIB_LIBX11
	select BR2_PACKAGE_GLMARK2_FLAVOR_ANY

comment "glmark2 needs a toolchain w/ C++, gcc >= 4.9"
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

comment "glmark2 needs an OpenGL or an openGL ES and EGL backend"
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 && BR2_INSTALL_LIBSTDCPP
	depends on !BR2_PACKAGE_GLMARK2_FLAVOR_ANY

config BR2_PACKAGE_GLMARK2
	bool "glmark2"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
	depends on BR2_PACKAGE_GLMARK2_FLAVOR_ANY
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2
	select BR2_PACKAGE_LIBPNG
	select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL
	select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2
	help
	  glmark2 is an OpenGL 2.0 and ES 2.0 benchmark.

	  https://github.com/glmark2/glmark2
