kumquat-buildroot/package/efl/Config.in
James Hilliard f3134e7159 package/efl: depend on LuaJIT
Luajit is a provider for luainterpreter. We can't select providers of
virtual packages; we can only depend on them.

Note also that it is not very clear whether the host and target variants
of EFL need to be built with the same lua interpreter. Today, this is
guaranteed as we inly use luajit in both cases. But there were issues
with lua 5.1 in the past, so stick to only using luajit.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[yann.morin.1998@free.fr:
  - depend on luajit, not "any" luainterpreter
  - which keeps the host and target variants built with the same
    interpreter
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-07-27 22:29:54 +02:00

309 lines
9.7 KiB
Plaintext

config BR2_PACKAGE_EFL
bool "efl"
# g++ issue with 4.4.5, tested with g++ 4.7.2
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
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_JPEG # Emile needs libjpeg
select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency
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 (recommended)"
default y
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_BULLET && \
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"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # Eolian needs C++11
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 "Eolian needs gcc >= 4.8"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
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_ELPUT
bool "Elput"
depends on BR2_PACKAGE_EFL_EEZE
select BR2_PACKAGE_LIBINPUT
select BR2_PACKAGE_LIBXKBCOMMON
help
The elput library 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 "Elput support needs udev /dev management (eeze)"
depends on !BR2_PACKAGE_EFL_EEZE
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_EFL_ELPUT
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_LIBXKBCOMMON
help
This option enable building support for the Evas DRM Engine.
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_PNG
bool "libevas png loader"
select BR2_PACKAGE_LIBPNG
help
This enables the loader code that loads png files using
libpng.
config BR2_PACKAGE_EFL_JPEG
bool "libevas jpeg loader"
help
This enables the loader code that loads jpeg files using
libjpeg.
config BR2_PACKAGE_EFL_GIF
bool "libevas gif loader"
select BR2_PACKAGE_GIFLIB
help
This enables the loader code that loads gif files using
giflib.
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
help
This enables the loader code that loads images using WebP.
config BR2_PACKAGE_EFL_LIBRAW
bool "libraw loader"
select BR2_PACKAGE_LIBRAW
help
This option enables the Evas generic Libraw loader
config BR2_PACKAGE_EFL_SVG
bool "SVG loader"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # librsvg -> pango -> harfbuzz
select BR2_PACKAGE_LIBRSVG
select BR2_PACKAGE_CAIRO
help
This option enables the Evas generic SVG loader
comment "SVG loader needs a toolchain w/ gcc >= 4.8"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
endif # BR2_PACKAGE_EFL
comment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.7, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
depends on BR2_USE_MMU