hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
config BR2_PACKAGE_EFL
   bool "efl"
    # g++ issue with 4.4.5, tested with g++ 4.7.2
   depends on BR2_HOST_GCC_AT_LEAST_4_7
   depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
   depends on BR2_INSTALL_LIBSTDCPP
   depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit
   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
   select BR2_PACKAGE_DBUS
   select BR2_PACKAGE_FREETYPE
   select BR2_PACKAGE_JPEG # Emile needs libjpeg
   select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency
   # https://phab.enlightenment.org/T2728
   select BR2_PACKAGE_LUAJIT # Lua support broken
   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
   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_HOST_GCC_AT_LEAST_4_8 # Eolian (host) needs C++11
   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 host and target gcc >= 4.8"
   depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !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_LIBXP
   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_HAS_LIBEGL # Evas DRM Engine
   depends on BR2_PACKAGE_HAS_LIBGBM # 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
 
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_ENABLE_LOCALE # libinput
   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), locales"
   depends on !BR2_PACKAGE_EFL_EEZE || !BR2_ENABLE_LOCALE
 
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_HAS_LIBEGL
   depends on BR2_PACKAGE_HAS_LIBGBM
   depends on BR2_ENABLE_LOCALE # efl-elput <- libinput
   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 "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
   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.7, threads, wchar"
   depends on !BR2_INSTALL_LIBSTDCPP \
       || !BR2_HOST_GCC_AT_LEAST_4_7 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
       || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
   depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
   depends on BR2_USE_MMU