docker-engine: new package
[buildroot-gz.git] / package / efl / efl.mk
blobd404e71e95e3c91915dd32d04a7047b15df19155
1 ################################################################################
3 # efl
5 ################################################################################
7 EFL_VERSION = 1.17.2
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 udev util-linux zlib
25 # Configure options:
26 # --disable-lua-old: build elua for the target.
27 # --disable-sdl: disable sdl2 support.
28 # --disable-xinput22: disable X11 XInput v2.2+ support.
29 # --with-opengl=none: disable opengl support.
30 EFL_CONF_OPTS = \
31 --with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \
32 --with-elua=$(HOST_DIR)/usr/bin/elua \
33 --with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \
34 --disable-lua-old \
35 --disable-sdl \
36 --disable-xinput22 \
37 --with-opengl=none
39 # Disable untested configuration warning.
40 ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),)
41 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
42 endif
44 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
45 EFL_CONF_OPTS += --enable-cxx-bindings \
46 --with-eolian-cxx=$(HOST_DIR)/usr/bin/eolian_cxx
47 else
48 EFL_CONF_OPTS += --disable-cxx-bindings
49 endif
51 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
52 EFL_DEPENDENCIES += util-linux
53 EFL_CONF_OPTS += --enable-libmount
54 else
55 EFL_CONF_OPTS += --disable-libmount
56 endif
58 ifeq ($(BR2_PACKAGE_SYSTEMD),y)
59 EFL_CONF_OPTS += --enable-systemd
60 EFL_DEPENDENCIES += systemd
61 else
62 EFL_CONF_OPTS += --disable-systemd
63 endif
65 ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
66 EFL_CONF_OPTS += --enable-fontconfig
67 EFL_DEPENDENCIES += fontconfig
68 else
69 EFL_CONF_OPTS += --disable-fontconfig
70 endif
72 ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
73 EFL_CONF_OPTS += --enable-fribidi
74 EFL_DEPENDENCIES += libfribidi
75 else
76 EFL_CONF_OPTS += --disable-fribidi
77 endif
79 ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
80 EFL_CONF_OPTS += --enable-gstreamer1
81 EFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
82 else
83 EFL_CONF_OPTS += --disable-gstreamer1
84 endif
86 ifeq ($(BR2_PACKAGE_BULLET),y)
87 EFL_CONF_OPTS += --enable-physics
88 EFL_DEPENDENCIES += bullet
89 else
90 EFL_CONF_OPTS += --disable-physics
91 endif
93 ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
94 EFL_CONF_OPTS += --enable-audio
95 EFL_DEPENDENCIES += libsndfile
96 else
97 EFL_CONF_OPTS += --disable-audio
98 endif
100 ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
101 EFL_CONF_OPTS += --enable-pulseaudio
102 EFL_DEPENDENCIES += pulseaudio
103 else
104 EFL_CONF_OPTS += --disable-pulseaudio
105 endif
107 ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
108 EFL_DEPENDENCIES += harfbuzz
109 EFL_CONF_OPTS += --enable-harfbuzz
110 else
111 EFL_CONF_OPTS += --disable-harfbuzz
112 endif
114 ifeq ($(BR2_PACKAGE_TSLIB),y)
115 EFL_DEPENDENCIES += tslib
116 EFL_CONF_OPTS += --enable-tslib
117 else
118 EFL_CONF_OPTS += --disable-tslib
119 endif
121 ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
122 EFL_DEPENDENCIES += libglib2
123 EFL_CONF_OPTS += --with-glib=yes
124 else
125 EFL_CONF_OPTS += --with-glib=no
126 endif
128 # Prefer openssl (the default) over gnutls.
129 ifeq ($(BR2_PACKAGE_OPENSSL),y)
130 EFL_DEPENDENCIES += openssl
131 EFL_CONF_OPTS += --with-crypto=openssl
132 else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
133 EFL_DEPENDENCIES += gnutls libgcrypt
134 EFL_CONF_OPTS += --with-crypto=gnutls \
135 --with-libgcrypt-prefix=$(STAGING_DIR)/usr
136 else
137 EFL_CONF_OPTS += --with-crypto=none
138 endif # BR2_PACKAGE_OPENSSL
140 ifeq ($(BR2_PACKAGE_WAYLAND),y)
141 EFL_DEPENDENCIES += wayland libxkbcommon
142 EFL_CONF_OPTS += --enable-wayland
143 else
144 EFL_CONF_OPTS += --disable-wayland
145 endif
147 ifeq ($(BR2_PACKAGE_EFL_FB),y)
148 EFL_CONF_OPTS += --enable-fb
149 else
150 EFL_CONF_OPTS += --disable-fb
151 endif
153 ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y)
154 EFL_CONF_OPTS += \
155 --with-x11=xlib \
156 --with-x=$(STAGING_DIR) \
157 --x-includes=$(STAGING_DIR)/usr/include \
158 --x-libraries=$(STAGING_DIR)/usr/lib
160 EFL_DEPENDENCIES += \
161 xlib_libX11 \
162 xlib_libXcomposite \
163 xlib_libXcursor \
164 xlib_libXdamage \
165 xlib_libXext \
166 xlib_libXinerama \
167 xlib_libXrandr \
168 xlib_libXrender \
169 xlib_libXScrnSaver \
170 xlib_libXtst
171 else
172 EFL_CONF_OPTS += --with-x11=none
173 endif
175 # Loaders that need external dependencies needs to be --enable-XXX=yes
176 # otherwise the default is '=static'.
177 # All other loaders are statically built-in
178 ifeq ($(BR2_PACKAGE_EFL_PNG),y)
179 EFL_CONF_OPTS += --enable-image-loader-png=yes
180 EFL_DEPENDENCIES += libpng
181 else
182 EFL_CONF_OPTS += --disable-image-loader-png
183 endif
185 ifeq ($(BR2_PACKAGE_EFL_JPEG),y)
186 EFL_CONF_OPTS += --enable-image-loader-jpeg=yes
187 # efl already depends on jpeg.
188 else
189 EFL_CONF_OPTS += --disable-image-loader-jpeg
190 endif
192 ifeq ($(BR2_PACKAGE_EFL_GIF),y)
193 EFL_CONF_OPTS += --enable-image-loader-gif=yes
194 EFL_DEPENDENCIES += giflib
195 else
196 EFL_CONF_OPTS += --disable-image-loader-gif
197 endif
199 ifeq ($(BR2_PACKAGE_EFL_TIFF),y)
200 EFL_CONF_OPTS += --enable-image-loader-tiff=yes
201 EFL_DEPENDENCIES += tiff
202 else
203 EFL_CONF_OPTS += --disable-image-loader-tiff
204 endif
206 ifeq ($(BR2_PACKAGE_EFL_JP2K),y)
207 EFL_CONF_OPTS += --enable-image-loader-jp2k=yes
208 EFL_DEPENDENCIES += openjpeg
209 else
210 EFL_CONF_OPTS += --disable-image-loader-jp2k
211 endif
213 ifeq ($(BR2_PACKAGE_EFL_WEBP),y)
214 EFL_CONF_OPTS += --enable-image-loader-webp=yes
215 EFL_DEPENDENCIES += webp
216 else
217 EFL_CONF_OPTS += --disable-image-loader-webp
218 endif
220 $(eval $(autotools-package))
222 ################################################################################
224 # host-efl
226 ################################################################################
228 # We want to build only some host tools used later in the build.
229 # Actually we want: edje_cc, eet and embryo_cc. eolian_cxx is built only
230 # if selected for the target.
232 # Host dependencies:
233 # * host-dbus: for Eldbus
234 # * host-freetype: for libevas
235 # * host-libglib2: for libecore
236 # * host-libjpeg, host-libpng: for libevas image loader
237 # * host-luajit for Elua tool for the host
238 HOST_EFL_DEPENDENCIES = \
239 host-pkgconf \
240 host-dbus \
241 host-freetype \
242 host-libglib2 \
243 host-libjpeg \
244 host-libpng \
245 host-luajit \
246 host-zlib
248 # Configure options:
249 # --disable-audio, --disable-multisense remove libsndfile dependency.
250 # --disable-fontconfig: remove dependency on fontconfig.
251 # --disable-fribidi: remove dependency on libfribidi.
252 # --disable-gstreamer1: remove dependency on gtreamer 1.0.
253 # --disable-libeeze: remove libudev dependency.
254 # --disable-libmount: remove dependency on host-util-linux libmount.
255 # --disable-lua-old: build elua for the host.
256 # --disable-physics: remove Bullet dependency.
257 # --enable-image-loader-gif=no: disable Gif dependency.
258 # --enable-image-loader-tiff=no: disable Tiff dependency.
259 # --with-crypto=none: remove dependencies on openssl or gnutls.
260 # --with-x11=none: remove dependency on X.org.
261 # Yes I really know what I am doing.
262 HOST_EFL_CONF_OPTS += \
263 --disable-audio \
264 --disable-fontconfig \
265 --disable-fribidi \
266 --disable-gstreamer1 \
267 --disable-libeeze \
268 --disable-libmount \
269 --disable-lua-old \
270 --disable-multisense \
271 --disable-physics \
272 --enable-image-loader-gif=no \
273 --enable-image-loader-jpeg=yes \
274 --enable-image-loader-png=yes \
275 --enable-image-loader-tiff=no \
276 --with-crypto=none \
277 --with-glib=yes \
278 --with-opengl=none \
279 --with-x11=none \
280 --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
282 # Enable Eolian language bindings to provide eolian_cxx tool for the
283 # host which is required to build Eolian language bindings for the
284 # target.
285 ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y)
286 HOST_EFL_CONF_OPTS += --enable-cxx-bindings
287 else
288 HOST_EFL_CONF_OPTS += --disable-cxx-bindings
289 endif
291 $(eval $(host-autotools-package))