From: Romain Naour Date: Sat, 19 Dec 2015 16:39:15 +0000 (+0100) Subject: package/libefl: move to package directory X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6209bbb60686cb51c83282e97e8309027ec8133;p=buildroot.git package/libefl: move to package directory As discussed on the list move the last remaining package in package/efl subdirectory to package/ directory. - move the efl dependency to libefl. - Set LIBEFL_VERSION with the version number directly. Signed-off-by: Romain Naour Cc: Thomas Petazzoni Signed-off-by: Thomas Petazzoni --- diff --git a/package/Config.in b/package/Config.in index 55cd874f32..53e8988728 100644 --- a/package/Config.in +++ b/package/Config.in @@ -253,6 +253,7 @@ endif source "package/fbv/Config.in" source "package/freerdp/Config.in" source "package/imagemagick/Config.in" + source "package/libefl/Config.in" source "package/linux-fusion/Config.in" source "package/lite/Config.in" source "package/mesa3d/Config.in" @@ -269,7 +270,6 @@ endif source "package/sdl2/Config.in" comment "Other GUIs" - source "package/efl/Config.in" source "package/qt/Config.in" source "package/qt5/Config.in" if BR2_PACKAGE_QT || BR2_PACKAGE_QT5 diff --git a/package/efl/Config.in b/package/efl/Config.in deleted file mode 100644 index 7ef1b5bd9d..0000000000 --- a/package/efl/Config.in +++ /dev/null @@ -1,29 +0,0 @@ -menuconfig BR2_PACKAGE_EFL - bool "Enlightenment Foundation Libraries" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_PACKAGE_HAS_UDEV # libudev - depends on BR2_PACKAGE_LUA # lua 5.1 or better - depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads - depends on BR2_USE_MMU - depends on BR2_USE_WCHAR # use wchar_t - depends on !BR2_STATIC_LIBS # dlfcn.h - select BR2_PACKAGE_LIBEFL - help - Enlightenment Foundation Libraries - - http://enlightenment.org - -if BR2_PACKAGE_EFL - -source "package/efl/libefl/Config.in" - -endif # BR2_PACKAGE_EFL - -comment "EFL needs udev /dev management and a toolchain w/ C++, dynamic library, threads, wchar" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \ - || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR - depends on BR2_USE_MMU - -comment "EFL needs lua" - depends on !BR2_PACKAGE_LUA - depends on BR2_USE_MMU diff --git a/package/efl/efl.mk b/package/efl/efl.mk deleted file mode 100644 index 151ac28a13..0000000000 --- a/package/efl/efl.mk +++ /dev/null @@ -1,4 +0,0 @@ - -EFL_VERSION = 1.15.2 - -include $(sort $(wildcard package/efl/*/*.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 deleted file mode 100644 index 81d14f9426..0000000000 --- a/package/efl/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 2fb4fdf641e67e49b87a3524038a694c8dd0ba4e Mon Sep 17 00:00:00 2001 -From: Vicente Bergas -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 -[Romain: - - Add a commit log - - Add a link to the enlightenment mailing list - - Add Vicente's SoB line] -Signed-off-by: Romain Naour ---- - 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 - -+#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 - diff --git a/package/efl/libefl/0002-ecore_x-Remove-XPrint-usage.patch b/package/efl/libefl/0002-ecore_x-Remove-XPrint-usage.patch deleted file mode 100644 index 4687e4ca49..0000000000 --- a/package/efl/libefl/0002-ecore_x-Remove-XPrint-usage.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 434572355c7e929b84210b2f795634d38f13c913 Mon Sep 17 00:00:00 2001 -From: Derek Foreman -Date: Tue, 6 Oct 2015 13:13:01 -0400 -Subject: [PATCH] ecore_x: Remove XPrint usage - -Summary: -Xprint has been deprecated since 2008. - -It's recently (August 2015) been removed from debian. - -Reviewers: zmike, devilhorns - -Subscribers: cedric - -Differential Revision: https://phab.enlightenment.org/D3150 ---- - configure.ac | 1 - - src/lib/ecore_x/xlib/ecore_x.c | 78 ---------------------------------- - src/lib/ecore_x/xlib/ecore_x_private.h | 3 -- - 3 files changed, 82 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 9c17946..c34191c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3624,7 +3624,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then - ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension]) - ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion]) - ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens]) -- ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens]) - ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent]) - ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat]) - ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent]) -diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c -index 096f64d..8e2057e 100644 ---- a/src/lib/ecore_x/xlib/ecore_x.c -+++ b/src/lib/ecore_x/xlib/ecore_x.c -@@ -1219,9 +1219,6 @@ ecore_x_window_root_list(int *num_ret) - { - int num, i; - Ecore_X_Window *roots; --#ifdef ECORE_XPRINT -- int xp_base, xp_err_base; --#endif /* ifdef ECORE_XPRINT */ - - if (!num_ret) - return NULL; -@@ -1229,80 +1226,6 @@ ecore_x_window_root_list(int *num_ret) - *num_ret = 0; - - LOGFN(__FILE__, __LINE__, __FUNCTION__); --#ifdef ECORE_XPRINT -- num = ScreenCount(_ecore_x_disp); -- if (XpQueryExtension(_ecore_x_disp, &xp_base, &xp_err_base)) -- { -- Screen **ps = NULL; -- int psnum = 0; -- -- ps = XpQueryScreens(_ecore_x_disp, &psnum); -- if (ps) -- { -- int overlap, j; -- -- overlap = 0; -- for (i = 0; i < num; i++) -- { -- for (j = 0; j < psnum; j++) -- { -- if (ScreenOfDisplay(_ecore_x_disp, i) == ps[j]) -- overlap++; -- } -- } -- roots = malloc(MAX((num - overlap) * sizeof(Ecore_X_Window), 1)); -- if (roots) -- { -- int k; -- -- k = 0; -- for (i = 0; i < num; i++) -- { -- int is_print; -- -- is_print = 0; -- for (j = 0; j < psnum; j++) -- { -- if (ScreenOfDisplay(_ecore_x_disp, i) == ps[j]) -- { -- is_print = 1; -- break; -- } -- } -- if (!is_print) -- { -- roots[k] = RootWindow(_ecore_x_disp, i); -- k++; -- } -- } -- *num_ret = k; -- } -- -- XFree(ps); -- } -- else -- { -- roots = malloc(num * sizeof(Ecore_X_Window)); -- if (!roots) -- return NULL; -- -- *num_ret = num; -- for (i = 0; i < num; i++) -- roots[i] = RootWindow(_ecore_x_disp, i); -- } -- } -- else -- { -- roots = malloc(num * sizeof(Ecore_X_Window)); -- if (!roots) -- return NULL; -- -- *num_ret = num; -- for (i = 0; i < num; i++) -- roots[i] = RootWindow(_ecore_x_disp, i); -- } -- --#else /* ifdef ECORE_XPRINT */ - num = ScreenCount(_ecore_x_disp); - roots = malloc(num * sizeof(Ecore_X_Window)); - if (!roots) -@@ -1311,7 +1234,6 @@ ecore_x_window_root_list(int *num_ret) - *num_ret = num; - for (i = 0; i < num; i++) - roots[i] = RootWindow(_ecore_x_disp, i); --#endif /* ifdef ECORE_XPRINT */ - return roots; - } - -diff --git a/src/lib/ecore_x/xlib/ecore_x_private.h b/src/lib/ecore_x/xlib/ecore_x_private.h -index 97b3858..07c09fb 100644 ---- a/src/lib/ecore_x/xlib/ecore_x_private.h -+++ b/src/lib/ecore_x/xlib/ecore_x_private.h -@@ -19,9 +19,6 @@ - #ifdef ECORE_XCURSOR - #include - #endif /* ifdef ECORE_XCURSOR */ --#ifdef ECORE_XPRINT --#include --#endif /* ifdef ECORE_XPRINT */ - #ifdef ECORE_XINERAMA - #include - #endif /* ifdef ECORE_XINERAMA */ --- -2.4.3 - diff --git a/package/efl/libefl/Config.in b/package/efl/libefl/Config.in deleted file mode 100644 index b2c8773593..0000000000 --- a/package/efl/libefl/Config.in +++ /dev/null @@ -1,174 +0,0 @@ -config BR2_PACKAGE_LIBEFL - bool "libefl" - select BR2_PACKAGE_DBUS - select BR2_PACKAGE_FREETYPE - select BR2_PACKAGE_JPEG # Emile needs libjpeg - select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency - select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND - select BR2_PACKAGE_UTIL_LINUX - # libblkid is part of required tools, see EFL's README. - select BR2_PACKAGE_UTIL_LINUX_LIBBLKID - help - Enlightenment Foundation Libraries - - https://enlightenment.org - -if BR2_PACKAGE_LIBEFL - -config BR2_PACKAGE_LIBEFL_BULLET - bool "Enable bullet support (recommended)" - select BR2_PACKAGE_BULLET - default y - help - If you have chosen to disable physics support, this disables - lots of core functionality and is effectively never - tested. You are going to find features that suddenly don't - work and as a result cause a series of breakages. This is - simply not tested so you are on your own in terms of - ensuring everything works if you do this. - -config BR2_PACKAGE_LIBEFL_FONTCONFIG - bool "Enable fontconfig support (recommended)" - select BR2_PACKAGE_FONTCONFIG - default y - help - If fontconfig is disabled, this is going to make general - font searching not work, and only some very direct 'load - /path/file.ttf' will work alongside some old-school ttf file - path searching. This is very likely not what you want, so - highly reconsider turning fontconfig off. Having it off will - lead to visual problems like missing text in many UI areas - etc... - -config BR2_PACKAGE_LIBEFL_GSTREAMER1 - bool "Enable gstreamer1 support (recommended)" - select BR2_PACKAGE_GSTREAMER1 - select BR2_PACKAGE_GST1_PLUGINS_BASE - default y - help - If Gstreamer 1.x support is disabled, it will heavily limit - your media support options and render some functionality as - useless, leading to visible application bugs. - -config BR2_PACKAGE_LIBEFL_LIBFRIBIDI - bool "Enable libfribidi support (recommended)" - select BR2_PACKAGE_LIBFRIBIDI - default y - help - Fribidi is used for handling right-to-left text (like - Arabic, Hebrew, Farsi, Persian etc.) and is very likely not - a feature you want to disable unless you know for absolute - certain you will never encounter and have to display such - scripts. Also note that we don't test with fribidi disabled - so you may also trigger code paths with bugs that are never - normally used. - -config BR2_PACKAGE_LIBEFL_LIBSNDFILE - bool "Enable libsndfile support (recommended)" - select BR2_PACKAGE_LIBSNDFILE - default y - help - If you disabled audio support in Ecore, this is not tested - and may create bugs for you due to it creating untested code - paths. Reconsider disabling audio. - -config BR2_PACKAGE_LIBEFL_PULSEAUDIO - bool "Enable pulseaudio support (recommended)" - depends on BR2_ARCH_HAS_ATOMICS # pulseaudio - select BR2_PACKAGE_PULSEAUDIO - default y - help - The only audio output method supported by Ecore right now is - via Pulseaudio. You have disabled that and likely have - broken a whole bunch of things in the process. Reconsider - your configure options. - - NOTE: multisense support is automatically enabled with - pulseaudio. - -config BR2_PACKAGE_LIBEFL_UTIL_LINUX_LIBMOUNT - bool "Enable libmount support (recommended)" - select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT - default y - help - Libmount is used heavily inside Eeze for support of removable - devices etc... and disabling this will hurt support for - Enlightenment and its filemanager. - -config BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG - bool - default y if BR2_PACKAGE_LIBEFL_BULLET && \ - BR2_PACKAGE_LIBEFL_FONTCONFIG && \ - BR2_PACKAGE_LIBEFL_GSTREAMER1 && \ - BR2_PACKAGE_LIBEFL_LIBFRIBIDI && \ - BR2_PACKAGE_LIBEFL_LIBSNDFILE && \ - BR2_PACKAGE_LIBEFL_PULSEAUDIO && \ - BR2_PACKAGE_LIBEFL_UTIL_LINUX_LIBMOUNT - - -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" - -config BR2_PACKAGE_LIBEFL_X_XLIB - bool "X11 support (xlib)" - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XLIB_LIBXCOMPOSITE - select BR2_PACKAGE_XLIB_LIBXCURSOR - select BR2_PACKAGE_XLIB_LIBXDAMAGE - select BR2_PACKAGE_XLIB_LIBXINERAMA - select BR2_PACKAGE_XLIB_LIBXP - select BR2_PACKAGE_XLIB_LIBXRANDR - select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XLIB_LIBXSCRNSAVER - select BR2_PACKAGE_XLIB_LIBXTST - select BR2_PACKAGE_XPROTO_GLPROTO - -comment "libevas loaders" - -config BR2_PACKAGE_LIBEFL_PNG - bool "libevas png loader" - select BR2_PACKAGE_LIBPNG - help - This enables the loader code that loads png files using - libpng. - -config BR2_PACKAGE_LIBEFL_JP2K - bool "libevas jp2k loader" - select BR2_PACKAGE_OPENJPEG - help - This enables the loader code that loads jp2k files using - openjpeg. - -config BR2_PACKAGE_LIBEFL_JPEG - bool "libevas jpeg loader" - help - This enables the loader code that loads jpeg files using - libjpeg. - -config BR2_PACKAGE_LIBEFL_GIF - bool "libevas gif loader" - select BR2_PACKAGE_GIFLIB - help - This enables the loader code that loads gif files using - libungif. - -config BR2_PACKAGE_LIBEFL_TIFF - bool "libevas tiff loader" - select BR2_PACKAGE_TIFF - help - This enables the loader code that loads tiff files. - -config BR2_PACKAGE_LIBEFL_WEBP - bool "libevas webp image loader" - select BR2_PACKAGE_WEBP - help - This enables the loader code that loads images using WebP. - -endif # BR2_PACKAGE_LIBEFL diff --git a/package/efl/libefl/libefl.hash b/package/efl/libefl/libefl.hash deleted file mode 100644 index 7ac26f4980..0000000000 --- a/package/efl/libefl/libefl.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.15.2.tar.xz.sha256 -sha256 dd738f19f454621a7fa1fdb4c008457c170989f5f0c535edfed7b6773ae6c2a4 efl-1.15.2.tar.xz diff --git a/package/efl/libefl/libefl.mk b/package/efl/libefl/libefl.mk deleted file mode 100644 index b989d54164..0000000000 --- a/package/efl/libefl/libefl.mk +++ /dev/null @@ -1,278 +0,0 @@ -################################################################################ -# -# libefl -# -################################################################################ - -LIBEFL_VERSION = $(EFL_VERSION) -LIBEFL_SOURCE = efl-$(LIBEFL_VERSION).tar.xz -LIBEFL_SITE = http://download.enlightenment.org/rel/libs/efl -LIBEFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+ -LIBEFL_LICENSE_FILES = \ - COMPLIANCE \ - COPYING \ - licenses/COPYING.BSD \ - licenses/COPYING.FTL \ - licenses/COPYING.GPL \ - licenses/COPYING.LGPL \ - licenses/COPYING.SMALL - -LIBEFL_INSTALL_STAGING = YES - -LIBEFL_DEPENDENCIES = host-pkgconf host-libefl dbus freetype jpeg lua udev \ - util-linux zlib - -# Regenerate the autotools: -# - to fix an issue in eldbus-codegen: https://phab.enlightenment.org/T2718 -# - to remove dependency on libXp: https://phab.enlightenment.org/D3150 -LIBEFL_AUTORECONF = YES -LIBEFL_GETTEXTIZE = YES - -# Configure options: -# --disable-cxx-bindings: disable C++11 bindings. -# --disable-sdl: disable sdl2 support. -# --disable-systemd: disable systemd support. -# --disable-xinput22: disable X11 XInput v2.2+ support. -# --enable-lua-old: disable Elua and remove luajit dependency. -# --with-opengl=none: disable opengl support. -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-sdl \ - --disable-systemd \ - --disable-xinput22 \ - --enable-lua-old \ - --with-opengl=none - -# Disable untested configuration warning. -ifeq ($(BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG),) -LIBEFL_CONF_OPTS += --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba -endif - -ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) -LIBEFL_DEPENDENCIES += util-linux -LIBEFL_CONF_OPTS += --enable-libmount -else -LIBEFL_CONF_OPTS += --disable-libmount -endif - -ifeq ($(BR2_PACKAGE_FONTCONFIG),y) -LIBEFL_CONF_OPTS += --enable-fontconfig -LIBEFL_DEPENDENCIES += fontconfig -else -LIBEFL_CONF_OPTS += --disable-fontconfig -endif - -ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) -LIBEFL_CONF_OPTS += --enable-fribidi -LIBEFL_DEPENDENCIES += libfribidi -else -LIBEFL_CONF_OPTS += --disable-fribidi -endif - -ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy) -LIBEFL_CONF_OPTS += --enable-gstreamer1 -LIBEFL_DEPENDENCIES += gstreamer1 gst1-plugins-base -else -LIBEFL_CONF_OPTS += --disable-gstreamer1 -endif - -ifeq ($(BR2_PACKAGE_BULLET),y) -LIBEFL_CONF_OPTS += --enable-physics -LIBEFL_DEPENDENCIES += bullet -else -LIBEFL_CONF_OPTS += --disable-physics -endif - -ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) -LIBEFL_CONF_OPTS += --enable-audio -LIBEFL_DEPENDENCIES += libsndfile -else -LIBEFL_CONF_OPTS += --disable-audio -endif - -ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) -LIBEFL_CONF_OPTS += --enable-pulseaudio -LIBEFL_DEPENDENCIES += pulseaudio -else -LIBEFL_CONF_OPTS += --disable-pulseaudio -endif - -ifeq ($(BR2_PACKAGE_HARFBUZZ),y) -LIBEFL_DEPENDENCIES += harfbuzz -LIBEFL_CONF_OPTS += --enable-harfbuzz -else -LIBEFL_CONF_OPTS += --disable-harfbuzz -endif - -ifeq ($(BR2_PACKAGE_TSLIB),y) -LIBEFL_DEPENDENCIES += tslib -LIBEFL_CONF_OPTS += --enable-tslib -else -LIBEFL_CONF_OPTS += --disable-tslib -endif - -ifeq ($(BR2_PACKAGE_LIBGLIB2),y) -LIBEFL_DEPENDENCIES += libglib2 -LIBEFL_CONF_OPTS += --with-glib=yes -else -LIBEFL_CONF_OPTS += --with-glib=no -endif - -# Prefer openssl (the default) over gnutls. -ifeq ($(BR2_PACKAGE_OPENSSL),y) -LIBEFL_DEPENDENCIES += openssl -LIBEFL_CONF_OPTS += --with-crypto=openssl -else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy) -LIBEFL_DEPENDENCIES += gnutls libgcrypt -LIBEFL_CONF_OPTS += --with-crypto=gnutls \ - --with-libgcrypt-prefix=$(STAGING_DIR)/usr -else -LIBEFL_CONF_OPTS += --with-crypto=none -endif # BR2_PACKAGE_OPENSSL - -ifeq ($(BR2_PACKAGE_WAYLAND),y) -LIBEFL_DEPENDENCIES += wayland libxkbcommon -LIBEFL_CONF_OPTS += --enable-wayland -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 - -ifeq ($(BR2_PACKAGE_LIBEFL_X_XLIB),y) -LIBEFL_CONF_OPTS += \ - --with-x11=xlib \ - --with-x=$(STAGING_DIR) \ - --x-includes=$(STAGING_DIR)/usr/include \ - --x-libraries=$(STAGING_DIR)/usr/lib - -LIBEFL_DEPENDENCIES += \ - xlib_libX11 \ - xlib_libXcomposite \ - xlib_libXcursor \ - xlib_libXdamage \ - xlib_libXext \ - xlib_libXinerama \ - xlib_libXrandr \ - xlib_libXrender \ - xlib_libXScrnSaver \ - xlib_libXtst -else -LIBEFL_CONF_OPTS += --with-x11=none -endif - -# Loaders that need external dependencies needs to be --enable-XXX=yes -# otherwise the default is '=static'. -# All other loaders are statically built-in -ifeq ($(BR2_PACKAGE_LIBEFL_PNG),y) -LIBEFL_CONF_OPTS += --enable-image-loader-png=yes -LIBEFL_DEPENDENCIES += libpng -else -LIBEFL_CONF_OPTS += --disable-image-loader-png -endif - -ifeq ($(BR2_PACKAGE_LIBEFL_JPEG),y) -LIBEFL_CONF_OPTS += --enable-image-loader-jpeg=yes -# libefl already depends on jpeg. -else -LIBEFL_CONF_OPTS += --disable-image-loader-jpeg -endif - -ifeq ($(BR2_PACKAGE_LIBEFL_GIF),y) -LIBEFL_CONF_OPTS += --enable-image-loader-gif=yes -LIBEFL_DEPENDENCIES += giflib -else -LIBEFL_CONF_OPTS += --disable-image-loader-gif -endif - -ifeq ($(BR2_PACKAGE_LIBEFL_TIFF),y) -LIBEFL_CONF_OPTS += --enable-image-loader-tiff=yes -LIBEFL_DEPENDENCIES += tiff -else -LIBEFL_CONF_OPTS += --disable-image-loader-tiff -endif - -ifeq ($(BR2_PACKAGE_LIBEFL_JP2K),y) -LIBEFL_CONF_OPTS += --enable-image-loader-jp2k=yes -LIBEFL_DEPENDENCIES += openjpeg -else -LIBEFL_CONF_OPTS += --disable-image-loader-jp2k -endif - -ifeq ($(BR2_PACKAGE_LIBEFL_WEBP),y) -LIBEFL_CONF_OPTS += --enable-image-loader-webp=yes -LIBEFL_DEPENDENCIES += webp -else -LIBEFL_CONF_OPTS += --disable-image-loader-webp -endif - -$(eval $(autotools-package)) - -################################################################################ -# -# host-libefl -# -################################################################################ - -# We want to build only some host tools used later in the build. -# Actually we want: edje_cc, embryo_cc and eet. - -# Host dependencies: -# * host-dbus: for Eldbus -# * host-freetype: for libevas -# * host-libglib2: for libecore -# * host-libjpeg, host-libpng: for libevas image loader -# * host-lua: disable luajit dependency -HOST_LIBEFL_DEPENDENCIES = \ - host-pkgconf \ - host-dbus \ - host-freetype \ - host-libglib2 \ - host-libjpeg \ - host-libpng \ - host-lua \ - host-zlib - -# Configure options: -# --disable-audio, --disable-multisense remove libsndfile dependency. -# --disable-cxx-bindings: disable C++11 bindings. -# --disable-fontconfig: remove dependency on fontconfig. -# --disable-fribidi: remove dependency on libfribidi. -# --disable-gstreamer1: remove dependency on gtreamer 1.0. -# --disable-libeeze: remove libudev dependency. -# --disable-libmount: remove dependency on host-util-linux libmount. -# --disable-physics: remove Bullet dependency. -# --enable-image-loader-gif=no: disable Gif dependency. -# --enable-image-loader-tiff=no: disable Tiff dependency. -# --enable-lua-old: disable Elua and remove luajit dependency. -# --with-crypto=none: remove dependencies on openssl or gnutls. -# --with-x11=none: remove dependency on X.org. -# Yes I really know what I am doing. -HOST_LIBEFL_CONF_OPTS += \ - --disable-audio \ - --disable-cxx-bindings \ - --disable-fontconfig \ - --disable-fribidi \ - --disable-gstreamer1 \ - --disable-libeeze \ - --disable-libmount \ - --disable-multisense \ - --disable-physics \ - --enable-image-loader-gif=no \ - --enable-image-loader-jpeg=yes \ - --enable-image-loader-png=yes \ - --enable-image-loader-tiff=no \ - --enable-lua-old \ - --with-crypto=none \ - --with-glib=yes \ - --with-opengl=none \ - --with-x11=none \ - --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba - -$(eval $(host-autotools-package)) diff --git a/package/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch b/package/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch new file mode 100644 index 0000000000..81d14f9426 --- /dev/null +++ b/package/libefl/0001-ecore_fb_private.h-define-EAPI-before-use.patch @@ -0,0 +1,64 @@ +From 2fb4fdf641e67e49b87a3524038a694c8dd0ba4e Mon Sep 17 00:00:00 2001 +From: Vicente Bergas +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 +[Romain: + - Add a commit log + - Add a link to the enlightenment mailing list + - Add Vicente's SoB line] +Signed-off-by: Romain Naour +--- + 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 + ++#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 + diff --git a/package/libefl/0002-ecore_x-Remove-XPrint-usage.patch b/package/libefl/0002-ecore_x-Remove-XPrint-usage.patch new file mode 100644 index 0000000000..4687e4ca49 --- /dev/null +++ b/package/libefl/0002-ecore_x-Remove-XPrint-usage.patch @@ -0,0 +1,153 @@ +From 434572355c7e929b84210b2f795634d38f13c913 Mon Sep 17 00:00:00 2001 +From: Derek Foreman +Date: Tue, 6 Oct 2015 13:13:01 -0400 +Subject: [PATCH] ecore_x: Remove XPrint usage + +Summary: +Xprint has been deprecated since 2008. + +It's recently (August 2015) been removed from debian. + +Reviewers: zmike, devilhorns + +Subscribers: cedric + +Differential Revision: https://phab.enlightenment.org/D3150 +--- + configure.ac | 1 - + src/lib/ecore_x/xlib/ecore_x.c | 78 ---------------------------------- + src/lib/ecore_x/xlib/ecore_x_private.h | 3 -- + 3 files changed, 82 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9c17946..c34191c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3624,7 +3624,6 @@ if test "x${want_x11_xlib}" = "xyes" ; then + ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension]) + ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion]) + ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens]) +- ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens]) + ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent]) + ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat]) + ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent]) +diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c +index 096f64d..8e2057e 100644 +--- a/src/lib/ecore_x/xlib/ecore_x.c ++++ b/src/lib/ecore_x/xlib/ecore_x.c +@@ -1219,9 +1219,6 @@ ecore_x_window_root_list(int *num_ret) + { + int num, i; + Ecore_X_Window *roots; +-#ifdef ECORE_XPRINT +- int xp_base, xp_err_base; +-#endif /* ifdef ECORE_XPRINT */ + + if (!num_ret) + return NULL; +@@ -1229,80 +1226,6 @@ ecore_x_window_root_list(int *num_ret) + *num_ret = 0; + + LOGFN(__FILE__, __LINE__, __FUNCTION__); +-#ifdef ECORE_XPRINT +- num = ScreenCount(_ecore_x_disp); +- if (XpQueryExtension(_ecore_x_disp, &xp_base, &xp_err_base)) +- { +- Screen **ps = NULL; +- int psnum = 0; +- +- ps = XpQueryScreens(_ecore_x_disp, &psnum); +- if (ps) +- { +- int overlap, j; +- +- overlap = 0; +- for (i = 0; i < num; i++) +- { +- for (j = 0; j < psnum; j++) +- { +- if (ScreenOfDisplay(_ecore_x_disp, i) == ps[j]) +- overlap++; +- } +- } +- roots = malloc(MAX((num - overlap) * sizeof(Ecore_X_Window), 1)); +- if (roots) +- { +- int k; +- +- k = 0; +- for (i = 0; i < num; i++) +- { +- int is_print; +- +- is_print = 0; +- for (j = 0; j < psnum; j++) +- { +- if (ScreenOfDisplay(_ecore_x_disp, i) == ps[j]) +- { +- is_print = 1; +- break; +- } +- } +- if (!is_print) +- { +- roots[k] = RootWindow(_ecore_x_disp, i); +- k++; +- } +- } +- *num_ret = k; +- } +- +- XFree(ps); +- } +- else +- { +- roots = malloc(num * sizeof(Ecore_X_Window)); +- if (!roots) +- return NULL; +- +- *num_ret = num; +- for (i = 0; i < num; i++) +- roots[i] = RootWindow(_ecore_x_disp, i); +- } +- } +- else +- { +- roots = malloc(num * sizeof(Ecore_X_Window)); +- if (!roots) +- return NULL; +- +- *num_ret = num; +- for (i = 0; i < num; i++) +- roots[i] = RootWindow(_ecore_x_disp, i); +- } +- +-#else /* ifdef ECORE_XPRINT */ + num = ScreenCount(_ecore_x_disp); + roots = malloc(num * sizeof(Ecore_X_Window)); + if (!roots) +@@ -1311,7 +1234,6 @@ ecore_x_window_root_list(int *num_ret) + *num_ret = num; + for (i = 0; i < num; i++) + roots[i] = RootWindow(_ecore_x_disp, i); +-#endif /* ifdef ECORE_XPRINT */ + return roots; + } + +diff --git a/src/lib/ecore_x/xlib/ecore_x_private.h b/src/lib/ecore_x/xlib/ecore_x_private.h +index 97b3858..07c09fb 100644 +--- a/src/lib/ecore_x/xlib/ecore_x_private.h ++++ b/src/lib/ecore_x/xlib/ecore_x_private.h +@@ -19,9 +19,6 @@ + #ifdef ECORE_XCURSOR + #include + #endif /* ifdef ECORE_XCURSOR */ +-#ifdef ECORE_XPRINT +-#include +-#endif /* ifdef ECORE_XPRINT */ + #ifdef ECORE_XINERAMA + #include + #endif /* ifdef ECORE_XINERAMA */ +-- +2.4.3 + diff --git a/package/libefl/Config.in b/package/libefl/Config.in new file mode 100644 index 0000000000..08c29fcf32 --- /dev/null +++ b/package/libefl/Config.in @@ -0,0 +1,190 @@ +config BR2_PACKAGE_LIBEFL + bool "libefl" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_HAS_UDEV # libudev + depends on BR2_PACKAGE_LUA # lua 5.1 or better + depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads + depends on BR2_USE_MMU + depends on BR2_USE_WCHAR # use wchar_t + depends on !BR2_STATIC_LIBS # dlfcn.h + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_JPEG # Emile needs libjpeg + select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency + select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_UTIL_LINUX + # libblkid is part of required tools, see EFL's README. + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + help + Enlightenment Foundation Libraries + + https://enlightenment.org + +if BR2_PACKAGE_LIBEFL + +config BR2_PACKAGE_LIBEFL_BULLET + bool "Enable bullet support (recommended)" + select BR2_PACKAGE_BULLET + default y + help + If you have chosen to disable physics support, this disables + lots of core functionality and is effectively never + tested. You are going to find features that suddenly don't + work and as a result cause a series of breakages. This is + simply not tested so you are on your own in terms of + ensuring everything works if you do this. + +config BR2_PACKAGE_LIBEFL_FONTCONFIG + bool "Enable fontconfig support (recommended)" + select BR2_PACKAGE_FONTCONFIG + default y + help + If fontconfig is disabled, this is going to make general + font searching not work, and only some very direct 'load + /path/file.ttf' will work alongside some old-school ttf file + path searching. This is very likely not what you want, so + highly reconsider turning fontconfig off. Having it off will + lead to visual problems like missing text in many UI areas + etc... + +config BR2_PACKAGE_LIBEFL_GSTREAMER1 + bool "Enable gstreamer1 support (recommended)" + select BR2_PACKAGE_GSTREAMER1 + select BR2_PACKAGE_GST1_PLUGINS_BASE + default y + help + If Gstreamer 1.x support is disabled, it will heavily limit + your media support options and render some functionality as + useless, leading to visible application bugs. + +config BR2_PACKAGE_LIBEFL_LIBFRIBIDI + bool "Enable libfribidi support (recommended)" + select BR2_PACKAGE_LIBFRIBIDI + default y + help + Fribidi is used for handling right-to-left text (like + Arabic, Hebrew, Farsi, Persian etc.) and is very likely not + a feature you want to disable unless you know for absolute + certain you will never encounter and have to display such + scripts. Also note that we don't test with fribidi disabled + so you may also trigger code paths with bugs that are never + normally used. + +config BR2_PACKAGE_LIBEFL_LIBSNDFILE + bool "Enable libsndfile support (recommended)" + select BR2_PACKAGE_LIBSNDFILE + default y + help + If you disabled audio support in Ecore, this is not tested + and may create bugs for you due to it creating untested code + paths. Reconsider disabling audio. + +config BR2_PACKAGE_LIBEFL_PULSEAUDIO + bool "Enable pulseaudio support (recommended)" + depends on BR2_ARCH_HAS_ATOMICS # pulseaudio + select BR2_PACKAGE_PULSEAUDIO + default y + help + The only audio output method supported by Ecore right now is + via Pulseaudio. You have disabled that and likely have + broken a whole bunch of things in the process. Reconsider + your configure options. + + NOTE: multisense support is automatically enabled with + pulseaudio. + +config BR2_PACKAGE_LIBEFL_UTIL_LINUX_LIBMOUNT + bool "Enable libmount support (recommended)" + select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT + default y + help + Libmount is used heavily inside Eeze for support of removable + devices etc... and disabling this will hurt support for + Enlightenment and its filemanager. + +config BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG + bool + default y if BR2_PACKAGE_LIBEFL_BULLET && \ + BR2_PACKAGE_LIBEFL_FONTCONFIG && \ + BR2_PACKAGE_LIBEFL_GSTREAMER1 && \ + BR2_PACKAGE_LIBEFL_LIBFRIBIDI && \ + BR2_PACKAGE_LIBEFL_LIBSNDFILE && \ + BR2_PACKAGE_LIBEFL_PULSEAUDIO && \ + BR2_PACKAGE_LIBEFL_UTIL_LINUX_LIBMOUNT + + +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" + +config BR2_PACKAGE_LIBEFL_X_XLIB + bool "X11 support (xlib)" + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE + select BR2_PACKAGE_XLIB_LIBXCURSOR + select BR2_PACKAGE_XLIB_LIBXDAMAGE + select BR2_PACKAGE_XLIB_LIBXINERAMA + select BR2_PACKAGE_XLIB_LIBXP + select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XLIB_LIBXRENDER + select BR2_PACKAGE_XLIB_LIBXSCRNSAVER + select BR2_PACKAGE_XLIB_LIBXTST + select BR2_PACKAGE_XPROTO_GLPROTO + +comment "libevas loaders" + +config BR2_PACKAGE_LIBEFL_PNG + bool "libevas png loader" + select BR2_PACKAGE_LIBPNG + help + This enables the loader code that loads png files using + libpng. + +config BR2_PACKAGE_LIBEFL_JP2K + bool "libevas jp2k loader" + select BR2_PACKAGE_OPENJPEG + help + This enables the loader code that loads jp2k files using + openjpeg. + +config BR2_PACKAGE_LIBEFL_JPEG + bool "libevas jpeg loader" + help + This enables the loader code that loads jpeg files using + libjpeg. + +config BR2_PACKAGE_LIBEFL_GIF + bool "libevas gif loader" + select BR2_PACKAGE_GIFLIB + help + This enables the loader code that loads gif files using + libungif. + +config BR2_PACKAGE_LIBEFL_TIFF + bool "libevas tiff loader" + select BR2_PACKAGE_TIFF + help + This enables the loader code that loads tiff files. + +config BR2_PACKAGE_LIBEFL_WEBP + bool "libevas webp image loader" + select BR2_PACKAGE_WEBP + help + This enables the loader code that loads images using WebP. + +endif # BR2_PACKAGE_LIBEFL + +comment "LIBEFL needs udev /dev management and a toolchain w/ C++, dynamic library, threads, wchar" + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + depends on BR2_USE_MMU + +comment "LIBEFL needs lua" + depends on !BR2_PACKAGE_LUA + depends on BR2_USE_MMU diff --git a/package/libefl/libefl.hash b/package/libefl/libefl.hash new file mode 100644 index 0000000000..7ac26f4980 --- /dev/null +++ b/package/libefl/libefl.hash @@ -0,0 +1,2 @@ +# From https://download.enlightenment.org/rel/libs/efl/efl-1.15.2.tar.xz.sha256 +sha256 dd738f19f454621a7fa1fdb4c008457c170989f5f0c535edfed7b6773ae6c2a4 efl-1.15.2.tar.xz diff --git a/package/libefl/libefl.mk b/package/libefl/libefl.mk new file mode 100644 index 0000000000..f08a4fbcbb --- /dev/null +++ b/package/libefl/libefl.mk @@ -0,0 +1,278 @@ +################################################################################ +# +# libefl +# +################################################################################ + +LIBEFL_VERSION = 1.15.2 +LIBEFL_SOURCE = efl-$(LIBEFL_VERSION).tar.xz +LIBEFL_SITE = http://download.enlightenment.org/rel/libs/efl +LIBEFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+ +LIBEFL_LICENSE_FILES = \ + COMPLIANCE \ + COPYING \ + licenses/COPYING.BSD \ + licenses/COPYING.FTL \ + licenses/COPYING.GPL \ + licenses/COPYING.LGPL \ + licenses/COPYING.SMALL + +LIBEFL_INSTALL_STAGING = YES + +LIBEFL_DEPENDENCIES = host-pkgconf host-libefl dbus freetype jpeg lua udev \ + util-linux zlib + +# Regenerate the autotools: +# - to fix an issue in eldbus-codegen: https://phab.enlightenment.org/T2718 +# - to remove dependency on libXp: https://phab.enlightenment.org/D3150 +LIBEFL_AUTORECONF = YES +LIBEFL_GETTEXTIZE = YES + +# Configure options: +# --disable-cxx-bindings: disable C++11 bindings. +# --disable-sdl: disable sdl2 support. +# --disable-systemd: disable systemd support. +# --disable-xinput22: disable X11 XInput v2.2+ support. +# --enable-lua-old: disable Elua and remove luajit dependency. +# --with-opengl=none: disable opengl support. +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-sdl \ + --disable-systemd \ + --disable-xinput22 \ + --enable-lua-old \ + --with-opengl=none + +# Disable untested configuration warning. +ifeq ($(BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG),) +LIBEFL_CONF_OPTS += --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y) +LIBEFL_DEPENDENCIES += util-linux +LIBEFL_CONF_OPTS += --enable-libmount +else +LIBEFL_CONF_OPTS += --disable-libmount +endif + +ifeq ($(BR2_PACKAGE_FONTCONFIG),y) +LIBEFL_CONF_OPTS += --enable-fontconfig +LIBEFL_DEPENDENCIES += fontconfig +else +LIBEFL_CONF_OPTS += --disable-fontconfig +endif + +ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y) +LIBEFL_CONF_OPTS += --enable-fribidi +LIBEFL_DEPENDENCIES += libfribidi +else +LIBEFL_CONF_OPTS += --disable-fribidi +endif + +ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy) +LIBEFL_CONF_OPTS += --enable-gstreamer1 +LIBEFL_DEPENDENCIES += gstreamer1 gst1-plugins-base +else +LIBEFL_CONF_OPTS += --disable-gstreamer1 +endif + +ifeq ($(BR2_PACKAGE_BULLET),y) +LIBEFL_CONF_OPTS += --enable-physics +LIBEFL_DEPENDENCIES += bullet +else +LIBEFL_CONF_OPTS += --disable-physics +endif + +ifeq ($(BR2_PACKAGE_LIBSNDFILE),y) +LIBEFL_CONF_OPTS += --enable-audio +LIBEFL_DEPENDENCIES += libsndfile +else +LIBEFL_CONF_OPTS += --disable-audio +endif + +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +LIBEFL_CONF_OPTS += --enable-pulseaudio +LIBEFL_DEPENDENCIES += pulseaudio +else +LIBEFL_CONF_OPTS += --disable-pulseaudio +endif + +ifeq ($(BR2_PACKAGE_HARFBUZZ),y) +LIBEFL_DEPENDENCIES += harfbuzz +LIBEFL_CONF_OPTS += --enable-harfbuzz +else +LIBEFL_CONF_OPTS += --disable-harfbuzz +endif + +ifeq ($(BR2_PACKAGE_TSLIB),y) +LIBEFL_DEPENDENCIES += tslib +LIBEFL_CONF_OPTS += --enable-tslib +else +LIBEFL_CONF_OPTS += --disable-tslib +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +LIBEFL_DEPENDENCIES += libglib2 +LIBEFL_CONF_OPTS += --with-glib=yes +else +LIBEFL_CONF_OPTS += --with-glib=no +endif + +# Prefer openssl (the default) over gnutls. +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBEFL_DEPENDENCIES += openssl +LIBEFL_CONF_OPTS += --with-crypto=openssl +else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy) +LIBEFL_DEPENDENCIES += gnutls libgcrypt +LIBEFL_CONF_OPTS += --with-crypto=gnutls \ + --with-libgcrypt-prefix=$(STAGING_DIR)/usr +else +LIBEFL_CONF_OPTS += --with-crypto=none +endif # BR2_PACKAGE_OPENSSL + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBEFL_DEPENDENCIES += wayland libxkbcommon +LIBEFL_CONF_OPTS += --enable-wayland +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 + +ifeq ($(BR2_PACKAGE_LIBEFL_X_XLIB),y) +LIBEFL_CONF_OPTS += \ + --with-x11=xlib \ + --with-x=$(STAGING_DIR) \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib + +LIBEFL_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXcomposite \ + xlib_libXcursor \ + xlib_libXdamage \ + xlib_libXext \ + xlib_libXinerama \ + xlib_libXrandr \ + xlib_libXrender \ + xlib_libXScrnSaver \ + xlib_libXtst +else +LIBEFL_CONF_OPTS += --with-x11=none +endif + +# Loaders that need external dependencies needs to be --enable-XXX=yes +# otherwise the default is '=static'. +# All other loaders are statically built-in +ifeq ($(BR2_PACKAGE_LIBEFL_PNG),y) +LIBEFL_CONF_OPTS += --enable-image-loader-png=yes +LIBEFL_DEPENDENCIES += libpng +else +LIBEFL_CONF_OPTS += --disable-image-loader-png +endif + +ifeq ($(BR2_PACKAGE_LIBEFL_JPEG),y) +LIBEFL_CONF_OPTS += --enable-image-loader-jpeg=yes +# libefl already depends on jpeg. +else +LIBEFL_CONF_OPTS += --disable-image-loader-jpeg +endif + +ifeq ($(BR2_PACKAGE_LIBEFL_GIF),y) +LIBEFL_CONF_OPTS += --enable-image-loader-gif=yes +LIBEFL_DEPENDENCIES += giflib +else +LIBEFL_CONF_OPTS += --disable-image-loader-gif +endif + +ifeq ($(BR2_PACKAGE_LIBEFL_TIFF),y) +LIBEFL_CONF_OPTS += --enable-image-loader-tiff=yes +LIBEFL_DEPENDENCIES += tiff +else +LIBEFL_CONF_OPTS += --disable-image-loader-tiff +endif + +ifeq ($(BR2_PACKAGE_LIBEFL_JP2K),y) +LIBEFL_CONF_OPTS += --enable-image-loader-jp2k=yes +LIBEFL_DEPENDENCIES += openjpeg +else +LIBEFL_CONF_OPTS += --disable-image-loader-jp2k +endif + +ifeq ($(BR2_PACKAGE_LIBEFL_WEBP),y) +LIBEFL_CONF_OPTS += --enable-image-loader-webp=yes +LIBEFL_DEPENDENCIES += webp +else +LIBEFL_CONF_OPTS += --disable-image-loader-webp +endif + +$(eval $(autotools-package)) + +################################################################################ +# +# host-libefl +# +################################################################################ + +# We want to build only some host tools used later in the build. +# Actually we want: edje_cc, embryo_cc and eet. + +# Host dependencies: +# * host-dbus: for Eldbus +# * host-freetype: for libevas +# * host-libglib2: for libecore +# * host-libjpeg, host-libpng: for libevas image loader +# * host-lua: disable luajit dependency +HOST_LIBEFL_DEPENDENCIES = \ + host-pkgconf \ + host-dbus \ + host-freetype \ + host-libglib2 \ + host-libjpeg \ + host-libpng \ + host-lua \ + host-zlib + +# Configure options: +# --disable-audio, --disable-multisense remove libsndfile dependency. +# --disable-cxx-bindings: disable C++11 bindings. +# --disable-fontconfig: remove dependency on fontconfig. +# --disable-fribidi: remove dependency on libfribidi. +# --disable-gstreamer1: remove dependency on gtreamer 1.0. +# --disable-libeeze: remove libudev dependency. +# --disable-libmount: remove dependency on host-util-linux libmount. +# --disable-physics: remove Bullet dependency. +# --enable-image-loader-gif=no: disable Gif dependency. +# --enable-image-loader-tiff=no: disable Tiff dependency. +# --enable-lua-old: disable Elua and remove luajit dependency. +# --with-crypto=none: remove dependencies on openssl or gnutls. +# --with-x11=none: remove dependency on X.org. +# Yes I really know what I am doing. +HOST_LIBEFL_CONF_OPTS += \ + --disable-audio \ + --disable-cxx-bindings \ + --disable-fontconfig \ + --disable-fribidi \ + --disable-gstreamer1 \ + --disable-libeeze \ + --disable-libmount \ + --disable-multisense \ + --disable-physics \ + --enable-image-loader-gif=no \ + --enable-image-loader-jpeg=yes \ + --enable-image-loader-png=yes \ + --enable-image-loader-tiff=no \ + --enable-lua-old \ + --with-crypto=none \ + --with-glib=yes \ + --with-opengl=none \ + --with-x11=none \ + --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba + +$(eval $(host-autotools-package))