use fprintf for messages
[framework/uifw/evas.git] / configure.ac
index 1d2f0df..7fe7447 100644 (file)
@@ -1,22 +1,17 @@
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT(evas, 0.9.9.050, enlightenment-devel@lists.sourceforge.net)
-AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR(configure.ac)
+AC_INIT([evas], [0.9.9.062], [enlightenment-devel@lists.sourceforge.net])
+AC_PREREQ([2.52])
+AC_CONFIG_SRCDIR([configure.ac])
+AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_ISC_POSIX
 
-AM_INIT_AUTOMAKE(1.6 dist-bzip2)
-AM_CONFIG_HEADER(config.h)
-
-AC_PROG_CXX
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_BIGENDIAN
-AC_C_CONST
+AM_INIT_AUTOMAKE([1.6 dist-bzip2])
+AM_CONFIG_HEADER([config.h])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 AC_LIBTOOL_WIN32_DLL
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
@@ -29,127 +24,300 @@ SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
 AC_SUBST(version_info)
 
-LT_PROG_RC
-AC_FUNC_ALLOCA
 
-MODULE_ARCH="$host_os-$host_cpu"
+### Needed information
+
+release="ver-pre-svn-04"
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      MODULE_ARCH="$host_os-$host_cpu"
+      ;;
+   *)
+      release_info="-release $release"
+      MODULE_ARCH="$host_os-$host_cpu-$release"
+      ;;
+esac
+AC_SUBST(release_info)
 AC_SUBST(MODULE_ARCH)
 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
 
+# weird debian etch bug where pthread_barrier doesn't work without adding
+# this.
+CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
+AC_SUBST(CFLAGS)
+
+want_fontconfig="auto"
+want_fribidi="auto"
+want_evas_cserve="yes"
+
+want_evas_engine_buffer="yes"
+want_evas_engine_software_xlib="no"
+want_evas_engine_xrender_x11="no"
+want_evas_engine_gl_x11="no"
+want_evas_engine_cairo_x11="no"
+want_evas_engine_software_xcb="no"
+want_evas_engine_xrender_xcb="no"
+want_evas_engine_software_gdi="no"
+want_evas_engine_software_ddraw="no"
+want_evas_engine_direct3d="no"
+want_evas_engine_quartz="no"
+want_evas_engine_gl_glew="no"
+want_evas_engine_software_sdl="no"
+want_evas_engine_fb="no"
+want_evas_engine_directfb="no"
+want_evas_engine_software_qtopia="no"
+want_evas_engine_software_16_x11="no"
+want_evas_engine_software_16_ddraw="no"
+want_evas_engine_software_16_wince="no"
+
+want_evas_image_loader_edb="yes"
+want_evas_image_loader_eet="yes"
+want_evas_image_loader_gif="yes"
+want_evas_image_loader_jpeg="yes"
+want_evas_image_loader_pmaps="yes"
+want_evas_image_loader_png="yes"
+want_evas_image_loader_svg="yes"
+want_evas_image_loader_tiff="yes"
+want_evas_image_loader_xpm="yes"
+
+want_evas_font_loader_eet="yes"
+
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      want_fontconfig="no"
+      want_evas_engine_software_16_wince="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_gif="no"
+      want_evas_image_loader_svg="no"
+      want_evas_image_loader_tiff="no"
+      ;;
+   mingw*)
+      want_evas_engine_software_gdi="yes"
+      want_evas_engine_software_ddraw="yes"
+      want_evas_engine_direct3d="yes"
+      want_evas_engine_software_16_ddraw="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_svg="no"
+      ;;
+   darwin*)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_quartz="auto"
+      ;;
+   *)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_xrender_x11="auto"
+      want_evas_engine_software_16_x11="auto"
+      ;;
+esac
+
+requirement_evas=""
+
+
+### Additional options to configure
+
+# when used, that option makes configure script fails when
+# a requirement is selected, but not met.
+use_strict="no"
+AC_ARG_ENABLE([strict],
+   AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
+   [use_strict="yes"],
+   [use_strict="no"])
+
+# Simple X11 build/link
+AC_ARG_ENABLE([simple-x11],
+   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_simple_x11="yes"
+    else
+       want_evas_simple_x11="no"
+    fi
+   ])
+
+
+### Checks for programs
+
+AC_PROG_CXX
+AC_PROG_CC
+
+# pkg-config
 PKG_PROG_PKG_CONFIG
 
-WIN32_CPPFLAGS=""
-WIN32_CFLAGS=""
-lt_no_undefined=""
-lt_enable_auto_import=""
+# Check whether pkg-config supports Requires.private
+if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
+   pkgconfig_requires_private="Requires.private"
+else
+   pkgconfig_requires_private="Requires"
+fi
+AC_SUBST(pkgconfig_requires_private)
+
+# doxygen program for documentation building
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+
+
+### Checks for libraries
+
+# Evil library for compilation on Windows CE
+
 case "$host_os" in
-        mingw*|cegcc*)
-               PKG_CHECK_MODULES(EVIL, evil)
-               AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
-               dnl needed for correct definition of EAPI
-               AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
-                if test "$host_os" = "cegcc" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                        WIN32_CFLAGS="-mwin32"
-                       lt_enable_auto_import="-Wl,--enable-auto-import"
-                fi
-                if test "$host_os" = "mingw32ce" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                fi
-                lt_no_undefined="-no-undefined"
-                ;;
+   mingw* | cegcc*)
+      PKG_CHECK_MODULES([EVIL], [evil])
+      AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
+      requirement_evas="evil ${requirement_evas}"
+   ;;
 esac
-AC_SUBST(WIN32_CPPFLAGS)
-AC_SUBST(WIN32_CFLAGS)
-AC_SUBST(lt_no_undefined)
-AC_SUBST(lt_enable_auto_import)
 
-x_dir=""
-x_cflags=""
-x_libs=""
-gl_dir=""
-gl_cflags=""
-gl_libs=""
-qt_dir=""
-qt_cflags=""
-qt_libs=""
-qt_moc="moc"
-
-dnl when used, that option makes configure script fails when
-dnl a requirement is selected, but not met.
-AC_ARG_ENABLE(strict,
-  AC_HELP_STRING(
-    [enable strict mode]),
-  [use_strict="yes"],
-  [use_strict="no"]
-)
+## strong dependencies
 
-#####################################################################
-# Check evas strong dependencie
+# Eina
 PKG_CHECK_MODULES([EINA], [eina-0])
 
-#####################################################################
+# Freetype
+PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
 
-# blah-config style checks
-# qtdir setting
-AC_ARG_WITH(qtdir,
-AC_HELP_STRING([--with-qtdir=QT_DIR], [use qt directory specified]),
-[
-  qt_dir=$withval;
-  echo "using "$qt_dir" for qt directory.";
-], [
-  qt_dir="/opt/Qtopia";
-])
+requirement_evas="freetype2 eina-0 ${requirement_evas}"
 
-# check for freetype
-PKG_CHECK_MODULES(FREETYPE, freetype2 >= 9.3.0)
+## optional dependencies
 
-#######################################
-## Simple X11 build/link
+# FontConfig
+have_fontconfig="no"
+AC_ARG_ENABLE([fontconfig],
+   AC_HELP_STRING([--disable-fontconfig],
+      [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_fontconfig="yes"
+    else
+       want_fontconfig="no"
+    fi
+   ])
 
-AC_ARG_ENABLE(simple-x11,
-  AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
-  [ want_evas_simple_x11=$enableval ]
-)
 
-#######################################
-## FontConfig
+if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
+   PKG_CHECK_MODULES([FONTCONFIG],
+      [fontconfig],
+      [
+       have_fontconfig="yes"
+       AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
+       requirement_evas="fontconfig ${requirement_evas}"
+      ],
+      [
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
+       fi
+      ])
+fi
 
-want_fontconfig="auto"
-have_fontconfig="no"
-AC_ARG_ENABLE(fontconfig,
-  AC_HELP_STRING(
-    [--disable-fontconfig],
-    [disable fontconfig for finding fonts. [[default=enabled]]]
-  ),
-  [ want_fontconfig=$enableval ]
-)
+# fribidi support
+have_fribidi="no"
+AC_ARG_ENABLE([fribidi],
+   AC_HELP_STRING([--disable-fribidi],
+      [disable bidirectional text support. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_fribidi="yes"
+    else
+       want_fribidi="no"
+    fi
+   ])
 
-if test "x$want_fontconfig" = "xyes" -o "x$want_fontconfig" = "xauto" ; then
-  # Check if really available
-  PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
-    [
-      have_fontconfig="yes"
-      AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
-    ],
-    [
-      if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
-      fi
-    ])
+if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
+   PKG_CHECK_MODULES([FRIBIDI],
+      [fribidi],
+      [
+       have_fribidi="yes"
+       AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
+       requirement_evas="fribidi ${requirement_evas}"
+      ],
+      [
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
+       fi
+      ])
+fi
+
+if test "x${have_fribidi}" = "xno"; then
+  HAS_BIDI=0
 fi
 
-###############
-## dlopen
+### Checks for header files
+AC_HEADER_STDC
+
+# fnmatch.h
+AC_CHECK_HEADER([fnmatch.h],
+   [dummy="yes"],
+   [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+AC_C_CONST
+AC_C_BIGENDIAN
+AC_C___ATTRIBUTE__
+AM_PROG_CC_STDC
+
+WIN32_CPPFLAGS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+AC_SUBST(WIN32_CPPFLAGS)
+
+WIN32_CFLAGS=""
+case "${host_os}" in
+   cegcc*)
+      WIN32_CFLAGS="-mwin32"
+   ;;
+esac
+AC_SUBST(WIN32_CFLAGS)
+
+
+### Checks for linker characteristics
+lt_enable_auto_import=""
+case "${host_os}" in
+   mingw* | cegcc*)
+      AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+   ;;
+esac
+AC_SUBST(lt_enable_auto_import)
+
+
+### Checks for library functions
+
+# alloca
+AC_FUNC_ALLOCA
+
+# fnmatch
+AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
+if test "x$res" = "xno"; then
+   AC_SEARCH_LIBS([fnmatch],
+      [fnmatch evil iberty],
+      [res="yes"],
+      [res="no"])
+   if test "x$res" = "xno"; then
+      AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
+   fi
+fi
 
+# dlopen
 dlopen_libs=""
 case "$host_os" in
   mingw32ce* | cegcc*)
-dnl managed by evil
+# managed by evil
     AC_DEFINE(HAVE_DLADDR)
   ;;
   mingw*)
-dnl nothing on mingw platform
+# nothing on mingw platform
   ;;
   *)
     AC_CHECK_FUNCS(dlopen, res=yes, res=no)
@@ -167,675 +335,281 @@ dnl nothing on mingw platform
 esac
 AC_SUBST(dlopen_libs)
 
-AC_CHECK_HEADER([fnmatch.h],
-   [dummy="yes"],
-   [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
+# (shm_open (for cache server)
+AC_ARG_ENABLE([evas-cserve],
+   AC_HELP_STRING([--disable-evas-cserve],
+      [disable shared cache server support. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_cserve="yes"
+    else
+       want_evas_cserve="no"
+    fi
+   ])
+AC_MSG_CHECKING(whether to build shared cache server and support)
+AC_MSG_RESULT(${want_evas_cserve})
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+   AC_MSG_CHECKING([whether shm_open() is present])
+   LIBS_save=${LIBS}
+   LIBS="${LIBS} -lrt"
+   AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+         ]],
+         [[
+int fd;
+fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+shm_unlink("/");
+         ]])],
+      [want_evas_cserve="yes"],
+      [want_evas_cserve="no"])
+   LIBS=${LIBS_save}
+   AC_MSG_RESULT([${want_evas_cserve}])
+fi
 
-AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
-if test "x$res" = "xno"; then
-   AC_SEARCH_LIBS([fnmatch],
-      [fnmatch evil iberty],
-      [res="yes"],
-      [res="no"])
-   if test "x$res" = "xno"; then
-      AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
-   fi
+if test "x${want_evas_cserve}" = "xyes" ; then
+  AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
 fi
 
-#####################################################################
-## Engines
+AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
 
-#######################################
-## Check if we should build the software_ddraw engine
-want_evas_software_ddraw="auto";
-have_evas_software_ddraw="no";
-
-AC_MSG_CHECKING(whether software directdraw backend is to be built)
-AC_ARG_ENABLE(software-ddraw,
-  AC_HELP_STRING([--enable-software-ddraw], [enable the Software DirectDraw rendering backend]),
-  [ want_evas_software_ddraw=$enableval ]
-)
-AC_MSG_RESULT($want_evas_software_ddraw)
 
-if test "x$want_evas_software_ddraw" = "xyes" -o "x$want_evas_software_ddraw" = "xauto" ; then
-  AC_CHECK_HEADER(ddraw.h,
-    [
-      have_evas_software_ddraw="yes"
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_DDRAW, 1, [Software DirectDraw Rendering Backend])
-      ddraw_libs="-lddraw"
-    ],
-    [
-      if test "x$want_evas_software_ddraw"  = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([DirectDraw not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AC_MSG_CHECKING(whether software directdraw backend will be built)
-AC_MSG_RESULT($have_evas_software_ddraw)
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_DDRAW, test "x$have_evas_software_ddraw" = "xyes")
 
 #######################################
-## Check if we should build the 16bit software_ddraw engine
-want_evas_software_16_ddraw="auto";
-have_evas_software_16_ddraw="no";
-
-AC_MSG_CHECKING(whether 16 bit software directdraw backend is to be built)
-AC_ARG_ENABLE(software-16-ddraw,
-  AC_HELP_STRING([--enable-software-16-ddraw], [enable the 16bit Software DirectDraw rendering backend]),
-  [ want_evas_software_16_ddraw=$enableval ]
+## GL force flavor gles
+gl_flavor_gles="no"
+AC_MSG_CHECKING(whether to build GLES flavor of GL)
+AC_ARG_ENABLE(gl-flavor-gles,
+  AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_MSG_RESULT(yes)
+        gl_flavor_gles="yes"
+      else
+        AC_MSG_RESULT(no)
+        gl_flavor_gles="no"
+      fi
+  ], [
+      AC_MSG_RESULT(no)
+      gl_flavor_gles="no"
+  ]
 )
-AC_MSG_RESULT($want_evas_software_16_ddraw)
 
-if test "x$want_evas_software_16_ddraw" = "xyes" -o "x$want_evas_software_16_ddraw" = "xauto"; then
-  AC_CHECK_HEADER(ddraw.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_16_DDRAW, 1, [16bit Software DirectDraw Rendering Backend])
-      ddraw_16_libs="-lddraw -lgdi32"
-      have_evas_software_16_ddraw="yes"
-    ],
-    [
-      if test "x$want_evas_software_16_ddraw"  = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([DirectDraw not found (strict dependencies checking)])
+#######################################
+## GLES variety sgx
+gles_variety_sgx="no"
+AC_MSG_CHECKING(whether to build GLES variety for SGX)
+AC_ARG_ENABLE(gles-variety-sgx,
+  AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
+        gles_variety_sgx="yes"
+      else
+        AC_MSG_RESULT(no)
+        gles_variety_sgx="no"
       fi
-    ]
-  )
-fi
-AC_MSG_CHECKING(whether 16 bits software directdraw backend will be built)
-AC_MSG_RESULT($have_evas_software_16_ddraw)
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16_DDRAW, test "x$have_evas_software_16_ddraw" = "xyes")
-
+  ], [
+      AC_MSG_RESULT(no)
+      gles_variety_sgx="no"
+  ]
+)
 
 #######################################
-## Check if we should build the direct3d engine
-want_evas_direct3d="auto";
-have_evas_direct3d="no";
-
-AC_MSG_CHECKING(whether direct3d backend is to be built)
-AC_ARG_ENABLE(direct3d,
-  AC_HELP_STRING([--enable-direct3d], [enable the Direct3D rendering backend]),
-  [ want_evas_direct3d=$enableval ]
+## GLES variety s3c6410
+gles_variety_s3c6410="no"
+AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
+AC_ARG_ENABLE(gles-variety-s3c6410,
+  AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
+        gles_variety_s3c6410="yes"
+      else
+        AC_MSG_RESULT(no)
+        gles_variety_s3c6410="no"
+      fi
+  ], [
+      AC_MSG_RESULT(no)
+      gles_variety_s3c6410="no"
+  ]
 )
-AC_MSG_RESULT($want_evas_direct3d)
 
-if test "x$want_evas_direct3d" = "xyes"; then
-  AC_CHECK_HEADERS(d3d9.h d3dx9.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_DIRECT3D, 1, [Direct3D Rendering Backend])
-      direct3d_libs="-ld3d9 -ld3dx9d"
-      have_evas_direct3d="yes"
-    ],
-    [
-      if test "x$want_evas_direct3d"  = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Direct3D not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AC_MSG_CHECKING(whether direct3d backend will be built)
-AC_MSG_RESULT($have_evas_direct3d)
-AM_CONDITIONAL(BUILD_ENGINE_DIRECT3D, test "x$have_evas_direct3d" = "xyes")
+#####################################################################
+## Engines
 
+EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [no], [Buffer])
 
-#######################################
-## Check if we should build the 16bit software_wince engine
-want_evas_software_16_wince="auto";
-have_evas_software_16_wince="no";
-
-AC_MSG_CHECKING(whether 16 bit software WinCE backend is to be built)
-AC_ARG_ENABLE(software-16-wince,
-  AC_HELP_STRING([--enable-software-16-wince], [enable the 16bit Software WinCE rendering backend]),
-  [ want_evas_software_16_wince=$enableval ]
-)
-AC_MSG_RESULT($want_evas_software_16_wince)
+EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
 
-if test "x$want_evas_software_16_wince" = "xyes" -o "x$want_evas_software_16_wince" = "xauto"; then
-  AC_CHECK_HEADER(windows.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_16_WINCE, 1, [16bit Software WinCE Rendering Backend])
-      wince_16_libs=""
-      have_evas_software_16_wince="yes"
-    ],
-    [
-      if test "x$want_evas_software_16_wince"  = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([WinCE not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AC_MSG_CHECKING(whether 16 bits software WinCE backend will be built)
-AC_MSG_RESULT($have_evas_software_16_wince)
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16_WINCE, test "x$have_evas_software_16_wince" = "xyes")
+EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
 
+EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
 
-#######################################
-## Check if we should build the software_x11 engine
-want_evas_software_x11="auto";
-have_evas_software_x11="no";
-
-AC_MSG_CHECKING(whether software x11 backend is to be built)
-AC_ARG_ENABLE(software-x11,
-  AC_HELP_STRING([--disable-software-x11], [disable the Software X11 rendering backend]),
-  [ want_evas_software_x11=$enableval ]
-)
-AC_MSG_RESULT($want_evas_software_x11)
+# disable cairo engine for the release
+#EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
 
-if test "x$want_evas_software_x11" = "xyes" -o "x$want_evas_software_x11" = "xauto"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADER(X11/X.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, 1, [Software X11 Rendering Backend])
-      if test "x$want_evas_simple_x11" = "xyes"; then
-        x_libs="${x_libs} -lX11 -lXext"
-      else
-        x_dir=${x_dir:-/usr/X11R6}
-        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-      fi
-      have_evas_software_x11="yes"
-    ],
-    [
-      if test "x$want_evas_software_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([X11 not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_X11, test "x$have_evas_software_x11" = "xyes")
+EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
 
-#######################################
-## Check if we should build the software_x11 16bit engine
-want_evas_software_16_x11="no";
-have_evas_software_16_x11="no";
-
-AC_MSG_CHECKING(whether software 16bit x11 backend is to be built)
-AC_ARG_ENABLE(software-16-x11,
-  AC_HELP_STRING([--enable-software-16-x11], [enable the Software 16bit X11 rendering backend]),
-  [ want_evas_software_16_x11=$enableval ]
-)
-AC_MSG_RESULT($want_evas_software_16_x11)
+EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
 
-if test "x$want_evas_software_16_x11" = "xyes"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADER(X11/X.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_16_X11, 1, [Software 16bit X11 Rendering Backend])
-      if test "x$want_evas_simple_x11" = "xyes"; then
-        x_libs="${x_libs} -lX11 -lXext"
-      else
-        x_dir=${x_dir:-/usr/X11R6}
-        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-      fi
-      have_evas_software_16_x11="yes"
-    ],
-    [
-      if test "x$want_evas_sofware_16_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([X11 not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16_X11, test "x$have_evas_software_16_x11" = "xyes")
+EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
 
-#######################################
-## Check if we should build the software_xcb engine
-want_evas_software_xcb="no";
-have_evas_software_xcb="no";
-
-AC_MSG_CHECKING(whether software xcb backend is to be built)
-AC_ARG_ENABLE(software-xcb,
-  AC_HELP_STRING([--enable-software-xcb], [enable the Software XCB rendering backend]),
-  [ want_evas_software_xcb=$enableval ]
-)
-AC_MSG_RESULT($want_evas_software_xcb)
+EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
 
-if test "x$want_evas_software_xcb" = "xyes"; then
-  PKG_CHECK_MODULES(
-    XCB,
-    xcb xcb-shm xcb-image >= 0.2.1 pixman-1,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_XCB, 1, [Software XCB Rendering Backend])
-      have_evas_software_xcb="yes"
-    ],
-    [
-      if test "x$want_evas_software_xcb" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([XCB not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_XCB, test "x$have_evas_software_xcb" = "xyes")
+EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
 
-#######################################
-## Check if we should build the directfb engine
-want_evas_directfb="no";
-have_evas_directfb="no";
-
-AC_MSG_CHECKING(whether directfb backend is to be built)
-AC_ARG_ENABLE(directfb,
-  AC_HELP_STRING([--enable-directfb], [enable the DirectFB rendering backend]),
-  [ want_evas_directfb=$enableval ]
-)
-AC_MSG_RESULT($want_evas_directfb)
+EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
 
-if test "x$want_evas_directfb" = "xyes"; then
-  PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
-    [
-      AC_DEFINE(BUILD_ENGINE_DIRECTFB, 1, [DirectFB Rendering Backend])
-      have_evas_directfb="yes"
-    ],
-    [
-      if test "x$want_evas_directfb" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([DirectFB not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_DIRECTFB, test "x$have_evas_directfb" = "xyes")
+EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
 
-#######################################
-## Check if we should build the sdl engine
-want_evas_sdl="no";
-have_evas_sdl="no";
-ENGINE_SDL_PRG="";
-
-AC_MSG_CHECKING(whether SDL backend is to be built)
-AC_ARG_ENABLE(sdl,
-  AC_HELP_STRING([--enable-sdl], [enable the SDL rendering backend]),
-  [ want_evas_sdl=$enableval ]
-)
-AC_MSG_RESULT($want_evas_sdl)
+EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
 
-if test "x$want_evas_sdl" = "xyes"; then
-  PKG_CHECK_MODULES(SDL, sdl >= 1.2.0,
-    [
-      have_evas_sdl="yes"
-      ENGINE_SDL_PRG="evas_sdl_test"
-      AC_DEFINE(BUILD_ENGINE_SDL, 1, [SDL Rendering Backend])
-    ],
-    [
-      if test "x$want_evas_sdl" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([SDL not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_SDL, test "x$have_evas_sdl" = "xyes")
+EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
 
-## Check if we want to use some SDL primitive
-sdl_primitive="no";
+EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
 
-AC_MSG_CHECKING(whether to use SDL primitive when possible)
-AC_ARG_ENABLE(sdl-primitive,
-  AC_HELP_STRING([--enable-sdl-primitive], []),
-  [ sdl_primitive=$enableval ]
-)
-AC_MSG_RESULT($sdl_primitive)
+# disable cairo engine for the release
+#EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
 
-if test "x$sdl_primitive" = "xyes"; then
-  AC_DEFINE(ENGINE_SDL_PRIMITIVE, 1, [Use SDL primitive when possible])
-fi
+EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
 
-#######################################
-## Check if we should build the fb engine
-want_evas_fb="no";
-have_evas_fb="no";
-
-AC_MSG_CHECKING(whether fb backend is to be built)
-AC_ARG_ENABLE(fb,
-  AC_HELP_STRING([--enable-fb], [enable the FB rendering backend]),
-  [ want_evas_fb=$enableval ]
-)
-AC_MSG_RESULT($want_evas_fb)
+EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
 
-if test "x$want_evas_fb" = "xyes"; then
-  AC_CHECK_HEADER(linux/fb.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_FB, 1, [Linux FB Rendering Backend])
-      have_evas_fb="yes"
-    ],
-    [
-      if test "x$want_evas_fb" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([FB not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_FB, test "x$have_evas_fb" = "xyes")
+EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
 
-#######################################
-## Check if we should build the buffer engine
-want_evas_buffer="yes"
-have_evas_buffer="no"
-
-AC_MSG_CHECKING(whether buffer backend is to be built)
-AC_ARG_ENABLE(buffer,
-  AC_HELP_STRING([--disable-buffer], [disable the Buffer rendering backend]),
-  [ want_evas_buffer=$enableval ]
-)
-AC_MSG_RESULT($want_evas_buffer)
+# common cairo
+#have_evas_engine_cairo_common="no"
+#if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
+#   have_evas_engine_cairo_common="yes"
+#   AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
+#fi
+#AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
 
-if test "x$want_evas_buffer" = "xyes"; then
-  AC_DEFINE(BUILD_ENGINE_BUFFER, 1, [Buffer Rendering Backend])
-  have_evas_buffer="yes"
+# common gl
+have_evas_engine_gl_common="no"
+if test "x$have_evas_engine_gl_x11" = "xyes" -o "x$have_evas_engine_gl_glew" = "xyes"; then
+   AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
+   have_evas_engine_gl_common="yes"
+   evas_engine_gl_common_libs=""
 fi
-AM_CONDITIONAL(BUILD_ENGINE_BUFFER, test "x$have_evas_buffer" = "xyes")
-
-#######################################
-## Check if we should build the software_qtopia engine
-want_evas_qtopia="no";
-have_evas_qtopia="no";
-
-AC_MSG_CHECKING(whether software qtopia backend is to be built)
-AC_ARG_ENABLE(software-qtopia,
-  AC_HELP_STRING([--enable-software-qtopia], [enable the Software Qtopia rendering backend]),
-  [ want_evas_qtopia=$enableval ]
-)
-AC_MSG_RESULT($want_evas_qtopia)
 
-if test "x$want_evas_qtopia" = "xyes"; then
-  AC_LANG_PUSH(C++)
-  AC_CHECK_HEADER(qdirectpainter_qws.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_SOFTWARE_QTOPIA, 1, [Qtopia Rendering Backend])
-      qt_cflags="-fno-exceptions -fno-rtti -I"$qt_dir"/include"
-      qt_libs="-L"$qt_dir"/lib -lqte -lqpe"
-      qt_moc=$qt_dir"/bin/moc"
-      have_evas_qtopia="yes"
-    ],
-    [
-      if test "x$want_evas_qtopia" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Qtopia not found (strict dependencies checking)])
-      fi
-    ],
-    [
-      #include <qwidget.h>
-      #include <qnamespace.h>
-      #include <qbrush.h>
-      #include <qpainter.h>
-    ]
-  )
-  AC_LANG_POP(C++)
+if test "x$have_evas_engine_gl_glew" = "xyes" ; then
+   evas_engine_gl_common_libs=""
 fi
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_QTOPIA, test "x$have_evas_qtopia" = "xyes")
+AC_SUBST([evas_engine_gl_common_libs])
 
-#######################################
-## Check if we should build the gl_x11 engine
-want_evas_gl_x11="no";
-have_evas_gl_x11="no";
-
-AC_MSG_CHECKING(whether gl x11 backend is to be built)
-AC_ARG_ENABLE(gl-x11,
-  AC_HELP_STRING([--enable-gl-x11], [enable the OpenGL X11 display engine]),
-  [ want_evas_gl_x11=$enableval ]
-)
-AC_MSG_RESULT($want_evas_gl_x11)
+AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, test "x$have_evas_engine_gl_common" = "xyes")
 
-if test "x$want_evas_gl_x11" = "xyes"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADERS(GL/gl.h GL/glu.h X11/X.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_GL_X11, 1, [OpenGL X11 Rendering Backend])
-      if test "x$want_evas_simple_x11" = "xyes"; then
-        x_libs="${x_libs} -lX11 -lXext"
-      else
-        x_dir=${x_dir:-/usr/X11R6}
-        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-        gl_cflags="-I/usr/include"
-      fi
-      gl_libs="-lGL -lGLU -lpthread"
-      gl_dir=""
-      have_evas_gl_x11="yes"
-    ],
-    [
-      if test "x$want_evas_gl_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([OpenGL X11 not found (strict dependencies checking)])
-      fi
-    ]
-  )
-fi
-AM_CONDITIONAL(BUILD_ENGINE_GL_X11, test "x$have_evas_gl_x11" = "xyes")
+# SDL primitive
+sdl_primitive="no"
 
-#######################################
-## Check if we should build the quartz engine
-## FIXME: someone more experienced with Autotools-on-OSX: how do Frameworks work with AC_CHECK_HEADERS?
-## I want this to detect Cocoa/Cocoa.h, but it's not in the normal include path.
-want_evas_quartz="no";
-have_evas_quartz="no";
-
-AC_MSG_CHECKING(whether quartz backend is to be built)
-AC_ARG_ENABLE(quartz,
-  AC_HELP_STRING([--enable-quartz], [enable the Quartz display engine]),
-  [ want_evas_quartz=$enableval ]
+AC_ARG_ENABLE([sdl-primitive],
+   [AC_HELP_STRING([--enable-sdl-primitive], [])],
+   [sdl_primitive=${enableval}]
 )
-AC_MSG_RESULT($want_evas_quartz)
+AC_MSG_CHECKING([whether to use SDL primitive when possible])
+AC_MSG_RESULT([${sdl_primitive}])
 
-if test "x$want_evas_quartz" = "xyes"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADERS(/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h,
-    [
-      have_evas_quartz="yes"
-    ],
-    [
-         if test "x$want_evas_quartz" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Quartz not found (strict dependencies checking)])
-      fi
-    ]
-  )
+if test "x${sdl_primitive}" = "xyes" ; then
+   AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
 fi
-AM_CONDITIONAL(BUILD_ENGINE_QUARTZ, test "x$have_evas_quartz" = "xyes")
 
-#######################################
-## Check if we should build the gl_glew engine
-want_evas_gl_glew="no";
-have_evas_gl_glew="no";
-
-AC_MSG_CHECKING(whether gl glew backend is to be built)
-AC_ARG_ENABLE(gl-glew,
-  AC_HELP_STRING([--enable-gl-glew], [enable the OpenGL Glew display engine]),
-  [ want_evas_gl_glew=$enableval ]
+# if software generic need to be build as part of libevas.so
+have_static_software_generic="no"
+AC_ARG_ENABLE([static-software-generic],
+   [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
+   [have_static_software_generic=${enableval}]
 )
-AC_MSG_RESULT($want_evas_gl_glew)
+AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
+AC_MSG_RESULT([${have_static_software_generic}])
 
-if test "x$want_evas_gl_glew" = "xyes" -o "x$want_evas_gl_glew" = "xauto"; then
-  AC_CHECK_HEADERS(GL/gl.h GL/glu.h GL/glew.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_GL_GLEW, 1, [OpenGL Glew Rendering Backend])
-      glew_libs="-lglew32 -lopengl32 -lgdi32"
-      gl_libs="-lglu32"
-      have_evas_gl_glew="yes"
-    ],
-    [
-      if test "x$want_evas_gl_glew" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([OpenGL Glew not found (strict dependencies checking)])
-      fi
-    ]
-  )
+AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
+if test "x${have_static_software_generic}" = "xyes"; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
 fi
-AC_MSG_CHECKING(whether gl glew backend will be built)
-AC_MSG_RESULT($have_evas_gl_glew)
-AM_CONDITIONAL(BUILD_ENGINE_GL_GLEW, test "x$have_evas_gl_glew" = "xyes")
 
-# common gl
-have_evas_gl_common="no"
-if test "x$have_evas_gl_x11" = "xyes" -o "x$have_evas_gl_glew" = "xyes"; then
-  AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
-  have_evas_gl_common="yes"
+# if software_xlib or software_xcb are available, define everything needed for X11
+have_evas_engine_software_x11="no"
+if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_x11="static"
+else
+   if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
+      have_evas_engine_software_x11="yes"
+   fi
 fi
-AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, test "x$have_evas_gl_common" = "xyes")
 
-#######################################
-## Check if we should build the cairo_x11 engine
-have_evas_cairo_common="no";
-want_evas_cairo_x11="no";
-have_evas_cairo_x11="no";
-
-#AC_MSG_CHECKING(whether cairo x11 backend is to be built)
-#AC_ARG_ENABLE(cairo-x11,
-#  AC_HELP_STRING([--enable-cairo-x11], [enable the Cairo X11 display engine]),
-#  [ want_evas_cairo_x11=$enableval ]
-#)
-#AC_MSG_RESULT($want_evas_cairo_x11)
-
-if test "x$want_evas_cairo_x11" = "xyes"; then
-  PKG_CHECK_MODULES(CAIRO, cairo >= 1.0.0,
-    [
-      have_evas_cairo_common="yes"
-      AC_CHECK_HEADER(X11/X.h,
-        [
-          AC_DEFINE(BUILD_ENGINE_CAIRO_X11, 1, [Cairo X11 Rendering Backend])
-          AC_DEFINE(BUILD_ENGINE_CAIRO_COMMON, 1, [Generic Cairo Rendering Support])
-          if test "x$want_evas_simple_x11" = "xyes"; then
-            x_libs="${x_libs} -lX11 -lXext"
-          else
-            x_dir=${x_dir:-/usr/X11R6}
-            x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-            x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-          fi
-          have_evas_cairo_x11="yes"
-        ], [
-          have_evas_cairo_common="no"
-          have_evas_cairo_x11="no"
-        ]
-      )
-    ],
-    [
-      have_evas_cairo_common="no"
-      have_evas_cairo_x11="no"
-    ]
-  )
+if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
+   have_evas_engine_software_xlib="yes"
 fi
-AM_CONDITIONAL(BUILD_ENGINE_CAIRO_X11, test "x$have_evas_cairo_x11" = "xyes")
-AM_CONDITIONAL(BUILD_ENGINE_CAIRO_COMMON, test "x$have_evas_cairo_common" = "xyes")
 
-#######################################
-## Check if we should build the xrender_x11 engine
-want_evas_xrender_x11="auto";
-have_evas_xrender_x11="no";
-
-AC_MSG_CHECKING(whether xrender x11 backend is to be built)
-AC_ARG_ENABLE(xrender-x11,
-  AC_HELP_STRING([--disable-xrender-x11], [disable the XRender X11 rendering backend]),
-  [ want_evas_xrender_x11=$enableval ]
-)
-AC_MSG_RESULT($want_evas_xrender_x11)
+if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_xcb="yes"
+fi
 
-if test "x$want_evas_xrender_x11" = "xyes" -o "x$want_evas_xrender_x11" = "xauto"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADERS(X11/X.h X11/extensions/Xrender.h,
-    [
-      AC_DEFINE(BUILD_ENGINE_XRENDER_X11, 1, [XRender X11 Rendering Backend])
-      if test "x$want_evas_simple_x11" = "xyes"; then
-       x_libs="${x_libs} -lX11 -lXext"
-      else
-        x_dir=${x_dir:-/usr/X11R6}
-        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-      fi
-      have_evas_xrender_x11="yes"
-    ],
-    [
-      if test "x$want_evas_xrender_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([XRender X11 not found (strict dependencies checking)])
-      fi
-    ]
-  )
+if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
+   AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
 fi
-AM_CONDITIONAL(BUILD_ENGINE_XRENDER_X11, test "x$have_evas_xrender_x11" = "xyes")
 
-#######################################
-## Check if we should build the xrender_xcb engine
-want_evas_xrender_xcb="no";
-have_evas_xrender_xcb="no";
-
-AC_MSG_CHECKING(whether xrender xcb backend is to be built)
-AC_ARG_ENABLE(xrender-xcb,
-  AC_HELP_STRING([--enable-xrender-xcb], [enable the Xrender XCB rendering backend]),
-  [ want_evas_xrender_xcb=$enableval ]
-)
-AC_MSG_RESULT($want_evas_xrender_xcb)
+if test "x$have_evas_engine_software_x11" = "xstatic" ; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
+fi
 
-if test "x$want_evas_xrender_xcb" = "xyes"; then
-  PKG_CHECK_MODULES(
-    XCBRENDER,
-    xcb xcb-shm xcb-render xcb-image >= 0.2.1,
-    [
-      AC_DEFINE(BUILD_ENGINE_XRENDER_XCB, 1, [Xrender XCB Rendering Backend])
-      have_evas_xrender_xcb="yes"
-    ],
-    [
-      if test "x$want_evas_xrender_xcb" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([XRender XCB not found (strict dependencies checking)])
-      fi
-    ]
-  )
+AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
+AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
+
+AC_SUBST(have_evas_engine_software_xlib)
+AC_SUBST(have_evas_engine_software_xcb)
+
+# if software 16 x11 is enabled - build software_16 (the generic 16bit
+# engine). later enable it fb_16 or other "16" bit engines are enabled.
+have_evas_engine_software_16="no"
+if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
+   have_evas_engine_software_16="yes"
 fi
-AM_CONDITIONAL(BUILD_ENGINE_XRENDER_XCB, test "x$have_evas_xrender_xcb" = "xyes")
+if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
 
-#######################################
-## Check if we should build the glitz_x11 engine
-want_evas_glitz_x11="no";
-have_evas_glitz_x11="no";
-
-AC_MSG_CHECKING(whether glitz x11 backend is to be built)
-AC_ARG_ENABLE(glitz-x11,
-  AC_HELP_STRING([--enable-glitz-x11], [enable the Glitz X11 rendering backend]),
-  [ want_evas_glitz_x11=$enableval ]
+# if software 16 need to be build as part of libevas.so
+have_static_software_16="no"
+AC_ARG_ENABLE([static-software-16],
+   [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
+   [have_static_software_16=${enableval}]
 )
-AC_MSG_RESULT($want_evas_glitz_x11)
+AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
+AC_MSG_RESULT([${have_static_software_16}])
 
-if test "x$want_evas_glitz_x11" = "xyes"; then
-  AC_PATH_X
-  AC_PATH_XTRA
-  AC_CHECK_HEADER(X11/X.h,
-    [
-      PKG_CHECK_MODULES(GLITZ, glitz glitz-glx,
-        [
-          if test "x$want_evas_simple_x11" = "xyes"; then
-            x_libs="${x_libs} -lX11 -lXext"
-          else
-            x_dir=${x_dir:-/usr/X11R6}
-            x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
-            x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
-          fi
-          AC_DEFINE(BUILD_ENGINE_GLITZ_X11, 1, [Glitz X11 Rendering Backend])
-          have_evas_glitz_x11="yes"
-        ],
-        [
-          if test "x$want_evas_glitz_gl_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-            AC_MSG_ERROR([Glitz X11 not found (strict dependencies checking)])
-          fi
-        ]
-      )
-    ],
-    [
-      if test "x$want_evas_glitz_gl_x11" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Glitz X11 not found (strict dependencies checking)])
-      fi
-    ]
-  )
+AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
+if test "x${have_static_software_16}" = "xyes"; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
 fi
-AM_CONDITIONAL(BUILD_ENGINE_GLITZ_X11, test "x$have_evas_glitz_x11" = "xyes")
 
 #####################################################################
 ## Image loaders
 
-EVAS_CHECK_IMAGE_LOADER([Edb], [yes])
+EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
 
-EVAS_CHECK_IMAGE_LOADER([Eet], [yes])
-EVAS_CHECK_FONT_LOADER([yes])
+EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
+EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
 
-EVAS_CHECK_IMAGE_LOADER([Gif], [yes])
+EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
 
 have_evas_image_saver_jpeg="no"
-EVAS_CHECK_IMAGE_LOADER([Jpeg], [yes])
+EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
 
 dnl Windows has no sigsetjmp function, nor equivalent.
 dnl So we disable the jpeg saver.
@@ -851,15 +625,15 @@ case "$host_os" in
 esac
 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
 
-EVAS_CHECK_IMAGE_LOADER([PMAPS], [yes])
+EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
 
-EVAS_CHECK_IMAGE_LOADER([PNG], [yes])
+EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
 
-EVAS_CHECK_IMAGE_LOADER([SVG], [yes])
+EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
 
-EVAS_CHECK_IMAGE_LOADER([Tiff], [yes])
+EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
 
-EVAS_CHECK_IMAGE_LOADER([XPM], [yes])
+EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
 
 
 #####################################################################
@@ -897,9 +671,9 @@ AC_CHECK_HEADERS(pthread.h sched.h,
       ],
       [ build_pthreads="no" ]
 )
-### disable pthreads by default for now - some wierd deadlock issue with
-# barriers (makes no sense)
-#build_pthreads="no"
+
+#######################################
+## Pthread
 AC_MSG_CHECKING(whether to build pthread code)
 AC_ARG_ENABLE(pthreads,
   AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
@@ -932,6 +706,27 @@ AC_ARG_ENABLE(pthreads,
 )
 
 #######################################
+## Pipe Renderer
+build_pipe_render="no"
+AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
+AC_ARG_ENABLE(pipe-render,
+  AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
+  [ build_pipe_render=$enableval ]
+)
+AC_MSG_RESULT($build_pipe_render)
+
+AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
+if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
+  build_pipe_render="yes"
+  need_pthreads="yes"
+else
+  AC_MSG_RESULT(no)
+  build_pipe_render="no"
+fi
+
+#######################################
 ## Async events
 build_async_events="auto"
 AC_MSG_CHECKING(whether to build Async Events support)
@@ -1112,14 +907,41 @@ if test "x$build_cpu_altivec" = "xyes"; then
          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
       fi
    fi
-   AC_MSG_RESULT($altivec_cflags)
+  AC_MSG_RESULT($altivec_cflags)
    CFLAGS="$CFLAGS $altivec_cflags"
 fi
 
+#######################################
+## NEON
+build_cpu_neon="no"
+case $host_cpu in
+  armv7*)
+    build_cpu_neon="yes"
+    ;;
+esac
+AC_MSG_CHECKING(whether to build neon code)
+AC_ARG_ENABLE(cpu-neon,
+  AC_HELP_STRING([--enable-cpu-neon], [enable neon code]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_MSG_RESULT(yes)
+        AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
+        build_cpu_neon="yes"
+      else
+        AC_MSG_RESULT(no)
+        build_cpu_neon="no"
+      fi
+  ],
+  [
+    AC_MSG_RESULT($build_cpu_neon)
+    if test "x$build_cpu_neon" = "xyes" ; then
+      AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
+    fi
+  ]
+)
 
 #######################################
 ## C
-build_cpu_c="no"
 build_cpu_c="yes"
 AC_MSG_CHECKING(whether to build c code)
 AC_ARG_ENABLE(cpu-c,
@@ -1164,51 +986,9 @@ fi
 
 #######################################
 ## Nearest sampling scaler
-scaler_sample="no"
-scaler_sample="yes"
-AC_MSG_CHECKING(whether to build sampling scaler)
-AC_ARG_ENABLE(scale-sample,
-  AC_HELP_STRING([--enable-scale-sample], [enable sampling scaler code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
-        scaler_sample="yes"
-      else
-        AC_MSG_RESULT(no)
-        scaler_sample="no"
-      fi
-  ], [
-      AC_MSG_RESULT($scaler_sample)
-      if test "x$scaler_sample" = "xyes" ; then
-        AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
 ## Smooth super and sub sampling scaler
-scaler_smooth="no"
-scaler_smooth="yes"
-AC_MSG_CHECKING(whether to build smooth scaler)
-AC_ARG_ENABLE(scale-smooth,
-  AC_HELP_STRING([--enable-scale-smooth], [enable smooth scaler code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
-        scaler_smooth="yes"
-      else
-        AC_MSG_RESULT(no)
-        scaler_smooth="no"
-      fi
-  ], [
-      AC_MSG_RESULT($scaler_smooth)
-      if test "x$scaler_smooth" = "xyes" ; then
-        AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
-      fi
-  ]
-)
+EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
 
 #######################################
 ## YUV -> ARGB converter
@@ -1239,72 +1019,11 @@ AC_ARG_ENABLE(convert-yuv,
 
 #######################################
 ## Small dither mask instead of big one (lower quality)
-conv_small_dither="no"
-AC_MSG_CHECKING(whether to build small dither mask code)
-AC_ARG_ENABLE(small-dither-mask,
-  AC_HELP_STRING([--enable-small-dither-mask], [enable small dither mask code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
-        conv_small_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_small_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_small_dither)
-      if test "x$conv_small_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
-conv_line_dither="no"
-AC_MSG_CHECKING(whether to build line dither mask code)
-AC_ARG_ENABLE(line-dither-mask,
-  AC_HELP_STRING([--enable-line-dither-mask], [enable line dither mask code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
-        conv_line_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_line_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_line_dither)
-      if test "x$conv_line_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
 ## No dither mask at all for 16bpp
-conv_no_dither="no"
-AC_MSG_CHECKING(whether to build without dither mask for 16bpp)
-AC_ARG_ENABLE(no-dither-mask,
-  AC_HELP_STRING([--enable-no-dither-mask], [enable conversion to 16bpp without dither mask]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
-        conv_no_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_no_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_no_dither)
-      if test "x$conv_no_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
-      fi
-  ]
-)
+EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
 
 #######################################
 ## Convert to 8bpp RGB 332
@@ -1376,6 +1095,48 @@ EVAS_CONVERT_COLOR(32, BGR, 8888)
 EVAS_CONVERT_COLOR(32, BGRX, 8888)
 
 #######################################
+## Convert to 24bpp RGB 666 (666 ezx)
+conv_24_rgb_ezx="yes"
+AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
+AC_ARG_ENABLE(convert-24-rgb-ezx,
+  AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
+        conv_24_rgb_ezx="yes"
+      else
+        conv_24_rgb_ezx="no"
+      fi
+  ], [
+      if test "x$conv_24_rgb_ezx" = "xyes" ; then
+        AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
+      fi
+  ]
+)
+AC_MSG_RESULT($conv_24_rgb_ezx)
+
+#######################################
+## Convert to 32bpp RGB 666 (666 ezx)
+conv_32_rgb_ezx="yes"
+AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
+AC_ARG_ENABLE(convert-32-rgb-ezx,
+  AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
+  [
+      if test "x$enableval" = "xyes" ; then
+        AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
+        conv_32_rgb_ezx="yes"
+      else
+        conv_32_rgb_ezx="no"
+      fi
+  ], [
+      if test "x$conv_32_rgb_ezx" = "xyes" ; then
+        AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
+      fi
+  ]
+)
+AC_MSG_RESULT($conv_32_rgb_ezx)
+
+#######################################
 ## Convert to 32bpp RGB with rotation of 0
 EVAS_CONVERT_ROT(32, RGB, 0)
 ## Convert to 32bpp RGB with rotation of 180
@@ -1385,6 +1146,27 @@ EVAS_CONVERT_ROT(32, RGB, 270)
 ## Convert to 32bpp RGB with rotation of 90
 EVAS_CONVERT_ROT(32, RGB, 90)
 
+#######################################
+## Convert to 8bpp grayscale, 64-palette
+conv_8_grayscale_64="yes"
+AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
+AC_ARG_ENABLE(convert-8-grayscale-64,
+  AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
+  [
+     if test "$enableval" = "xyes"; then
+       AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
+       conv_8_grayscale_64="yes"
+     else
+       conv_8_grayscale_64="no"
+     fi
+  ], [
+     if test "x$conv_8_grayscale_64" = "xyes"; then
+       AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
+     fi
+  ]
+)
+AC_MSG_RESULT($conv_8_grayscale_64)
+
 ## valgrind
 want_valgrind="no"
 have_valgrind="no"
@@ -1401,6 +1183,7 @@ if test x$want_valgrind = "xyes"; then
     [
       AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
       have_valgrind=yes
+      requirement_evas="valgrind ${requirement_evas}"
     ],
     [
       if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
@@ -1410,81 +1193,47 @@ if test x$want_valgrind = "xyes"; then
   )
 fi
 
-### if software 16 x11 is enabled - build software_16 (the generic 16bit
-### engine). later enable it fb_16 or other "16" bit engines are enabled.
-have_evas_software_16="no"
-if test "x$have_evas_software_16_x11" = "xyes"; then
-   have_evas_software_16="yes"
-fi
-if test "x$have_evas_sdl" = "xyes"; then
-   have_evas_software_16="yes"
-fi
-if test "x$have_evas_software_16_ddraw" = "xyes"; then
-   have_evas_software_16="yes"
-fi
-if test "x$have_evas_software_16_wince" = "xyes"; then
-   have_evas_software_16="yes"
-fi
-AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_software_16" = "xyes")
-
 #####################################################################
 ## Fill in flags
 
-AC_SUBST(ddraw_libs)
-AC_SUBST(ddraw_16_libs)
-AC_SUBST(direct3d_libs)
-
-AC_SUBST(glew_libs)
-
-AC_SUBST(x_cflags)
-AC_SUBST(x_libs)
-
-AC_SUBST(gl_cflags)
-AC_SUBST(gl_libs)
-
-AC_SUBST(quartz_cflags)
-AC_SUBST(quartz_libs)
-
-AC_SUBST(qt_cflags)
-AC_SUBST(qt_libs)
-AC_SUBST(qt_moc)
-
 AC_SUBST(altivec_cflags)
 AC_SUBST(pthread_cflags)
 AC_SUBST(pthread_libs)
+AC_SUBST(requirement_evas)
+
 
 #####################################################################
 ## Output
 
 AC_OUTPUT([
 Makefile
-evas-cairo-x11.pc
 evas-directfb.pc
 evas-fb.pc
-evas-glitz-x11.pc
 evas-opengl-glew.pc
 evas-opengl-x11.pc
 evas-quartz.pc
 evas-software-buffer.pc
-evas-software-qtopia.pc
 evas-software-x11.pc
 evas-software-16-x11.pc
-evas-software-xcb.pc
 evas-xrender-x11.pc
 evas-xrender-xcb.pc
+evas-software-gdi.pc
 evas-software-ddraw.pc
 evas-software-16-ddraw.pc
 evas-direct3d.pc
 evas-software-16-wince.pc
 evas-software-sdl.pc
 evas.pc
+doc/evas.dox
+doc/Makefile
 src/Makefile
+src/bin/Makefile
 src/lib/Makefile
 src/lib/canvas/Makefile
-src/lib/data/Makefile
 src/lib/file/Makefile
 src/lib/imaging/Makefile
 src/lib/cache/Makefile
+src/lib/cserve/Makefile
 src/lib/engines/Makefile
 src/lib/engines/common/Makefile
 src/lib/engines/common/evas_op_add/Makefile
@@ -1497,26 +1246,20 @@ src/lib/engines/common_16/Makefile
 src/modules/Makefile
 src/modules/engines/Makefile
 src/modules/engines/software_generic/Makefile
+src/modules/engines/software_gdi/Makefile
 src/modules/engines/software_ddraw/Makefile
 src/modules/engines/direct3d/Makefile
 src/modules/engines/software_16_wince/Makefile
 src/modules/engines/software_x11/Makefile
-src/modules/engines/software_xcb/Makefile
 src/modules/engines/fb/Makefile
 src/modules/engines/buffer/Makefile
-src/modules/engines/software_win32_gdi/Makefile
-src/modules/engines/software_qtopia/Makefile
 src/modules/engines/directfb/Makefile
 src/modules/engines/gl_common/Makefile
 src/modules/engines/gl_glew/Makefile
 src/modules/engines/gl_x11/Makefile
 src/modules/engines/quartz/Makefile
-src/modules/engines/cairo_common/Makefile
-src/modules/engines/cairo_x11/Makefile
 src/modules/engines/xrender_x11/Makefile
-src/modules/engines/xrender_xcb/Makefile
 src/modules/engines/software_sdl/Makefile
-src/modules/engines/glitz_x11/Makefile
 src/modules/engines/software_16/Makefile
 src/modules/engines/software_16_x11/Makefile
 src/modules/engines/software_16_ddraw/Makefile
@@ -1542,6 +1285,14 @@ README
 evas.spec
 ])
 
+#disabled for the release:
+# evas-cairo-x11.pc
+# evas-software-qtopia.pc
+# src/modules/engines/cairo_common/Makefile
+# src/modules/engines/cairo_x11/Makefile
+# src/modules/engines/software_qtopia/Makefile
+
+
 #####################################################################
 ## Info
 
@@ -1555,35 +1306,32 @@ echo
 echo "Configuration Options Summary:"
 echo
 echo "Engines:"
-echo "  Software Memory Buffer.....: $have_evas_buffer"
-echo "  Software X11...............: $have_evas_software_x11"
-echo "  XRender X11................: $have_evas_xrender_x11"
-echo "  OpenGL X11.................: $have_evas_gl_x11"
-echo "  Glitz X11..................: $have_evas_glitz_x11"
-echo "  Cairo X11..................: $have_evas_cairo_x11"
-echo "  Software XCB...............: $have_evas_software_xcb"
-echo "  XRender XCB................: $have_evas_xrender_xcb"
-echo "  Software DirectDraw........: $have_evas_software_ddraw"
-echo "  Direct3d...................: $have_evas_direct3d"
-echo "  Quartz.....................: $have_evas_quartz"
-echo "  OpenGL Glew................: $have_evas_gl_glew"
-echo "  Software SDL...............: $have_evas_sdl (primitive: $sdl_primitive)"
-echo "  Software Framebuffer.......: $have_evas_fb"
-echo "  Software Qtopia............: $have_evas_qtopia"
-echo "  Software 16bit ............: $have_evas_software_16"
-echo "  Software 16bit X11.........: $have_evas_software_16_x11"
-echo "  Software 16bit Directdraw..: $have_evas_software_16_ddraw"
-echo "  Software 16bit WinCE.......: $have_evas_software_16_wince"
-echo "  Software 16bit SDL.........: $have_evas_sdl (primitive: $sdl_primitive)"
-echo "  DirectFB...................: $have_evas_directfb"
+echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
+echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
+echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
+echo "  OpenGL X11.................: $have_evas_engine_gl_x11 (GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
+#echo "  Cairo X11..................: $have_evas_engine_cairo_x11"
+echo "  Software GDI...............: $have_evas_engine_software_gdi"
+echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
+echo "  Direct3d...................: $have_evas_engine_direct3d"
+echo "  Quartz.....................: $have_evas_engine_quartz"
+echo "  OpenGL Glew................: $have_evas_engine_gl_glew"
+echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
+echo "  Software Framebuffer.......: $have_evas_engine_fb"
+echo "  DirectFB...................: $have_evas_engine_directfb"
+#echo "  Software Qtopia............: $have_evas_engine_software_qtopia"
+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"
+echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
+echo "  Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
 # FIXME: opengl engine needs to be fixed and tested lots for all drivers
-# FIXME: xrender engine to be written
 echo
 echo "Image Loaders:"
 echo "  EDB.....................: $have_evas_image_loader_edb"
 echo "  EET.....................: $have_evas_image_loader_eet"
 echo "  GIF.....................: $have_evas_image_loader_gif"
-echo "  JPEG....................: $have_evas_image_loader_jpeg"
+echo "  JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
 echo "  PMAPS...................: $have_evas_image_loader_pmaps"
 echo "  PNG.....................: $have_evas_image_loader_png"
 echo "  SVG.....................: $have_evas_image_loader_svg"
@@ -1597,6 +1345,7 @@ echo "  EET.....................: $have_evas_font_loader_eet"
 echo
 echo "Font Searching Systems:"
 echo "  Fontconfig..............: $have_fontconfig"
+echo "  Fribidi.................: $have_fribidi"
 # FIXME: add non freetype2 font engine support
 # FIXME: make freetype2 optional
 echo
@@ -1605,11 +1354,16 @@ echo "  Fallback C Code.........: $build_cpu_c"
 echo "  MMX.....................: $build_cpu_mmx"
 echo "  SSE.....................: $build_cpu_sse"
 echo "  ALTIVEC.................: $build_cpu_altivec"
+echo "  NEON....................: $build_cpu_neon"
 echo "  Thread Support..........: $build_pthreads"
+echo
+echo "Features:"
 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
+echo "  Cache Server............: $want_evas_cserve"
 echo
-echo "Async Events..............: $build_async_events"
-echo "Async Image Preload.......: $build_async_preload"
+echo "  Threaded Pipe Rendering.: $build_pipe_render"
+echo "  Async Events............: $build_async_events"
+echo "  Async Image Preload.....: $build_async_preload"
 echo
 echo "ARGB Software Engine Options:"
 echo "  Sampling Scaler.........: $scaler_sample"
@@ -1629,6 +1383,7 @@ echo "  8bpp RGB 222............: $conv_8_rgb_222"
 echo "  8bpp RGB 221............: $conv_8_rgb_221"
 echo "  8bpp RGB 121............: $conv_8_rgb_121"
 echo "  8bpp RGB 111............: $conv_8_rgb_111"
+echo "  8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
 # FIXME: add grayscale and B&W support
 echo "  16bpp RGB 565...........: $conv_16_rgb_565"
 echo "  16bpp BGR 565...........: $conv_16_bgr_565"
@@ -1636,8 +1391,6 @@ echo "  16bpp RGB 555...........: $conv_16_rgb_555"
 echo "  16bpp RGB 444...........: $conv_16_rgb_444"
 echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
 # FIXME: add 555 (444 ipaq) support
-# FIXME: add 24bpp 666 support
-# FIXME: add 32bpp 666 support
 # FIXME: add 30bpp support
 # FIXME: add palletted support
 # FIXME: add 8bpp and below rotation
@@ -1647,19 +1400,30 @@ echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
 echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
 echo "  24bpp RGB 888...........: $conv_24_rgb_888"
 echo "  24bpp BGR 888...........: $conv_24_bgr_888"
+echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
 # FIXME: add 24bpp rotation
 echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
 echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
 echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
 echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
+echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
 echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
 echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
 echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
 echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
 echo
+echo "Documentation.............: ${build_doc}"
+echo
 echo "------------------------------------------------------------------------"
 echo
 echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE,"
 echo "and then afterwards as root (or the user who will install this), type"
 echo "'make install'. Change users with 'su' or 'sudo' appropriately."
 echo
+if test "x${have_static_module}" = "xyes" ; then
+echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
+echo "         You must know what you are doing, or else you will have a lot of problems."
+echo "         And Kenny will be killed."
+echo "         Think about that."
+echo
+fi