Skip to contentSkip to conversation

package/efl: enable libdrm support

PATCH New pierre floury 2 participants 8 messages Nov 20, 2016 – Nov 22, 2016

lore
Share & tools
lore
#0 lore raw

v3 cover package/efl: enable libdrm support

From: Pierre Floury <[email protected]>

the folowing patches are the work done by Romain Naour to add drm and gl-drm support to package/efl

cf http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html

I just rebase the v2 patches on top of the master

Romain Naour (2):
package/efl: enable libdrm support
package/efl: add Evas GL DRM Engine support

 package/efl/Config.in | 13 +++++++++++++
 package/efl/efl.mk    | 17 ++++++++++++++++-
 2 files changed, 29 insertions(+), 1 deletion(-)
Signature · 1 line
2.1.4
#1 lore raw

PATCH v3 1/2 package/efl: enable libdrm support

From: Romain Naour <[email protected]>

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

---
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

---
 package/efl/Config.in | 13 +++++++++++++
 package/efl/efl.mk    | 11 ++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)
package/efl/Config.in +13 -0
index 69b0dcf..58e3558 100644
@@ -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
package/efl/efl.mk +10 -1
index 6af7aa0..d6b2bf5 100644
@@ -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
Signature · 1 line
2.1.4
#2 lore raw

PATCH v3 1/2 package/efl: enable libdrm support

Hi Pierre,

Thanks for this new version!

Le 20/11/2016 ? 19:59, pierre floury a ?crit :

Quoted 26 lines

From: Romain Naour <[email protected]>

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

---
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

Quoted 5 lines

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

Quoted 60 lines
---
 package/efl/Config.in | 13 +++++++++++++
 package/efl/efl.mk    | 11 ++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)
package/efl/Config.in +13 -0
index 69b0dcf..58e3558 100644
@@ -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
package/efl/efl.mk +10 -1
index 6af7aa0..d6b2bf5 100644
@@ -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
#3 lore raw

PATCH v3 2/2 package/efl: add Evas GL DRM Engine support

In reply to pierre floury

From: Romain Naour <[email protected]>

This support is required for Enlightenment wayland support [1].

As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and wayland (wayland-client >= 1.8.0)

[1] https://www.enlightenment.org/about-wayland

---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master

---
 package/efl/efl.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/efl/efl.mk +6 -0
index d6b2bf5..fdeea47 100644
@@ -199,6 +199,12 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes
Signature · 1 line
2.1.4
#4 lore raw

PATCH v3 2/2 package/efl: add Evas GL DRM Engine support

Hi Pierre,

Le 20/11/2016 ? 19:59, pierre floury a ?crit :

Quoted 12 lines

From: Romain Naour <[email protected]>

This support is required for Enlightenment wayland support [1].

As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and wayland (wayland-client >= 1.8.0)

[1] https://www.enlightenment.org/about-wayland

Quoted 6 lines

---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master

As suggested by Thomas [1], enable gl-drm only if all dependencies are available without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)

This series is ok for me :)

Best regards,
Romain

[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html

Quoted 22 lines
---
 package/efl/efl.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/efl/efl.mk +6 -0
index d6b2bf5..fdeea47 100644
@@ -199,6 +199,12 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes
#5 lore raw

PATCH v3 2/2 package/efl: add Evas GL DRM Engine support

Hi Pierre,

Le 20/11/2016 ? 20:30, Romain Naour a ?crit :

Quoted 9 lines

Hi Pierre,

Le 20/11/2016 ? 19:59, pierre floury a ?crit :

Quoted 6 lines

From: Romain Naour <[email protected]>

This support is required for Enlightenment wayland support [1].

As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and wayland (wayland-client >= 1.8.0)

^^^^^^^
:)

Quoted 13 lines
Quoted 6 lines

[1] https://www.enlightenment.org/about-wayland

Quoted 6 lines

---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master

Quoted 4 lines

As suggested by Thomas [1], enable gl-drm only if all dependencies are available without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)

This series is ok for me :)

Humm, I missed something in my initial patch... the Evas GL DRM doesn't build without Wayland package.

From config.log:
configure:42726: checking whether to enable OpenGL Drm rendering backend configure:42728: result: yes
configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm gbm wayland-client >= 1.11.0"
Package wayland-client was not found in the pkg-config search path. Perhaps you should add the directory containing `wayland-client.pc' to the PKG_CONFIG_PATH environment variable
Package 'wayland-client', required by 'world', not found configure:42750: $? = 1
configure:42875: error: OpenGL Drm dependencies not found

In a previous local version I added a dependency to wayland to elput support but I finally dropped it in the final patch submission. I forgot to add it for the GL DRM support.

I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland, efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:

ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy) EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

which is not really nice.

I prefer:

efl.mk:
ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

Config.in:
config BR2_PAKCAGE_EFL_GLES_DRM
bool "Evas GLES DRM Engine"
depends on BR2_PACKAGE_EFL_DRM
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only depends on BR2_PACKAGE_WAYLAND
help
This option enable building support for the Evas DRM OpenGL ES based engine.

comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"

	depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES && !BR2_PACKAGE_WAYLAND

Thoughts ?

Best regards,
Romain

Quoted 28 lines

Best regards,
Romain

[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html

Quoted 22 lines
---
 package/efl/efl.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/efl/efl.mk +6 -0
index d6b2bf5..fdeea47 100644
@@ -199,6 +199,12 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes
author
#6 lore raw

PATCH v3 2/2 package/efl: add Evas GL DRM Engine support

Hi Romain,

Quoted 48 lines · Romain Naour

Hi Pierre,

Le 20/11/2016 ? 20:30, Romain Naour a ?crit :

Quoted 9 lines

Hi Pierre,

Le 20/11/2016 ? 19:59, pierre floury a ?crit :

Quoted 6 lines

From: Romain Naour <[email protected]>

This support is required for Enlightenment wayland support [1].

As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and wayland (wayland-client >= 1.8.0)

^^^^^^^
:)

Quoted 13 lines
Quoted 6 lines

[1] https://www.enlightenment.org/about-wayland

Quoted 6 lines

---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master

Quoted 4 lines

As suggested by Thomas [1], enable gl-drm only if all dependencies are available without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)

This series is ok for me :)

Humm, I missed something in my initial patch... the Evas GL DRM doesn't build without Wayland package.

From config.log:
configure:42726: checking whether to enable OpenGL Drm rendering backend configure:42728: result: yes
configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm gbm wayland-client >= 1.11.0"
Package wayland-client was not found in the pkg-config search path. Perhaps you should add the directory containing `wayland-client.pc' to the PKG_CONFIG_PATH environment variable
Package 'wayland-client', required by 'world', not found configure:42750: $? = 1
configure:42875: error: OpenGL Drm dependencies not found

Quoted 3 lines

In a previous local version I added a dependency to wayland to elput support but I finally dropped it in the final patch submission. I forgot to add it for the GL DRM support.

you are right, I miss the wayland-client dependency..
But, I do not get why this is requested.. efl are running well without wayland, just with drm..

I've got an other error :

arm-linux-gnueabihf/bin/ld: cannot find -lGL this is due to configure.ac:2624:evas_engine_gl_common_libs="-lGL"

on my side, I replace "-lGL" with "" in configure.ac :

configure.ac +1 -1
@@ -2621,7 +2621,7 @@ evas_engine_gl_common_cflags=""
  if test "x${have_egl}" = "xyes"; then
     evas_engine_gl_common_libs="-lEGL"
  else
-   evas_engine_gl_common_libs="-lGL"
+   evas_engine_gl_common_libs=""
  fi
 

and regenerate configure.

What would be the best solution to fix that ? just add a patch on the configure file ? or patch theses 3 files :

configure | 26 +++++++++++++-------------configure.ac

       |  2 +-

m4/evas_check_engine.m4 | 12 ++++++------

Quoted 31 lines

I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland, efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:

ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy) EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

which is not really nice.

I prefer:

efl.mk:
ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

Config.in:
config BR2_PAKCAGE_EFL_GLES_DRM
bool "Evas GLES DRM Engine"
depends on BR2_PACKAGE_EFL_DRM
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only depends on BR2_PACKAGE_WAYLAND
help
This option enable building support for the Evas DRM OpenGL ES based engine.

Quoted 5 lines

comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"

	depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES && !BR2_PACKAGE_WAYLAND

Thoughts ?

yes, for me it makes sens to explicitly separate 'gl_drm' and 'drm' engines, as efl do it on the report of configure :
Ecore_Evas......: yes (+extn +ews -fb +drm +gl-drm -psl1ght -opengl-cocoa -software-sdl -opengl-sdl -wayland-shm -wayland-egl -software-gdi -software-ddraw -software-x11 -opengl-x11)

Quoted 33 lines

Best regards,
Romain

Quoted 28 lines

Best regards,
Romain

[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html

Quoted 22 lines
---
 package/efl/efl.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/efl/efl.mk +6 -0
index d6b2bf5..fdeea47 100644
@@ -199,6 +199,12 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes

Cheers,

Pierre

#7 lore raw

PATCH v3 2/2 package/efl: add Evas GL DRM Engine support

Hi Pierre,

Le 21/11/2016 ? 00:29, pierre a ?crit :

Quoted 52 lines

Hi Romain,

Quoted 48 lines · Romain Naour

Hi Pierre,

Le 20/11/2016 ? 20:30, Romain Naour a ?crit :

Quoted 9 lines

Hi Pierre,

Le 20/11/2016 ? 19:59, pierre floury a ?crit :

Quoted 6 lines

From: Romain Naour <[email protected]>

This support is required for Enlightenment wayland support [1].

As stated in configure, Evas GL DRM Engine needs OpenGL ES with EGL and wayland (wayland-client >= 1.8.0)

^^^^^^^
:)

Quoted 13 lines
Quoted 6 lines

[1] https://www.enlightenment.org/about-wayland

Quoted 6 lines

---
v2: rename the option to BR2_PAKCAGE_EFL_GLES_DRM (ThomasP)
fix the help text (ThomasP)
---
v3: rebase v2 on top of master

Quoted 4 lines

As suggested by Thomas [1], enable gl-drm only if all dependencies are available without using another Kconfig symbol (BR2_PAKCAGE_EFL_GLES_DRM)

This series is ok for me :)

Humm, I missed something in my initial patch... the Evas GL DRM doesn't build without Wayland package.

From config.log:
configure:42726: checking whether to enable OpenGL Drm rendering backend configure:42728: result: yes
configure:42747: $PKG_CONFIG --exists --print-errors "egl ${gl_library} libdrm gbm wayland-client >= 1.11.0"
Package wayland-client was not found in the pkg-config search path. Perhaps you should add the directory containing `wayland-client.pc' to the PKG_CONFIG_PATH environment variable
Package 'wayland-client', required by 'world', not found configure:42750: $? = 1
configure:42875: error: OpenGL Drm dependencies not found

Quoted 7 lines
Quoted 3 lines

In a previous local version I added a dependency to wayland to elput support but I finally dropped it in the final patch submission. I forgot to add it for the GL DRM support.

you are right, I miss the wayland-client dependency..
But, I do not get why this is requested.. efl are running well without wayland, just with drm..

wayland-client dependency was added to enable EGL wayland extensions to Evas_GL as far I understand: see https://phab.enlightenment.org/D1507

Quoted 8 lines

I've got an other error :

arm-linux-gnueabihf/bin/ld: cannot find -lGL this is due to configure.ac:2624:evas_engine_gl_common_libs="-lGL"

on my side, I replace "-lGL" with "" in configure.ac :

Humm, weird. can you share your defconfig ?
I'm testing gl-drm with either X11 or Wayland support enabled. I'll test it without them.

Quoted 13 lines
configure.ac +1 -1
@@ -2621,7 +2621,7 @@ evas_engine_gl_common_cflags=""
 if test "x${have_egl}" = "xyes"; then
    evas_engine_gl_common_libs="-lEGL"
 else
-   evas_engine_gl_common_libs="-lGL"
+   evas_engine_gl_common_libs=""
 fi
 

and regenerate configure.

Quoted 2 lines

What would be the best solution to fix that ? just add a patch on the configure file ? or patch theses 3 files :

If a patch modify configure.ac or a m4 file, you need to regenerate the configure script by setting EFL_AUTORECONF = YES. Also you need to regenerate the gettext files with EFL_GETTEXTIZE = YES.

If you look at the efl package git history, I did that for the efl 1.15.3.

Quoted 46 lines

configure | 26 +++++++++++++-------------configure.ac | 2 +-
m4/evas_check_engine.m4 | 12 ++++++------

Quoted 32 lines

I guess we should re-add BR2_PAKCAGE_EFL_GLES_DRM to define the wayland, efl-drm, opengl-es dependencies otherwise gl-drm would be enabled by:

ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yyy) EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

which is not really nice.

I prefer:

efl.mk:
ifeq ($(BR2_PAKCAGE_EFL_GLES_DRM),y)
EFL_CONF_OPTS += --enable-gl-drm
else
EFL_CONF_OPTS += --disable-gl-drm
endif

Config.in:
config BR2_PAKCAGE_EFL_GLES_DRM
bool "Evas GLES DRM Engine"
depends on BR2_PACKAGE_EFL_DRM
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only depends on BR2_PACKAGE_WAYLAND
help
This option enable building support for the Evas DRM OpenGL ES based engine.

Quoted 6 lines

comment "Evas GL DRM Engine needs Evas DRM Engine, OpenGL ES w/ EGL, Wayland"

    depends on BR2_PACKAGE_EFL_DRM && !BR2_PACKAGE_EFL_OPENGLES &&

!BR2_PACKAGE_WAYLAND

Thoughts ?

yes, for me it makes sens to explicitly separate 'gl_drm' and 'drm' engines, as efl do it on the report of configure :
Ecore_Evas......: yes (+extn +ews -fb +drm +gl-drm -psl1ght -opengl-cocoa

configure.ac

Quoted 2 lines
configure.ac +0 -2
-software-sdl -opengl-sdl -wayland-shm -wayland-egl -software-gdi
-software-ddraw -software-x11 -opengl-x11)

Yes, it was my first intention.

Best regards,
Romain

Quoted 40 lines
Quoted 35 lines

Best regards,
Romain

Quoted 28 lines

Best regards,
Romain

[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172422.html

Quoted 22 lines
---
 package/efl/efl.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/efl/efl.mk +6 -0
index d6b2bf5..fdeea47 100644
@@ -199,6 +199,12 @@ else
 EFL_CONF_OPTS += --disable-drm
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_OPENGLES)$(BR2_PACKAGE_EFL_DRM),yy)
+EFL_CONF_OPTS += --enable-gl-drm
+else
+EFL_CONF_OPTS += --disable-gl-drm
+endif
+
 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
 
 # Loaders that need external dependencies needs to be --enable-XXX=yes

Cheers,

Pierre