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