package/efl/libefl: add frame buffer config option
authorRomain Naour <romain.naour@openwide.fr>
Tue, 15 Dec 2015 22:40:17 +0000 (23:40 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 17 Dec 2015 22:53:52 +0000 (23:53 +0100)
Add an config option to enable frame buffer support
in the efl libraries.

>From the README [1]:
This requires linux frame-buffer support, headers etc. This supports
basic frame-buffers like /dev/fb as well as input via /dev/input for
keyboards and mice in a basic way.

There is a bug eina_module_load().
>From [2]:
When running terminology, a message appears in eina_module_load with:
could not dlopen("/usr/lib/ecore_evas/engines/fb/v-1.15/module.so",
Error relocating /usr/lib/ecore_evas/engines/fb/v-1.15/module.so:
ecore_fb_ts_shutdown: symbol not found): RTLD_NOW
It seems like the EAPI macro has no effect...

A patch from Ross Vandegrift has been posted on enlightenment mailing
list [3], but it's not yet an upstream patch.

[1] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n521
[2] http://sourceforge.net/p/enlightenment/mailman/message/34493376
[3] http://sourceforge.net/p/enlightenment/mailman/message/34492801

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/efl/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch [new file with mode: 0644]
package/efl/libefl/Config.in
package/efl/libefl/libefl.mk

diff --git a/package/efl/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch b/package/efl/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch
new file mode 100644 (file)
index 0000000..81d14f9
--- /dev/null
@@ -0,0 +1,64 @@
+From 2fb4fdf641e67e49b87a3524038a694c8dd0ba4e Mon Sep 17 00:00:00 2001
+From: Vicente Bergas <vicencb@gmail.com>
+Date: Fri, 9 Oct 2015 23:35:20 +0200
+Subject: [PATCH] ecore_fb_private.h: define EAPI before use
+
+From [1]:
+When running terminology, a message appears in eina_module_load with:
+could not dlopen("/usr/lib/ecore_evas/engines/fb/v-1.15/module.so",
+Error relocating /usr/lib/ecore_evas/engines/fb/v-1.15/module.so:
+ecore_fb_ts_shutdown: symbol not found): RTLD_NOW
+It seems like the EAPI macro has no effect...
+
+A patch from Ross Vandegrift has been posted on enlightenment mailing
+list [2], but it's not yet an upstream patch.
+
+[1] http://sourceforge.net/p/enlightenment/mailman/message/34493376
+[2] http://sourceforge.net/p/enlightenment/mailman/message/34492801
+
+Signed-off-by: Vicente Bergas <vicencb@gmail.com>
+[Romain:
+  - Add a commit log
+  - Add a link to the enlightenment mailing list
+  - Add Vicente's SoB line]
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ src/lib/ecore_fb/ecore_fb_private.h | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/src/lib/ecore_fb/ecore_fb_private.h b/src/lib/ecore_fb/ecore_fb_private.h
+index f7dc0c6..f54c8d2 100644
+--- a/src/lib/ecore_fb/ecore_fb_private.h
++++ b/src/lib/ecore_fb/ecore_fb_private.h
+@@ -33,6 +33,20 @@
+ #include <Ecore_Fb.h>
++#ifdef EAPI
++# undef EAPI
++#endif
++
++#ifdef __GNUC__
++# if __GNUC__ >= 4
++#  define EAPI __attribute__ ((visibility("default")))
++# else
++#  define EAPI
++# endif
++#else
++# define EAPI
++#endif
++
+ /* ecore_fb_li.c */
+ struct _Ecore_Fb_Input_Device
+ {
+@@ -92,4 +106,7 @@ void ecore_fb_vt_shutdown(void);
+ #define TS_GET_CAL 0x8014660a
+ #endif
+   
++#undef EAPI
++#define EAPI
++
+ #endif
+-- 
+2.4.3
+
index 41b12435be98b518eaf4a9b4900245d0308a5111..2a5149ed1ddffe5d36169a39329ecfee97fd27dd 100644 (file)
@@ -109,6 +109,11 @@ config BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG
 comment "Warning: one of the recommended option for EFL is not enabled"
        depends on !BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG
 
+comment "libecore video support"
+
+config BR2_PACKAGE_LIBEFL_FB
+       bool "FB support"
+
 comment "libevas loaders"
 
 config BR2_PACKAGE_LIBEFL_PNG
index 2ebf6fb14213e19a27a44c3f7e52adbb36c7be06..75af6c9a2045cd2b7b398521479c43dc8673694b 100644 (file)
@@ -30,7 +30,6 @@ LIBEFL_GETTEXTIZE = YES
 
 # Configure options:
 # --disable-cxx-bindings: disable C++11 bindings.
-# --disable-fb: disable frame buffer support.
 # --disable-image-loader-jp2k: disable JPEG 2000 support.
 # --disable-sdl: disable sdl2 support.
 # --disable-systemd: disable systemd support.
@@ -41,7 +40,6 @@ LIBEFL_CONF_OPTS = \
        --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \
        --with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \
        --disable-cxx-bindings \
-       --disable-fb \
        --disable-image-loader-jp2k \
        --disable-sdl \
        --disable-systemd \
@@ -143,6 +141,12 @@ else
 LIBEFL_CONF_OPTS += --disable-wayland
 endif
 
+ifeq ($(BR2_PACKAGE_LIBEFL_FB),y)
+LIBEFL_CONF_OPTS += --enable-fb
+else
+LIBEFL_CONF_OPTS += --disable-fb
+endif
+
 # Loaders that need external dependencies needs to be --enable-XXX=yes
 # otherwise the default is '=static'.
 # All other loaders are statically built-in