initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,36 @@
From 51dfe1863ddc8c5dd576405a9bbb8bca875c1142 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 1 Aug 2020 02:25:47 +0200
Subject: [PATCH] ecore_evas/engines/drm/meson.build: use "gl_deps" as engine
dependencies
Meson trigger an error since "engine_gl_drm" variable doesn't exist.
src/modules/ecore_evas/engines/drm/meson.build:10:2: ERROR: Unknown variable "engine_gl_drm".
Instead use "gl_deps" as engine dependencies.
Upstream status:
https://sourceforge.net/p/enlightenment/mailman/message/37075016/
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
src/modules/ecore_evas/engines/drm/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/modules/ecore_evas/engines/drm/meson.build b/src/modules/ecore_evas/engines/drm/meson.build
index 58071010d0..0741d7fccd 100644
--- a/src/modules/ecore_evas/engines/drm/meson.build
+++ b/src/modules/ecore_evas/engines/drm/meson.build
@@ -3,7 +3,7 @@ engine_deps = [ecore_drm2, ecore_input, eeze, elput, libdrm, engine_drm]
if get_option('opengl') != 'none'
config_h.set('BUILD_ECORE_EVAS_GL_DRM', '1')
- engine_deps += [engine_gl_drm]
+ engine_deps += [gl_deps]
endif
engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'drm'))
--
2.25.4
@@ -0,0 +1,37 @@
From 8548b02c487ba7e9d78489c6db58812ee5cfb197 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 1 Aug 2020 01:01:00 +0200
Subject: [PATCH] ecore_evas/engines/drm/meson.build: fix "gl_drm" include
directory
The Evas_Engine_GL_Drm.h file is in "gl_drm" directory, not "drm".
../src/modules/ecore_evas/engines/drm/ecore_evas_drm.c:23:11: fatal error: Evas_Engine_GL_Drm.h: No such file or directory
23 | # include <Evas_Engine_GL_Drm.h>
| ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Upstream status:
https://sourceforge.net/p/enlightenment/mailman/message/37075004/
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
src/modules/ecore_evas/engines/drm/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/modules/ecore_evas/engines/drm/meson.build b/src/modules/ecore_evas/engines/drm/meson.build
index 0741d7fccd..edda1abd71 100644
--- a/src/modules/ecore_evas/engines/drm/meson.build
+++ b/src/modules/ecore_evas/engines/drm/meson.build
@@ -6,7 +6,7 @@ if get_option('opengl') != 'none'
engine_deps += [gl_deps]
endif
-engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'drm'))
+engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'gl_drm'))
shared_module(mod_full_name, engine_src,
include_directories : config_dir + [engine_include_dir],
--
2.25.4
@@ -0,0 +1,35 @@
From 9a785396a7940ec541cf4793f9c9f92548c99d4c Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 10 Jul 2021 22:38:03 +0200
Subject: [PATCH] ecore_fb: fix build with tslib
Build with tslib is broken since version 1.25.0 and
https://git.enlightenment.org/core/efl.git/commit/?id=8e3606698eb439eecd7302a885504365aca7e564:
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc-buildroot-linux-uclibc/9.3.0/../../../../powerpc-buildroot-linux-uclibc/bin/ld: src/lib/ecore_fb/libecore_fb.so.1.25.1.p/ecore_fb_ts.c.o: in function `_ecore_fb_ts_fd_handler':
ecore_fb_ts.c:(.text+0x4c): undefined reference to `ts_read_raw'
Fixes:
- http://autobuild.buildroot.org/results/fa111306b95316eed54771550474dae804fa261e
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/lib/ecore_fb/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/ecore_fb/meson.build b/src/lib/ecore_fb/meson.build
index 6d50e0f146..7c7f6786c3 100644
--- a/src/lib/ecore_fb/meson.build
+++ b/src/lib/ecore_fb/meson.build
@@ -22,7 +22,7 @@ ecore_fb_src = files([
ecore_fb_lib = library('ecore_fb',
ecore_fb_src, pub_eo_file_target,
c_args : package_c_args,
- dependencies: ecore_fb_pub_deps + ecore_fb_deps,
+ dependencies: ecore_fb_pub_deps + ecore_fb_deps + ecore_fb_ext_deps,
include_directories : config_dir,
install: true,
version : meson.project_version()
--
2.30.2
+282
View File
@@ -0,0 +1,282 @@
config BR2_PACKAGE_EFL
bool "efl"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-efl
depends on BR2_INSTALL_LIBSTDCPP
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
# https://phab.enlightenment.org/T2728
depends on BR2_PACKAGE_LUAJIT
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_GIFLIB
select BR2_PACKAGE_JPEG # Emile needs libjpeg
select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_GNUTLS && BR2_PACKAGE_LIBGCRYPT)
select BR2_PACKAGE_LZ4
select BR2_PACKAGE_ZLIB
help
Enlightenment Foundation Libraries
https://enlightenment.org
if BR2_PACKAGE_EFL
config BR2_PACKAGE_EFL_BULLET
bool "Enable bullet support"
select BR2_PACKAGE_BULLET
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_EFL_EEZE
bool "Enable eeze (udev) support (recommended)"
default y
depends on BR2_PACKAGE_HAS_UDEV # libudev
help
Eeze is EFL's hardware abstraction layer on top of udev.
Having it off will disable some hardware detection, such as
'drm' graphics engine or 'elput', as well as mounting
removable media.
comment "eeze needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV
config BR2_PACKAGE_EFL_FONTCONFIG
bool "Enable fontconfig support (recommended)"
default y
select BR2_PACKAGE_FONTCONFIG
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_EFL_GSTREAMER1
bool "Enable gstreamer1 support (recommended)"
default y
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BASE
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_EFL_LIBFRIBIDI
bool "Enable libfribidi support (recommended)"
default y
select BR2_PACKAGE_LIBFRIBIDI
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_EFL_LIBSNDFILE
bool "Enable libsndfile support (recommended)"
default y
select BR2_PACKAGE_LIBSNDFILE
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_EFL_PULSEAUDIO
bool "Enable pulseaudio support (recommended)"
default y
depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_STATIC_LIBS
depends on BR2_USE_MMU
select BR2_PACKAGE_PULSEAUDIO
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_EFL_UTIL_LINUX_LIBMOUNT
bool "Enable libmount support (recommended)"
default y
depends on BR2_PACKAGE_EFL_EEZE
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
# libblkid is part of required tools, see EFL's README.
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
help
Libmount is used heavily inside Eeze for support of removable
devices etc... and disabling this will hurt support for
Enlightenment and its filemanager.
comment "efl's libmount support needs udev /dev management (eeze)"
depends on !BR2_PACKAGE_EFL_EEZE
config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
bool
default y if BR2_PACKAGE_EFL_EEZE && \
BR2_PACKAGE_EFL_FONTCONFIG && \
BR2_PACKAGE_EFL_GSTREAMER1 && \
BR2_PACKAGE_EFL_LIBFRIBIDI && \
BR2_PACKAGE_EFL_LIBSNDFILE && \
BR2_PACKAGE_EFL_PULSEAUDIO && \
BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT
comment "Warning: one of the recommended option for EFL is not enabled"
depends on !BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
config BR2_PACKAGE_EFL_EOLIAN_CPP
bool "Enable Eolian C++ bindings"
help
Eolian is an EO object parser and code generator.
With this option enabled Eolian will handle automatic
generation of EFL bindings for the C++11 language.
comment "libecore video support"
config BR2_PACKAGE_EFL_FB
bool "FB support"
config BR2_PACKAGE_EFL_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_LIBXRANDR
select BR2_PACKAGE_XLIB_LIBXRENDER
select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
select BR2_PACKAGE_XLIB_LIBXTST
select BR2_PACKAGE_XORGPROTO
config BR2_PACKAGE_EFL_WAYLAND
bool "Wayland support"
depends on BR2_PACKAGE_WAYLAND
depends on BR2_TOOLCHAIN_HAS_THREADS # Evas DRM Engine -> libdrm
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # Evas DRM Engine
depends on BR2_PACKAGE_EFL_EEZE # efl drm
depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- linput
select BR2_PACKAGE_EFL_DRM
select BR2_PACKAGE_WAYLAND_PROTOCOLS
comment "Wayland support needs udev /dev management (eeze), OpenGL ES w/ EGL, threads, locales"
depends on BR2_PACKAGE_WAYLAND
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \
|| !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_EFL_EEZE \
|| !BR2_ENABLE_LOCALE
choice
bool "OpenGL support"
help
libevas can be configured to use HW acceleration with OpenGL
or OpenGL ES.
config BR2_PACKAGE_EFL_OPENGL
bool "OpenGL"
depends on BR2_PACKAGE_HAS_LIBGL
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_EFL_X_XLIB
comment "OpenGL support needs X11 and an OpenGL provider"
depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
config BR2_PACKAGE_EFL_OPENGLES
bool "OpenGL ES (w/ EGL)"
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
comment "OpenGL ES support needs an OpenGL ES w/ EGL provider"
depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
config BR2_PACKAGE_EFL_OPENGL_NONE
bool "none"
endchoice # OpenGL support
config BR2_PACKAGE_EFL_DRM
bool "Evas DRM Engine"
depends on BR2_PACKAGE_EFL_EEZE
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # require libgbm from mesa3d
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_LIBINPUT # For elput
select BR2_PACKAGE_LIBXKBCOMMON
help
This option enable building support for the Evas DRM Engine.
Since efl 1.23.x, the drm option enable the elput library
which is an efl abstraction for the libinput library which
can be used by various other subsystems (ecore_fb, ecore_drm,
etc) to handle interfacing with libinput without having to
duplicate the code in each subsystem.
comment "Evas DRM Engine needs udev /dev management (eeze), mesa3d w/ EGL support, threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_MESA3D_OPENGL_EGL \
|| !BR2_PACKAGE_EFL_EEZE
comment "libevas loaders"
config BR2_PACKAGE_EFL_JPEG
bool "libevas jpeg loader"
select BR2_PACKAGE_OPENJPEG
help
This enables the loader code that loads jpeg files using
libjpeg.
config BR2_PACKAGE_EFL_TIFF
bool "libevas tiff loader"
select BR2_PACKAGE_TIFF
help
This enables the loader code that loads tiff files.
config BR2_PACKAGE_EFL_WEBP
bool "libevas webp image loader"
select BR2_PACKAGE_WEBP
select BR2_PACKAGE_WEBP_DEMUX
help
This enables the loader code that loads images using WebP.
config BR2_PACKAGE_EFL_LIBRAW
bool "libraw loader"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libraw
select BR2_PACKAGE_LIBRAW
help
This option enables the Evas generic Libraw loader
config BR2_PACKAGE_EFL_SVG
bool "SVG loader"
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
select BR2_PACKAGE_CAIRO
help
This option enables the Evas generic SVG loader
endif # BR2_PACKAGE_EFL
comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.9, host gcc >= 4.9, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
|| !BR2_HOST_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS \
|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
depends on BR2_USE_MMU
+13
View File
@@ -0,0 +1,13 @@
# From https://download.enlightenment.org/rel/libs/efl/efl-1.25.1.tar.xz.sha256sum
sha256 351ca0211ca000234527a503585f039f985607ec9439e34b49d8b8bbf35a7e6b efl-1.25.1.tar.xz
sha256 d666b6b2df9f5b791f85c299c65516cb55528b02a807603de246f65f4918ae22 COMPLIANCE
sha256 5bceb52d65debe420bc520f2992807740dc928b7fdc3c2e9a74b5889177ddf4c COPYING
sha256 e5133b4034a4749a781e2220ffb230b60a282b88861f1124d69a58abd5143994 COPYING.images
sha256 c95bae1d1ce0235ecccd3560b772ec1efb97f348a79f0fbe0a634f0c2ccefe2c licenses/COPYING.ASL
sha256 af4ffe7ed1795a6e9cd3b3ce8747fdc45da449ff58cf35b8027c0699a66fd5cf licenses/COPYING.BSD
sha256 e60d07dfb2c5264f9f405fa52bf0d4f85429dd9ae1bc2ffcff8af1924ef720d1 licenses/COPYING.FTL
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/COPYING.GPL
sha256 ae2d99bf2a8e8310281bdbe5e8b78cbe5e89bfead8c01e67a8c68b530efcf25a licenses/COPYING.LGPL
sha256 2996a1c43ee757f9c997a829d82bdd584052323e73cf02ff8126c6fbd95c2d87 licenses/COPYING.NGINX-MIT
sha256 d847c749aa38b8d864665fc4e5c80e2f2a505e414fafe9712e85b5154e908218 licenses/COPYING.SMALL
+367
View File
@@ -0,0 +1,367 @@
################################################################################
#
# efl
#
################################################################################
EFL_VERSION = 1.25.1
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))