1 ################################################################################
5 ################################################################################
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
+
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 \
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
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 \
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
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
59 EFL_CONF_OPTS
+= --disable-cxx-bindings
62 ifeq ($(BR2_PACKAGE_EFL_EEZE
),y
)
63 EFL_DEPENDENCIES
+= udev
64 EFL_CONF_OPTS
+= --enable-libeeze
66 EFL_CONF_OPTS
+= --disable-libeeze
69 ifeq ($(BR2_PACKAGE_EFL_UTIL_LINUX_LIBMOUNT
),y
)
70 EFL_DEPENDENCIES
+= util-linux
71 EFL_CONF_OPTS
+= --enable-libmount
73 EFL_CONF_OPTS
+= --disable-libmount
76 ifeq ($(BR2_PACKAGE_SYSTEMD
),y
)
77 EFL_CONF_OPTS
+= --enable-systemd
78 EFL_DEPENDENCIES
+= systemd
80 EFL_CONF_OPTS
+= --disable-systemd
83 ifeq ($(BR2_PACKAGE_FONTCONFIG
),y
)
84 EFL_CONF_OPTS
+= --enable-fontconfig
85 EFL_DEPENDENCIES
+= fontconfig
87 EFL_CONF_OPTS
+= --disable-fontconfig
90 ifeq ($(BR2_PACKAGE_LIBFRIBIDI
),y
)
91 EFL_CONF_OPTS
+= --enable-fribidi
92 EFL_DEPENDENCIES
+= libfribidi
94 EFL_CONF_OPTS
+= --disable-fribidi
97 ifeq ($(BR2_PACKAGE_GSTREAMER1
)$(BR2_PACKAGE_GST1_PLUGINS_BASE
),yy
)
98 EFL_CONF_OPTS
+= --enable-gstreamer1
99 EFL_DEPENDENCIES
+= gstreamer1 gst1-plugins-base
101 EFL_CONF_OPTS
+= --disable-gstreamer1
104 ifeq ($(BR2_PACKAGE_BULLET
),y
)
105 EFL_CONF_OPTS
+= --enable-physics
106 EFL_DEPENDENCIES
+= bullet
108 EFL_CONF_OPTS
+= --disable-physics
111 ifeq ($(BR2_PACKAGE_LIBSNDFILE
),y
)
112 EFL_CONF_OPTS
+= --enable-audio
113 EFL_DEPENDENCIES
+= libsndfile
115 EFL_CONF_OPTS
+= --disable-audio
118 ifeq ($(BR2_PACKAGE_PULSEAUDIO
),y
)
119 EFL_CONF_OPTS
+= --enable-pulseaudio
120 EFL_DEPENDENCIES
+= pulseaudio
122 EFL_CONF_OPTS
+= --disable-pulseaudio
125 ifeq ($(BR2_PACKAGE_HARFBUZZ
),y
)
126 EFL_DEPENDENCIES
+= harfbuzz
127 EFL_CONF_OPTS
+= --enable-harfbuzz
129 EFL_CONF_OPTS
+= --disable-harfbuzz
132 ifeq ($(BR2_PACKAGE_TSLIB
),y
)
133 EFL_DEPENDENCIES
+= tslib
134 EFL_CONF_OPTS
+= --enable-tslib
136 EFL_CONF_OPTS
+= --disable-tslib
139 ifeq ($(BR2_PACKAGE_LIBGLIB2
),y
)
140 EFL_DEPENDENCIES
+= libglib2
141 EFL_CONF_OPTS
+= --with-glib
=yes
143 EFL_CONF_OPTS
+= --with-glib
=no
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
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
162 EFL_CONF_OPTS
+= --disable-elput
165 ifeq ($(BR2_PACKAGE_EFL_FB
),y
)
166 EFL_CONF_OPTS
+= --enable-fb
168 EFL_CONF_OPTS
+= --disable-fb
171 ifeq ($(BR2_PACKAGE_EFL_X_XLIB
),y
)
174 --with-x
=$(STAGING_DIR
) \
175 --x-includes
=$(STAGING_DIR
)/usr
/include \
176 --x-libraries
=$(STAGING_DIR
)/usr
/lib
178 EFL_DEPENDENCIES
+= \
190 EFL_CONF_OPTS
+= --with-x11
=none
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
204 ifeq ($(BR2_PACKAGE_EFL_DRM
),y
)
205 EFL_CONF_OPTS
+= --enable-drm
206 EFL_DEPENDENCIES
+= libdrm libegl mesa3d
208 EFL_CONF_OPTS
+= --disable-drm
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
218 EFL_CONF_OPTS
+= --disable-wayland
--disable-gl-drm
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
230 EFL_CONF_OPTS
+= --disable-image-loader-png
233 ifeq ($(BR2_PACKAGE_EFL_JPEG
),y
)
234 EFL_CONF_OPTS
+= --enable-image-loader-jpeg
=yes
235 # efl already depends on jpeg.
237 EFL_CONF_OPTS
+= --disable-image-loader-jpeg
240 ifeq ($(BR2_PACKAGE_EFL_GIF
),y
)
241 EFL_CONF_OPTS
+= --enable-image-loader-gif
=yes
242 EFL_DEPENDENCIES
+= giflib
244 EFL_CONF_OPTS
+= --disable-image-loader-gif
247 ifeq ($(BR2_PACKAGE_EFL_TIFF
),y
)
248 EFL_CONF_OPTS
+= --enable-image-loader-tiff
=yes
249 EFL_DEPENDENCIES
+= tiff
251 EFL_CONF_OPTS
+= --disable-image-loader-tiff
254 ifeq ($(BR2_PACKAGE_EFL_JP2K
),y
)
255 EFL_CONF_OPTS
+= --enable-image-loader-jp2k
=yes
256 EFL_DEPENDENCIES
+= openjpeg
258 EFL_CONF_OPTS
+= --disable-image-loader-jp2k
261 ifeq ($(BR2_PACKAGE_EFL_WEBP
),y
)
262 EFL_CONF_OPTS
+= --enable-image-loader-webp
=yes
263 EFL_DEPENDENCIES
+= webp
265 EFL_CONF_OPTS
+= --disable-image-loader-webp
268 ifeq ($(BR2_PACKAGE_EFL_LIBRAW
),y
)
269 EFL_DEPENDENCIES
+= libraw
270 EFL_CONF_OPTS
+= --enable-libraw
272 EFL_CONF_OPTS
+= --disable-libraw
275 ifeq ($(BR2_PACKAGE_EFL_SVG
),y
)
276 EFL_DEPENDENCIES
+= librsvg cairo
277 EFL_CONF_OPTS
+= --enable-librsvg
279 EFL_CONF_OPTS
+= --disable-librsvg
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
291 EFL_POST_INSTALL_TARGET_HOOKS
= EFL_HOOK_REMOVE_UPOWER
294 $(eval
$(autotools-package
))
296 ################################################################################
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.
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
= \
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
+= \
341 --disable-fontconfig \
343 --disable-gstreamer1 \
349 --disable-multisense \
354 --enable-image-loader-gif
=no \
355 --enable-image-loader-jpeg
=yes \
356 --enable-image-loader-png
=yes \
357 --enable-image-loader-tiff
=no \
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
368 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP
),y
)
369 HOST_EFL_CONF_OPTS
+= --enable-cxx-bindings
371 HOST_EFL_CONF_OPTS
+= --disable-cxx-bindings
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
381 HOST_EFL_POST_INSTALL_HOOKS
= HOST_EFL_HOOK_REMOVE_UPOWER
383 $(eval
$(host-autotools-package
))