package/freescale-imx/imx-gpu-viv: declare as a libgbm provider

Interestingly, only the aarch64 blobs provide libgbm support. This
will help in fixing an issue that exists today, where ARM32 +
imx-gpu-viv + wayland + qt5 fails to build, because qt5 is told that
libgbm is available, i.e the following configuration:

 BR2_arm=y
 BR2_cortex_a9=y
 BR2_ARM_ENABLE_VFP=y
 BR2_TOOLCHAIN_EXTERNAL=y
 BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
 BR2_INIT_NONE=y
 BR2_SYSTEM_BIN_SH_NONE=y
 # BR2_PACKAGE_BUSYBOX is not set
 BR2_PACKAGE_QT5=y
 BR2_PACKAGE_QT5BASE_GUI=y
 BR2_PACKAGE_QT5BASE_EGLFS=y
 BR2_PACKAGE_FREESCALE_IMX=y
 BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y
 BR2_PACKAGE_IMX_GPU_VIV=y
 BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL=y
 # BR2_TARGET_ROOTFS_TAR is not set

fails to build during the qt5base configure step with:

ERROR: Feature 'gbm' was enabled, but the pre-condition 'libs.gbm' failed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Thomas Petazzoni 2022-01-08 18:37:05 +01:00
parent dc715b13b5
commit 627464367e
2 changed files with 16 additions and 0 deletions

View File

@ -17,6 +17,10 @@ config BR2_PACKAGE_IMX_GPU_VIV
select BR2_PACKAGE_LIBDRM if !(BR2_arm && BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB)
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
# gbm is only available in the aarch64 blobs
select BR2_PACKAGE_HAS_LIBGBM if BR2_aarch64
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF if BR2_aarch64
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT if BR2_aarch64
select BR2_PACKAGE_HAS_LIBOPENCL
select BR2_PACKAGE_HAS_LIBOPENVG
help
@ -82,6 +86,13 @@ config BR2_PACKAGE_PROVIDES_LIBOPENCL
config BR2_PACKAGE_PROVIDES_LIBOPENVG
default "imx-gpu-viv"
if BR2_aarch64
config BR2_PACKAGE_PROVIDES_LIBGBM
default "imx-gpu-viv"
endif
config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES
bool "install examples"
# example binaries are linked against libstdc++.so.6

View File

@ -19,6 +19,11 @@ IMX_GPU_VIV_LICENSE_FILES = EULA COPYING
IMX_GPU_VIV_REDISTRIBUTE = NO
IMX_GPU_VIV_PROVIDES = libegl libgles libopencl libopenvg
ifeq ($(BR2_aarch64),y)
IMX_GPU_VIV_PROVIDES += libgbm
endif
IMX_GPU_VIV_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT))
ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11)