[Buildroot] [PATCH 1/2] package/efl: enable Eolian languages bindings

Romain Naour romain.naour at gmail.com
Sun Jul 17 20:22:03 UTC 2016


Eolian languages bindings needs C++11, so we needs at least a gcc 4.8
for the host and target variant.
The C++11 support with gcc 4.7 is not sufficient.

Build eolian_cxx for the host only if Eolian support for the target is
selected.

Signed-off-by: Romain Naour <romain.naour at gmail.com>
---
 package/efl/Config.in |  8 ++++++++
 package/efl/efl.mk    | 21 ++++++++++++++++-----
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/package/efl/Config.in b/package/efl/Config.in
index ee1a39d..f73700d 100644
--- a/package/efl/Config.in
+++ b/package/efl/Config.in
@@ -121,6 +121,14 @@ config BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
 comment "Warning: one of the recommended option for EFL is not enabled"
 	depends on !BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG
 
+config BR2_PACKAGE_EFL_EOLIAN
+	bool "Enable Eolian"
+	depends on BR2_HOST_GCC_AT_LEAST_4_8 # Eolian (host) needs C++11
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # Eolian needs C++11
+
+comment "Eolian needs host and target gcc >= 4.8"
+	depends on !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
 comment "libecore video support"
 
 config BR2_PACKAGE_EFL_FB
diff --git a/package/efl/efl.mk b/package/efl/efl.mk
index fd06246..0ae11b2 100644
--- a/package/efl/efl.mk
+++ b/package/efl/efl.mk
@@ -23,7 +23,6 @@ EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \
 	jpeg luajit udev util-linux zlib
 
 # Configure options:
-# --disable-cxx-bindings: disable C++11 bindings.
 # --disable-lua-old: build elua for the target.
 # --disable-sdl: disable sdl2 support.
 # --disable-systemd: disable systemd support.
@@ -32,8 +31,8 @@ EFL_DEPENDENCIES = host-pkgconf host-efl host-luajit dbus freetype \
 EFL_CONF_OPTS = \
 	--with-edje-cc=$(HOST_DIR)/usr/bin/edje_cc \
 	--with-elua=$(HOST_DIR)/usr/bin/elua \
+	--with-eolian-cxx=$(HOST_DIR)/usr/bin/eolian_cxx \
 	--with-eolian-gen=$(HOST_DIR)/usr/bin/eolian_gen \
-	--disable-cxx-bindings \
 	--disable-lua-old \
 	--disable-sdl \
 	--disable-systemd \
@@ -45,6 +44,12 @@ ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),)
 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
 endif
 
+ifeq ($(BR2_PACKAGE_EFL_EOLIAN),y)
+EFL_CONF_OPTS += --enable-cxx-bindings
+else
+EFL_CONF_OPTS += --disable-cxx-bindings
+endif
+
 ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBMOUNT),y)
 EFL_DEPENDENCIES += util-linux
 EFL_CONF_OPTS += --enable-libmount
@@ -216,7 +221,7 @@ $(eval $(autotools-package))
 ################################################################################
 
 # We want to build only some host tools used later in the build.
-# Actually we want: edje_cc, embryo_cc and eet.
+# Actually we want: edje_cc, eet, embryo_cc and eolian_cxx.
 
 # Host dependencies:
 # * host-dbus: for Eldbus
@@ -234,9 +239,16 @@ HOST_EFL_DEPENDENCIES = \
 	host-luajit \
 	host-zlib
 
+# Enable Eolian language bindings to provide eolian_cxx tool for the host which
+# is required to build Eolian language bindings for the target.
+ifeq ($(BR2_PACKAGE_EFL_EOLIAN),y)
+HOST_EFL_CONF_OPTS += --enable-cxx-bindings
+else
+HOST_EFL_CONF_OPTS += --disable-cxx-bindings
+endif
+
 # 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.
@@ -251,7 +263,6 @@ HOST_EFL_DEPENDENCIES = \
 #   Yes I really know what I am doing.
 HOST_EFL_CONF_OPTS += \
 	--disable-audio \
-	--disable-cxx-bindings \
 	--disable-fontconfig \
 	--disable-fribidi \
 	--disable-gstreamer1 \
-- 
2.5.5



More information about the buildroot mailing list