xref: /OK3568_Linux_fs/buildroot/package/efl/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL
2*4882a593Smuzhiyun	bool "efl"
3*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
4*4882a593Smuzhiyun	depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-efl
5*4882a593Smuzhiyun	depends on BR2_INSTALL_LIBSTDCPP
6*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS # untested without threads
7*4882a593Smuzhiyun	depends on BR2_USE_MMU
8*4882a593Smuzhiyun	depends on BR2_USE_WCHAR # use wchar_t
9*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS # dlfcn.h
10*4882a593Smuzhiyun	# https://phab.enlightenment.org/T2728
11*4882a593Smuzhiyun	depends on BR2_PACKAGE_LUAJIT
12*4882a593Smuzhiyun	select BR2_PACKAGE_DBUS
13*4882a593Smuzhiyun	select BR2_PACKAGE_FREETYPE
14*4882a593Smuzhiyun	select BR2_PACKAGE_GIFLIB
15*4882a593Smuzhiyun	select BR2_PACKAGE_JPEG # Emile needs libjpeg
16*4882a593Smuzhiyun	select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency
17*4882a593Smuzhiyun	select BR2_PACKAGE_LIBPNG
18*4882a593Smuzhiyun	select BR2_PACKAGE_OPENSSL if !(BR2_PACKAGE_GNUTLS && BR2_PACKAGE_LIBGCRYPT)
19*4882a593Smuzhiyun	select BR2_PACKAGE_LZ4
20*4882a593Smuzhiyun	select BR2_PACKAGE_ZLIB
21*4882a593Smuzhiyun	help
22*4882a593Smuzhiyun	  Enlightenment Foundation Libraries
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	  https://www.enlightenment.org/
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunif BR2_PACKAGE_EFL
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_BULLET
29*4882a593Smuzhiyun	bool "Enable bullet support"
30*4882a593Smuzhiyun	select BR2_PACKAGE_BULLET
31*4882a593Smuzhiyun	help
32*4882a593Smuzhiyun	  If you have chosen to disable physics support, this disables
33*4882a593Smuzhiyun	  lots of core functionality and is effectively never
34*4882a593Smuzhiyun	  tested. You are going to find features that suddenly don't
35*4882a593Smuzhiyun	  work and as a result cause a series of breakages. This is
36*4882a593Smuzhiyun	  simply not tested so you are on your own in terms of
37*4882a593Smuzhiyun	  ensuring everything works if you do this.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_EEZE
40*4882a593Smuzhiyun	bool "Enable eeze (udev) support (recommended)"
41*4882a593Smuzhiyun	default y
42*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV # libudev
43*4882a593Smuzhiyun	help
44*4882a593Smuzhiyun	  Eeze is EFL's hardware abstraction layer on top of udev.
45*4882a593Smuzhiyun	  Having it off will disable some hardware detection, such as
46*4882a593Smuzhiyun	  'drm' graphics engine or 'elput', as well as mounting
47*4882a593Smuzhiyun	  removable media.
48*4882a593Smuzhiyun
49*4882a593Smuzhiyuncomment "eeze needs udev /dev management"
50*4882a593Smuzhiyun	depends on !BR2_PACKAGE_HAS_UDEV
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_FONTCONFIG
53*4882a593Smuzhiyun	bool "Enable fontconfig support (recommended)"
54*4882a593Smuzhiyun	default y
55*4882a593Smuzhiyun	select BR2_PACKAGE_FONTCONFIG
56*4882a593Smuzhiyun	help
57*4882a593Smuzhiyun	  If fontconfig is disabled, this is going to make general
58*4882a593Smuzhiyun	  font searching not work, and only some very direct 'load
59*4882a593Smuzhiyun	  /path/file.ttf' will work alongside some old-school ttf file
60*4882a593Smuzhiyun	  path searching. This is very likely not what you want, so
61*4882a593Smuzhiyun	  highly reconsider turning fontconfig off. Having it off will
62*4882a593Smuzhiyun	  lead to visual problems like missing text in many UI areas
63*4882a593Smuzhiyun	  etc...
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_GSTREAMER1
66*4882a593Smuzhiyun	bool "Enable gstreamer1 support (recommended)"
67*4882a593Smuzhiyun	default y
68*4882a593Smuzhiyun	select BR2_PACKAGE_GSTREAMER1
69*4882a593Smuzhiyun	select BR2_PACKAGE_GST1_PLUGINS_BASE
70*4882a593Smuzhiyun	help
71*4882a593Smuzhiyun	  If Gstreamer 1.x support is disabled, it will heavily limit
72*4882a593Smuzhiyun	  your media support options and render some functionality as
73*4882a593Smuzhiyun	  useless, leading to visible application bugs.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_LIBFRIBIDI
76*4882a593Smuzhiyun	bool "Enable libfribidi support (recommended)"
77*4882a593Smuzhiyun	default y
78*4882a593Smuzhiyun	select BR2_PACKAGE_LIBFRIBIDI
79*4882a593Smuzhiyun	help
80*4882a593Smuzhiyun	  Fribidi is used for handling right-to-left text (like
81*4882a593Smuzhiyun	  Arabic, Hebrew, Farsi, Persian etc.) and is very likely not
82*4882a593Smuzhiyun	  a feature you want to disable unless you know for absolute
83*4882a593Smuzhiyun	  certain you will never encounter and have to display such
84*4882a593Smuzhiyun	  scripts. Also note that we don't test with fribidi disabled
85*4882a593Smuzhiyun	  so you may also trigger code paths with bugs that are never
86*4882a593Smuzhiyun	  normally used.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_ELPUT
89*4882a593Smuzhiyun	bool "Enable elput support (recommended)"
90*4882a593Smuzhiyun	default y
91*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV # libinput, efl-eeze
92*4882a593Smuzhiyun	select BR2_PACKAGE_EFL_EEZE
93*4882a593Smuzhiyun	select BR2_PACKAGE_LIBINPUT
94*4882a593Smuzhiyun	select BR2_PACKAGE_LIBXKBCOMMON
95*4882a593Smuzhiyun	select BR2_PACKAGE_XKEYBOARD_CONFIG
96*4882a593Smuzhiyun	help
97*4882a593Smuzhiyun	  Eplut is used to support gesture recognition.
98*4882a593Smuzhiyun
99*4882a593Smuzhiyuncomment "elput needs udev /dev management"
100*4882a593Smuzhiyun	depends on !BR2_PACKAGE_HAS_UDEV
101*4882a593Smuzhiyun
102*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_LIBSNDFILE
103*4882a593Smuzhiyun	bool "Enable libsndfile support (recommended)"
104*4882a593Smuzhiyun	default y
105*4882a593Smuzhiyun	select BR2_PACKAGE_LIBSNDFILE
106*4882a593Smuzhiyun	help
107*4882a593Smuzhiyun	  If you disabled audio support in Ecore, this is not tested
108*4882a593Smuzhiyun	  and may create bugs for you due to it creating untested code
109*4882a593Smuzhiyun	  paths.  Reconsider disabling audio.
110*4882a593Smuzhiyun
111*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_PULSEAUDIO
112*4882a593Smuzhiyun	bool "Enable pulseaudio support (recommended)"
113*4882a593Smuzhiyun	default y
114*4882a593Smuzhiyun	depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
115*4882a593Smuzhiyun	depends on BR2_USE_WCHAR
116*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS
117*4882a593Smuzhiyun	depends on !BR2_STATIC_LIBS
118*4882a593Smuzhiyun	depends on BR2_USE_MMU
119*4882a593Smuzhiyun	select BR2_PACKAGE_PULSEAUDIO
120*4882a593Smuzhiyun	help
121*4882a593Smuzhiyun	  The only audio output method supported by Ecore right now is
122*4882a593Smuzhiyun	  via Pulseaudio. You have disabled that and likely have
123*4882a593Smuzhiyun	  broken a whole bunch of things in the process. Reconsider
124*4882a593Smuzhiyun	  your configure options.
125*4882a593Smuzhiyun
126*4882a593Smuzhiyun	  NOTE: multisense support is automatically enabled with
127*4882a593Smuzhiyun	  pulseaudio.
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT
130*4882a593Smuzhiyun	bool "Enable libmount support (recommended)"
131*4882a593Smuzhiyun	default y
132*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV # efl-eeze
133*4882a593Smuzhiyun	select BR2_PACKAGE_EFL_EEZE
134*4882a593Smuzhiyun	select BR2_PACKAGE_UTIL_LINUX
135*4882a593Smuzhiyun	select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
136*4882a593Smuzhiyun	# libblkid is part of required tools, see EFL's README.
137*4882a593Smuzhiyun	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
138*4882a593Smuzhiyun	help
139*4882a593Smuzhiyun	  Libmount is used heavily inside Eeze for support of removable
140*4882a593Smuzhiyun	  devices etc... and disabling this will hurt support for
141*4882a593Smuzhiyun	  Enlightenment and its filemanager.
142*4882a593Smuzhiyun
143*4882a593Smuzhiyuncomment "efl's libmount support needs udev /dev management "
144*4882a593Smuzhiyun	depends on !BR2_PACKAGE_HAS_UDEV
145*4882a593Smuzhiyun
146*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
147*4882a593Smuzhiyun	bool
148*4882a593Smuzhiyun	default y if BR2_PACKAGE_EFL_EEZE && \
149*4882a593Smuzhiyun		BR2_PACKAGE_EFL_FONTCONFIG && \
150*4882a593Smuzhiyun		BR2_PACKAGE_EFL_GSTREAMER1 && \
151*4882a593Smuzhiyun		BR2_PACKAGE_EFL_LIBFRIBIDI && \
152*4882a593Smuzhiyun		BR2_PACKAGE_EFL_LIBSNDFILE && \
153*4882a593Smuzhiyun		BR2_PACKAGE_EFL_PULSEAUDIO && \
154*4882a593Smuzhiyun		BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT
155*4882a593Smuzhiyun
156*4882a593Smuzhiyuncomment "Warning: one of the recommended option for EFL is not enabled"
157*4882a593Smuzhiyun	depends on !BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
158*4882a593Smuzhiyun
159*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_EOLIAN_CPP
160*4882a593Smuzhiyun	bool "Enable Eolian C++ bindings"
161*4882a593Smuzhiyun	help
162*4882a593Smuzhiyun	  Eolian is an EO object parser and code generator.
163*4882a593Smuzhiyun	  With this option enabled Eolian will handle automatic
164*4882a593Smuzhiyun	  generation of EFL bindings for the C++11 language.
165*4882a593Smuzhiyun
166*4882a593Smuzhiyuncomment "libecore video support"
167*4882a593Smuzhiyun
168*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_FB
169*4882a593Smuzhiyun	bool "FB support"
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_X_XLIB
172*4882a593Smuzhiyun	bool "X11 support (xlib)"
173*4882a593Smuzhiyun	depends on BR2_PACKAGE_XORG7
174*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBX11
175*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXEXT
176*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
177*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXCURSOR
178*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXDAMAGE
179*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXINERAMA
180*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXRANDR
181*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXRENDER
182*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER
183*4882a593Smuzhiyun	select BR2_PACKAGE_XLIB_LIBXTST
184*4882a593Smuzhiyun	select BR2_PACKAGE_XORGPROTO
185*4882a593Smuzhiyun
186*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_WAYLAND
187*4882a593Smuzhiyun	bool "Wayland support"
188*4882a593Smuzhiyun	depends on BR2_PACKAGE_WAYLAND
189*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS # Evas DRM Engine -> libdrm
190*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_LIBGBM
191*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV # efl drm, efl-eeze
192*4882a593Smuzhiyun	depends on BR2_PACKAGE_EFL_OPENGLES # OpenGL ES with EGL support only
193*4882a593Smuzhiyun	depends on BR2_ENABLE_LOCALE # efl-drm <- efl-elput <- linput
194*4882a593Smuzhiyun	select BR2_PACKAGE_EFL_DRM
195*4882a593Smuzhiyun	select BR2_PACKAGE_WAYLAND_PROTOCOLS
196*4882a593Smuzhiyun
197*4882a593Smuzhiyuncomment "Wayland support needs udev /dev management, GBM, threads, locales"
198*4882a593Smuzhiyun	depends on BR2_PACKAGE_WAYLAND
199*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_LIBGBM \
200*4882a593Smuzhiyun		|| !BR2_PACKAGE_EFL_OPENGLES || !BR2_PACKAGE_HAS_UDEV \
201*4882a593Smuzhiyun		|| !BR2_ENABLE_LOCALE
202*4882a593Smuzhiyun
203*4882a593Smuzhiyunchoice
204*4882a593Smuzhiyun	bool "OpenGL support"
205*4882a593Smuzhiyun	help
206*4882a593Smuzhiyun	  libevas can be configured to use HW acceleration with OpenGL
207*4882a593Smuzhiyun	  or OpenGL ES.
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_OPENGL
210*4882a593Smuzhiyun	bool "OpenGL"
211*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_LIBGL
212*4882a593Smuzhiyun	depends on BR2_PACKAGE_XORG7
213*4882a593Smuzhiyun	select BR2_PACKAGE_EFL_X_XLIB
214*4882a593Smuzhiyun
215*4882a593Smuzhiyuncomment "OpenGL support needs X11 and an OpenGL provider"
216*4882a593Smuzhiyun	depends on !BR2_PACKAGE_HAS_LIBGL || !BR2_PACKAGE_XORG7
217*4882a593Smuzhiyun
218*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_OPENGLES
219*4882a593Smuzhiyun	bool "OpenGL ES (w/ EGL)"
220*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_LIBEGL
221*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_LIBGLES
222*4882a593Smuzhiyun
223*4882a593Smuzhiyuncomment "OpenGL ES support needs an OpenGL ES w/ EGL provider"
224*4882a593Smuzhiyun	depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
225*4882a593Smuzhiyun
226*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_OPENGL_NONE
227*4882a593Smuzhiyun	bool "none"
228*4882a593Smuzhiyun
229*4882a593Smuzhiyunendchoice # OpenGL support
230*4882a593Smuzhiyun
231*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_DRM
232*4882a593Smuzhiyun	bool "Evas DRM Engine"
233*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_UDEV # efl-elput, efl-eeze
234*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
235*4882a593Smuzhiyun	depends on BR2_PACKAGE_HAS_LIBGBM
236*4882a593Smuzhiyun	select BR2_PACKAGE_EFL_ELPUT
237*4882a593Smuzhiyun	select BR2_PACKAGE_LIBDRM
238*4882a593Smuzhiyun	default y if !BR2_PACKAGE_EFL_X_XLIB
239*4882a593Smuzhiyun	help
240*4882a593Smuzhiyun	  This option enable building support for the Evas DRM Engine.
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	  Since efl 1.23.x, the drm option enable the elput library
243*4882a593Smuzhiyun	  which is an efl abstraction for the libinput library which
244*4882a593Smuzhiyun	  can be used by various other subsystems (ecore_fb, ecore_drm,
245*4882a593Smuzhiyun	  etc) to handle interfacing with libinput without having to
246*4882a593Smuzhiyun	  duplicate the code in each subsystem.
247*4882a593Smuzhiyun
248*4882a593Smuzhiyuncomment "Evas DRM Engine needs udev /dev management, GBM support, threads"
249*4882a593Smuzhiyun	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_PACKAGE_HAS_LIBGBM \
250*4882a593Smuzhiyun		|| !BR2_PACKAGE_HAS_UDEV
251*4882a593Smuzhiyun
252*4882a593Smuzhiyuncomment "libevas loaders"
253*4882a593Smuzhiyun
254*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_JPEG
255*4882a593Smuzhiyun	bool "libevas jpeg loader"
256*4882a593Smuzhiyun	select BR2_PACKAGE_OPENJPEG
257*4882a593Smuzhiyun	help
258*4882a593Smuzhiyun	  This enables the loader code that loads jpeg files using
259*4882a593Smuzhiyun	  libjpeg.
260*4882a593Smuzhiyun
261*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_TIFF
262*4882a593Smuzhiyun	bool "libevas tiff loader"
263*4882a593Smuzhiyun	select BR2_PACKAGE_TIFF
264*4882a593Smuzhiyun	help
265*4882a593Smuzhiyun	  This enables the loader code that loads tiff files.
266*4882a593Smuzhiyun
267*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_WEBP
268*4882a593Smuzhiyun	bool "libevas webp image loader"
269*4882a593Smuzhiyun	select BR2_PACKAGE_WEBP
270*4882a593Smuzhiyun	select BR2_PACKAGE_WEBP_DEMUX
271*4882a593Smuzhiyun	help
272*4882a593Smuzhiyun	  This enables the loader code that loads images using WebP.
273*4882a593Smuzhiyun
274*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_LIBRAW
275*4882a593Smuzhiyun	bool "libraw loader"
276*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libraw
277*4882a593Smuzhiyun	select BR2_PACKAGE_LIBRAW
278*4882a593Smuzhiyun	help
279*4882a593Smuzhiyun	  This option enables the Evas generic Libraw loader
280*4882a593Smuzhiyun
281*4882a593Smuzhiyunconfig BR2_PACKAGE_EFL_SVG
282*4882a593Smuzhiyun	bool "SVG loader"
283*4882a593Smuzhiyun	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # librsvg
284*4882a593Smuzhiyun	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # librsvg -> pango -> harfbuzz
285*4882a593Smuzhiyun	select BR2_PACKAGE_LIBRSVG
286*4882a593Smuzhiyun	select BR2_PACKAGE_CAIRO
287*4882a593Smuzhiyun	help
288*4882a593Smuzhiyun	  This option enables the Evas generic SVG loader
289*4882a593Smuzhiyun
290*4882a593Smuzhiyunendif # BR2_PACKAGE_EFL
291*4882a593Smuzhiyun
292*4882a593Smuzhiyuncomment "efl needs a toolchain w/ C++, dynamic library, gcc >= 4.9, host gcc >= 4.9, threads, wchar"
293*4882a593Smuzhiyun	depends on !BR2_INSTALL_LIBSTDCPP \
294*4882a593Smuzhiyun		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \
295*4882a593Smuzhiyun		|| !BR2_HOST_GCC_AT_LEAST_4_9 || BR2_STATIC_LIBS \
296*4882a593Smuzhiyun		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
297*4882a593Smuzhiyun	depends on BR2_USE_MMU
298