mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-27 20:07:25 +00:00
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:
committed by
Martin Jansa
parent
b0c486f9b7
commit
9806992913
+43
@@ -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
|
||||||
|
|
||||||
@@ -8,32 +8,44 @@ LICENSE = "GPLv3+ & SGIv1"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
|
||||||
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
|
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
|
||||||
|
|
||||||
DEPENDS = "libpng12 jpeg virtual/libx11"
|
DEPENDS = "libpng12 jpeg"
|
||||||
|
|
||||||
# depends on virtual/libx11
|
|
||||||
REQUIRED_DISTRO_FEATURES = "x11"
|
|
||||||
|
|
||||||
PV = "2014.03+${SRCPV}"
|
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"
|
SRCREV = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
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[x11-gl] = ",,virtual/libgl virtual/libx11"
|
||||||
PACKAGECONFIG[gles2] = ",,virtual/libgles2"
|
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() {
|
python __anonymous() {
|
||||||
packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
|
packageconfig = (d.getVar("PACKAGECONFIG", True) or "").split()
|
||||||
flavors = []
|
flavors = []
|
||||||
if "gles2" in packageconfig:
|
if "x11-gles2" in packageconfig:
|
||||||
flavors.append("x11-glesv2")
|
flavors.append("x11-glesv2")
|
||||||
if "gl" in packageconfig:
|
if "x11-gl" in packageconfig:
|
||||||
flavors.append("x11-gl")
|
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:
|
if flavors:
|
||||||
d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
|
d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user