buildroot/package/efl/libefl/libefl.mk

248 lines
7.0 KiB
Makefile
Raw Normal View History

################################################################################
#
# libefl
#
################################################################################
# hardcode the version here since the bump to 1.15 is not complete in Buildroot
LIBEFL_VERSION = 1.15.2
LIBEFL_SOURCE = efl-$(LIBEFL_VERSION).tar.xz
LIBEFL_SITE = http://download.enlightenment.org/rel/libs/efl
LIBEFL_LICENSE = BSD-2c, LGPLv2.1+, GPLv2+
LIBEFL_LICENSE_FILES = \
COMPLIANCE \
COPYING \
licenses/COPYING.BSD \
licenses/COPYING.FTL \
licenses/COPYING.GPL \
licenses/COPYING.LGPL \
licenses/COPYING.SMALL
package/efl/libefl: new package Add the libefl package which contains an updated version of the following libraries: libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb and libevas. It also contains eldbus, ephysics, and escape, see [1]. The name libefl is transitional in order to bump smoothly all packages that use efl libraries and remove the old package libecore, libevas... The package libefl will be renamed to efl in a followup patch at the end of the series. For now, the bump to efl 1.15.x is not complete. This allows to build at least a default configuration without X11 support or graphics acceleration. This support will be added by a follow up patches in the series. Here is some notes about libefl dependencies: - alsa: At the end of the configure script, the summary tab will show that alsa support is allways disabled even if alsa-utils has been build before efl-core package. "Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)" This is intentional. - util-linux: libefl select util-linux libblkid since it's listed as an dependency in the README [2]. - threads support: Add a dependency on threads support since clearly efl libraries are not even built without thread support [3]. - Curl: Curl is listed as an dependency in the README because it's a runtime dependency since efl 1.8 [4]. We need to regenerate the configure script to workaround a build issue with eldbus-codegen: CCLD bin/eldbus/eldbus-codegen CXXLD bin/eolian_cxx/eolian_cxx CCLD lib/ecore_x/ecore_x_vsync CCLD lib/evas/common/libevas_op_blend_sse3.la CCLD lib/evas/common/libevas_convert_rgb_32.la CCLD lib/ecore_ipc/libecore_ipc.la [...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link) lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set' lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get' collect2: error: ld returned 1 exit status Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed make[6]: *** [bin/eldbus/eldbus-codegen] Error 1 A dependency on libefl seems to be missing for eldbus but by regenerating eldbus-codegen build correctly. Reported upstream [6]. Also, gettextize is needed since *.po files were generated with an "old" gettext version (0.18): Making all in po *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19 Makefile:149: recipe for target 'check-macro-version' failed [1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ [2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478 [3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032 [4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453 https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e [5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html [6] https://phab.enlightenment.org/T2718 [Thomas: - make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG. - rewrap Config.in help text where needed.] Signed-off-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Vicente Bergas <vicencb@gmail.com> Cc: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-16 06:40:13 +08:00
LIBEFL_INSTALL_STAGING = YES
LIBEFL_DEPENDENCIES = host-pkgconf host-libefl dbus freetype jpeg lua udev \
util-linux zlib
# regenerate the configure script:
# https://phab.enlightenment.org/T2718
LIBEFL_AUTORECONF = YES
LIBEFL_GETTEXTIZE = YES
# Configure options:
# --disable-cxx-bindings: disable C++11 bindings.
# --disable-fb: disable frame buffer support.
# --disable-image-loader-jp2k: disable JPEG 2000 support.
# --disable-sdl: disable sdl2 support.
# --disable-systemd: disable systemd support.
# --enable-lua-old: disable Elua and remove luajit dependency.
# --with-opengl=none: disable opengl support.
# --with-x11=none: remove dependency on X.org.
LIBEFL_CONF_OPTS = \
--with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \
--with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \
--disable-cxx-bindings \
--disable-fb \
--disable-image-loader-jp2k \
--disable-sdl \
--disable-systemd \
--enable-lua-old \
--with-opengl=none \
--with-x11=none
# Disable untested configuration warning.
ifeq ($(BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG),)
LIBEFL_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-aba
endif
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
LIBEFL_DEPENDENCIES += util-linux
LIBEFL_CONF_OPTS += --enable-libmount
else
LIBEFL_CONF_OPTS += --disable-libmount
endif
ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
LIBEFL_CONF_OPTS += --enable-fontconfig
LIBEFL_DEPENDENCIES += fontconfig
else
LIBEFL_CONF_OPTS += --disable-fontconfig
endif
ifeq ($(BR2_PACKAGE_LIBFRIBIDI),y)
LIBEFL_CONF_OPTS += --enable-fribidi
LIBEFL_DEPENDENCIES += libfribidi
else
LIBEFL_CONF_OPTS += --disable-fribidi
endif
ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
LIBEFL_CONF_OPTS += --enable-gstreamer1
LIBEFL_DEPENDENCIES += gstreamer1 gst1-plugins-base
else
LIBEFL_CONF_OPTS += --disable-gstreamer1
endif
ifeq ($(BR2_PACKAGE_BULLET),y)
LIBEFL_CONF_OPTS += --enable-physics
LIBEFL_DEPENDENCIES += bullet
else
LIBEFL_CONF_OPTS += --disable-physics
endif
ifeq ($(BR2_PACKAGE_LIBSNDFILE),y)
LIBEFL_CONF_OPTS += --enable-audio
LIBEFL_DEPENDENCIES += libsndfile
else
LIBEFL_CONF_OPTS += --disable-audio
endif
ifeq ($(BR2_PACKAGE_PULSEAUDIO),y)
LIBEFL_CONF_OPTS += --enable-pulseaudio
LIBEFL_DEPENDENCIES += pulseaudio
else
LIBEFL_CONF_OPTS += --disable-pulseaudio
endif
ifeq ($(BR2_PACKAGE_HARFBUZZ),y)
LIBEFL_DEPENDENCIES += harfbuzz
LIBEFL_CONF_OPTS += --enable-harfbuzz
else
LIBEFL_CONF_OPTS += --disable-harfbuzz
endif
package/efl/libefl: new package Add the libefl package which contains an updated version of the following libraries: libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb and libevas. It also contains eldbus, ephysics, and escape, see [1]. The name libefl is transitional in order to bump smoothly all packages that use efl libraries and remove the old package libecore, libevas... The package libefl will be renamed to efl in a followup patch at the end of the series. For now, the bump to efl 1.15.x is not complete. This allows to build at least a default configuration without X11 support or graphics acceleration. This support will be added by a follow up patches in the series. Here is some notes about libefl dependencies: - alsa: At the end of the configure script, the summary tab will show that alsa support is allways disabled even if alsa-utils has been build before efl-core package. "Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)" This is intentional. - util-linux: libefl select util-linux libblkid since it's listed as an dependency in the README [2]. - threads support: Add a dependency on threads support since clearly efl libraries are not even built without thread support [3]. - Curl: Curl is listed as an dependency in the README because it's a runtime dependency since efl 1.8 [4]. We need to regenerate the configure script to workaround a build issue with eldbus-codegen: CCLD bin/eldbus/eldbus-codegen CXXLD bin/eolian_cxx/eolian_cxx CCLD lib/ecore_x/ecore_x_vsync CCLD lib/evas/common/libevas_op_blend_sse3.la CCLD lib/evas/common/libevas_convert_rgb_32.la CCLD lib/ecore_ipc/libecore_ipc.la [...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link) lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set' lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get' collect2: error: ld returned 1 exit status Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed make[6]: *** [bin/eldbus/eldbus-codegen] Error 1 A dependency on libefl seems to be missing for eldbus but by regenerating eldbus-codegen build correctly. Reported upstream [6]. Also, gettextize is needed since *.po files were generated with an "old" gettext version (0.18): Making all in po *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19 Makefile:149: recipe for target 'check-macro-version' failed [1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ [2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478 [3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032 [4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453 https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e [5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html [6] https://phab.enlightenment.org/T2718 [Thomas: - make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG. - rewrap Config.in help text where needed.] Signed-off-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Vicente Bergas <vicencb@gmail.com> Cc: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-16 06:40:13 +08:00
ifeq ($(BR2_PACKAGE_TSLIB),y)
LIBEFL_DEPENDENCIES += tslib
LIBEFL_CONF_OPTS += --enable-tslib
else
LIBEFL_CONF_OPTS += --disable-tslib
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
LIBEFL_DEPENDENCIES += libglib2
LIBEFL_CONF_OPTS += --with-glib=yes
else
LIBEFL_CONF_OPTS += --with-glib=no
endif
# Prefer openssl (the default) over gnutls.
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBEFL_DEPENDENCIES += openssl
LIBEFL_CONF_OPTS += --with-crypto=openssl
else ifeq ($(BR2_PACKAGE_GNUTLS)$(BR2_PACKAGE_LIBGCRYPT),yy)
LIBEFL_DEPENDENCIES += gnutls libgcrypt
LIBEFL_CONF_OPTS += --with-crypto=gnutls \
--with-libgcrypt-prefix=$(STAGING_DIR)/usr
else
LIBEFL_CONF_OPTS += --with-crypto=none
endif # BR2_PACKAGE_OPENSSL
ifeq ($(BR2_PACKAGE_WAYLAND),y)
LIBEFL_DEPENDENCIES += wayland libxkbcommon
LIBEFL_CONF_OPTS += --enable-wayland
else
LIBEFL_CONF_OPTS += --disable-wayland
endif
package/efl/libefl: new package Add the libefl package which contains an updated version of the following libraries: libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb and libevas. It also contains eldbus, ephysics, and escape, see [1]. The name libefl is transitional in order to bump smoothly all packages that use efl libraries and remove the old package libecore, libevas... The package libefl will be renamed to efl in a followup patch at the end of the series. For now, the bump to efl 1.15.x is not complete. This allows to build at least a default configuration without X11 support or graphics acceleration. This support will be added by a follow up patches in the series. Here is some notes about libefl dependencies: - alsa: At the end of the configure script, the summary tab will show that alsa support is allways disabled even if alsa-utils has been build before efl-core package. "Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)" This is intentional. - util-linux: libefl select util-linux libblkid since it's listed as an dependency in the README [2]. - threads support: Add a dependency on threads support since clearly efl libraries are not even built without thread support [3]. - Curl: Curl is listed as an dependency in the README because it's a runtime dependency since efl 1.8 [4]. We need to regenerate the configure script to workaround a build issue with eldbus-codegen: CCLD bin/eldbus/eldbus-codegen CXXLD bin/eolian_cxx/eolian_cxx CCLD lib/ecore_x/ecore_x_vsync CCLD lib/evas/common/libevas_op_blend_sse3.la CCLD lib/evas/common/libevas_convert_rgb_32.la CCLD lib/ecore_ipc/libecore_ipc.la [...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link) lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set' lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get' collect2: error: ld returned 1 exit status Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed make[6]: *** [bin/eldbus/eldbus-codegen] Error 1 A dependency on libefl seems to be missing for eldbus but by regenerating eldbus-codegen build correctly. Reported upstream [6]. Also, gettextize is needed since *.po files were generated with an "old" gettext version (0.18): Making all in po *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19 Makefile:149: recipe for target 'check-macro-version' failed [1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ [2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478 [3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032 [4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453 https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e [5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html [6] https://phab.enlightenment.org/T2718 [Thomas: - make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG. - rewrap Config.in help text where needed.] Signed-off-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Vicente Bergas <vicencb@gmail.com> Cc: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-16 06:40:13 +08:00
# Loaders that need external dependencies needs to be --enable-XXX=yes
# otherwise the default is '=static'.
# All other loaders are statically built-in
ifeq ($(BR2_PACKAGE_LIBEFL_PNG),y)
LIBEFL_CONF_OPTS += --enable-image-loader-png=yes
LIBEFL_DEPENDENCIES += libpng
else
LIBEFL_CONF_OPTS += --disable-image-loader-png
endif
ifeq ($(BR2_PACKAGE_LIBEFL_JPEG),y)
LIBEFL_CONF_OPTS += --enable-image-loader-jpeg=yes
# libefl already depends on jpeg.
else
LIBEFL_CONF_OPTS += --disable-image-loader-jpeg
endif
ifeq ($(BR2_PACKAGE_LIBEFL_GIF),y)
LIBEFL_CONF_OPTS += --enable-image-loader-gif=yes
LIBEFL_DEPENDENCIES += giflib
else
LIBEFL_CONF_OPTS += --disable-image-loader-gif
endif
ifeq ($(BR2_PACKAGE_LIBEFL_TIFF),y)
LIBEFL_CONF_OPTS += --enable-image-loader-tiff=yes
LIBEFL_DEPENDENCIES += tiff
else
LIBEFL_CONF_OPTS += --disable-image-loader-tiff
endif
ifeq ($(BR2_PACKAGE_LIBEFL_WEBP),y)
LIBEFL_CONF_OPTS += --enable-image-loader-webp=yes
LIBEFL_DEPENDENCIES += webp
else
LIBEFL_CONF_OPTS += --disable-image-loader-webp
endif
package/efl/libefl: new package Add the libefl package which contains an updated version of the following libraries: libecore, libedje, libeet, libfreet, libeina, libeio, libembryo, libthumb and libevas. It also contains eldbus, ephysics, and escape, see [1]. The name libefl is transitional in order to bump smoothly all packages that use efl libraries and remove the old package libecore, libevas... The package libefl will be renamed to efl in a followup patch at the end of the series. For now, the bump to efl 1.15.x is not complete. This allows to build at least a default configuration without X11 support or graphics acceleration. This support will be added by a follow up patches in the series. Here is some notes about libefl dependencies: - alsa: At the end of the configure script, the summary tab will show that alsa support is allways disabled even if alsa-utils has been build before efl-core package. "Ecore_Audio.....: yes (-alsa +pulseaudio +sndfile)" This is intentional. - util-linux: libefl select util-linux libblkid since it's listed as an dependency in the README [2]. - threads support: Add a dependency on threads support since clearly efl libraries are not even built without thread support [3]. - Curl: Curl is listed as an dependency in the README because it's a runtime dependency since efl 1.8 [4]. We need to regenerate the configure script to workaround a build issue with eldbus-codegen: CCLD bin/eldbus/eldbus-codegen CXXLD bin/eolian_cxx/eolian_cxx CCLD lib/ecore_x/ecore_x_vsync CCLD lib/evas/common/libevas_op_blend_sse3.la CCLD lib/evas/common/libevas_convert_rgb_32.la CCLD lib/ecore_ipc/libecore_ipc.la [...]/i686-ctng-linux-gnu/bin/ld: warning: libefl.so.1, needed by lib/ecore/.libs/libecore.so, not found (try using -rpath or -rpath-link) lib/ecore/.libs/libecore.so: undefined reference to `efl_control_suspend_set' lib/ecore/.libs/libecore.so: undefined reference to `efl_control_interface_get' collect2: error: ld returned 1 exit status Makefile:19135: recipe for target 'bin/eldbus/eldbus-codegen' failed make[6]: *** [bin/eldbus/eldbus-codegen] Error 1 A dependency on libefl seems to be missing for eldbus but by regenerating eldbus-codegen build correctly. Reported upstream [6]. Also, gettextize is needed since *.po files were generated with an "old" gettext version (0.18): Making all in po *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19 Makefile:149: recipe for target 'check-macro-version' failed [1] See https://phab.enlightenment.org/phame/live/3/post/efl_1_8/ [2] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n478 [3] https://git.enlightenment.org/core/efl.git/tree/configure.ac#n5032 [4] https://git.enlightenment.org/core/efl.git/tree/README?id=v1.15.2#n453 https://git.enlightenment.org/core/efl.git/commit/?id=2c1c6b9335e38c6e52b06829a95d9b58d780c99e [5] http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000432.html [6] https://phab.enlightenment.org/T2718 [Thomas: - make the BR2_PACKAGE_LIBEFL_RECOMMENDED_CONFIG hidden and rename it to BR2_PACKAGE_LIBEFL_HAS_RECOMMENDED_CONFIG. - rewrap Config.in help text where needed.] Signed-off-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Vicente Bergas <vicencb@gmail.com> Cc: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-16 06:40:13 +08:00
$(eval $(autotools-package))
################################################################################
#
# host-libefl
#
################################################################################
# We want to build only some host tools used later in the build.
# Actually we want: edje_cc, embryo_cc and eet.
# Host dependencies:
# * host-dbus: for Eldbus
# * host-freetype: for libevas
# * host-libglib2: for libecore
# * host-libjpeg, host-libpng: for libevas image loader
# * host-lua: disable luajit dependency
HOST_LIBEFL_DEPENDENCIES = \
host-pkgconf \
host-dbus \
host-freetype \
host-libglib2 \
host-libjpeg \
host-libpng \
host-lua \
host-zlib
# Configure options:
# --disable-audio, --disable-multisense remove libsndfile dependency.
# --disable-cxx-bindings: disable C++11 bindings.
# --disable-fontconfig: remove dependency on fontconfig.
# --disable-fribidi: remove dependency on libfribidi.
# --disable-gstreamer1: remove dependency on gtreamer 1.0.
# --disable-libeeze: remove libudev dependency.
# --disable-libmount: remove dependency on host-util-linux libmount.
# --disable-physics: remove Bullet dependency.
# --enable-image-loader-gif=no: disable Gif dependency.
# --enable-image-loader-tiff=no: disable Tiff dependency.
# --enable-lua-old: disable Elua and remove luajit dependency.
# --with-crypto=none: remove dependencies on openssl or gnutls.
# --with-x11=none: remove dependency on X.org.
# Yes I really know what I am doing.
HOST_LIBEFL_CONF_OPTS += \
--disable-audio \
--disable-cxx-bindings \
--disable-fontconfig \
--disable-fribidi \
--disable-gstreamer1 \
--disable-libeeze \
--disable-libmount \
--disable-multisense \
--disable-physics \
--enable-image-loader-gif=no \
--enable-image-loader-jpeg=yes \
--enable-image-loader-png=yes \
--enable-image-loader-tiff=no \
--enable-lua-old \
--with-crypto=none \
--with-glib=yes \
--with-opengl=none \
--with-x11=none \
--enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba
$(eval $(host-autotools-package))