aboutsummaryrefslogtreecommitdiff
path: root/package/mesa3d/Config.in
diff options
context:
space:
mode:
authorGravatar Romain Naour <romain.naour@smile.fr>2020-02-19 20:10:13 +0100
committerGravatar Yann E. MORIN <yann.morin.1998@free.fr>2020-02-22 20:00:07 +0100
commit73835f57669010702dba5107f0670d60952d3921 (patch)
tree8f5c2f0be03334911cb953624651ac3abf66b3f1 /package/mesa3d/Config.in
parent03ec10a70f2a7fe7d587b15a04e71c9624cd85bd (diff)
downloadbuildroot-73835f57669010702dba5107f0670d60952d3921.tar.gz
buildroot-73835f57669010702dba5107f0670d60952d3921.tar.bz2
package/mesa3d: gbm needs a DRI driver or a Gallium driver w/ EGL
src/gbm/cd6bfad@@gbm at sha/main_backend.c.o: In function `_gbm_create_device': backend.c:(.text+0x38): undefined reference to `gbm_dri_backend' backend.c:(.text+0x40): undefined reference to `gbm_dri_backend' backend.c:(.text+0x74): undefined reference to `gbm_dri_backend' backend.c:(.text+0x78): undefined reference to `gbm_dri_backend' collect2: error: ld returned 1 exit status This issue has been trigged since [1]: "package/mesa3d: add option to configure gbm support" Before the patch, the gbm support was autodetected by meson and enabled only when at least one dri driver was enabled [2]. On the Buildroot side, the gbm support was explicitely enabled only when BR2_PACKAGE_MESA3D_OPENGL_EGL was set. We have two cases: - At least one DRI driver. - No DRI driver but one Gallium w/ EGL enable (EGL selected or not by the Gallium driver). In this case the meson build system set with_dri to true (even if no DRI driver is enabled) to use the builtin:egl_dri2 [3]. The gbm's meson build system seems to handle the case where no dri driver is enabled [4] but it still use main/backend.c source file [6] that use gbm_dri_backend [7]. So with_dri2 must always be set. Probably a missing check in meson.build: if with_gbm and not with_dri error('GBM backend needs a dri driver or a gallium driver w/ EGL support.') endif Add a dependency on GBM option: depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \ || (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL) Fixes: http://autobuild.buildroot.net/results/b9b6281983388dc22d929887d653da3db60f1f2c [1] b6c051acf787c804e732bc58ba8d7e440701a168 [2] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/meson.build#L348 [3] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/meson.build#L212 [4] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/meson.build#L37 [5] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/meson.build#L24 [6] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/main/backend.c#L38 [7] http://lists.busybox.net/pipermail/buildroot/2020-February/274425.html Signed-off-by: Romain Naour <romain.naour@smile.fr> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de> [yann.morin.1998@free.fr: fix dependency of comment] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Diffstat (limited to 'package/mesa3d/Config.in')
-rw-r--r--package/mesa3d/Config.in6
1 files changed, 6 insertions, 0 deletions
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index a7d516e103..13e516e452 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -404,9 +404,15 @@ comment "OpenGL API Support"
config BR2_PACKAGE_MESA3D_GBM
bool "gbm"
+ depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
+ || (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
help
Enable Generic Buffer Management (gbm)
+comment "gbm support needs a dri driver or a gallium driver w/ EGL support."
+ depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER \
+ && !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
+
config BR2_PACKAGE_MESA3D_OPENGL_GLX
bool "OpenGL GLX"
depends on BR2_PACKAGE_XORG7