[Buildroot] [PATCH v3 5/7] package/sunxi-mali-mainline: provides libgbm

Giulio Benetti giulio.benetti at benettiengineering.com
Thu Oct 7 20:23:24 UTC 2021


Hi Kamel,

On 10/7/21 11:51 AM, Kamel Bouhara wrote:
> Registers the package as a libgbm provider.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
> ---
> Changes v1 -> v2:
>   - Fixed gbm features are provided only when wayland is set
> Changes v1 -> v2:
>   - Fixed gbm features selected only when wayland is set
> 
>   package/sunxi-mali-mainline/Config.in              |  5 +++++
>   package/sunxi-mali-mainline/gbm.pc                 | 12 ++++++++++++
>   package/sunxi-mali-mainline/sunxi-mali-mainline.mk |  3 +++
>   3 files changed, 20 insertions(+)
>   create mode 100644 package/sunxi-mali-mainline/gbm.pc
> 
> diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
> index 31a9152407..10534f263b 100644
> --- a/package/sunxi-mali-mainline/Config.in
> +++ b/package/sunxi-mali-mainline/Config.in
> @@ -14,6 +14,9 @@ if BR2_PACKAGE_SUNXI_MALI_MAINLINE
>   config BR2_PACKAGE_PROVIDES_LIBEGL
>   	default "sunxi-mali-mainline"
>   
> +config BR2_PACKAGE_PROVIDES_LIBGBM
> +	default "sunxi-mali-mainline" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
> +
>   config BR2_PACKAGE_PROVIDES_LIBGLES
>   	default "sunxi-mali-mainline"
>   
> @@ -26,6 +29,8 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
>   config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
>   	bool "wayland"
>   	depends on BR2_PACKAGE_WAYLAND
> +	select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
> +	select BR2_PACKAGE_HAS_LIBGBM
>   
>   config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
>   	bool "x11 dma-buf"
> diff --git a/package/sunxi-mali-mainline/gbm.pc b/package/sunxi-mali-mainline/gbm.pc
> new file mode 100644
> index 0000000000..593cfa0aba
> --- /dev/null
> +++ b/package/sunxi-mali-mainline/gbm.pc
> @@ -0,0 +1,12 @@
> +prefix=/usr
> +exec_prefix=/usr
> +libdir=${exec_prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: gbm
> +Description: ARM Mali implementation of gbm
> +Requires.private:
> +Version: 1.0
> +Libs: -L${libdir} -lgbm
> +Libs.private:
> +Cflags: -I${includedir}
> diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> index e058b5c3cd..8a76b46aba 100644
> --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> +++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> @@ -38,6 +38,7 @@ endif
>   
>   ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND),y)
>   SUNXI_MALI_MAINLINE_DEPENDENCIES += wayland
> +SUNXI_MALI_MAINLINE_PROVIDES += libgbm
>   endif
>   
>   # FIXME: install gbm.pc conditionally
> @@ -53,6 +54,8 @@ define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
>   		$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
>   	$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
>   		$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
> +	$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/gbm.pc \
> +		$(STAGING_DIR)/usr/lib/pkgconfig/gbm.pc

As pointed by # FIXME above you need to make the install of gbm.pc 
conditional to BR2_PACKAGE_HAS_LIBGBM, something like:

ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
define SUNXI_MALI_MAINLINE_INSTALL_GBM_PC
	$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/gbm.pc \
		$(STAGING_DIR)/usr/lib/pkgconfig/gbm.pc
endef
endif

and then call $(SUNXI_MALI_MAINLINE_INSTALL_GBM_PC) in place of the 
actual install, like $(SUNXI_MALI_MAINLINE_FIXUP_EGL_PC).

Best regards
-- 
Giulio Benetti
Benetti Engineering sas


More information about the buildroot mailing list