buildrootschalter/package/efl/libevas/Config.in
Thomas Petazzoni eda5dd1cee evas: depend on thread support
Evas has an optional mechanism to do asynchronous preloading of
images. This mechanism is optional, and in commit
b6d92bf415 ("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
b6d92bf415 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 21:22:54 +01:00

214 lines
6.2 KiB
Plaintext

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
select BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH
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.
http://trac.enlightenment.org/e/wiki/Evas
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
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
help
This is the SDL OpenGL engine that uses SDL library
and OpenGL to render. This may be hardware accelerated.
comment "SDL OpenGL backend needs modular X.org and X11 support in SDL"
depends on !(BR2_PACKAGE_SDL_X11 && BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR)
config BR2_PACKAGE_LIBEVAS_X11
bool "libevas X11 backend"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXEXT
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"
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXRENDER
select BR2_PACKAGE_XLIB_LIBXEXT
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"
depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X
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
bool "generic OpenGL"
select BR2_PACKAGE_MESA3D
select BR2_PACKAGE_LIBEET
config BR2_PACKAGE_LIBEVAS_GLES_SGX
bool "OpenGL-ES SGX"
config BR2_PACKAGE_LIBEVAS_GLES_S3C6410
bool "OpenGL-ES S3C6410"
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"
select BR2_PACKAGE_LIBUNGIF
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