123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367 |
- ################################################################################
- #
- # efl
- #
- ################################################################################
- EFL_VERSION = 1.25.0
- 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 \
- licenses/COPYING.LGPL \
- licenses/COPYING.NGINX-MIT \
- licenses/COPYING.SMALL
- EFL_INSTALL_STAGING = YES
- EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \
- giflib jpeg libpng luajit lz4 zlib $(TARGET_NLS_DEPENDENCIES)
- # Configure options:
- # elua=true: build elua for the target.
- # sdl=false: disable sdl2 support.
- # embedded-lz4=false: use liblz4 from lz4 package.
- # native-arch-optimization=false: avoid optimization flags added by meson.
- # network-backend=none: disable connman networkmanager.
- EFL_CONF_OPTS = \
- -Davahi=false \
- -Dbuild-examples=false \
- -Dbuild-tests=false \
- -Ddotnet=false \
- -Decore-imf-loaders-disabler=ibus,scim,xim \
- -Delua=true \
- -Dembedded-lz4=false \
- -Dlua-interpreter=luajit \
- -Dnative-arch-optimization=false \
- -Dnetwork-backend=none \
- -Dpixman=false \
- -Dsdl=false \
- -Dvnc-server=false
- ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
- EFL_CONF_OPTS += -Dnls=true
- else
- EFL_CONF_OPTS += -Dnls=false
- endif
- EFL_BINDINGS = lua
- ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
- 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 += -Deeze=true
- else
- EFL_CONF_OPTS += -Deeze=false
- endif
- ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y)
- EFL_DEPENDENCIES += util-linux
- EFL_CONF_OPTS += -Dlibmount=true
- else
- EFL_CONF_OPTS += -Dlibmount=false
- endif
- ifeq ($(BR2_PACKAGE_SYSTEMD),y)
- EFL_CONF_OPTS += -Dsystemd=true
- EFL_DEPENDENCIES += systemd
- else
- EFL_CONF_OPTS += -Dsystemd=false
- endif
- ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
- EFL_CONF_OPTS += -Dfontconfig=true
- EFL_DEPENDENCIES += fontconfig
- else
- EFL_CONF_OPTS += -Dfontconfig=false
- endif
- ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
- EFL_CONF_OPTS += -Dfribidi=true
- EFL_DEPENDENCIES += libfribidi
- else
- EFL_CONF_OPTS += -Dfribidi=false
- endif
- ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
- EFL_CONF_OPTS += -Dgstreamer=true
- EFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
- else
- EFL_CONF_OPTS += -Dgstreamer=false
- endif
- ifeq ($(BR2_PACKAGE_BULLET),y)
- EFL_CONF_OPTS += -Dphysics=true
- EFL_DEPENDENCIES += bullet
- else
- EFL_CONF_OPTS += -Dphysics=false
- endif
- ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
- EFL_CONF_OPTS += -Daudio=true
- EFL_DEPENDENCIES += libsndfile
- else
- EFL_CONF_OPTS += -Daudio=false
- endif
- ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
- EFL_CONF_OPTS += -Dpulseaudio=true
- EFL_DEPENDENCIES += pulseaudio
- else
- EFL_CONF_OPTS += -Dpulseaudio=false
- endif
- ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
- EFL_DEPENDENCIES += harfbuzz
- EFL_CONF_OPTS += -Dharfbuzz=true
- else
- EFL_CONF_OPTS += -Dharfbuzz=false
- endif
- ifeq ($(BR2_PACKAGE_TSLIB),y)
- EFL_DEPENDENCIES += tslib
- EFL_CONF_OPTS += -Dtslib=true
- else
- EFL_CONF_OPTS += -Dtslib=false
- endif
- ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
- EFL_DEPENDENCIES += libglib2
- EFL_CONF_OPTS += -Dglib=true
- else
- EFL_CONF_OPTS += -Dglib=false
- endif
- # Prefer openssl (the default) over gnutls.
- ifeq ($(BR2_PACKAGE_OPENSSL),y)
- EFL_DEPENDENCIES += openssl
- EFL_CONF_OPTS += -Dcrypto=openssl
- else
- EFL_DEPENDENCIES += gnutls libgcrypt
- EFL_CONF_OPTS += -Dcrypto=gnutls
- endif
- ifeq ($(BR2_PACKAGE_EFL_FB),y)
- EFL_CONF_OPTS += -Dfb=true
- else
- EFL_CONF_OPTS += -Dfb=false
- endif
- ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y)
- EFL_CONF_OPTS += -Dx11=true \
- -Dxinput2=true \
- -Dxinput22=true
- EFL_DEPENDENCIES += \
- xlib_libX11 \
- xlib_libXcomposite \
- xlib_libXcursor \
- xlib_libXdamage \
- xlib_libXext \
- xlib_libXinerama \
- xlib_libXrandr \
- xlib_libXrender \
- xlib_libXScrnSaver \
- xlib_libXtst
- else
- EFL_CONF_OPTS += -Dx11=false
- endif
- ifeq ($(BR2_PACKAGE_EFL_OPENGL),y)
- EFL_CONF_OPTS += -Dopengl=full
- EFL_DEPENDENCIES += libgl
- # OpenGL ES requires EGL
- else ifeq ($(BR2_PACKAGE_EFL_OPENGLES),y)
- EFL_CONF_OPTS += -Dopengl=es-egl
- EFL_DEPENDENCIES += libegl libgles
- else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
- EFL_CONF_OPTS += -Dopengl=none
- endif
- ifeq ($(BR2_PACKAGE_EFL_DRM),y)
- EFL_CONF_OPTS += -Ddrm=true
- EFL_DEPENDENCIES += libdrm libegl libinput mesa3d
- else
- EFL_CONF_OPTS += -Ddrm=false
- endif
- ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y)
- EFL_DEPENDENCIES += wayland wayland-protocols
- EFL_CONF_OPTS += -Dwl=true
- else
- EFL_CONF_OPTS += -Dwl=false
- endif
- EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
- # 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 = avif gst json ps
- # efl already depends on jpeg.
- ifeq ($(BR2_PACKAGE_EFL_JPEG),y)
- EFL_DEPENDENCIES += openjpeg
- else
- EFL_EVAS_LOADERS_DISABLER += jp2k
- endif
- ifeq ($(BR2_PACKAGE_EFL_TIFF),y)
- EFL_DEPENDENCIES += tiff
- else
- EFL_EVAS_LOADERS_DISABLER += tiff
- endif
- ifeq ($(BR2_PACKAGE_EFL_WEBP),y)
- EFL_DEPENDENCIES += webp
- else
- 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
- else
- EFL_EVAS_LOADERS_DISABLER += pdf
- endif
- ifeq ($(BR2_PACKAGE_EFL_LIBRAW),y)
- EFL_DEPENDENCIES += libraw
- else
- EFL_EVAS_LOADERS_DISABLER += raw
- endif
- ifeq ($(BR2_PACKAGE_EFL_SVG),y)
- EFL_DEPENDENCIES += librsvg cairo
- else
- 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.
- # It's not essential, only used to notify applications
- # of power state, such as low battery or AC power, so
- # they can adapt their power consumption.
- define EFL_HOOK_REMOVE_UPOWER
- rm -fr $(TARGET_DIR)/usr/lib/ecore/system/upower
- endef
- EFL_POST_INSTALL_TARGET_HOOKS = EFL_HOOK_REMOVE_UPOWER
- endif
- ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
- EFL_DEPENDENCIES += libunwind
- endif
- $(eval $(meson-package))
- ################################################################################
- #
- # host-efl
- #
- ################################################################################
- # We want to build only some host tools used later in the build.
- # Actually we want: edje_cc, eet and embryo_cc. eolian_cxx is built only
- # if selected for the target.
- # Host dependencies:
- # * host-dbus: for Eldbus
- # * host-freetype: for libevas
- # * host-libglib2: for libecore
- # * 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:
- # 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 += \
- -Daudio=false \
- -Davahi=false \
- -Dbuild-examples=false \
- -Dbuild-tests=false \
- -Dcrypto=openssl \
- -Ddotnet=false \
- -Decore-imf-loaders-disabler=ibus,scim,xim \
- -Dedje-sound-and-video=false \
- -Deeze=false \
- -Delua=true \
- -Dembedded-lz4=true \
- -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 = avif 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 = lua
- # 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_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
- # system bus which is non-existent and does not contain
- # any upower service in it.
- define HOST_EFL_HOOK_REMOVE_UPOWER
- rm -fr $(HOST_DIR)/lib/ecore/system/upower
- endef
- HOST_EFL_POST_INSTALL_HOOKS = HOST_EFL_HOOK_REMOVE_UPOWER
- $(eval $(host-meson-package))
|