Mesa contains several optional tools that can be useful for application
and driver developers. Add a packageconfig option to build a mesa-tools
package containing relevant programs.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
 meta/recipes-graphics/mesa/mesa.inc | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/mesa/mesa.inc 
b/meta/recipes-graphics/mesa/mesa.inc
index 0a3dc1dd62a0..96e4a1959332 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -107,6 +107,20 @@ VULKAN_DRIVERS:append 
="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',fre
 VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'broadcom', 
',broadcom', '', d)}"
 PACKAGECONFIG[vulkan] = 
"-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, 
-Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
 
+# mesa development and testing tools support, per driver
+TOOLS = ""
+TOOLS_DEPS = ""
+TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', 
'', d)}"
+TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', 
',freedreno', '', d)}"
+TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
+TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', 
'', d)}"
+
+# dependencies for tools. libconfig is optional, it is a part of meta-oe so it 
needs special treatment
+TOOLS_DEPS_FREEDRENO_LIBCONFIG = " ${@bb.utils.contains('BBFILE_COLLECTIONS', 
'openembedded-layer', 'libconfig', '', d)} "
+TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' 
ncurses libxml2 ${TOOLS_DEPS_FREEDRENO_LIBCONFIG} ', '', d)}"
+
+PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', 
${TOOLS_DEPS}"
+
 PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
 PACKAGECONFIG[glvnd] = "-Dglvnd=true, -Dglvnd=false, libglvnd"
 
@@ -211,7 +225,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \
              libopencl-mesa libopencl-mesa-dev \
              libxatracker libxatracker-dev \
              mesa-megadriver mesa-vulkan-drivers \
-             mesa-vdpau-drivers \
+             mesa-vdpau-drivers mesa-tools \
             "
 
 do_install:append () {
@@ -323,6 +337,9 @@ FILES:libosmesa-dev = "${libdir}/libOSMesa.* 
${includedir}/GL/osmesa.h ${libdir}
 FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \
                           ${includedir}/xa_tracker.h 
${includedir}/xa_composite.h ${includedir}/xa_context.h \
                           ${libdir}/pkgconfig/xatracker.pc"
+# catch all to get all the tools and data
+FILES:${PN}-tools = "${bindir} ${datadir}"
+ALLOW_EMPTY:${PN}-tools = "1"
 
 # Fix upgrade path from mesa to mesa-megadriver
 RREPLACES:mesa-megadriver = "mesa"
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#177188): 
https://lists.openembedded.org/g/openembedded-core/message/177188
Mute This Topic: https://lists.openembedded.org/mt/96982252/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to