efl: allow smaller builds.
cover efl: allow smaller builds.
These two patches will allow smaller builds of EFL.
1) efl: fix target package dependency on util-linux
Drops util-linux if libmount support is not needed, it was partially a bug on using the incorrect variable.
2) efl: do not force dependency on libudev by making eeze...
Follow the other 'recommends' options and allow eeze (udev's wrapper) to not be built, this allows EFL to be used without /dev management, thus no eudev/libudev.
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
use the correct variable (BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT) and do not impose dependency on util-linux if not needed.
--- package/efl/Config.in | 6 +++--- package/efl/efl.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
package/efl/Config.in +3 -3
@@ -17,9 +17,6 @@ config BR2_PACKAGE_EFL # https://phab.enlightenment.org/T2728 select BR2_PACKAGE_LUAJIT # Lua support broken select BR2_PACKAGE_LZ4 - select BR2_PACKAGE_UTIL_LINUX - # libblkid is part of required tools, see EFL's README. - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_ZLIB help Enlightenment Foundation Libraries
@@ -101,7 +98,10 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" + select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + # libblkid is part of required tools, see EFL's README. + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID default y help Libmount is used heavily inside Eeze for support of removable
package/efl/efl.mk +2 -2
@@ -20,7 +20,7 @@ EFL_LICENSE_FILES = \ EFL_INSTALL_STAGING = YES EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ - jpeg luajit lz4 udev util-linux zlib + jpeg luajit lz4 udev zlib # Configure options: # --disable-lua-old: build elua for the target.
@@ -59,7 +59,7 @@ else EFL_CONF_OPTS += --disable-cxx-bindings endif -ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) +ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += --enable-libmount else
Signature · 1 line
2.11.0
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
Hi Gustavo,
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 14 lines
use the correct variable (
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT) and do not impose dependency on util-linux if not needed.Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 6 +++--- package/efl/efl.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)package/efl/Config.in +0
-0
package/efl/Config.in config BR2_PACKAGE_EFL · line 22
Quoted 6 lines
package/efl/Config.in +0
-3@@ -17,9 +17,6 @@ config BR2_PACKAGE_EFL # https://phab.enlightenment.org/T2728 select BR2_PACKAGE_LUAJIT # Lua support broken select BR2_PACKAGE_LZ4 - select BR2_PACKAGE_UTIL_LINUX - # libblkid is part of required tools, see EFL's README. - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
IIRC, There is a build issue behind this, but it was with an older efl version (1.13 or 1.14). So I have to check this.
BTW do you want to be added to DEVELOPERS file and receive any build issues from Buildroot autobuilders related to efl packages ?
https://buildroot.org/downloads/manual/manual.html#DEVELOPERS
package/efl/Config.in config BR2_PACKAGE_EFL_PULSEAUDIO · line 100
Quoted 7 lines
package/efl/Config.in +0
-0select BR2_PACKAGE_ZLIB help Enlightenment Foundation Libraries@@ -101,7 +98,10 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)"
Maybe we should rename this option to BR2_PACKAGE_EFL_UTIL_LINUX and use "Enable util-linux (limbount + libblkid) support (recommended)"
Best regards,
Romain
Quoted 30 lines
package/efl/Config.in +3
-0+ select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + # libblkid is part of required tools, see EFL's README. + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID default y help Libmount is used heavily inside Eeze for support of removablepackage/efl/efl.mk +2
-2@@ -20,7 +20,7 @@ EFL_LICENSE_FILES = \ EFL_INSTALL_STAGING = YES EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ - jpeg luajit lz4 udev util-linux zlib + jpeg luajit lz4 udev zlib # Configure options: # --disable-lua-old: build elua for the target.@@ -59,7 +59,7 @@ else EFL_CONF_OPTS += --disable-cxx-bindings endif -ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) +ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += --enable-libmount else
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
Quoted 12 lines · Romain Naour
Hi Gustavo,
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 9 lines
use the correct variable (
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT) and do not impose dependency on util-linux if not needed.Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 6 +++--- package/efl/efl.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
Quoted 14 lines
package/efl/Config.in config BR2_PACKAGE_EFL · line 22
Quoted 11 lines
package/efl/Config.in +0
-3@@ -17,9 +17,6 @@ config BR2_PACKAGE_EFL # https://phab.enlightenment.org/T2728 select BR2_PACKAGE_LUAJIT # Lua support broken select BR2_PACKAGE_LZ4 - select BR2_PACKAGE_UTIL_LINUX - # libblkid is part of required tools, see EFL's README. - select BR2_PACKAGE_UTIL_LINUX_LIBBLKIDIIRC, There is a build issue behind this, but it was with an older efl version (1.13 or 1.14). So I have to check this.
I did the cumbersome "make clean" then "make all" and it worked. So I assume this is safe now, but as you see these are enabled if BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT is enabled, and that's the default.
Quoted 4 lines
BTW do you want to be added to DEVELOPERS file and receive any build issues from Buildroot autobuilders related to efl packages ?
https://buildroot.org/downloads/manual/manual.html#DEVELOPERS
sounds good. Following that guideline I should add myself to that file, likely in this patch. Okay?
Quoted 10 lines
package/efl/Config.in config BR2_PACKAGE_EFL_PULSEAUDIO · line 100
Quoted 7 lines
package/efl/Config.in +0
-0select BR2_PACKAGE_ZLIB help Enlightenment Foundation Libraries@@ -101,7 +98,10 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)"Maybe we should rename this option to
BR2_PACKAGE_EFL_UTIL_LINUXand use "Enable util-linux (limbount + libblkid) support (recommended)"
Not sure... to tell you the truth I think libblkid is a "nice to have", not must have... our code doesn't refer to anything in libblkid, but if you want mount to auto detect the partition/filesystem, then blkid is needed to scan the block device and infer that AFAIU.
However if that's what people want I can do for sure, super simple.
Signature · 6 lines
Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN, GTalk, FaceTime: barbieri at gmail.com Skype: gsbarbieri Mobile: +55 (16) 99354-9890
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
Le 04/01/2017 ? 03:09, Gustavo Sverzut Barbieri a ?crit :
Quoted 28 lines · Romain Naour
Quoted 12 lines
Hi Gustavo,
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 9 lines
use the correct variable (
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT) and do not impose dependency on util-linux if not needed.Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 6 +++--- package/efl/efl.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)Quoted 14 lines
package/efl/Config.in config BR2_PACKAGE_EFL · line 22
Quoted 11 lines
package/efl/Config.in +0
-3@@ -17,9 +17,6 @@ config BR2_PACKAGE_EFL # https://phab.enlightenment.org/T2728 select BR2_PACKAGE_LUAJIT # Lua support broken select BR2_PACKAGE_LZ4 - select BR2_PACKAGE_UTIL_LINUX - # libblkid is part of required tools, see EFL's README. - select BR2_PACKAGE_UTIL_LINUX_LIBBLKIDIIRC, There is a build issue behind this, but it was with an older efl version (1.13 or 1.14). So I have to check this.
Quoted 4 lines
I did the cumbersome "make clean" then "make all" and it worked. So I assume this is safe now, but as you see these are enabled if
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNTis enabled, and that's the default.
I did a build test today without util-linux package and it build fine with the current efl version (1.18.4)
Quoted 9 lines
Quoted 6 lines
BTW do you want to be added to DEVELOPERS file and receive any build issues from Buildroot autobuilders related to efl packages ?
https://buildroot.org/downloads/manual/manual.html#DEVELOPERS
sounds good. Following that guideline I should add myself to that file, likely in this patch. Okay?
Well, It seems that the recommended way to do it is to send a separate patch. The reason is: if someone need to backport a patch adding a feature or a new package, we want to avoid a conflict in DEVELOPERS file while cherry-picking the commit.
Thomas, can you confirm ?
Quoted 13 lines
Quoted 7 lines
Quoted 7 lines
package/efl/Config.in +0
-0select BR2_PACKAGE_ZLIB help Enlightenment Foundation Libraries@@ -101,7 +98,10 @@ config BR2_PACKAGE_EFL_PULSEAUDIOQuoted 5 lines
package/efl/Config.in config BR2_PACKAGE_EFL_PULSEAUDIO · line 100
Quoted 2 lines
package/efl/Config.in +0
-0config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)"Maybe we should rename this option to
BR2_PACKAGE_EFL_UTIL_LINUXand use "Enable util-linux (limbount + libblkid) support (recommended)"
Quoted 7 lines
Not sure... to tell you the truth I think libblkid is a "nice to have", not must have... our code doesn't refer to anything in libblkid, but if you want mount to auto detect the partition/filesystem, then blkid is needed to scan the block device and infer that AFAIU.
However if that's what people want I can do for sure, super simple.
I followed the README comment here and because BR2_PACKAGE_UTIL_LINUX_LIBBLKID is not selected by default when util-linux package is selected. Also libblkid.so is not so big (~300Ko), I'm not sure we really need a new option BR2_PACKAGE_EFL_UTIL_LINUX_LIBLKID
config BR2_PACKAGE_EFL_UTIL_LINUX_LIBLKID
bool "Enable libblkid support (recommended)" depends on BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT
Ok, let's do it as you suggest
Best regards,
Romain
Quoted 4 lines
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
Quoted 2 lines · Romain Naour
Le 04/01/2017 ? 03:09, Gustavo Sverzut Barbieri a ?crit :
Quoted 1 line · Romain Naour
[...]
Quoted 8 lines
Quoted 7 lines
Quoted 4 lines
BTW do you want to be added to DEVELOPERS file and receive any build issues from Buildroot autobuilders related to efl packages ?
https://buildroot.org/downloads/manual/manual.html#DEVELOPERS
sounds good. Following that guideline I should add myself to that file, likely in this patch. Okay?
Quoted 6 lines
Well, It seems that the recommended way to do it is to send a separate patch. The reason is: if someone need to backport a patch adding a feature or a new package, we want to avoid a conflict in DEVELOPERS file while cherry-picking the commit.
Thomas, can you confirm ?
ok, will wait for Thomas to send as a separate patch or not.
Quoted 24 lines
Quoted 11 lines
Quoted 10 lines
package/efl/Config.in config BR2_PACKAGE_EFL_PULSEAUDIO · line 100
Quoted 7 lines
select
BR2_PACKAGE_ZLIB
help
Enlightenment Foundation Librariespackage/efl/Config.in +0
-0@@ -101,7 +98,10 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)"Maybe we should rename this option to
BR2_PACKAGE_EFL_UTIL_LINUXand use "Enable util-linux (limbount + libblkid) support (recommended)"Quoted 7 lines
Not sure... to tell you the truth I think libblkid is a "nice to have", not must have... our code doesn't refer to anything in libblkid, but if you want mount to auto detect the partition/filesystem, then blkid is needed to scan the block device and infer that AFAIU.
However if that's what people want I can do for sure, super simple.
I followed the README comment here and because
BR2_PACKAGE_UTIL_LINUX_LIBBLKIDis not selected by default when util-linux package is selected. Also libblkid.so is not so big (~300Ko), I'm not sure we really need a new optionBR2_PACKAGE_EFL_UTIL_LINUX_LIBLKID
Quoted 5 lines
config
BR2_PACKAGE_EFL_UTIL_LINUX_LIBLKID
bool "Enable libblkid support (recommended)" depends onBR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNTOk, let's do it as you suggest
As I said, the liblkid is not a dependency per se... is more to make libmount useful, overall. This isn't specific to EFL.
Looking at package/util-linux/Config.in to write this reply I saw it's already the case:
config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
bool "libmount"
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
:-)
Signature · 6 lines
Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN, GTalk, FaceTime: barbieri at gmail.com Skype: gsbarbieri Mobile: +55 (16) 99354-9890
PATCH 1/2 efl: fix target package dependency on util-linux (libmount).
In reply to Romain NaourHello,
Quoted 9 lines · Romain Naour
Quoted 2 lines
sounds good. Following that guideline I should add myself to that file, likely in this patch. Okay?
Well, It seems that the recommended way to do it is to send a separate patch. The reason is: if someone need to backport a patch adding a feature or a new package, we want to avoid a conflict in DEVELOPERS file while cherry-picking the commit.
Thomas, can you confirm ?
Correct. Please send a separate patch.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Thomas Petazzoni
AppliedPATCH 1/2 efl: fix target package dependency on util-linux (libmount).
In reply to Gustavo Sverzut BarbieriHello,
Quoted 8 lines · Gustavo Sverzut Barbieri
use the correct variable (
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT) and do not impose dependency on util-linux if not needed.Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 6 +++--- package/efl/efl.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/2 efl: do not force dependency on libudev by making eeze a config option.
In reply to Gustavo Sverzut BarbieriAlthough highly recommended to be enabled, EFL's eeze can be disabled and thus no dependency on libudev or dynamic device management.
Since 'BR2_PACKAGE_HAS_UDEV' has two ways to be satisfied (eudev or systemd) we can't automatically select it, instead show a comment and use 'depends on'.
--- package/efl/Config.in | 25 ++++++++++++++++++++++--- package/efl/efl.mk | 9 ++++++++- 2 files changed, 30 insertions(+), 4 deletions(-)
package/efl/Config.in +22 -3
@@ -4,7 +4,6 @@ config BR2_PACKAGE_EFL depends on BR2_HOST_GCC_AT_LEAST_4_7 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_HAS_UDEV # libudev depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads depends on BR2_USE_MMU
@@ -37,6 +36,19 @@ config BR2_PACKAGE_EFL_BULLET simply not tested so you are on your own in terms of ensuring everything works if you do this. +config BR2_PACKAGE_EFL_EEZE + bool "Enable eeze (udev) support (recommended)" + depends on BR2_PACKAGE_HAS_UDEV # libudev + default y + help + Eeze is EFL's hardware abstraction layer on top of udev. + Having it off will disable some hardware detetion, such as + 'drm' graphics engine or 'elput', as well as mounting + removable media. + +comment "eeze needs udev /dev management (eudev or systemd)" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_EFL_FONTCONFIG bool "Enable fontconfig support (recommended)" select BR2_PACKAGE_FONTCONFIG
@@ -98,6 +110,7 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" + depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README.
@@ -108,9 +121,13 @@ config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT devices etc... and disabling this will hurt support for Enlightenment and its filemanager. +comment "efl's libmount support needs eeze" + depends on !BR2_PACKAGE_EFL_EEZE + config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG bool default y if BR2_PACKAGE_EFL_BULLET && \ + BR2_PACKAGE_EFL_EEZE && \ BR2_PACKAGE_EFL_FONTCONFIG && \ BR2_PACKAGE_EFL_GSTREAMER1 && \ BR2_PACKAGE_EFL_LIBFRIBIDI && \
@@ -197,6 +214,7 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_ELPUT bool "Elput" + depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON help
@@ -207,6 +225,7 @@ config BR2_PACKAGE_EFL_ELPUT config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" + depends on BR2_PACKAGE_EFL_EEZE depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d select BR2_PACKAGE_EFL_ELPUT
@@ -278,8 +297,8 @@ config BR2_PACKAGE_EFL_SVG endif # BR2_PACKAGE_EFL -comment "efl needs udev /dev management and a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \ +comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP \ || !BR2_HOST_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
package/efl/efl.mk +8 -1
@@ -20,7 +20,7 @@ EFL_LICENSE_FILES = \ EFL_INSTALL_STAGING = YES EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ - jpeg luajit lz4 udev zlib + jpeg luajit lz4 zlib # Configure options: # --disable-lua-old: build elua for the target.
@@ -59,6 +59,13 @@ else EFL_CONF_OPTS += --disable-cxx-bindings endif +ifeq ($(BR2_PACKAGE_EFL_EEZE),y) +EFL_DEPENDENCIES += udev +EFL_CONF_OPTS += --enable-libeeze +else +EFL_CONF_OPTS += --disable-libeeze +endif + ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += --enable-libmount
Signature · 1 line
2.11.0
PATCH 2/2 efl: do not force dependency on libudev by making eeze a config option.
Hi Gustavo,
Thanks for these patches!
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 2 lines
Although highly recommended to be enabled, EFL's eeze can be disabled and thus no dependency on libudev or dynamic device management.
When I stated to rework and bump the efl packaging in Buildroot, the eeze dependency was mandatory. So I added an option to disable it only for the host-efl package. See [1]. As I said on IRC, I didn't event tested efl without eeze on the target and I don't think that the EFL developers even tested it.
But since you are involved in efl development, I expect --you-really-know-what-you-re-doing-and-that-this-will-probably-break-things-and-you-will-fix-them-yourself-and-send-patches-abb :)
[1]
https://git.enlightenment.org/core/efl.git/commit/?id=4351f0fa8642b163799c6ce47610d5cd9f70acfa
Quoted 4 lines
Since '
BR2_PACKAGE_HAS_UDEV' has two ways to be satisfied (eudev or systemd) we can't automatically select it, instead show a comment and use 'depends on'.
Otherwise the patch looks.
Quoted 62 lines
Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 25 ++++++++++++++++++++++--- package/efl/efl.mk | 9 ++++++++- 2 files changed, 30 insertions(+), 4 deletions(-)package/efl/Config.in +18
-1@@ -4,7 +4,6 @@ config BR2_PACKAGE_EFL depends on BR2_HOST_GCC_AT_LEAST_4_7 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_HAS_UDEV # libudev depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads depends on BR2_USE_MMU@@ -37,6 +36,19 @@ config BR2_PACKAGE_EFL_BULLET simply not tested so you are on your own in terms of ensuring everything works if you do this. +config BR2_PACKAGE_EFL_EEZE + bool "Enable eeze (udev) support (recommended)" + depends on BR2_PACKAGE_HAS_UDEV # libudev + default y + help + Eeze is EFL's hardware abstraction layer on top of udev. + Having it off will disable some hardware detetion, such as + 'drm' graphics engine or 'elput', as well as mounting + removable media. + +comment "eeze needs udev /dev management (eudev or systemd)" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_EFL_FONTCONFIG bool "Enable fontconfig support (recommended)" select BR2_PACKAGE_FONTCONFIG@@ -98,6 +110,7 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" + depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README.@@ -108,9 +121,13 @@ config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT devices etc... and disabling this will hurt support for Enlightenment and its filemanager. +comment "efl's libmount support needs eeze" + depends on !BR2_PACKAGE_EFL_EEZE + config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG bool default y if BR2_PACKAGE_EFL_BULLET && \ + BR2_PACKAGE_EFL_EEZE && \ BR2_PACKAGE_EFL_FONTCONFIG && \ BR2_PACKAGE_EFL_GSTREAMER1 && \ BR2_PACKAGE_EFL_LIBFRIBIDI && \
package/efl/Config.in endchoice # OpenGL support · line 217
Quoted 4 lines
package/efl/Config.in +1
-0@@ -197,6 +214,7 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_ELPUT bool "Elput" + depends on BR2_PACKAGE_EFL_EEZE
Add a new comment like for BR2_PACKAGE_EFL_EEZE
package/efl/Config.in config BR2_PACKAGE_EFL_ELPUT · line 228
Quoted 8 lines
package/efl/Config.in +1
-0select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON help@@ -207,6 +225,7 @@ config BR2_PACKAGE_EFL_ELPUT config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" + depends on BR2_PACKAGE_EFL_EEZE
Add a new comment like for BR2_PACKAGE_EFL_EEZE
With that fixed
Best regards,
Romain
Quoted 42 lines
package/efl/Config.in +2
-2depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d select BR2_PACKAGE_EFL_ELPUT@@ -278,8 +297,8 @@ config BR2_PACKAGE_EFL_SVG endif # BR2_PACKAGE_EFL -comment "efl needs udev /dev management and a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \ +comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP \ || !BR2_HOST_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTSpackage/efl/efl.mk +8
-1@@ -20,7 +20,7 @@ EFL_LICENSE_FILES = \ EFL_INSTALL_STAGING = YES EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ - jpeg luajit lz4 udev zlib + jpeg luajit lz4 zlib # Configure options: # --disable-lua-old: build elua for the target.@@ -59,6 +59,13 @@ else EFL_CONF_OPTS += --disable-cxx-bindings endif +ifeq ($(BR2_PACKAGE_EFL_EEZE),y) +EFL_DEPENDENCIES += udev +EFL_CONF_OPTS += --enable-libeeze +else +EFL_CONF_OPTS += --disable-libeeze +endif + ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += --enable-libmount
PATCH 2/2 efl: do not force dependency on libudev by making eeze a config option.
Quoted 13 lines · Romain Naour
Hi Gustavo,
Thanks for these patches!
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 2 lines
Although highly recommended to be enabled, EFL's eeze can be disabled and thus no dependency on libudev or dynamic device management.
When I stated to rework and bump the efl packaging in Buildroot, the eeze dependency was mandatory. So I added an option to disable it only for the host-efl package. See [1]. As I said on IRC, I didn't event tested efl without eeze on the target and I don't think that the EFL developers even tested it.
Quoted 6 lines
But since you are involved in efl development, I expect --you-really-know-what-you-re-doing-and-that-this-will-probably-break-things-and-you-will-fix-them-yourself-and-send-patches-abb :)
[1]
https://git.enlightenment.org/core/efl.git/commit/?id=4351f0fa8642b163799c6ce47610d5cd9f70acfa
yes, I saw that and it's a nice addition. Eeze used to be optional, but when we moved to the single efl tree I was one of the developers unifying the autohell stuff and to make it simpler I reduced some options until someone find a need for that... so you found it... and I'm using it :-D
I'm testing that inside qemu using a build derived from qemu_arm_versatile_defconfig with glibc, efl and few other utilities to test webkitefl. So far it's working, but if something break I'll patch efl to fix that.
Quoted 5 lines
Quoted 3 lines
config
BR2_PACKAGE_EFL_DRM
bool "Evas DRM Engine"
+ depends onBR2_PACKAGE_EFL_EEZEAdd a new comment like for
BR2_PACKAGE_EFL_EEZE
will do.
Signature · 6 lines
Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN, GTalk, FaceTime: barbieri at gmail.com Skype: gsbarbieri Mobile: +55 (16) 99354-9890
PATCH 2/2 efl: do not force dependency on libudev by making eeze a config option.
Le 04/01/2017 ? 02:10, Gustavo Sverzut Barbieri a ?crit :
Quoted 18 lines · Romain Naour
Quoted 17 lines
Hi Gustavo,
Thanks for these patches!
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 2 lines
Although highly recommended to be enabled, EFL's eeze can be disabled and thus no dependency on libudev or dynamic device management.
When I stated to rework and bump the efl packaging in Buildroot, the eeze dependency was mandatory. So I added an option to disable it only for the host-efl package. See [1]. As I said on IRC, I didn't event tested efl without eeze on the target and I don't think that the EFL developers even tested it.
But since you are involved in efl development, I expect --you-really-know-what-you-re-doing-and-that-this-will-probably-break-things-and-you-will-fix-them-yourself-and-send-patches-abb :)
Quoted 8 lines
Quoted 2 lines
[1]
https://git.enlightenment.org/core/efl.git/commit/?id=4351f0fa8642b163799c6ce47610d5cd9f70acfayes, I saw that and it's a nice addition. Eeze used to be optional, but when we moved to the single efl tree I was one of the developers unifying the autohell stuff and to make it simpler I reduced some options until someone find a need for that... so you found it... and I'm using it :-D
:)
Quoted 5 lines
I'm testing that inside qemu using a build derived from
qemu_arm_versatile_defconfigwith glibc, efl and few other utilities to test webkitefl. So far it's working, but if something break I'll patch efl to fix that.
OK great!
Best regards,
Romain
Quoted 12 lines
Quoted 8 lines
Quoted 6 lines
config
BR2_PACKAGE_EFL_DRM
bool "Evas DRM Engine"
+ depends onBR2_PACKAGE_EFL_EEZEAdd a new comment like for
BR2_PACKAGE_EFL_EEZEwill do.
PATCH 2/2 efl: do not force dependency on libudev by making eeze a config option.
In reply to Gustavo Sverzut BarbieriHi Gustavo,
Le 03/01/2017 ? 22:29, Gustavo Sverzut Barbieri a ?crit :
Quoted 28 lines
Although highly recommended to be enabled, EFL's eeze can be disabled and thus no dependency on libudev or dynamic device management.
Since '
BR2_PACKAGE_HAS_UDEV' has two ways to be satisfied (eudev or systemd) we can't automatically select it, instead show a comment and use 'depends on'.Signed-off-by Gustavo Sverzut Barbieri <[email protected]>--- package/efl/Config.in | 25 ++++++++++++++++++++++--- package/efl/efl.mk | 9 ++++++++- 2 files changed, 30 insertions(+), 4 deletions(-)package/efl/Config.in +0
-1@@ -4,7 +4,6 @@ config BR2_PACKAGE_EFL depends on BR2_HOST_GCC_AT_LEAST_4_7 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_HAS_UDEV # libudev depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads depends on BR2_USE_MMU@@ -37,6 +36,19 @@ config BR2_PACKAGE_EFL_BULLET simply not tested so you are on your own in terms of ensuring everything works if you do this.
package/efl/Config.in config BR2_PACKAGE_EFL_BULLET · line 47
Quoted 10 lines
package/efl/Config.in +9
-0+config BR2_PACKAGE_EFL_EEZE + bool "Enable eeze (udev) support (recommended)" + depends on BR2_PACKAGE_HAS_UDEV # libudev + default y + help + Eeze is EFL's hardware abstraction layer on top of udev. + Having it off will disable some hardware detetion, such as + 'drm' graphics engine or 'elput', as well as mounting + removable media.
Rethinking about this patch...
Since eeze is now optional, don't forget to propagate this new dependency on packages using efl AND requiring eeze (i.e enlightenment)
Enlightenment check for eeze, so it must depend on it ;-)
Best regards,
Romain
Quoted 84 lines
package/efl/Config.in +13
-2+ +comment "eeze needs udev /dev management (eudev or systemd)" + depends on !BR2_PACKAGE_HAS_UDEV + config BR2_PACKAGE_EFL_FONTCONFIG bool "Enable fontconfig support (recommended)" select BR2_PACKAGE_FONTCONFIG@@ -98,6 +110,7 @@ config BR2_PACKAGE_EFL_PULSEAUDIO config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT bool "Enable libmount support (recommended)" + depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT # libblkid is part of required tools, see EFL's README.@@ -108,9 +121,13 @@ config BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT devices etc... and disabling this will hurt support for Enlightenment and its filemanager. +comment "efl's libmount support needs eeze" + depends on !BR2_PACKAGE_EFL_EEZE + config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG bool default y if BR2_PACKAGE_EFL_BULLET && \ + BR2_PACKAGE_EFL_EEZE && \ BR2_PACKAGE_EFL_FONTCONFIG && \ BR2_PACKAGE_EFL_GSTREAMER1 && \ BR2_PACKAGE_EFL_LIBFRIBIDI && \@@ -197,6 +214,7 @@ endchoice # OpenGL support config BR2_PACKAGE_EFL_ELPUT bool "Elput" + depends on BR2_PACKAGE_EFL_EEZE select BR2_PACKAGE_LIBINPUT select BR2_PACKAGE_LIBXKBCOMMON help@@ -207,6 +225,7 @@ config BR2_PACKAGE_EFL_ELPUT config BR2_PACKAGE_EFL_DRM bool "Evas DRM Engine" + depends on BR2_PACKAGE_EFL_EEZE depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d select BR2_PACKAGE_EFL_ELPUT@@ -278,8 +297,8 @@ config BR2_PACKAGE_EFL_SVG endif # BR2_PACKAGE_EFL -comment "efl needs udev /dev management and a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \ +comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP \ || !BR2_HOST_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTSpackage/efl/efl.mk +8
-1@@ -20,7 +20,7 @@ EFL_LICENSE_FILES = \ EFL_INSTALL_STAGING = YES EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \ - jpeg luajit lz4 udev zlib + jpeg luajit lz4 zlib # Configure options: # --disable-lua-old: build elua for the target.@@ -59,6 +59,13 @@ else EFL_CONF_OPTS += --disable-cxx-bindings endif +ifeq ($(BR2_PACKAGE_EFL_EEZE),y) +EFL_DEPENDENCIES += udev +EFL_CONF_OPTS += --enable-libeeze +else +EFL_CONF_OPTS += --disable-libeeze +endif + ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y) EFL_DEPENDENCIES += util-linux EFL_CONF_OPTS += --enable-libmount