evas: depend on thread support
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>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 19:20:02 +01:00
|
|
|
comment "libevas needs a toolchain w/ threads"
|
|
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
|
2012-01-26 18:42:33 +01:00
|
|
|
config BR2_PACKAGE_LIBEVAS
|
|
|
|
bool "libevas"
|
evas: depend on thread support
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>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 19:20:02 +01:00
|
|
|
# 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
|
2012-01-26 18:42:33 +01:00
|
|
|
select BR2_PACKAGE_FREETYPE
|
|
|
|
select BR2_PACKAGE_LIBEINA
|
2012-01-29 21:33:27 +01:00
|
|
|
# required to build so far
|
|
|
|
select BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH
|
2012-01-26 18:42:33 +01:00
|
|
|
help
|
|
|
|
Evas is a clean display canvas API for several target
|
|
|
|
display systems that can draw anti-aliased text, smooth
|
|
|
|
super and sub-sampled scaled images, alpha-blend objects
|
|
|
|
much and more.
|
|
|
|
|
2012-01-29 10:49:11 +01:00
|
|
|
http://trac.enlightenment.org/e/wiki/Evas
|
|
|
|
|
2012-01-26 18:42:33 +01:00
|
|
|
if BR2_PACKAGE_LIBEVAS
|
|
|
|
|
|
|
|
comment "libevas rendering options"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_SCALE_SAMPLE
|
|
|
|
bool "libevas sampling scaler"
|
|
|
|
help
|
|
|
|
This enables the sampling scaler code. This is the fastest
|
|
|
|
image scaling code, but also the lowest quality.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH
|
|
|
|
bool "libevas smooth scaler"
|
|
|
|
help
|
|
|
|
This is the nicest looking scaler that is not that much
|
|
|
|
slower than tri-linear, but it looks really good.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_SMALL_DITHERING
|
|
|
|
bool "libevas small dithering"
|
|
|
|
help
|
|
|
|
This uses a 4x4 dither mask instead of 128x128. On desktop
|
|
|
|
boxes these days (Pentium, Pentium2, amd etc.) the speed
|
|
|
|
difference is not really measurable, but the quality of the
|
|
|
|
128x128 dither mask is quite a lot better.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_LINE_DITHERING
|
|
|
|
bool "libevas line dithering"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_NO_DITHERING
|
|
|
|
bool "libevas no dithering"
|
|
|
|
|
|
|
|
|
|
|
|
comment "libevas backends"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_BUFFER
|
|
|
|
bool "libevas buffer backend"
|
|
|
|
help
|
|
|
|
This enables the software buffer rendering engine. There is
|
|
|
|
no hardware assist here.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_DIRECTFB
|
|
|
|
bool "libevas DirectFB backend"
|
|
|
|
depends on BR2_PACKAGE_DIRECTFB
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
This is the DirectFB engine that uses the DirectFB library
|
|
|
|
(http://www.directfb.org) on Linux to access the framebuffer
|
|
|
|
with (or maybe without) acceleration.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_FB
|
|
|
|
bool "libevas frame buffer backend"
|
|
|
|
help
|
|
|
|
This is the software framebuffer driving engine. this uses
|
|
|
|
the linux framebuffer device (/dev/fb<x>) and will currently
|
|
|
|
just inherit the current framebuffer settings on the fb
|
|
|
|
device and use them to run in.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_SDL
|
|
|
|
bool "libevas SDL backend"
|
|
|
|
select BR2_PACKAGE_SDL
|
|
|
|
help
|
|
|
|
This is the software SDL engine that uses SDL library
|
|
|
|
(http://www.libsdl.org). This library should work on many
|
|
|
|
operating systems.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_SDL_GL
|
|
|
|
bool "libevas SDL OpenGL backend"
|
|
|
|
depends on BR2_PACKAGE_SDL_X11
|
2013-01-06 12:29:17 +01:00
|
|
|
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
|
2012-01-26 18:42:33 +01:00
|
|
|
help
|
|
|
|
This is the SDL OpenGL engine that uses SDL library
|
|
|
|
and OpenGL to render. This may be hardware accelerated.
|
|
|
|
|
2012-02-08 14:38:19 +01:00
|
|
|
comment "SDL OpenGL backend needs modular X.org and X11 support in SDL"
|
2013-01-06 12:29:17 +01:00
|
|
|
depends on !(BR2_PACKAGE_SDL_X11 && BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
|
2012-02-08 14:38:19 +01:00
|
|
|
|
2012-01-26 18:42:33 +01:00
|
|
|
config BR2_PACKAGE_LIBEVAS_X11
|
|
|
|
bool "libevas X11 backend"
|
|
|
|
depends on BR2_PACKAGE_XORG7
|
|
|
|
select BR2_PACKAGE_XLIB_LIBX11
|
2012-12-28 16:35:44 +01:00
|
|
|
select BR2_PACKAGE_XLIB_LIBXEXT
|
2012-01-26 18:42:33 +01:00
|
|
|
help
|
|
|
|
This enables the software X11 rendering engine that renders
|
|
|
|
to X drawable targets using highly optimised software
|
|
|
|
routines. There is no hardware assist here.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_X11_GLX
|
|
|
|
bool "libevas X11 GLX backend"
|
2013-01-06 12:29:17 +01:00
|
|
|
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
|
2012-01-26 18:42:33 +01:00
|
|
|
select BR2_PACKAGE_XLIB_LIBX11
|
2012-02-07 23:13:25 +01:00
|
|
|
select BR2_PACKAGE_XLIB_LIBXRENDER
|
|
|
|
select BR2_PACKAGE_XLIB_LIBXEXT
|
2012-01-26 18:42:33 +01:00
|
|
|
select BR2_PACKAGE_XPROTO_GLPROTO
|
|
|
|
help
|
|
|
|
This enables the OpenGL X11 rendering engine that renders
|
|
|
|
using GLX which may be hardware accelerated.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_XCB
|
|
|
|
bool "libevas XCB backend"
|
|
|
|
depends on BR2_PACKAGE_XORG7
|
|
|
|
select BR2_PACKAGE_LIBXCB
|
|
|
|
select BR2_PACKAGE_XCB_UTIL
|
|
|
|
select BR2_PACKAGE_XCB_PROTO
|
|
|
|
select BR2_PACKAGE_PIXMAN
|
|
|
|
help
|
|
|
|
This enable the software XCB rendering engine. It allows the
|
|
|
|
same features than the software X11 engine.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_XCB_GLX
|
|
|
|
bool "libevas XCB GLX backend"
|
2013-01-06 12:29:17 +01:00
|
|
|
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
|
2012-01-26 18:42:33 +01:00
|
|
|
select BR2_PACKAGE_LIBXCB
|
|
|
|
select BR2_PACKAGE_XCB_UTIL
|
|
|
|
select BR2_PACKAGE_XCB_PROTO
|
|
|
|
select BR2_PACKAGE_XPROTO_GLPROTO
|
|
|
|
help
|
|
|
|
This enables the OpenGL X11 XCB rendering engine that renders
|
|
|
|
using GLX which may be hardware accelerated.
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "libevas OpenGL flavor"
|
|
|
|
depends on BR2_PACKAGE_LIBEVAS_SDL_GL || BR2_PACKAGE_LIBEVAS_X11_GLX || BR2_PACKAGE_LIBEVAS_XCB_GLX
|
|
|
|
default BR2_PACKAGE_LIBEVAS_GL
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_GL
|
2012-02-08 14:30:06 +01:00
|
|
|
bool "generic OpenGL"
|
2014-04-17 18:04:24 +02:00
|
|
|
depends on BR2_PACKAGE_HAS_LIBGL
|
2012-02-08 14:30:06 +01:00
|
|
|
select BR2_PACKAGE_LIBEET
|
2012-01-26 18:42:33 +01:00
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_GLES_SGX
|
2013-11-11 17:23:23 +01:00
|
|
|
bool "OpenGL-ES SGX"
|
2012-01-26 18:42:33 +01:00
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_GLES_S3C6410
|
2013-11-11 17:23:23 +01:00
|
|
|
bool "OpenGL-ES S3C6410"
|
2012-01-26 18:42:33 +01:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
|
|
comment "libevas loaders"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_PNG
|
|
|
|
bool "libevas png loader"
|
|
|
|
select BR2_PACKAGE_LIBPNG
|
|
|
|
help
|
|
|
|
This enables the loader code that loads png files using
|
|
|
|
libpng.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_JPEG
|
|
|
|
bool "libevas jpeg loader"
|
|
|
|
select BR2_PACKAGE_JPEG
|
|
|
|
help
|
|
|
|
This enables the loader code that loads jpeg files using
|
|
|
|
libjpeg.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_GIF
|
|
|
|
bool "libevas gif loader"
|
2015-01-26 20:24:19 +01:00
|
|
|
select BR2_PACKAGE_GIFLIB
|
2012-01-26 18:42:33 +01:00
|
|
|
help
|
|
|
|
This enables the loader code that loads gif files using
|
|
|
|
libungif.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_PMAPS
|
|
|
|
bool "libevas pmaps loader"
|
|
|
|
help
|
|
|
|
This enables the loader code that loads pmaps files.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_TIFF
|
|
|
|
bool "libevas tiff loader"
|
|
|
|
select BR2_PACKAGE_TIFF
|
|
|
|
help
|
|
|
|
This enables the loader code that loads tiff files.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_XPM
|
|
|
|
bool "libevas xpm loader"
|
|
|
|
help
|
|
|
|
This enables the loader code that loads xpm files.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_EET
|
|
|
|
bool "libevas eet image loader"
|
|
|
|
select BR2_PACKAGE_LIBEET
|
|
|
|
help
|
|
|
|
This enables the loader code that loads images using libeet.
|
|
|
|
|
|
|
|
config BR2_PACKAGE_LIBEVAS_EET_FONT
|
|
|
|
bool "libevas eet font loader"
|
|
|
|
select BR2_PACKAGE_LIBEET
|
|
|
|
help
|
|
|
|
This enables the loader code that loads fonts using libeet.
|
|
|
|
|
|
|
|
endif # BR2_PACKAGE_LIBEVAS
|