#
################################################################################
-EFL_VERSION = 1.22.3
+EFL_VERSION = 1.23.2
EFL_SOURCE = efl-$(EFL_VERSION).tar.xz
EFL_SITE = http://download.enlightenment.org/rel/libs/efl
EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+, FTL, MIT
EFL_LICENSE_FILES = \
COMPLIANCE \
COPYING \
+ COPYING.images \
+ licenses/COPYING.ASL \
licenses/COPYING.BSD \
licenses/COPYING.FTL \
licenses/COPYING.GPL \
EFL_INSTALL_STAGING = YES
EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \
- jpeg luajit lz4 zlib
+ giflib jpeg libpng luajit lz4 zlib
# Configure options:
-# --disable-lua-old: build elua for the target.
-# --disable-sdl: disable sdl2 support.
-# --disable-spectre: disable spectre image loader.
-# --disable-xinput22: disable X11 XInput v2.2+ support.
-# --disable-vnc-server: remove libvncserver dependency.
-# --enable-liblz4: use liblz4 from lz4 package.
-# --with-net-control=none: disable connman networkmanager.
-# --with-doxygen: disable doxygen documentation
+# elua=true: build elua for the target.
+# sdl=false: disable sdl2 support.
+# xinput22=false: disable X11 XInput v2.2+ support.
+# embedded-lz4=false: use liblz4 from lz4 package.
+# network-backend=none: disable connman networkmanager.
EFL_CONF_OPTS = \
- --with-edje-cc=$(HOST_DIR)/bin/edje_cc \
- --with-eet-eet=$(HOST_DIR)/bin/eet \
- --with-eldbus_codegen=$(HOST_DIR)/bin/eldbus-codegen \
- --with-elementary-codegen=$(HOST_DIR)/bin/elementary_codegen \
- --with-elm-prefs-cc=$(HOST_DIR)/bin/elm_prefs_cc \
- --with-elua=$(HOST_DIR)/bin/elua \
- --with-eolian-gen=$(HOST_DIR)/bin/eolian_gen \
- --disable-image-loader-jp2k \
- --with-net-control=none \
- --disable-lua-old \
- --disable-sdl \
- --disable-spectre \
- --disable-xinput22 \
- --disable-vnc-server \
- --enable-liblz4 \
- --with-doxygen=no
+ -Davahi=false \
+ -Dbuild-examples=false \
+ -Dbuild-tests=false \
+ -Decore-imf-loaders-disabler=ibus,scim,xim \
+ -Delua=true \
+ -Demotion-generic-loaders-disabler=vlc \
+ -Demotion-loaders-disabler=gstreamer,gstreamer1,libvlc,xine \
+ -Dembedded-lz4=false \
+ -Dlua-interpreter=luajit \
+ -Dnetwork-backend=none \
+ -Dpixman=false \
+ -Dsdl=false \
+ -Dvnc-server=false \
+ -Dxinput22=false
+
+EFL_BINDINGS = luajit
ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
-EFL_CONF_OPTS += --enable-cxx-bindings \
- --with-eolian-cxx=$(HOST_DIR)/bin/eolian_cxx
-else
-EFL_CONF_OPTS += --disable-cxx-bindings
+EFL_BINDINGS += cxx
endif
+EFL_CONF_OPTS += -Dbindings=$(subst $(space),$(comma),$(EFL_BINDINGS))
+
ifeq ($(BR2_PACKAGE_EFL_EEZE),y)
EFL_DEPENDENCIES += udev
-EFL_CONF_OPTS += --enable-libeeze
+EFL_CONF_OPTS += -Deeze=true
else
-EFL_CONF_OPTS += --disable-libeeze
+EFL_CONF_OPTS += -Deeze=false
endif
ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y)
EFL_DEPENDENCIES += util-linux
-EFL_CONF_OPTS += --enable-libmount
+EFL_CONF_OPTS += -Dlibmount=true
else
-EFL_CONF_OPTS += --disable-libmount
+EFL_CONF_OPTS += -Dlibmount=false
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
-EFL_CONF_OPTS += --enable-systemd
+EFL_CONF_OPTS += -Dsystemd=true
EFL_DEPENDENCIES += systemd
else
-EFL_CONF_OPTS += --disable-systemd
+EFL_CONF_OPTS += -Dsystemd=false
endif
ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
-EFL_CONF_OPTS += --enable-fontconfig
+EFL_CONF_OPTS += -Dfontconfig=true
EFL_DEPENDENCIES += fontconfig
else
-EFL_CONF_OPTS += --disable-fontconfig
+EFL_CONF_OPTS += -Dfontconfig=false
endif
ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
-EFL_CONF_OPTS += --enable-fribidi
+EFL_CONF_OPTS += -Dfribidi=true
EFL_DEPENDENCIES += libfribidi
else
-EFL_CONF_OPTS += --disable-fribidi
+EFL_CONF_OPTS += -Dfribidi=false
endif
ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
-EFL_CONF_OPTS += --enable-gstreamer1
+EFL_CONF_OPTS += -Dgstreamer=true
EFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
else
-EFL_CONF_OPTS += --disable-gstreamer1
+EFL_CONF_OPTS += -Dgstreamer=false
endif
ifeq ($(BR2_PACKAGE_BULLET),y)
-EFL_CONF_OPTS += --enable-physics
+EFL_CONF_OPTS += -Dphysics=true
EFL_DEPENDENCIES += bullet
else
-EFL_CONF_OPTS += --disable-physics
+EFL_CONF_OPTS += -Dphysics=false
endif
ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
-EFL_CONF_OPTS += --enable-audio
+EFL_CONF_OPTS += -Daudio=true
EFL_DEPENDENCIES += libsndfile
else
-EFL_CONF_OPTS += --disable-audio
+EFL_CONF_OPTS += -Daudio=false
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
-EFL_CONF_OPTS += --enable-pulseaudio
+EFL_CONF_OPTS += -Dpulseaudio=true
EFL_DEPENDENCIES += pulseaudio
else
-EFL_CONF_OPTS += --disable-pulseaudio
+EFL_CONF_OPTS += -Dpulseaudio=false
endif
ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
EFL_DEPENDENCIES += harfbuzz
-EFL_CONF_OPTS += --enable-harfbuzz
+EFL_CONF_OPTS += -Dharfbuzz=true
else
-EFL_CONF_OPTS += --disable-harfbuzz
+EFL_CONF_OPTS += -Dharfbuzz=false
endif
ifeq ($(BR2_PACKAGE_TSLIB),y)
EFL_DEPENDENCIES += tslib
-EFL_CONF_OPTS += --enable-tslib
+EFL_CONF_OPTS += -Dtslib=true
else
-EFL_CONF_OPTS += --disable-tslib
+EFL_CONF_OPTS += -Dtslib=false
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
EFL_DEPENDENCIES += libglib2
-EFL_CONF_OPTS += --with-glib=yes
+EFL_CONF_OPTS += -Dglib=true
else
-EFL_CONF_OPTS += --with-glib=no
+EFL_CONF_OPTS += -Dglib=false
endif
# Prefer openssl (the default) over gnutls.
ifeq ($(BR2_PACKAGE_OPENSSL),y)
EFL_DEPENDENCIES += openssl
-EFL_CONF_OPTS += --with-crypto=openssl
-else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
-EFL_DEPENDENCIES += gnutls libgcrypt
-EFL_CONF_OPTS += --with-crypto=gnutls \
- --with-libgcrypt-prefix=$(STAGING_DIR)/usr
-else
-EFL_CONF_OPTS += --with-crypto=none
-endif # BR2_PACKAGE_OPENSSL
-
-ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
-EFL_CONF_OPTS += --enable-elput
-EFL_DEPENDENCIES += libinput
+EFL_CONF_OPTS += -Dcrypto=openssl
else
-EFL_CONF_OPTS += --disable-elput
+EFL_DEPENDENCIES += gnutls libgcrypt
+EFL_CONF_OPTS += -Dcrypto=gnutls
endif
ifeq ($(BR2_PACKAGE_EFL_FB),y)
-EFL_CONF_OPTS += --enable-fb
+EFL_CONF_OPTS += -Dfb=true
else
-EFL_CONF_OPTS += --disable-fb
+EFL_CONF_OPTS += -Dfb=false
endif
ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y)
-EFL_CONF_OPTS += \
- --with-x11=xlib \
- --with-x=$(STAGING_DIR) \
- --x-includes=$(STAGING_DIR)/usr/include \
- --x-libraries=$(STAGING_DIR)/usr/lib
+EFL_CONF_OPTS += -Dx11=true
EFL_DEPENDENCIES += \
xlib_libX11 \
xlib_libXScrnSaver \
xlib_libXtst
else
-EFL_CONF_OPTS += --with-x11=none
+EFL_CONF_OPTS += -Dx11=false
endif
ifeq ($(BR2_PACKAGE_EFL_OPENGL),y)
-EFL_CONF_OPTS += --with-opengl=full
+EFL_CONF_OPTS += -Dopengl=full
EFL_DEPENDENCIES += libgl
# OpenGL ES requires EGL
else ifeq ($(BR2_PACKAGE_EFL_OPENGLES),y)
-EFL_CONF_OPTS += --with-opengl=es --enable-egl
+EFL_CONF_OPTS += -Dopengl=es-egl
EFL_DEPENDENCIES += libegl libgles
else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
-EFL_CONF_OPTS += --with-opengl=none
+EFL_CONF_OPTS += -Dopengl=none
endif
ifeq ($(BR2_PACKAGE_EFL_DRM),y)
-EFL_CONF_OPTS += --enable-drm
-EFL_DEPENDENCIES += libdrm libegl mesa3d
+EFL_CONF_OPTS += -Ddrm=true
+EFL_DEPENDENCIES += libdrm libegl libinput mesa3d
else
-EFL_CONF_OPTS += --disable-drm
+EFL_CONF_OPTS += -Ddrm=false
endif
-# The EFL Wayland support requires Evas GLES DRM engine support
-# which depends on wayland-client to build.
-# So enable gl_drm only when wayland support is selected.
ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y)
EFL_DEPENDENCIES += wayland wayland-protocols
-EFL_CONF_OPTS += --enable-wayland --enable-gl-drm
+EFL_CONF_OPTS += -Dwl=true
else
-EFL_CONF_OPTS += --disable-wayland --disable-gl-drm
+EFL_CONF_OPTS += -Dwl=false
endif
EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
-# 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_EFL_PNG),y)
-EFL_CONF_OPTS += --enable-image-loader-png=yes
-EFL_DEPENDENCIES += libpng
-else
-EFL_CONF_OPTS += --disable-image-loader-png
-endif
+# Evas loaders are shared by default.
+EFL_CONF_OPTS += -Devas-modules=shared
-ifeq ($(BR2_PACKAGE_EFL_JPEG),y)
-EFL_CONF_OPTS += --enable-image-loader-jpeg=yes
-# efl already depends on jpeg.
-else
-EFL_CONF_OPTS += --disable-image-loader-jpeg
-endif
+# json evas loader is disabled by default by upstream.
+# Disable libspectre (ps).
+# Keep all other evas loader enabled or handled below.
+EFL_EVAS_LOADERS_DISABLER = gst json ps
-ifeq ($(BR2_PACKAGE_EFL_GIF),y)
-EFL_CONF_OPTS += --enable-image-loader-gif=yes
-EFL_DEPENDENCIES += giflib
-else
-EFL_CONF_OPTS += --disable-image-loader-gif
+# efl already depends on jpeg.
+ifeq ($(BR2_PACKAGE_EFL_JPEG),)
+EFL_EVAS_LOADERS_DISABLER += jp2k
endif
ifeq ($(BR2_PACKAGE_EFL_TIFF),y)
-EFL_CONF_OPTS += --enable-image-loader-tiff=yes
EFL_DEPENDENCIES += tiff
else
-EFL_CONF_OPTS += --disable-image-loader-tiff
+EFL_EVAS_LOADERS_DISABLER += tiff
endif
ifeq ($(BR2_PACKAGE_EFL_WEBP),y)
-EFL_CONF_OPTS += --enable-image-loader-webp=yes
EFL_DEPENDENCIES += webp
else
-EFL_CONF_OPTS += --disable-image-loader-webp
+EFL_EVAS_LOADERS_DISABLER += webp
endif
ifeq ($(BR2_PACKAGE_POPPLER),y)
# poppler needs c++11
EFL_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
EFL_DEPENDENCIES += poppler
-EFL_CONF_OPTS += --enable-poppler
else
-EFL_CONF_OPTS += --disable-poppler
+EFL_EVAS_LOADERS_DISABLER += pdf
endif
ifeq ($(BR2_PACKAGE_EFL_LIBRAW),y)
EFL_DEPENDENCIES += libraw
-EFL_CONF_OPTS += --enable-libraw
else
-EFL_CONF_OPTS += --disable-libraw
+EFL_EVAS_LOADERS_DISABLER += raw
endif
ifeq ($(BR2_PACKAGE_EFL_SVG),y)
EFL_DEPENDENCIES += librsvg cairo
-EFL_CONF_OPTS += --enable-librsvg
else
-EFL_CONF_OPTS += --disable-librsvg
+EFL_EVAS_LOADERS_DISABLER += rsvg
endif
+EFL_CONF_OPTS += -Devas-loaders-disabler=$(subst $(space),$(comma),$(EFL_EVAS_LOADERS_DISABLER))
+
ifeq ($(BR2_PACKAGE_UPOWER),)
# upower ecore system module is only useful if upower
# dbus service is available.
EFL_DEPENDENCIES += libunwind
endif
-$(eval $(autotools-package))
+$(eval $(meson-package))
################################################################################
#
# * host-dbus: for Eldbus
# * host-freetype: for libevas
# * host-libglib2: for libecore
-# * host-libjpeg, host-libpng: for libevas image loader
+# * host-giflib, host-libjpeg, host-libpng: for libevas image loader
# * host-luajit for Elua tool for the host
+# * host-openssl: cryptography backends.
HOST_EFL_DEPENDENCIES = \
host-pkgconf \
host-dbus \
host-freetype \
+ host-giflib \
host-libglib2 \
host-libjpeg \
host-libpng \
host-luajit \
+ host-openssl \
host-zlib
# Configure options:
-# --disable-audio, --disable-multisense remove libsndfile dependency.
-# --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-lua-old: build elua for the host.
-# --disable-physics: remove Bullet dependency.
-# --disable-poppler: disable poppler image loader.
-# --disable-spectre: disable spectre image loader.
-# --disable-systemd: disable systemd dependency.
-# --disable-vnc-server: remove libvncserver dependency.
-# --enable-image-loader-gif=no: disable Gif dependency.
-# --enable-image-loader-tiff=no: disable Tiff dependency.
-# --with-crypto=none: remove dependencies on openssl or gnutls.
-# --with-doxygen: disable doxygen documentation
-# --with-net-control=none: disable connman networkmanager.
-# --with-x11=none: remove dependency on X.org.
+# audio=false: remove libsndfile dependency.
+# eeze=false: remove libudev dependency.
+# libmount=false: remove dependency on host-util-linux libmount.
+# elua=true: build elua for the host.
+# physics=false: remove Bullet dependency.
+# network-backend=none: remove network-backend (connman).
+# embedded-lz4=true: use lz4 bundled in efl.
HOST_EFL_CONF_OPTS += \
- --disable-audio \
- --disable-fontconfig \
- --disable-fribidi \
- --disable-gstreamer1 \
- --disable-libeeze \
- --disable-libmount \
- --disable-libraw \
- --disable-librsvg \
- --disable-lua-old \
- --disable-multisense \
- --disable-physics \
- --disable-poppler \
- --disable-spectre \
- --disable-systemd \
- --disable-xcf \
- --disable-vnc-server \
- --enable-image-loader-gif=no \
- --enable-image-loader-jpeg=yes \
- --enable-image-loader-png=yes \
- --enable-image-loader-tiff=no \
- --with-crypto=none \
- --with-doxygen=no \
- --with-glib=yes \
- --with-net-control=none \
- --with-opengl=none \
- --with-x11=none
+ -Daudio=false \
+ -Davahi=false \
+ -Dbuild-examples=false \
+ -Dbuild-tests=false \
+ -Dcrypto=openssl \
+ -Decore-imf-loaders-disabler=ibus,scim,xim \
+ -Dedje-sound-and-video=false \
+ -Deeze=false \
+ -Delogind=false \
+ -Delua=true \
+ -Dembedded-lz4=true \
+ -Demotion-generic-loaders-disabler=vlc \
+ -Demotion-loaders-disabler=gstreamer,gstreamer1,libvlc,xine \
+ -Dfontconfig=false \
+ -Dfribidi=false \
+ -Dglib=true \
+ -Dgstreamer=false \
+ -Dharfbuzz=false \
+ -Dlibmount=false \
+ -Dlua-interpreter=luajit \
+ -Dnetwork-backend=none \
+ -Dnls=false \
+ -Dopengl=none \
+ -Dphysics=false \
+ -Dpixman=false \
+ -Dpulseaudio=false \
+ -Dsdl=false \
+ -Dsystemd=false \
+ -Dv4l2=false \
+ -Dvnc-server=false \
+ -Dx11=false \
+ -Dxinput22=false
+
+# List of modular image/vector loaders to disable in efl
+HOST_EFL_EVAS_LOADERS_DISABLER = bmp dds eet generic gst ico json \
+ jp2k pdf pmaps ps psd raw rsvg tga tgv tiff wbmp webp xcf xpm
+
+HOST_EFL_CONF_OPTS += -Devas-loaders-disabler=$(subst $(space),$(comma),$(HOST_EFL_EVAS_LOADERS_DISABLER))
+
+HOST_EFL_BINDINGS = luajit
# Enable Eolian language bindings to provide eolian_cxx tool for the
# host which is required to build Eolian language bindings for the
# target.
ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
-HOST_EFL_CONF_OPTS += --enable-cxx-bindings
-else
-HOST_EFL_CONF_OPTS += --disable-cxx-bindings
+HOST_EFL_BINDINGS += cxx
endif
+HOST_EFL_CONF_OPTS += -Dbindings=$(subst $(space),$(comma),$(HOST_EFL_BINDINGS))
# Always disable upower system module from host as it's
# not useful and would try to use the output/host/var
endef
HOST_EFL_POST_INSTALL_HOOKS = HOST_EFL_HOOK_REMOVE_UPOWER
-$(eval $(host-autotools-package))
+$(eval $(host-meson-package))