path: root/classes
diff options
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-16 14:56:20 +0000
committerTom Zanussi <tom.zanussi@intel.com>2013-09-18 08:13:06 -0500
commit49f495e388d986e568f6197075a56a6e7674b2f5 (patch)
tree924fc41dabb498b83108e5821a8cec009387c6f6 /classes
parent66def4d09cbdf1614622a7ab1d84bef312b5f55d (diff)
Separate packagedir for GL components of EMGD BSPs
When multiple BSPs of the same arch are built in a build directory, the differences in GL providers such as emgd-driver and mesa causes rebuild of large set of recipes, as they collide on each other's space for multiple BSPs. Although this does not impact correctness, it impacts build performance negatively. Richard had an idea of providing separate PACKAGE_DIR to the colliding recipes to avoid the build area collision. And this approach significantly reduces the negative impact on the build performance. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'classes')
1 files changed, 11 insertions, 0 deletions
diff --git a/classes/emgd-gl.bbclass b/classes/emgd-gl.bbclass
new file mode 100644
index 00000000..ef1df699
--- /dev/null
+++ b/classes/emgd-gl.bbclass
@@ -0,0 +1,11 @@
+# give a different PACKAGE_ARCH to the recipes involved with opengl
+python __anonymous () {
+ provides = set((d.getVar("PROVIDES", True) or "").split())
+ depends = set((d.getVar("DEPENDS", True) or "").split())
+ glp = set([ "virtual/libgles1", "virtual/libgles2", "virtual/egl", "virtual/mesa" , "virtual/libgl"])
+ if list(glp & (provides | depends)): # set union & intersection operations
+ # matched
+ d.appendVar("PACKAGE_ARCH", "${GLSUFFIX}")
+ return