From: Quentin Schulz <[email protected]> zlib is a mesa meson feature which can be disabled so let's make it a PACKAGECONFIG.
The motivation actually isn't about disabling it (though we now could as it's only required for a few things) but rather that this dependency is a non-native one. The issue is when a native-only (-native recipe name suffix + inherit native) recipe includes mesa.inc, it'll include the DEPENDS as well but will then depend on a non-native recipe because BitBake doesn't add a suffix to dependencies listed in DEPENDS for native-only recipes like it does for recipes with BBCLASSEXTEND = native. This is a way to circumvent the issue by making the dependency a PACKAGECONFIG dependency such that the listed DEPENDS (third parameter) will be properly modified by BitBake to have the native variant of the recipe pulled in. See[1] for more info on why this is needed. This is in preparation for the addition of a mesa-tools-native native-only package which will include mesa.inc. [1] https://lore.kernel.org/openembedded-core/[email protected]/ Signed-off-by: Quentin Schulz <[email protected]> --- meta/recipes-graphics/mesa/mesa-gl.bb | 2 +- meta/recipes-graphics/mesa/mesa.bb | 1 + meta/recipes-graphics/mesa/mesa.inc | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index fe32e74744..eb0ee53af5 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -7,7 +7,7 @@ PROVIDES = "virtual/libgl virtual/mesa" TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" # At least one DRI rendering engine is required to build mesa. -PACKAGECONFIG = "expat opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} xmlconfig" +PACKAGECONFIG = "expat opengl gallium ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} xmlconfig zlib" PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.bb b/meta/recipes-graphics/mesa/mesa.bb index 2db08727fe..66c8f9c372 100644 --- a/meta/recipes-graphics/mesa/mesa.bb +++ b/meta/recipes-graphics/mesa/mesa.bb @@ -10,6 +10,7 @@ PACKAGECONFIG = " \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ ${@bb.utils.contains_any('DISTRO_FEATURES', 'opengl vulkan', 'virtio', '', d)} \ xmlconfig \ + zlib \ " PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 35b7e5a09a..b2dfc6130d 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -43,7 +43,8 @@ do_install:append() { fi } -DEPENDS = "makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" +# All dependencies **MUST** be -native. If not, then add a PACKAGECONFIG for it. +DEPENDS = "makedepend-native flex-native bison-native libxml2-native chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" EXTRANATIVEPATH += "chrpath-native" inherit meson pkgconfig python3native gettext features_check rust @@ -166,6 +167,7 @@ PACKAGECONFIG[expat] = "-Dexpat=enabled, -Dexpat=disabled, expat" PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}" # Depends on expat PACKAGECONFIG! PACKAGECONFIG[xmlconfig] = "-Dxmlconfig=enabled, -Dxmlconfig=disabled" +PACKAGECONFIG[zlib] = "-Dzlib=enabled, -Dzlib=disabled, zlib" GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe" GALLIUMDRIVERS_SOFTPIPE = ",softpipe" -- 2.53.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#230635): https://lists.openembedded.org/g/openembedded-core/message/230635 Mute This Topic: https://lists.openembedded.org/mt/117675188/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
