summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/efl/Config.in20
-rw-r--r--package/efl/libefl/Config.in139
-rw-r--r--package/efl/libefl/libefl.mk150
3 files changed, 305 insertions, 4 deletions
diff --git a/package/efl/Config.in b/package/efl/Config.in
index 7ce5a36cbe..3a5e708932 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -1,8 +1,13 @@
menuconfig BR2_PACKAGE_EFL
bool "Enlightenment Foundation Libraries"
- depends on BR2_USE_WCHAR
- # libeina uses madvise(). To revisit when bumping EFL to 1.8
+ 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
@@ -13,6 +18,7 @@ if BR2_PACKAGE_EFL
source "package/efl/libeina/Config.in"
source "package/efl/libecore/Config.in"
source "package/efl/libeet/Config.in"
+source "package/efl/libefl/Config.in"
source "package/efl/libefreet/Config.in"
source "package/efl/libeio/Config.in"
source "package/efl/libevas/Config.in"
@@ -24,5 +30,11 @@ source "package/efl/libedbus/Config.in"
endif # BR2_PACKAGE_EFL
-comment "EFL needs a toolchain w/ wchar"
- depends on !BR2_USE_WCHAR
+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/libefl/Config.in b/package/efl/libefl/Config.in
new file mode 100644
index 0000000000..6788bb3690
--- /dev/null
+++ b/package/efl/libefl/Config.in
@@ -0,0 +1,139 @@
+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_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 "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_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.
+
+endif # BR2_PACKAGE_LIBEFL
diff --git a/package/efl/libefl/libefl.mk b/package/efl/libefl/libefl.mk
index d0701319f3..615968ea4c 100644
--- a/package/efl/libefl/libefl.mk
+++ b/package/efl/libefl/libefl.mk
@@ -18,6 +18,156 @@ LIBEFL_LICENSE_FILES = \
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 configure script:
+# https://phab.enlightenment.org/T2718
+LIBEFL_AUTORECONF = YES
+LIBEFL_GETTEXTIZE = YES
+
+# Configure options:
+# --disable-cxx-bindings: disable C++11 bindings.
+# --disable-fb: disable frame buffer support.
+# --disable-harfbuzz: disable harfbuzz support.
+# --disable-image-loader-jp2k: disable JPEG 2000 support.
+# --disable-image-loader-webp: disable webp support.
+# --disable-sdl: disable sdl2 support.
+# --disable-systemd: disable systemd support.
+# --disable-wayland: disable wayland support.
+# --enable-lua-old: disable Elua and remove luajit dependency.
+# --with-opengl=none: disable opengl support.
+# --with-x11=none: remove dependency on X.org.
+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-harfbuzz \
+ --disable-image-loader-jp2k \
+ --disable-image-loader-webp \
+ --disable-sdl \
+ --disable-systemd \
+ --disable-wayland \
+ --enable-lua-old \
+ --with-opengl=none \
+ --with-x11=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_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
+
+# 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
+
+$(eval $(autotools-package))
+
################################################################################
#
# host-libefl
OpenPOWER on IntegriCloud