libevas: Add new package

[Peter: Config.in tweaks]
Signed-off-by: Will Newton <will.newton@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Will Newton 2012-01-26 17:42:33 +00:00 committed by Peter Korsgaard
parent 5d2df61ebd
commit 73b942e57e
3 changed files with 428 additions and 0 deletions

View File

@ -10,6 +10,7 @@ if BR2_PACKAGE_EFL
source "package/efl/libeina/Config.in"
source "package/efl/libeet/Config.in"
source "package/efl/libevas/Config.in"
endif # BR2_PACKAGE_EFL

View File

@ -0,0 +1,240 @@
config BR2_PACKAGE_LIBEVAS
bool "libevas"
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_LIBEINA
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.
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"
depends on BR2_PACKAGE_XORG7
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
select BR2_PACKAGE_XPROTO_GLPROTO
help
This is the SDL OpenGL engine that uses SDL library
and OpenGL to render. This may be hardware accelerated.
config BR2_PACKAGE_LIBEVAS_X11
bool "libevas X11 backend"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBX11
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_XORG7
select BR2_PACKAGE_XLIB_LIBX11
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_XORG7
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"
config BR2_PACKAGE_LIBEVAS_GLES_SGX
bool "OpenGL-ES SGX"
config BR2_PACKAGE_LIBEVAS_GLES_S3C6410
bool "OpenGL-ES S3C6410"
endchoice
comment "libevas code tuning"
config BR2_PACKAGE_LIBEVAS_DISABLE_C
bool "libevas disable C code"
depends on BR2_PACKAGE_LIBEVAS_MMX || BR2_PACKAGE_LIBEVAS_SSE || BR2_PACKAGE_LIBEVAS_SSE3
help
This disables the generic C fallback code which is not required
if MMX or SSE is used instead.
config BR2_PACKAGE_LIBEVAS_MMX
bool "libevas MMX routines"
depends on BR2_i386 || BR2_x86_64
help
This enables the MMX optimized routines. this works for
Pentium, Pentium 2, Pentium 3, Pentium 4, Athlon and Duron
processors.
config BR2_PACKAGE_LIBEVAS_SSE
bool "libevas SSE routines"
depends on BR2_i386 || BR2_x86_64
help
This enables SSE optimizations available in the Pentium 3 and
4 cpus (not Athlon and Duron or Pentium 2 or Pentium cpus).
config BR2_PACKAGE_LIBEVAS_SSE3
bool "libevas SSE3 routines"
depends on BR2_i386 || BR2_x86_64
help
This enables SSE3 optimizations available in the Pentium 4 and
above cpus.
config BR2_PACKAGE_LIBEVAS_ALTIVEC
bool "libevas altivec routines"
depends on BR2_powerpc
help
This enables AltiVec optimizations available in some PowerPC cpus.
config BR2_PACKAGE_LIBEVAS_NEON
bool "libevas neon routines"
depends on BR2_arm
help
This enables NEON optimizations available in some ARM cpus.
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_SVG
bool "libevas svg loader"
help
This enables the loader code that loads svg 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

View File

@ -0,0 +1,187 @@
#############################################################
#
# libevas
#
#############################################################
LIBEVAS_VERSION = 1.1.0
LIBEVAS_SOURCE = evas-$(LIBEVAS_VERSION).tar.bz2
LIBEVAS_SITE = http://download.enlightenment.org/releases/
LIBEVAS_INSTALL_STAGING = YES
LIBEVAS_DEPENDENCIES = host-pkg-config zlib libeina freetype
HOST_LIBEVAS_DEPENDENCIES = host-pkg-config host-zlib host-libeina \
host-freetype host-libpng
HOST_LIBEVAS_CONF_OPT += --enable-image-loader-png
# rendering options
ifeq ($(BR2_PACKAGE_LIBEVAS_SCALE_SAMPLE),y)
LIBEVAS_CONF_OPT += --enable-scale-sample
else
LIBEVAS_CONF_OPT += --disable-scale-sample
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SCALE_SMOOTH),y)
LIBEVAS_CONF_OPT += --enable-scale-smooth
else
LIBEVAS_CONF_OPT += --disable-scale-smooth
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SMALL_DITHERING),y)
LIBEVAS_CONF_OPT += --enable-small-dither-mask
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_LINE_DITHERING),y)
LIBEVAS_CONF_OPT += --enable-line-dither-mask
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_NO_DITHERING),y)
LIBEVAS_CONF_OPT += --enable-no-dither-mask
endif
# backends
ifeq ($(BR2_PACKAGE_LIBEVAS_BUFFER),y)
LIBEVAS_CONF_OPT += --enable-buffer
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y)
LIBEVAS_CONF_OPT += --enable-software-xlib
LIBEVAS_DEPENDENCIES += xproto_xproto
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_X11_GLX),y)
LIBEVAS_CONF_OPT += --enable-gl-xlib
LIBEVAS_DEPENDENCIES += xproto_glproto xlib_libX11
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_XCB),y)
LIBEVAS_CONF_OPT += --enable-software-xcb
LIBEVAS_DEPENDENCIES += libxcb xcb-proto xcb-util pixman
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_XCB_GLX),y)
LIBEVAS_CONF_OPT += --enable-gl-xcb
LIBEVAS_DEPENDENCIES += libxcb xcb-proto xcb-util xproto_glproto
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_FB),y)
LIBEVAS_CONF_OPT += --enable-fb
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_DIRECTFB),y)
LIBEVAS_CONF_OPT += --enable-directfb
LIBEVAS_DEPENDENCIES += directfb
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SDL),y)
LIBEVAS_CONF_OPT += --enable-software-sdl
LIBEVAS_DEPENDENCIES += sdl
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SDL_GL),y)
LIBEVAS_CONF_OPT += --enable-gl-sdl
LIBEVAS_DEPENDENCIES += sdl
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_SGX),y)
LIBEVAS_CONF_OPT += --enable-gl-flavor-gles --enable-gles-variety-sgx
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_GLES_S3C6410),y)
LIBEVAS_CONF_OPT += --enable-gl-flavor-gles --enable-gles-variety-s3c6410
endif
# code options
ifeq ($(BR2_PACKAGE_LIBEVAS_DISABLE_C),y)
LIBEVAS_CONF_OPT += --disable-cpu-c
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_MMX),y)
LIBEVAS_CONF_OPT += --enable-cpu-mmx
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SSE),y)
LIBEVAS_CONF_OPT += --enable-cpu-sse
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SSE3),y)
LIBEVAS_CONF_OPT += --enable-cpu-sse3
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_ALTIVEC),y)
LIBEVAS_CONF_OPT += --enable-cpu-altivec
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_NEON),y)
LIBEVAS_CONF_OPT += --enable-cpu-neon
endif
# loaders
ifeq ($(BR2_PACKAGE_LIBEVAS_PNG),y)
LIBEVAS_CONF_OPT += --enable-image-loader-png
LIBEVAS_DEPENDENCIES += libpng
else
LIBEVAS_CONF_OPT += --disable-image-loader-png
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_JPEG),y)
LIBEVAS_CONF_OPT += --enable-image-loader-jpeg
LIBEVAS_DEPENDENCIES += jpeg
else
LIBEVAS_CONF_OPT += --disable-image-loader-jpeg
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_GIF),y)
LIBEVAS_CONF_OPT += --enable-image-loader-gif
LIBEVAS_DEPENDENCIES += libungif
else
LIBEVAS_CONF_OPT += --disable-image-loader-gif
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_PMAPS),y)
LIBEVAS_CONF_OPT += --enable-image-loader-pmaps
else
LIBEVAS_CONF_OPT += --disable-image-loader-pmaps
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_SVG),y)
LIBEVAS_CONF_OPT += --enable-image-loader-svg
else
LIBEVAS_CONF_OPT += --disable-image-loader-svg
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_TIFF),y)
LIBEVAS_CONF_OPT += --enable-image-loader-tiff
LIBEVAS_DEPENDENCIES += tiff
else
LIBEVAS_CONF_OPT += --disable-image-loader-tiff
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_XPM),y)
LIBEVAS_CONF_OPT += --enable-image-loader-xpm
else
LIBEVAS_CONF_OPT += --disable-image-loader-xpm
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_EET),y)
LIBEVAS_CONF_OPT += --enable-image-loader-eet
LIBEVAS_DEPENDENCIES += libeet
else
LIBEVAS_CONF_OPT += --disable-image-loader-eet
endif
ifeq ($(BR2_PACKAGE_LIBEVAS_EET_FONT),y)
LIBEVAS_CONF_OPT += --enable-font-loader-eet
LIBEVAS_DEPENDENCIES += libeet
else
LIBEVAS_CONF_OPT += --disable-font-loader-eet
endif
# documentation
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
LIBEVAS_CONF_OPT += --disable-doc
endif
$(eval $(call AUTOTARGETS))
$(eval $(call AUTOTARGETS,host))