@@ -4,6 +4,7 @@ config BR2_PACKAGE_EXPEDITE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LIBEET
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
depends on !BR2_avr32 # libevas
help
Expedite is the official Evas benchmark tool. It can test different
@@ -11,6 +12,7 @@ config BR2_PACKAGE_EXPEDITE
DirectFB and so on. Its tests are quite extensive, trying to
reproduce real world usage cases.
-comment "expedite needs a toolchain w/ C++"
+comment "expedite needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32
@@ -38,6 +38,11 @@ config BR2_PACKAGE_LIBECORE_X_XCB
config BR2_PACKAGE_LIBECORE_EVAS
bool "libecore Evas support"
select BR2_PACKAGE_LIBEVAS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_avr32 # libevas
+
+comment "evas support needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_avr32 # libevas
endif # BR2_PACKAGE_LIBECORE
@@ -1,3 +1,7 @@
+comment "libedje needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBEDJE
bool "libedje"
select BR2_PACKAGE_LIBEINA
@@ -8,6 +12,7 @@ config BR2_PACKAGE_LIBEDJE
select BR2_PACKAGE_LIBEVAS
select BR2_PACKAGE_LUA
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
A graphical layout and animation library for animated
resizable, compressed and scalable themes.
@@ -1,3 +1,7 @@
+comment "libelementary needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBELEMENTARY
bool "libelementary"
select BR2_PACKAGE_LIBEINA
@@ -5,6 +9,7 @@ config BR2_PACKAGE_LIBELEMENTARY
select BR2_PACKAGE_LIBECORE
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Elementary is a widget toolkit and EFL wrapper and convenience
library to make it easy to build applications and tools with UIs
@@ -1,3 +1,7 @@
+comment "libethumb needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBETHUMB
bool "libethumb"
select BR2_PACKAGE_LIBEINA
@@ -6,6 +10,7 @@ config BR2_PACKAGE_LIBETHUMB
select BR2_PACKAGE_LIBECORE_EVAS
select BR2_PACKAGE_LIBEDJE
depends on !BR2_avr32 # libevas
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libevas
help
Ethumb is a library for generating thumbnail images of documents.
@@ -1,6 +1,16 @@
+comment "libevas needs a toolchain w/ threads"
+ depends on !BR2_avr32
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_LIBEVAS
bool "libevas"
depends on !BR2_avr32 # no epoll_create1 or inotify_init1
+ # libevas should normally build without threads, but due to a
+ # build issue when the async preloader is disabled, which is
+ # needed when no threads are available, we don't allow evas to
+ # be built without threads. This should be revisited when efl
+ # is bumped to 1.8.
+ depends on BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_LIBEINA
# required to build so far
@@ -203,11 +203,6 @@ else
LIBEVAS_CONF_OPT += --disable-font-loader-eet
endif
-# async image preload support needs threads support in toolchain
-ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
-LIBEVAS_CONF_OPT += --disable-async-preload
-endif
-
# libevas installs the source code of examples on the target, which
# are generally not useful.
define LIBEVAS_REMOVE_EXAMPLES
@@ -21,7 +21,7 @@ config BR2_PACKAGE_ENLIGHTENMENT
depends on BR2_USE_WCHAR
depends on BR2_INSTALL_LIBSTDCPP
# libedbus -> dbus
- # libedbus -> glib2
+ # libedbus -> glib2, libevas
depends on BR2_TOOLCHAIN_HAS_THREADS
# libedbus -> dbus
depends on BR2_USE_MMU
Evas has an optional mechanism to do asynchronous preloading of images. This mechanism is optional, and in commit b6d92bf415df33ac86487d68f5f8299f406859d2 ("libevas: async image preload support needs threads support in toolchain"), Peter made sure to disable the asychronous preloading when no thread support was available. Unfortunately, it seems like disabling the asynchronous loading is rarely used, and it in facts fails to build: a member of structure is not present when asynchronous preloading is disabled, but the code continues to use it. Since the fix is not obvious, and all this mechanism seems to have changed completely in EFL 1.8.x, and we probably don't care much about EFL without threads, this commit adds a dependency of libevas on thread support. Consequently, it also reverts commit b6d92bf415df33ac86487d68f5f8299f406859d2 which is no longer necessary. Of course, this commit propagates this additional dependency to the reverse dependencies of libevas. Fixes: http://autobuild.buildroot.org/results/6de/6de90018a9eeb9c495d15046a8b3270eb95a5550// http://autobuild.buildroot.org/results/693/693df99db4ab357b48d427be3a72f6d64dd53065// Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/efl/expedite/Config.in | 4 +++- package/efl/libecore/Config.in | 5 +++++ package/efl/libedje/Config.in | 5 +++++ package/efl/libelementary/Config.in | 5 +++++ package/efl/libethumb/Config.in | 5 +++++ package/efl/libevas/Config.in | 10 ++++++++++ package/efl/libevas/libevas.mk | 5 ----- package/enlightenment/Config.in | 2 +- 8 files changed, 34 insertions(+), 7 deletions(-)