diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-16 14:56:20 +0000 |
---|---|---|
committer | Tom Zanussi <tom.zanussi@intel.com> | 2013-09-18 08:13:06 -0500 |
commit | 49f495e388d986e568f6197075a56a6e7674b2f5 (patch) | |
tree | 924fc41dabb498b83108e5821a8cec009387c6f6 /classes | |
parent | 66def4d09cbdf1614622a7ab1d84bef312b5f55d (diff) | |
download | meta-intel-49f495e388d986e568f6197075a56a6e7674b2f5.tar.gz |
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')
-rw-r--r-- | classes/emgd-gl.bbclass | 11 |
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 @@ | |||
1 | # give a different PACKAGE_ARCH to the recipes involved with opengl | ||
2 | python __anonymous () { | ||
3 | provides = set((d.getVar("PROVIDES", True) or "").split()) | ||
4 | depends = set((d.getVar("DEPENDS", True) or "").split()) | ||
5 | |||
6 | glp = set([ "virtual/libgles1", "virtual/libgles2", "virtual/egl", "virtual/mesa" , "virtual/libgl"]) | ||
7 | if list(glp & (provides | depends)): # set union & intersection operations | ||
8 | # matched | ||
9 | d.appendVar("PACKAGE_ARCH", "${GLSUFFIX}") | ||
10 | return | ||
11 | } | ||