[Buildroot] [v3,1/2] package/efl: enable libdrm support

Romain Naour romain.naour at gmail.com
Sun Nov 20 19:26:28 UTC 2016


Hi Pierre,

Thanks for this new version!

Le 20/11/2016 à 19:59, pierre floury a écrit :
> From: Romain Naour <romain.naour at gmail.com>
> 
> add drm support to efl
> 
> drm can be used without compositor, just like it was with
> the framebuffer for standalone applications
> 
> As stated in configure.ac, libdrm support needs libdrm, elput,
> libxkbcommon and libgbm.
> 
> libgbm is only provided by mesa3d package when OpenGL EGL support is
> enabled, so add a direct dependency on mesa3d.
> 
> Rework the libxkbcommon dependency since it's now required for
> elput and libdrm support.
> 
> [1] https://www.enlightenment.org/about-wayland
> 
> Signed-off-by: Romain Naour <romain.naour at gmail.com>
> Signed-off-by: Pierre Floury <devpfl at gmail.com>
> 
> ---
> libgdm can be found as a standalone library on github [2] but it seems
> not very active. I prefer to rely on Mesa3d version.
> [2] https://github.com/robclark/libgbm
> 
> v2: use "select" BR2_PACKAGE_EFL_ELPUT instead of "depends on" (ThomasP)
>     fix commit log after 373c24cd1bb98a8b826b92034f7cb39780719625 (ThomasP)
> ---
> v3: rebase v2 on top of master
>     no wayland reference anymore

This patch is based on master after the wayland removal:
https://git.buildroot.net/buildroot/commit/?id=4f04be1659f186765f506c68f5bfbf6845fc40dc

So we must wait for the 2016.11 release to apply this patch.

Best regards,
Romain

>     Signed-off-by: Pierre Floury <devpfl at gmail.com>
> ---
>  package/efl/Config.in | 13 +++++++++++++
>  package/efl/efl.mk    | 11 ++++++++++-
>  2 files changed, 23 insertions(+), 1 deletion(-)
> 
> diff --git a/package/efl/Config.in b/package/efl/Config.in
> index 69b0dcf..58e3558 100644
> --- a/package/efl/Config.in
> +++ b/package/efl/Config.in
> @@ -192,6 +192,19 @@ config BR2_PACKAGE_EFL_ELPUT
>  	  ecore_drm, etc) to handle interfacing with libinput without
>  	  having to duplicate the code in each subsystem.
>  
> +config BR2_PACKAGE_EFL_DRM
> +	bool "Evas DRM Engine"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
> +	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d
> +	select BR2_PACKAGE_EFL_ELPUT
> +	select BR2_PACKAGE_LIBDRM
> +	select BR2_PACKAGE_LIBXKBCOMMON
> +	help
> +	  This option enable building support for the Evas DRM Engine.
> +
> +comment "Evas DRM Engine needs mesa3d w/ EGL support, threads"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +
>  comment "libevas loaders"
>  
>  config BR2_PACKAGE_EFL_PNG
> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
> index 6af7aa0..d6b2bf5 100644
> --- a/package/efl/efl.mk
> +++ b/package/efl/efl.mk
> @@ -148,7 +148,7 @@ endif # BR2_PACKAGE_OPENSSL
>  
>  ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
>  EFL_CONF_OPTS += --enable-elput
> -EFL_DEPENDENCIES += libinput libxkbcommon
> +EFL_DEPENDENCIES += libinput
>  else
>  EFL_CONF_OPTS += --disable-elput
>  endif
> @@ -192,6 +192,15 @@ else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
>  EFL_CONF_OPTS += --with-opengl=none
>  endif
>  
> +ifeq ($(BR2_PACKAGE_EFL_DRM),y)
> +EFL_CONF_OPTS += --enable-drm
> +EFL_DEPENDENCIES += libdrm libegl mesa3d
> +else
> +EFL_CONF_OPTS += --disable-drm
> +endif
> +
> +EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
> +
>  # Loaders that need external dependencies needs to be --enable-XXX=yes
>  # otherwise the default is '=static'.
>  # All other loaders are statically built-in
> 




More information about the buildroot mailing list