glmark2: Remove X11 exclusiveness

The tool has support for multiple backends: X11, drm and Wayland.

This demanded to a fix, which has been sent upstream, to make the
flavor configuration predictable and the recipe has been rework to
support them all, making the PACKAGECONFIG to respect the
DISTRO_FEATURES available by default.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Otavio Salvador 2015-07-22 16:47:09 -03:00 committed by Martin Jansa
parent b0c486f9b7
commit 9806992913
2 changed files with 66 additions and 11 deletions

View File

@ -0,0 +1,43 @@
From: Otavio Salvador <otavio@ossystems.com.br>
Subject: [PATCH] build: Check packages to be used by the enabled flavors
Organization: O.S. Systems Software LTDA.
The packages shouldn't be dynamically detected otherwise the build
predictability is lost. We now have all packages as mandatory but
dependent of the flavors which use them.
Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/8]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
wscript | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/wscript b/wscript
index cab62a3..e7eaed0 100644
--- a/wscript
+++ b/wscript
@@ -121,13 +121,17 @@ def configure(ctx):
('mirclient','mirclient', '0.13', list_contains(Options.options.flavors, 'mir')),
('wayland-client','wayland-client', None, list_contains(Options.options.flavors, 'wayland')),
('wayland-egl','wayland-egl', None, list_contains(Options.options.flavors, 'wayland'))]
- for (pkg, uselib, atleast, mandatory) in opt_pkgs:
+ for (pkg, uselib, atleast, check) in opt_pkgs:
+ # Check packages required by the flavors
+ if not check:
+ continue
+
if atleast is None:
ctx.check_cfg(package = pkg, uselib_store = uselib,
- args = '--cflags --libs', mandatory = mandatory)
+ args = '--cflags --libs', mandatory = True)
else:
ctx.check_cfg(package = pkg, uselib_store = uselib, atleast_version=atleast,
- args = '--cflags --libs', mandatory = mandatory)
+ args = '--cflags --libs', mandatory = True)
# Prepend CXX flags so that they can be overriden by the
--
2.4.6

View File

@ -8,32 +8,44 @@ LICENSE = "GPLv3+ & SGIv1"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
DEPENDS = "libpng12 jpeg virtual/libx11"
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "libpng12 jpeg"
PV = "2014.03+${SRCPV}"
SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https"
SRC_URI = "git://github.com/glmark2/glmark2.git;protocol=https \
file://build-Check-packages-to-be-used-by-the-enabled-flavo.patch"
SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
S = "${WORKDIR}/git"
inherit waf pkgconfig distro_features_check
inherit waf pkgconfig
PACKAGECONFIG ?= "gl gles2"
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gl wayland-gles2', '', d)} \
drm-gl drm-gles2"
PACKAGECONFIG[gl] = ",,virtual/libgl"
PACKAGECONFIG[gles2] = ",,virtual/libgles2"
PACKAGECONFIG[x11-gl] = ",,virtual/libgl virtual/libx11"
PACKAGECONFIG[x11-gles2] = ",,virtual/libgles2 virtual/libx11"
PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm"
PACKAGECONFIG[drm-gles2] = ",,virtual/libgles2 libdrm"
PACKAGECONFIG[wayland-gl] = ",,virtual/libgl wayland"
PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland"
python __anonymous() {
packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
flavors = []
if "gles2" in packageconfig:
if "x11-gles2" in packageconfig:
flavors.append("x11-glesv2")
if "gl" in packageconfig:
if "x11-gl" in packageconfig:
flavors.append("x11-gl")
if "wayland-gles2" in packageconfig:
flavors.append("wayland-glesv2")
if "wayland-gl" in packageconfig:
flavors.append("wayland-gl")
if "drm-gles2" in packageconfig:
flavors.append("drm-glesv2")
if "drm-gl" in packageconfig:
flavors.append("drm-gl")
if flavors:
d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
}