python-dataproperty: bump version to 0.17.0
[buildroot-gz.git] / package / efl / efl.mk
blobe0ec6d6bcc04d1d4e017998991589b364898c8a2
1 ################################################################################
3 # efl
5 ################################################################################
7 EFL_VERSION = 1.18.4
8 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz
9 EFL_SITE = http://download.enlightenment.org/rel/libs/efl
10 EFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+
11 EFL_LICENSE_FILES = \
12 COMPLIANCE \
13 COPYING \
14 licenses/COPYING.BSD \
15 licenses/COPYING.FTL \
16 licenses/COPYING.GPL \
17 licenses/COPYING.LGPL \
18 licenses/COPYING.SMALL
20 EFL_INSTALL_STAGING = YES
22 EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \
23 jpeg luajit lz4 zlib
25 # Configure options:
26 # --disable-lua-old: build elua for the target.
27 # --disable-poppler: disable poppler image loader.
28 # --disable-sdl: disable sdl2 support.
29 # --disable-spectre: disable spectre image loader.
30 # --disable-xinput22: disable X11 XInput v2.2+ support.
31 # --enable-liblz4: use liblz4 from lz4 package.
32 # --with-doxygen: disable doxygen documentation
33 EFL_CONF_OPTS = \
34 --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \
35 --with-eet-eet=$(HOST_DIR)/usr/bin/eet \
36 --with-eldbus_codegen=$(HOST_DIR)/usr/bin/eldbus-codegen \
37 --with-elementary-codegen=$(HOST_DIR)/usr/bin/elementary_codegen \
38 --with-elm-prefs-cc=$(HOST_DIR)/usr/bin/elm_prefs_cc \
39 --with-elua=$(HOST_DIR)/usr/bin/elua \
40 --with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \
41 --disable-image-loader-jp2k \
42 --disable-lua-old \
43 --disable-poppler \
44 --disable-sdl \
45 --disable-spectre \
46 --disable-xinput22 \
47 --disable-wayland \
48 --enable-liblz4 \
49 --with-doxygen=no
51 # Disable untested configuration warning.
52 ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),)
53 EFL_CONF_OPTS += --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb
54 endif
56 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
57 EFL_CONF_OPTS += --enable-cxx-bindings \
58 --with-eolian-cxx=$(HOST_DIR)/usr/bin/eolian_cxx
59 else
60 EFL_CONF_OPTS += --disable-cxx-bindings
61 endif
63 ifeq ($(BR2_PACKAGE_EFL_EEZE),y)
64 EFL_DEPENDENCIES += udev
65 EFL_CONF_OPTS += --enable-libeeze
66 else
67 EFL_CONF_OPTS += --disable-libeeze
68 endif
70 ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y)
71 EFL_DEPENDENCIES += util-linux
72 EFL_CONF_OPTS += --enable-libmount
73 else
74 EFL_CONF_OPTS += --disable-libmount
75 endif
77 ifeq ($(BR2_PACKAGE_SYSTEMD),y)
78 EFL_CONF_OPTS += --enable-systemd
79 EFL_DEPENDENCIES += systemd
80 else
81 EFL_CONF_OPTS += --disable-systemd
82 endif
84 ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
85 EFL_CONF_OPTS += --enable-fontconfig
86 EFL_DEPENDENCIES += fontconfig
87 else
88 EFL_CONF_OPTS += --disable-fontconfig
89 endif
91 ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
92 EFL_CONF_OPTS += --enable-fribidi
93 EFL_DEPENDENCIES += libfribidi
94 else
95 EFL_CONF_OPTS += --disable-fribidi
96 endif
98 ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
99 EFL_CONF_OPTS += --enable-gstreamer1
100 EFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
101 else
102 EFL_CONF_OPTS += --disable-gstreamer1
103 endif
105 ifeq ($(BR2_PACKAGE_BULLET),y)
106 EFL_CONF_OPTS += --enable-physics
107 EFL_DEPENDENCIES += bullet
108 else
109 EFL_CONF_OPTS += --disable-physics
110 endif
112 ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
113 EFL_CONF_OPTS += --enable-audio
114 EFL_DEPENDENCIES += libsndfile
115 else
116 EFL_CONF_OPTS += --disable-audio
117 endif
119 ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
120 EFL_CONF_OPTS += --enable-pulseaudio
121 EFL_DEPENDENCIES += pulseaudio
122 else
123 EFL_CONF_OPTS += --disable-pulseaudio
124 endif
126 ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
127 EFL_DEPENDENCIES += harfbuzz
128 EFL_CONF_OPTS += --enable-harfbuzz
129 else
130 EFL_CONF_OPTS += --disable-harfbuzz
131 endif
133 ifeq ($(BR2_PACKAGE_TSLIB),y)
134 EFL_DEPENDENCIES += tslib
135 EFL_CONF_OPTS += --enable-tslib
136 else
137 EFL_CONF_OPTS += --disable-tslib
138 endif
140 ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
141 EFL_DEPENDENCIES += libglib2
142 EFL_CONF_OPTS += --with-glib=yes
143 else
144 EFL_CONF_OPTS += --with-glib=no
145 endif
147 # Prefer openssl (the default) over gnutls.
148 ifeq ($(BR2_PACKAGE_OPENSSL),y)
149 EFL_DEPENDENCIES += openssl
150 EFL_CONF_OPTS += --with-crypto=openssl
151 else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
152 EFL_DEPENDENCIES += gnutls libgcrypt
153 EFL_CONF_OPTS += --with-crypto=gnutls \
154 --with-libgcrypt-prefix=$(STAGING_DIR)/usr
155 else
156 EFL_CONF_OPTS += --with-crypto=none
157 endif # BR2_PACKAGE_OPENSSL
159 ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
160 EFL_CONF_OPTS += --enable-elput
161 EFL_DEPENDENCIES += libinput
162 else
163 EFL_CONF_OPTS += --disable-elput
164 endif
166 ifeq ($(BR2_PACKAGE_EFL_FB),y)
167 EFL_CONF_OPTS += --enable-fb
168 else
169 EFL_CONF_OPTS += --disable-fb
170 endif
172 ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y)
173 EFL_CONF_OPTS += \
174 --with-x11=xlib \
175 --with-x=$(STAGING_DIR) \
176 --x-includes=$(STAGING_DIR)/usr/include \
177 --x-libraries=$(STAGING_DIR)/usr/lib
179 EFL_DEPENDENCIES += \
180 xlib_libX11 \
181 xlib_libXcomposite \
182 xlib_libXcursor \
183 xlib_libXdamage \
184 xlib_libXext \
185 xlib_libXinerama \
186 xlib_libXrandr \
187 xlib_libXrender \
188 xlib_libXScrnSaver \
189 xlib_libXtst
190 else
191 EFL_CONF_OPTS += --with-x11=none
192 endif
194 ifeq ($(BR2_PACKAGE_EFL_OPENGL),y)
195 EFL_CONF_OPTS += --with-opengl=full
196 EFL_DEPENDENCIES += libgl
197 # OpenGL ES requires EGL
198 else ifeq ($(BR2_PACKAGE_EFL_OPENGLES),y)
199 EFL_CONF_OPTS += --with-opengl=es --enable-egl
200 EFL_DEPENDENCIES += libegl libgles
201 else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
202 EFL_CONF_OPTS += --with-opengl=none
203 endif
205 ifeq ($(BR2_PACKAGE_EFL_DRM),y)
206 EFL_CONF_OPTS += --enable-drm
207 EFL_DEPENDENCIES += libdrm libegl mesa3d
208 else
209 EFL_CONF_OPTS += --disable-drm
210 endif
212 # The EFL Wayland support requires Evas GLES DRM engine support
213 # which depends on wayland-client to build.
214 # So enable gl_drm only when wayland support is selected.
215 ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y)
216 EFL_DEPENDENCIES += wayland
217 EFL_CONF_OPTS += --enable-wayland --enable-gl-drm
218 else
219 EFL_CONF_OPTS += --disable-wayland --disable-gl-drm
220 endif
222 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
224 # Loaders that need external dependencies needs to be --enable-XXX=yes
225 # otherwise the default is '=static'.
226 # All other loaders are statically built-in
227 ifeq ($(BR2_PACKAGE_EFL_PNG),y)
228 EFL_CONF_OPTS += --enable-image-loader-png=yes
229 EFL_DEPENDENCIES += libpng
230 else
231 EFL_CONF_OPTS += --disable-image-loader-png
232 endif
234 ifeq ($(BR2_PACKAGE_EFL_JPEG),y)
235 EFL_CONF_OPTS += --enable-image-loader-jpeg=yes
236 # efl already depends on jpeg.
237 else
238 EFL_CONF_OPTS += --disable-image-loader-jpeg
239 endif
241 ifeq ($(BR2_PACKAGE_EFL_GIF),y)
242 EFL_CONF_OPTS += --enable-image-loader-gif=yes
243 EFL_DEPENDENCIES += giflib
244 else
245 EFL_CONF_OPTS += --disable-image-loader-gif
246 endif
248 ifeq ($(BR2_PACKAGE_EFL_TIFF),y)
249 EFL_CONF_OPTS += --enable-image-loader-tiff=yes
250 EFL_DEPENDENCIES += tiff
251 else
252 EFL_CONF_OPTS += --disable-image-loader-tiff
253 endif
255 ifeq ($(BR2_PACKAGE_EFL_WEBP),y)
256 EFL_CONF_OPTS += --enable-image-loader-webp=yes
257 EFL_DEPENDENCIES += webp
258 else
259 EFL_CONF_OPTS += --disable-image-loader-webp
260 endif
262 ifeq ($(BR2_PACKAGE_EFL_LIBRAW),y)
263 EFL_DEPENDENCIES += libraw
264 EFL_CONF_OPTS += --enable-libraw
265 else
266 EFL_CONF_OPTS += --disable-libraw
267 endif
269 ifeq ($(BR2_PACKAGE_EFL_SVG),y)
270 EFL_DEPENDENCIES += librsvg cairo
271 EFL_CONF_OPTS += --enable-librsvg
272 else
273 EFL_CONF_OPTS += --disable-librsvg
274 endif
276 ifeq ($(BR2_PACKAGE_UPOWER),)
277 # upower ecore system module is only useful if upower
278 # dbus service is available.
279 # It's not essential, only used to notify applications
280 # of power state, such as low battery or AC power, so
281 # they can adapt their power consumption.
282 define EFL_HOOK_REMOVE_UPOWER
283 rm -fr $(TARGET_DIR)/usr/lib/ecore/system/upower
284 endef
285 EFL_POST_INSTALL_TARGET_HOOKS = EFL_HOOK_REMOVE_UPOWER
286 endif
288 $(eval $(autotools-package))
290 ################################################################################
292 # host-efl
294 ################################################################################
296 # We want to build only some host tools used later in the build.
297 # Actually we want: edje_cc, eet and embryo_cc. eolian_cxx is built only
298 # if selected for the target.
300 # Host dependencies:
301 # * host-dbus: for Eldbus
302 # * host-freetype: for libevas
303 # * host-libglib2: for libecore
304 # * host-libjpeg, host-libpng: for libevas image loader
305 # * host-luajit for Elua tool for the host
306 HOST_EFL_DEPENDENCIES = \
307 host-pkgconf \
308 host-dbus \
309 host-freetype \
310 host-libglib2 \
311 host-libjpeg \
312 host-libpng \
313 host-luajit \
314 host-zlib
316 # Configure options:
317 # --disable-audio, --disable-multisense remove libsndfile dependency.
318 # --disable-fontconfig: remove dependency on fontconfig.
319 # --disable-fribidi: remove dependency on libfribidi.
320 # --disable-gstreamer1: remove dependency on gtreamer 1.0.
321 # --disable-libeeze: remove libudev dependency.
322 # --disable-libmount: remove dependency on host-util-linux libmount.
323 # --disable-lua-old: build elua for the host.
324 # --disable-physics: remove Bullet dependency.
325 # --disable-poppler: disable poppler image loader.
326 # --disable-spectre: disable spectre image loader.
327 # --enable-image-loader-gif=no: disable Gif dependency.
328 # --enable-image-loader-tiff=no: disable Tiff dependency.
329 # --with-crypto=none: remove dependencies on openssl or gnutls.
330 # --with-doxygen: disable doxygen documentation
331 # --with-x11=none: remove dependency on X.org.
332 # Yes I really know what I am doing.
333 HOST_EFL_CONF_OPTS += \
334 --disable-audio \
335 --disable-fontconfig \
336 --disable-fribidi \
337 --disable-gstreamer1 \
338 --disable-libeeze \
339 --disable-libmount \
340 --disable-libraw \
341 --disable-librsvg \
342 --disable-lua-old \
343 --disable-multisense \
344 --disable-physics \
345 --disable-poppler \
346 --disable-spectre \
347 --disable-xcf \
348 --enable-image-loader-gif=no \
349 --enable-image-loader-jpeg=yes \
350 --enable-image-loader-png=yes \
351 --enable-image-loader-tiff=no \
352 --with-crypto=none \
353 --with-doxygen=no \
354 --with-glib=yes \
355 --with-opengl=none \
356 --with-x11=none \
357 --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb
359 # Enable Eolian language bindings to provide eolian_cxx tool for the
360 # host which is required to build Eolian language bindings for the
361 # target.
362 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
363 HOST_EFL_CONF_OPTS += --enable-cxx-bindings
364 else
365 HOST_EFL_CONF_OPTS += --disable-cxx-bindings
366 endif
368 # Always disable upower system module from host as it's
369 # not useful and would try to use the output/host/var
370 # system bus which is non-existent and does not contain
371 # any upower service in it.
372 define HOST_EFL_HOOK_REMOVE_UPOWER
373 rm -fr $(HOST_DIR)/usr/lib/ecore/system/upower
374 endef
375 HOST_EFL_POST_INSTALL_HOOKS = HOST_EFL_HOOK_REMOVE_UPOWER
377 $(eval $(host-autotools-package))