* [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option.
@ 2017-02-06 13:37 Romain Naour
2017-02-06 14:00 ` Gustavo Sverzut Barbieri
2017-02-06 15:04 ` Thomas Petazzoni
0 siblings, 2 replies; 3+ messages in thread
From: Romain Naour @ 2017-02-06 13:37 UTC (permalink / raw)
To: buildroot
From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
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 <barbieri@profusion.mobi>
[Romain:
- Propagate the eeze dependency to enlightenment
- Remove udev provider from eeze comment in efl's Config.in]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
v3: Add missing udev in Enlightenment comment text (Baruch Siach)
v2: Propagate the eeze dependency to enlightenment
Remove udev provider from eeze comment in efl's Config.in since
we don't explicitely name all possible providers in comment.
---
package/efl/Config.in | 25 ++++++++++++++++++++++---
package/efl/efl.mk | 9 ++++++++-
package/enlightenment/Config.in | 7 +++++--
3 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/package/efl/Config.in b/package/efl/Config.in
index 8b06a49..79346b3 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -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 detection, such as
+ 'drm' graphics engine or 'elput', as well as mounting
+ removable media.
+
+comment "eeze needs udev /dev management"
+ 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 && \
@@ -198,6 +215,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
@@ -208,6 +226,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
@@ -279,8 +298,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
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index ab08946..1e54f72 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -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
diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in
index b5d889b..d1dee25 100644
--- a/package/enlightenment/Config.in
+++ b/package/enlightenment/Config.in
@@ -9,10 +9,12 @@ config BR2_PACKAGE_ENLIGHTENMENT
# libedbus -> dbus, efl libraries
depends on BR2_USE_MMU
depends on BR2_PACKAGE_EFL
+ depends on BR2_PACKAGE_HAS_UDEV # efl (eeze) -> libudev
depends on BR2_PACKAGE_XORG7
# libevas-generic-loaders-svg -> librsvg -> pango -> harfbuzz
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_EFL_X_XLIB
+ select BR2_PACKAGE_EFL_EEZE
select BR2_PACKAGE_EFL_JPEG # needed at runtime by enlightenment_start
select BR2_PACKAGE_EFL_PNG # needed at runtime by enlightenment_start
select BR2_PACKAGE_EFL_SVG
@@ -26,7 +28,8 @@ config BR2_PACKAGE_ENLIGHTENMENT
http://www.enlightenment.org/
-comment "enlightenment needs a toolchain w/ wchar, C++, threads"
+comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads"
depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_HAS_SYNC_4
--
2.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option.
2017-02-06 13:37 [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option Romain Naour
@ 2017-02-06 14:00 ` Gustavo Sverzut Barbieri
2017-02-06 15:04 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Gustavo Sverzut Barbieri @ 2017-02-06 14:00 UTC (permalink / raw)
To: buildroot
On Mon, Feb 6, 2017 at 11:37 AM, Romain Naour <romain.naour@gmail.com> wrote:
>
> From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
>
> 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 <barbieri@profusion.mobi>
> [Romain:
> - Propagate the eeze dependency to enlightenment
> - Remove udev provider from eeze comment in efl's Config.in]
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
> ---
> v3: Add missing udev in Enlightenment comment text (Baruch Siach)
> v2: Propagate the eeze dependency to enlightenment
> Remove udev provider from eeze comment in efl's Config.in since
> we don't explicitely name all possible providers in comment.
> ---
> package/efl/Config.in | 25 ++++++++++++++++++++++---
> package/efl/efl.mk | 9 ++++++++-
> package/enlightenment/Config.in | 7 +++++--
> 3 files changed, 35 insertions(+), 6 deletions(-)
>
> diff --git a/package/efl/Config.in b/package/efl/Config.in
> index 8b06a49..79346b3 100644
> --- a/package/efl/Config.in
> +++ b/package/efl/Config.in
> @@ -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 detection, such as
> + 'drm' graphics engine or 'elput', as well as mounting
> + removable media.
> +
> +comment "eeze needs udev /dev management"
> + 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 && \
> @@ -198,6 +215,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
> @@ -208,6 +226,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
> @@ -279,8 +298,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
> diff --git a/package/efl/efl.mk b/package/efl/efl.mk
> index ab08946..1e54f72 100644
> --- a/package/efl/efl.mk
> +++ b/package/efl/efl.mk
> @@ -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
> diff --git a/package/enlightenment/Config.in b/package/enlightenment/Config.in
> index b5d889b..d1dee25 100644
> --- a/package/enlightenment/Config.in
> +++ b/package/enlightenment/Config.in
> @@ -9,10 +9,12 @@ config BR2_PACKAGE_ENLIGHTENMENT
> # libedbus -> dbus, efl libraries
> depends on BR2_USE_MMU
> depends on BR2_PACKAGE_EFL
> + depends on BR2_PACKAGE_HAS_UDEV # efl (eeze) -> libudev
> depends on BR2_PACKAGE_XORG7
> # libevas-generic-loaders-svg -> librsvg -> pango -> harfbuzz
> depends on BR2_TOOLCHAIN_HAS_SYNC_4
> select BR2_PACKAGE_EFL_X_XLIB
> + select BR2_PACKAGE_EFL_EEZE
> select BR2_PACKAGE_EFL_JPEG # needed at runtime by enlightenment_start
> select BR2_PACKAGE_EFL_PNG # needed at runtime by enlightenment_start
> select BR2_PACKAGE_EFL_SVG
> @@ -26,7 +28,8 @@ config BR2_PACKAGE_ENLIGHTENMENT
>
> http://www.enlightenment.org/
>
> -comment "enlightenment needs a toolchain w/ wchar, C++, threads"
> +comment "enlightenment needs udev /dev management and a toolchain w/ wchar, C++, threads"
> depends on BR2_PACKAGE_EFL && BR2_PACKAGE_XORG7 && BR2_USE_MMU
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
> + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
> + !BR2_PACKAGE_HAS_UDEV
> depends on BR2_TOOLCHAIN_HAS_SYNC_4
> --
> 2.9.3
>
--
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN, GTalk, FaceTime: barbieri at gmail.com
Skype: gsbarbieri
Mobile: +55 (16) 99354-9890
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option.
2017-02-06 13:37 [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option Romain Naour
2017-02-06 14:00 ` Gustavo Sverzut Barbieri
@ 2017-02-06 15:04 ` Thomas Petazzoni
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2017-02-06 15:04 UTC (permalink / raw)
To: buildroot
Hello,
On Mon, 6 Feb 2017 14:37:31 +0100, Romain Naour wrote:
> config BR2_PACKAGE_EFL_DRM
> bool "Evas DRM Engine"
> + depends on BR2_PACKAGE_EFL_EEZE
BR2_PACKAGE_EFL_DRM is selected by BR2_PACKAGE_EFL_WAYLAND, but you're
not propagating the dependency to BR2_PACKAGE_EFL_WAYLAND. Isn't that
missing?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-06 15:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 13:37 [Buildroot] [PATCH v3] efl: do not force dependency on libudev by making eeze a config option Romain Naour
2017-02-06 14:00 ` Gustavo Sverzut Barbieri
2017-02-06 15:04 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.