evas-software-qtopia.pc \
evas-software-x11.pc \
evas-software-16-x11.pc \
+evas-software-8-x11.pc \
evas-xrender-x11.pc \
evas-xrender-xcb.pc \
evas-software-gdi.pc \
evas-software-qtopia.pc.in \
evas-software-x11.pc.in \
evas-software-16-x11.pc.in \
+evas-software-8-x11.pc.in \
evas-xrender-x11.pc.in \
evas-xrender-xcb.pc.in \
evas-software-gdi.pc.in \
pkgconfig_DATA += evas-software-16-x11.pc
endif
+if BUILD_ENGINE_SOFTWARE_8_X11
+pkgconfig_DATA += evas-software-8-x11.pc
+endif
+
if BUILD_ENGINE_DIRECTFB
pkgconfig_DATA += evas-directfb.pc
endif
want_evas_engine_fb="no"
want_evas_engine_directfb="no"
want_evas_engine_software_qtopia="no"
+want_evas_engine_software_8_x11="no"
want_evas_engine_software_16_x11="no"
want_evas_engine_software_16_ddraw="no"
want_evas_engine_software_16_wince="no"
*)
want_evas_engine_software_xlib="auto"
want_evas_engine_xrender_x11="auto"
+ want_evas_engine_software_8_x11="auto"
want_evas_engine_software_16_x11="auto"
;;
esac
# disable cairo engine for the release
#EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
+EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
+
EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
fi
+# if software 8 x11 is enabled - build software_8 (the generic 8bit
+# engine).
+have_evas_engine_software_8="no"
+if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
+ have_evas_engine_software_8="yes"
+fi
+AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
+
+# if software 8 need to be build as part of libevas.so
+have_static_software_8="no"
+AC_ARG_ENABLE([static-software-8],
+ [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
+ [have_static_software_8=${enableval}]
+)
+AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
+AC_MSG_RESULT([${have_static_software_8}])
+
+AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
+if test "x${have_static_software_8}" = "xyes"; then
+ AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
+fi
+
#####################################################################
## Image loaders
evas-quartz.pc
evas-software-buffer.pc
evas-software-x11.pc
+evas-software-8-x11.pc
evas-software-16-x11.pc
evas-xrender-x11.pc
evas-xrender-xcb.pc
src/lib/engines/common/evas_op_mask/Makefile
src/lib/engines/common/evas_op_mul/Makefile
src/lib/engines/common/evas_op_sub/Makefile
+src/lib/engines/common_8/Makefile
src/lib/engines/common_16/Makefile
src/modules/Makefile
src/modules/engines/Makefile
src/modules/engines/quartz/Makefile
src/modules/engines/xrender_x11/Makefile
src/modules/engines/software_sdl/Makefile
+src/modules/engines/software_8/Makefile
+src/modules/engines/software_8_x11/Makefile
src/modules/engines/software_16/Makefile
src/modules/engines/software_16_x11/Makefile
src/modules/engines/software_16_ddraw/Makefile
echo " Software Framebuffer.......: $have_evas_engine_fb"
echo " DirectFB...................: $have_evas_engine_directfb"
#echo " Software Qtopia............: $have_evas_engine_software_qtopia"
+echo " Software 8bit grayscale....: $have_evas_engine_software_8"
echo " Software 16bit ............: $have_evas_engine_software_16"
echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
requirement="xcb xcb-shm xcb-image pixman-1"
evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
evas_engine_[]$1[]_libs="${XCB_LIBS}"
+ ],[
+ have_dep="no"
]
)
requirement="xcb xcb-shm xcb-render xcb-image pixman-1"
evas_engine_[]$1[]_cflags="${XCBRENDER_CFLAGS}"
evas_engine_[]$1[]_libs="${XCBRENDER_LIBS}"
+ ],[
+ have_dep="no"
]
)
])
+dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11],
+[
+
+have_dep="no"
+evas_engine_[]$1[]_cflags=""
+evas_engine_[]$1[]_libs=""
+
+PKG_CHECK_MODULES([XCB],
+ [xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
+ [
+ have_dep="yes"
+ requirement="xcb xcb-shm xcb-image pixman-1"
+ evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
+ evas_engine_[]$1[]_libs="${XCB_LIBS}"
+ ],[
+ have_dep="no"
+ ]
+)
+
+AC_SUBST([evas_engine_$1_cflags])
+AC_SUBST([evas_engine_$1_libs])
+
+if test "x$3" = "xstatic" ; then
+ requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+ m4_default([$4], [:])
+else
+ m4_default([$5], [:])
+fi
+
+])
+
dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11],
[
/* these are not currently supported - but planned for the future */
EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
- EVAS_COLORSPACE_RGB565_A5P /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
+ EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
+ EVAS_COLORSPACE_GRY8 /**< 8bit grayscale */
} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */
/**
EVAS_STATIC_MODULE += ../modules/engines/software_16_x11/libevas_engine_software_16_x11.la
EVAS_STATIC_LIBADD += @evas_engine_software_16_x11_libs@
endif
+if EVAS_STATIC_BUILD_SOFTWARE_8
+SUBDIRS += ../modules/engines/software_8/
+EVAS_STATIC_MODULE += ../modules/engines/software_8/libevas_engine_software_8.la
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_8_X11
+SUBDIRS += ../modules/engines/software_8_x11/
+EVAS_STATIC_MODULE += ../modules/engines/software_8_x11/libevas_engine_software_8_x11.la
+EVAS_STATIC_LIBADD += @evas_engine_software_8_x11_libs@
+endif
if EVAS_STATIC_BUILD_SOFTWARE_SDL
SUBDIRS += \
../modules/engines/software_16_sdl/ \
endif
+if BUILD_ENGINE_SOFTWARE_8
+
+libevas_la_LIBADD += engines/common_8/libevas_engine_common_8.la
+libevas_la_DEPENDENCIES += engines/common_8/libevas_engine_common_8.la
+
+endif
+
libevas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
DIST_SUBDIRS = canvas cache cserve file engines imaging include
SUBDIRS += common_16
endif
+
+if BUILD_ENGINE_SOFTWARE_8
+
+SUBDIRS += common_8
+
+endif
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_sdl);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_wince);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_8_x11);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_ddraw);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_gdi);
EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_generic);
#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_GDI
EVAS_EINA_STATIC_MODULE_USE(engine, software_gdi),
#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_8
+ EVAS_EINA_STATIC_MODULE_USE(engine, software_8),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_8_X11
+ EVAS_EINA_STATIC_MODULE_USE(engine, software_8_x11),
+#endif
#ifdef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
EVAS_EINA_STATIC_MODULE_USE(engine, software_generic),
#endif
evas_macros.h \
evas_mmx.h \
evas_common.h \
+evas_common_soft8.h \
evas_common_soft16.h \
evas_blend_ops.h
if !EVAS_STATIC_BUILD_QUARTZ
SUBDIRS += quartz
endif
+if !EVAS_STATIC_BUILD_SOFTWARE_8
+SUBDIRS += software_8
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_8_X11
+SUBDIRS += software_8_x11
+endif
if !EVAS_STATIC_BUILD_SOFTWARE_16
SUBDIRS += software_16
endif