package/glmark2: rework selection of flavours

https://git.buildroot.net/buildroot/commit/?id=cf66a67112cd706d2e71665e45e8f6453fd53963
was not enough to fix building glmark2 because it was possible to
configure buildroot in a way that no flavour would be active:
http://lists.busybox.net/pipermail/buildroot/2019-October/261943.html
http://lists.busybox.net/pipermail/buildroot/2019-October/261944.html

The broken defconfig was fixed
https://git.buildroot.net/buildroot/commit/?id=ca6f9504dd3825fe4fbd0b4a4b3eea4261032d03

but we need to fix the selection of flavours to ensure that at least
on flavour is available:
http://lists.busybox.net/pipermail/buildroot/2019-October/262022.html

Suggested-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Bernd Kuhls 2019-10-13 21:05:39 +02:00 committed by Thomas Petazzoni
parent fe3cbba5ba
commit 4b831565d0
2 changed files with 65 additions and 28 deletions
package/glmark2

View File

@ -1,27 +1,65 @@
config BR2_PACKAGE_GLMARK2_EGL_GLES
config BR2_PACKAGE_GLMARK2_FLAVOR_ANY
bool
config BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2
bool
default y
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
depends on BR2_PACKAGE_MESA3D_OPENGL_ES
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_GLMARK2_FLAVOR_ANY
config BR2_PACKAGE_GLMARK2_GL
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_MESA3D_DRI_DRIVER
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 provided by mesa3d"
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_GL && !BR2_PACKAGE_GLMARK2_EGL_GLES
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_GL || BR2_PACKAGE_GLMARK2_EGL_GLES
depends on BR2_PACKAGE_GLMARK2_FLAVOR_ANY
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBPNG
help

View File

@ -8,36 +8,35 @@ GLMARK2_VERSION = 9e01aef1a786b28aca73135a5b00f85c357e8f5e
GLMARK2_SITE = $(call github,glmark2,glmark2,$(GLMARK2_VERSION))
GLMARK2_LICENSE = GPL-3.0+, SGIv1
GLMARK2_LICENSE_FILES = COPYING COPYING.SGI
GLMARK2_DEPENDENCIES = host-pkgconf jpeg libpng \
$(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \
$(if $(BR2_PACKAGE_HAS_LIBGLES),libgles) \
$(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
GLMARK2_DEPENDENCIES = host-pkgconf jpeg libegl libpng
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
GLMARK2_DEPENDENCIES += xlib_libX11
ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yy)
GLMARK2_FLAVORS += x11-glesv2
endif
ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
GLMARK2_FLAVORS += x11-gl
endif
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES)$(BR2_PACKAGE_HAS_UDEV),yyy)
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GLESV2),y)
GLMARK2_DEPENDENCIES += libgles udev
GLMARK2_FLAVORS += drm-glesv2
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_HAS_UDEV),yyy)
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_DRM_GL),y)
GLMARK2_DEPENDENCIES += libgl udev
GLMARK2_FLAVORS += drm-gl
endif
ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGLES),yyy)
GLMARK2_DEPENDENCIES += wayland
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_X11_GLESV2),y)
GLMARK2_DEPENDENCIES += libgles xlib_libX11
GLMARK2_FLAVORS += x11-glesv2
endif
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_X11_GL),y)
GLMARK2_DEPENDENCIES += libgl xlib_libX11
GLMARK2_FLAVORS += x11-gl
endif
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GLESV2),y)
GLMARK2_DEPENDENCIES += libgles wayland
GLMARK2_FLAVORS += wayland-glesv2
endif
ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL),yyy)
GLMARK2_DEPENDENCIES += wayland
ifeq ($(BR2_PACKAGE_GLMARK2_FLAVOR_WAYLAND_GL),y)
GLMARK2_DEPENDENCIES += libgl wayland
GLMARK2_FLAVORS += wayland-gl
endif