소스 검색

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>
Bernd Kuhls 5 년 전
부모
커밋
4b831565d0
2개의 변경된 파일65개의 추가작업 그리고 28개의 파일을 삭제
  1. 46 8
      package/glmark2/Config.in
  2. 19 20
      package/glmark2/glmark2.mk

+ 46 - 8
package/glmark2/Config.in

@@ -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

+ 19 - 20
package/glmark2/glmark2.mk

@@ -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