package/glmark2: rework selection of flavours
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sun, 13 Oct 2019 19:05:39 +0000 (21:05 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 16 Oct 2019 20:46:53 +0000 (22:46 +0200)
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>
package/glmark2/Config.in
package/glmark2/glmark2.mk

index addd7a906e46ab77049ee3c866433375f7e470ad..153eb3b0afde4b4568ca09eff5fabb80c9ee62b9 100644 (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_HAS_LIBEGL
+       depends on BR2_PACKAGE_HAS_LIBGLES
+       depends on BR2_PACKAGE_HAS_UDEV
+       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_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_XLIB_LIBX11
+       select BR2_PACKAGE_GLMARK2_FLAVOR_ANY
 
-config BR2_PACKAGE_GLMARK2_GL
+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
index 7774cd2ab5cf0ff63c7363a7bd6005d0963eb91e..3d31003d0667d93d69f2efb73ce89b1195fb3e0b 100644 (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)
-
-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
+GLMARK2_DEPENDENCIES = host-pkgconf jpeg libegl libpng
 
-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