harfbuzz: security bump to version 1.4.4
[buildroot-gz.git] / package / efl / efl.mk
blob1e54f7281052d76dd14c8df828c53be3500f263a
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-lua-old \
42 --disable-poppler \
43 --disable-sdl \
44 --disable-spectre \
45 --disable-xinput22 \
46 --disable-wayland \
47 --enable-liblz4 \
48 --with-doxygen=no
50 # Disable untested configuration warning.
51 ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),)
52 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
53 endif
55 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
56 EFL_CONF_OPTS += --enable-cxx-bindings \
57 --with-eolian-cxx=$(HOST_DIR)/usr/bin/eolian_cxx
58 else
59 EFL_CONF_OPTS += --disable-cxx-bindings
60 endif
62 ifeq ($(BR2_PACKAGE_EFL_EEZE),y)
63 EFL_DEPENDENCIES += udev
64 EFL_CONF_OPTS += --enable-libeeze
65 else
66 EFL_CONF_OPTS += --disable-libeeze
67 endif
69 ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT),y)
70 EFL_DEPENDENCIES += util-linux
71 EFL_CONF_OPTS += --enable-libmount
72 else
73 EFL_CONF_OPTS += --disable-libmount
74 endif
76 ifeq ($(BR2_PACKAGE_SYSTEMD),y)
77 EFL_CONF_OPTS += --enable-systemd
78 EFL_DEPENDENCIES += systemd
79 else
80 EFL_CONF_OPTS += --disable-systemd
81 endif
83 ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
84 EFL_CONF_OPTS += --enable-fontconfig
85 EFL_DEPENDENCIES += fontconfig
86 else
87 EFL_CONF_OPTS += --disable-fontconfig
88 endif
90 ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
91 EFL_CONF_OPTS += --enable-fribidi
92 EFL_DEPENDENCIES += libfribidi
93 else
94 EFL_CONF_OPTS += --disable-fribidi
95 endif
97 ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
98 EFL_CONF_OPTS += --enable-gstreamer1
99 EFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
100 else
101 EFL_CONF_OPTS += --disable-gstreamer1
102 endif
104 ifeq ($(BR2_PACKAGE_BULLET),y)
105 EFL_CONF_OPTS += --enable-physics
106 EFL_DEPENDENCIES += bullet
107 else
108 EFL_CONF_OPTS += --disable-physics
109 endif
111 ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
112 EFL_CONF_OPTS += --enable-audio
113 EFL_DEPENDENCIES += libsndfile
114 else
115 EFL_CONF_OPTS += --disable-audio
116 endif
118 ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
119 EFL_CONF_OPTS += --enable-pulseaudio
120 EFL_DEPENDENCIES += pulseaudio
121 else
122 EFL_CONF_OPTS += --disable-pulseaudio
123 endif
125 ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
126 EFL_DEPENDENCIES += harfbuzz
127 EFL_CONF_OPTS += --enable-harfbuzz
128 else
129 EFL_CONF_OPTS += --disable-harfbuzz
130 endif
132 ifeq ($(BR2_PACKAGE_TSLIB),y)
133 EFL_DEPENDENCIES += tslib
134 EFL_CONF_OPTS += --enable-tslib
135 else
136 EFL_CONF_OPTS += --disable-tslib
137 endif
139 ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
140 EFL_DEPENDENCIES += libglib2
141 EFL_CONF_OPTS += --with-glib=yes
142 else
143 EFL_CONF_OPTS += --with-glib=no
144 endif
146 # Prefer openssl (the default) over gnutls.
147 ifeq ($(BR2_PACKAGE_OPENSSL),y)
148 EFL_DEPENDENCIES += openssl
149 EFL_CONF_OPTS += --with-crypto=openssl
150 else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
151 EFL_DEPENDENCIES += gnutls libgcrypt
152 EFL_CONF_OPTS += --with-crypto=gnutls \
153 --with-libgcrypt-prefix=$(STAGING_DIR)/usr
154 else
155 EFL_CONF_OPTS += --with-crypto=none
156 endif # BR2_PACKAGE_OPENSSL
158 ifeq ($(BR2_PACKAGE_EFL_ELPUT),y)
159 EFL_CONF_OPTS += --enable-elput
160 EFL_DEPENDENCIES += libinput
161 else
162 EFL_CONF_OPTS += --disable-elput
163 endif
165 ifeq ($(BR2_PACKAGE_EFL_FB),y)
166 EFL_CONF_OPTS += --enable-fb
167 else
168 EFL_CONF_OPTS += --disable-fb
169 endif
171 ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y)
172 EFL_CONF_OPTS += \
173 --with-x11=xlib \
174 --with-x=$(STAGING_DIR) \
175 --x-includes=$(STAGING_DIR)/usr/include \
176 --x-libraries=$(STAGING_DIR)/usr/lib
178 EFL_DEPENDENCIES += \
179 xlib_libX11 \
180 xlib_libXcomposite \
181 xlib_libXcursor \
182 xlib_libXdamage \
183 xlib_libXext \
184 xlib_libXinerama \
185 xlib_libXrandr \
186 xlib_libXrender \
187 xlib_libXScrnSaver \
188 xlib_libXtst
189 else
190 EFL_CONF_OPTS += --with-x11=none
191 endif
193 ifeq ($(BR2_PACKAGE_EFL_OPENGL),y)
194 EFL_CONF_OPTS += --with-opengl=full
195 EFL_DEPENDENCIES += libgl
196 # OpenGL ES requires EGL
197 else ifeq ($(BR2_PACKAGE_EFL_OPENGLES),y)
198 EFL_CONF_OPTS += --with-opengl=es --enable-egl
199 EFL_DEPENDENCIES += libegl libgles
200 else ifeq ($(BR2_PACKAGE_EFL_OPENGL_NONE),y)
201 EFL_CONF_OPTS += --with-opengl=none
202 endif
204 ifeq ($(BR2_PACKAGE_EFL_DRM),y)
205 EFL_CONF_OPTS += --enable-drm
206 EFL_DEPENDENCIES += libdrm libegl mesa3d
207 else
208 EFL_CONF_OPTS += --disable-drm
209 endif
211 # The EFL Wayland support requires Evas GLES DRM engine support
212 # which depends on wayland-client to build.
213 # So enable gl_drm only when wayland support is selected.
214 ifeq ($(BR2_PACKAGE_EFL_WAYLAND),y)
215 EFL_DEPENDENCIES += wayland
216 EFL_CONF_OPTS += --enable-wayland --enable-gl-drm
217 else
218 EFL_CONF_OPTS += --disable-wayland --disable-gl-drm
219 endif
221 EFL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBXKBCOMMON),libxkbcommon)
223 # Loaders that need external dependencies needs to be --enable-XXX=yes
224 # otherwise the default is '=static'.
225 # All other loaders are statically built-in
226 ifeq ($(BR2_PACKAGE_EFL_PNG),y)
227 EFL_CONF_OPTS += --enable-image-loader-png=yes
228 EFL_DEPENDENCIES += libpng
229 else
230 EFL_CONF_OPTS += --disable-image-loader-png
231 endif
233 ifeq ($(BR2_PACKAGE_EFL_JPEG),y)
234 EFL_CONF_OPTS += --enable-image-loader-jpeg=yes
235 # efl already depends on jpeg.
236 else
237 EFL_CONF_OPTS += --disable-image-loader-jpeg
238 endif
240 ifeq ($(BR2_PACKAGE_EFL_GIF),y)
241 EFL_CONF_OPTS += --enable-image-loader-gif=yes
242 EFL_DEPENDENCIES += giflib
243 else
244 EFL_CONF_OPTS += --disable-image-loader-gif
245 endif
247 ifeq ($(BR2_PACKAGE_EFL_TIFF),y)
248 EFL_CONF_OPTS += --enable-image-loader-tiff=yes
249 EFL_DEPENDENCIES += tiff
250 else
251 EFL_CONF_OPTS += --disable-image-loader-tiff
252 endif
254 ifeq ($(BR2_PACKAGE_EFL_JP2K),y)
255 EFL_CONF_OPTS += --enable-image-loader-jp2k=yes
256 EFL_DEPENDENCIES += openjpeg
257 else
258 EFL_CONF_OPTS += --disable-image-loader-jp2k
259 endif
261 ifeq ($(BR2_PACKAGE_EFL_WEBP),y)
262 EFL_CONF_OPTS += --enable-image-loader-webp=yes
263 EFL_DEPENDENCIES += webp
264 else
265 EFL_CONF_OPTS += --disable-image-loader-webp
266 endif
268 ifeq ($(BR2_PACKAGE_EFL_LIBRAW),y)
269 EFL_DEPENDENCIES += libraw
270 EFL_CONF_OPTS += --enable-libraw
271 else
272 EFL_CONF_OPTS += --disable-libraw
273 endif
275 ifeq ($(BR2_PACKAGE_EFL_SVG),y)
276 EFL_DEPENDENCIES += librsvg cairo
277 EFL_CONF_OPTS += --enable-librsvg
278 else
279 EFL_CONF_OPTS += --disable-librsvg
280 endif
282 ifeq ($(BR2_PACKAGE_UPOWER),)
283 # upower ecore system module is only useful if upower
284 # dbus service is available.
285 # It's not essential, only used to notify applications
286 # of power state, such as low battery or AC power, so
287 # they can adapt their power consumption.
288 define EFL_HOOK_REMOVE_UPOWER
289 rm -fr $(TARGET_DIR)/usr/lib/ecore/system/upower
290 endef
291 EFL_POST_INSTALL_TARGET_HOOKS = EFL_HOOK_REMOVE_UPOWER
292 endif
294 $(eval $(autotools-package))
296 ################################################################################
298 # host-efl
300 ################################################################################
302 # We want to build only some host tools used later in the build.
303 # Actually we want: edje_cc, eet and embryo_cc. eolian_cxx is built only
304 # if selected for the target.
306 # Host dependencies:
307 # * host-dbus: for Eldbus
308 # * host-freetype: for libevas
309 # * host-libglib2: for libecore
310 # * host-libjpeg, host-libpng: for libevas image loader
311 # * host-luajit for Elua tool for the host
312 HOST_EFL_DEPENDENCIES = \
313 host-pkgconf \
314 host-dbus \
315 host-freetype \
316 host-libglib2 \
317 host-libjpeg \
318 host-libpng \
319 host-luajit \
320 host-zlib
322 # Configure options:
323 # --disable-audio, --disable-multisense remove libsndfile dependency.
324 # --disable-fontconfig: remove dependency on fontconfig.
325 # --disable-fribidi: remove dependency on libfribidi.
326 # --disable-gstreamer1: remove dependency on gtreamer 1.0.
327 # --disable-libeeze: remove libudev dependency.
328 # --disable-libmount: remove dependency on host-util-linux libmount.
329 # --disable-lua-old: build elua for the host.
330 # --disable-physics: remove Bullet dependency.
331 # --disable-poppler: disable poppler image loader.
332 # --disable-spectre: disable spectre image loader.
333 # --enable-image-loader-gif=no: disable Gif dependency.
334 # --enable-image-loader-tiff=no: disable Tiff dependency.
335 # --with-crypto=none: remove dependencies on openssl or gnutls.
336 # --with-doxygen: disable doxygen documentation
337 # --with-x11=none: remove dependency on X.org.
338 # Yes I really know what I am doing.
339 HOST_EFL_CONF_OPTS += \
340 --disable-audio \
341 --disable-fontconfig \
342 --disable-fribidi \
343 --disable-gstreamer1 \
344 --disable-libeeze \
345 --disable-libmount \
346 --disable-libraw \
347 --disable-librsvg \
348 --disable-lua-old \
349 --disable-multisense \
350 --disable-physics \
351 --disable-poppler \
352 --disable-spectre \
353 --disable-xcf \
354 --enable-image-loader-gif=no \
355 --enable-image-loader-jpeg=yes \
356 --enable-image-loader-png=yes \
357 --enable-image-loader-tiff=no \
358 --with-crypto=none \
359 --with-doxygen=no \
360 --with-glib=yes \
361 --with-opengl=none \
362 --with-x11=none \
363 --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
365 # Enable Eolian language bindings to provide eolian_cxx tool for the
366 # host which is required to build Eolian language bindings for the
367 # target.
368 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
369 HOST_EFL_CONF_OPTS += --enable-cxx-bindings
370 else
371 HOST_EFL_CONF_OPTS += --disable-cxx-bindings
372 endif
374 # Always disable upower system module from host as it's
375 # not useful and would try to use the output/host/var
376 # system bus which is non-existent and does not contain
377 # any upower service in it.
378 define HOST_EFL_HOOK_REMOVE_UPOWER
379 rm -fr $(HOST_DIR)/usr/lib/ecore/system/upower
380 endef
381 HOST_EFL_POST_INSTALL_HOOKS = HOST_EFL_HOOK_REMOVE_UPOWER
383 $(eval $(host-autotools-package))