Evas (wayland): We should also check for framespace changes here and
[profile/ivi/evas.git] / configure.ac
index ce4402d..7757d81 100644 (file)
@@ -1,12 +1,12 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
-m4_define([v_min], [0])
-m4_define([v_mic], [999])
-m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
+m4_define([v_min], [7])
+m4_define([v_mic], [0])
+m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
 ##--   When released, remove the dnl on the below line
-dnl m4_undefine([v_rev])
+m4_undefine([v_rev])
 ##--   When doing snapshots - change soname. remove dnl on below line
 dnl m4_define([relname], [ver-pre-svn-07])
 dnl m4_define([v_rel], [-release relname])
@@ -31,7 +31,7 @@ AC_CACHE_CHECK([whether the Objective C compiler works],
                 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
 ])
 
-AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
+AC_INIT([evas], [v_ver-alpha], [enlightenment-devel@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
@@ -92,26 +92,27 @@ want_fribidi="auto"
 want_harfbuzz="auto"
 want_pixman="no"
 want_evas_cserve="yes"
+want_evas_cserve2="yes"
 
 want_evas_engine_buffer="yes"
 want_evas_engine_software_xlib="no"
 want_evas_engine_software_xcb="no"
 want_evas_engine_software_gdi="no"
 want_evas_engine_software_ddraw="no"
-want_evas_engine_software_sdl="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_16_sdl="no"
 want_evas_engine_gl_xlib="no"
 want_evas_engine_gl_xcb="no"
 want_evas_engine_gl_sdl="no"
-want_evas_engine_gl_cocoa="yes"
+want_evas_engine_gl_cocoa="no"
 want_evas_engine_direct3d="no"
 want_evas_engine_fb="no"
 want_evas_engine_directfb="no"
 want_evas_engine_psl1ght="no"
+want_evas_engine_wayland_shm="no"
+want_evas_engine_wayland_egl="no"
 
 want_evas_image_loader_edb="yes"
 want_evas_image_loader_eet="yes"
@@ -144,7 +145,6 @@ case "$host_os" in
       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"
       ;;
@@ -158,6 +158,8 @@ case "$host_os" in
       want_evas_engine_software_xcb="no"
       want_evas_engine_gl_xcb="no"
       want_evas_engine_fb="auto"
+      want_evas_engine_wayland_shm="auto"
+      want_evas_engine_wayland_egl="auto"
 ### no - not ready/usable/complete
 #      want_evas_engine_software_8_x11="auto"
 #      want_evas_engine_software_16_x11="auto"
@@ -234,16 +236,30 @@ EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 
 case "$host_os" in
    mingw*)
-      PKG_CHECK_MODULES([EVIL], [evil])
+      PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
       requirement_evas="evil ${requirement_evas}"
    ;;
 esac
 
+### Checks for portability layer
+
+PKG_CHECK_MODULES([EXOTIC],
+   [exotic],
+   [enable_exotic="yes"],
+   [enable_exotic="no"])
+
+if test "x${enable_exotic}" = "xyes"; then
+    requirement_evas="exotic ${requirement_evas}"
+
+    AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
+fi
+AM_CONDITIONAL([EVAS_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"])
+
 ## strong dependencies
 
 # Eina
-PKG_CHECK_MODULES([EINA], [eina >= 1.0.999])
+PKG_CHECK_MODULES([EINA], [eina >= 1.6.0])
 CPPFLAGS_SAVE="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
 AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
@@ -252,7 +268,7 @@ CPPFLAGS="$CPPFLAGS_SAVE"
 # Freetype
 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
 
-requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
+requirement_evas="freetype2 eina >= 1.6.0 ${requirement_evas}"
 
 ## optional dependencies
 
@@ -364,7 +380,7 @@ AC_ARG_ENABLE([harfbuzz],
 
 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
    PKG_CHECK_MODULES([HARFBUZZ],
-      [harfbuzz >= 0.6.0],
+      [harfbuzz >= 0.9.0],
       [
        have_harfbuzz="yes"
        requirement_evas="harfbuzz ${requirement_evas}"
@@ -403,8 +419,8 @@ fi
 # Pixman
 have_pixman="no"
 AC_ARG_ENABLE([pixman],
-   AC_HELP_STRING([--disable-pixman],
-      [disable pixman for software rendering. @<:@default=enabled@:>@]),
+   AC_HELP_STRING([--enable-pixman],
+      [enable pixman for software rendering. @<:@default=enabled@:>@]),
    [
     if test "x${enableval}" = "xyes" ; then
        want_pixman="yes"
@@ -429,12 +445,74 @@ if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
       ])
 fi
 
+have_pixman_font="no"
+AC_ARG_ENABLE(pixman-font,
+  AC_HELP_STRING([--enable-pixman-font], [Allow pixman to render fonts]),
+  [ 
+    have_pixman_font="yes"
+    AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
+  ]
+)
+
+have_pixman_rect="no"
+AC_ARG_ENABLE(pixman-rect,
+  AC_HELP_STRING([--enable-pixman-rect], [Allow pixman to render rects]),
+  [ 
+    have_pixman_rect="yes"
+    AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
+  ]
+)
+
+have_pixman_line="no"
+AC_ARG_ENABLE(pixman-line,
+  AC_HELP_STRING([--enable-pixman-line], [Allow pixman to render lines]),
+  [ 
+    have_pixman_line="yes"
+    AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
+  ]
+)
+
+have_pixman_poly="no"
+AC_ARG_ENABLE(pixman-poly,
+  AC_HELP_STRING([--enable-pixman-poly], [Allow pixman to render polys]),
+  [ 
+    have_pixman_poly="yes"
+    AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
+  ]
+)
+
+have_pixman_image="no"
+AC_ARG_ENABLE(pixman-image,
+  AC_HELP_STRING([--enable-pixman-image], [Allow pixman to render images]),
+  [ 
+    have_pixman_image="yes"
+    AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
+  ]
+)
+
+have_pixman_image_scale_sample="no"
+AC_ARG_ENABLE(pixman-image-scale-sample,
+  AC_HELP_STRING([--enable-pixman-image-scale-sample], [Allow pixman to render sampled scaled images]),
+  [ 
+    have_pixman_image_scale_sample="yes"
+    AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
+  ]
+)
+
+have_tile_rotate="no"
+AC_ARG_ENABLE(tile-rotate,
+  AC_HELP_STRING([--enable-tile-rotate], [Enable tiled rotate algorithm]),
+  [ 
+    have_tile_rotate="yes"
+    AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
+  ]
+)
+
 ### Checks for header files
 AC_HEADER_STDC
-AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h])
+AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h sys/mman.h])
 EFL_CHECK_PATH_MAX
 
-
 ### Checks for types
 AC_CHECK_TYPES([struct sigaction], [], [],
                [[#include <signal.h>]])
@@ -451,20 +529,6 @@ EFL_ATTRIBUTE_UNUSED
 EFL_ATTRIBUTE_VECTOR
 EFL_ATTRIBUTE_ALWAYS_INLINE
 
-WIN32_CPPFLAGS=""
-case "$host_os" in
-   mingw32ce*)
-      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-      ;;
-   mingw*)
-      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
-      ;;
-esac
-AC_SUBST(WIN32_CPPFLAGS)
-
-WIN32_CFLAGS=""
-AC_SUBST(WIN32_CFLAGS)
-
 
 ### Checks for linker characteristics
 lt_enable_auto_import=""
@@ -522,31 +586,9 @@ if test "x$res" = "xyes"; then
   AC_DEFINE(HAVE_LROUND, 1, C99 lround function exists)
 fi
 
-SHM_OPEN_LINK=""
-AC_MSG_CHECKING([whether shm_open() is present])
-LIBS_save=${LIBS}
-LIBS="${LIBS} -lrt"
-AC_LINK_IFELSE(
-   [AC_LANG_PROGRAM(
-      [[
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-      ]],
-      [[
-int fd;
-fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-shm_unlink("/");
-      ]])],
-   [
-    have_shm_open="yes"
-    AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
-    SHM_OPEN_LINK="-lrt"
-   ],
-   [have_shm_open="no"])
-LIBS=${LIBS_save}
-AC_MSG_RESULT([${have_shm_open}])
-AC_SUBST(SHM_OPEN_LINK)
+if test "x${want_evas_image_loader_generic}" = "xyes" ; then
+   EFL_CHECK_SHM_OPEN
+fi
 
 # (shm_open (for cache server)
 AC_ARG_ENABLE([evas-cserve],
@@ -562,34 +604,60 @@ AC_ARG_ENABLE([evas-cserve],
 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}])
+# (shm_open (for cache server)
+AC_ARG_ENABLE([evas-cserve2],
+   AC_HELP_STRING([--disable-evas-cserve2],
+      [disable shared cache server 2 support. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_cserve2="yes"
+    else
+       want_evas_cserve2="no"
+    fi
+   ])
+AC_MSG_CHECKING(whether to build shared cache server 2 and support)
+AC_MSG_RESULT(${want_evas_cserve2})
+
+# cserve2 only works on Linux so far.
+if test "x${want_evas_cserve2}" = "xyes" ; then
+   AC_CHECK_HEADERS(
+      [sys/epoll.h sys/inotify.h sys/signalfd.h],
+      [],
+      [
+       want_evas_cserve2="no"
+      ]
+   )
+fi
+
+if test "x${want_evas_cserve2}" = "xyes"; then
+   want_evas_cserve="no"
 fi
 
+shm_open_libs=""
+if test "x${want_evas_cserve}" = "xyes" -o "x${want_evas_cserve2}" = "xyes" ; then
+   EFL_CHECK_SHM_OPEN(
+      [
+       shm_open_libs=${EFL_SHM_OPEN_LIBS}
+      ],
+      [
+       want_evas_cserve="no"
+       want_evas_cserve2="no"
+      ])
+fi
+AC_SUBST([shm_open_libs])
+
 if test "x${want_evas_cserve}" = "xyes" ; then
-  AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
+  AC_DEFINE(EVAS_CSERVE, 1, [Shared cache server.])
 fi
 
 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
 
+if test "x${want_evas_cserve2}" = "xyes" ; then
+  AC_DEFINE(EVAS_CSERVE2, 1, [Shared cache server.])
+fi
+
+AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
+
 
 
 #######################################
@@ -597,7 +665,7 @@ AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
 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]),
+  AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles flavor of gl instead of standard]),
   [
       if test "x$enableval" = "xyes" ; then
         AC_MSG_RESULT(yes)
@@ -682,8 +750,6 @@ EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no],
 
 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
 
-EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
-
 EVAS_CHECK_ENGINE([psl1ght], [${want_evas_engine_psl1ght}], [no], [PSL1GHT])
 
 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [no], [OpenGL SDL])
@@ -698,12 +764,14 @@ EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [no],
 
 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [no], [Software X11 16 bits])
 
-EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
-
 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
 
 EVAS_CHECK_ENGINE([software-16-sdl], [${want_evas_engine_software_16_sdl}], [no], [Software SDL 16 bits])
 
+EVAS_CHECK_ENGINE([wayland-shm], [${want_evas_engine_wayland_shm}], [no], [Wayland Shm])
+
+EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
+
 # SDL primitive
 sdl_primitive="no"
 
@@ -856,13 +924,15 @@ have_static_evas_engine_gl_common="no"
 if test "x$have_evas_engine_gl_xlib" = "xyes" \
    || test "x$have_evas_engine_gl_xcb" = "xyes" \
    || test "x$have_evas_engine_gl_sdl" = "xyes" \
-   || test "x$have_evas_engine_gl_cocoa" = "xyes"; then
+   || test "x$have_evas_engine_gl_cocoa" = "xyes" \
+   || test "x$have_evas_engine_wayland_egl" = "xyes"; then
    have_evas_engine_gl_common="yes"
 fi
 if test "x$have_evas_engine_gl_xlib" = "xstatic" \
    || test "x$have_evas_engine_gl_xcb" = "xstatic" \
    || test "x$have_evas_engine_gl_sdl" = "xstatic" \
-   || test "x$have_evas_engine_gl_cocoa" = "xstatic"; then
+   || test "x$have_evas_engine_gl_cocoa" = "xstatic" \
+   || test "x$have_evas_engine_wayland_egl" = "xstatic"; then
    have_evas_engine_gl_common="yes"
    have_static_evas_engine_gl_common="yes"
 fi
@@ -903,9 +973,6 @@ fi
 if test "x$have_evas_engine_software_16_sdl" = "xyes" -o "x$have_evas_engine_software_16_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
@@ -1018,20 +1085,30 @@ AC_CHECK_HEADER(pthread.h,
 )
 
 # sched_getaffinity pthread_attr_setaffinity_np
-AC_CHECK_HEADERS(pthread.h sched.h,
-  [
-    AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
-      [
-        AC_CHECK_LIB(pthread, pthread_barrier_wait,
-          [ build_pthreads="yes" ],
-          [ build_pthreads="no" ]
-        )
-      ],
-      [ build_pthreads="no" ]
-    )
+AC_CHECK_HEADERS([pthread.h sched.h],
+   [
+    CFLAGS_save="${CFLAGS}"
+    CFLAGS="${CFLAGS} -pthread"
+    LIBS_save="${LIBS}"
+    LIBS="${LIBS} -pthread"
+    AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM([[
+#include <pthread.h>
+#include <sched.h>
+                       ]],
+                       [[
+pthread_attr_setaffinity_np(NULL, 0, NULL);
+pthread_barrier_wait(NULL);
+                       ]])],
+      [build_pthreads="yes"],
+      [build_pthreads="no"])
+   CFLAGS=${CFLAGS_save}
+   LIBS=${LIBS_save}
   ],
-  [ build_pthreads="no" ]
-)
+  [build_pthreads="no"])
+
+AC_MSG_CHECKING([whether pthread_attr_setaffinity_np() and pthread_barrier_wait() are supported])
+AC_MSG_RESULT([${build_pthreads}])
 
 #######################################
 ## Pthread
@@ -1070,56 +1147,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 Renderer
-build_async_render="no"
-
-AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
-AC_ARG_ENABLE(async-render,
- AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
- [ build_async_render=$enableval ]
-)
-AC_MSG_RESULT($build_async_render)
-
-AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
-if test \( "x$build_async_render" = "xyes" \); then
-  AC_MSG_RESULT(yes)
-  AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
-  build_async_render="yes"
-  AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
-  build_pipe_render="yes"
-  need_pthreads="yes"
-
-  PKG_CHECK_MODULES([XEXT],
-    [xext < 1.1.1],
-    [ build_avoid_libXext_bug=yes ],
-    [ build_avoid_libXext_bug=no ]
-  )
-  if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
-    AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
-  fi
-else
-  AC_MSG_RESULT(no)
-  build_async_render="no"
-fi
+# Let disable pipe render strongly as it doesn't massively improve performance, but
+# just hammer more watt for a few more percent. The code is kept as the understanding
+# is that with an async pipeline things will be better.
+#
+#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
@@ -1167,8 +1215,8 @@ fi
 AC_MSG_CHECKING(whether we should link with pthread)
 if test "x$need_pthreads" = "xyes"; then
   AC_MSG_RESULT(yes)
-  pthread_cflags=""
-  pthread_libs="-lpthread"
+  pthread_cflags="-pthread"
+  pthread_libs="-pthread"
 else
   AC_MSG_RESULT(no)
 fi
@@ -1262,9 +1310,16 @@ AC_ARG_ENABLE(cpu-sse3,
   AS_HELP_STRING([--enable-cpu-sse3], [enable sse3 code]),
   [
       if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
-        build_cpu_sse3="yes"
+        AC_CHECK_HEADER(immintrin.h,
+          [
+            AC_MSG_RESULT(yes)
+            AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
+            build_cpu_sse3="yes"
+           ],
+          [
+            AC_MSG_RESULT(no)
+            build_cpu_sse3="no"
+          ])
       else
         AC_MSG_RESULT(no)
         build_cpu_sse3="no"
@@ -1273,7 +1328,16 @@ AC_ARG_ENABLE(cpu-sse3,
   [
     AC_MSG_RESULT($build_cpu_sse3)
     if test "x$build_cpu_sse3" = "xyes" ; then
-      AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
+      AC_CHECK_HEADER(immintrin.h,
+        [
+          AC_MSG_RESULT(yes)
+          AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
+          build_cpu_sse3="yes"
+         ],
+        [
+          AC_MSG_RESULT(no)
+          build_cpu_sse3="no"
+        ])
     fi
   ]
 )
@@ -1455,45 +1519,6 @@ if test "x$want_evas_magic_debug" = "xyes"; then
   AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
 fi
 
-
-#######################################
-## Word Caching
-want_word_cache="no"
-AC_MSG_CHECKING(whether to enable caching of rendered words)
-AC_ARG_ENABLE(word-cache,
-  AC_HELP_STRING(
-    [--enable-word-cache],
-    [Enable experimental word caching to speed up rendering [[default=disabled]]]
-  ),
-  [ want_word_cache="$enableval" ]
-)
-AC_MSG_RESULT($want_word_cache)
-
-AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
-if test "x$want_word_cache" = "xyes"; then
-  AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
-fi
-
-#######################################
-## Metric Caching
-want_metric_cache="no"
-AC_MSG_CHECKING(whether to enable caching of rendered metrics)
-AC_ARG_ENABLE(metric-cache,
-  AC_HELP_STRING(
-    [--enable-metric-cache],
-    [Enable experimental metric caching to speed up rendering [[default=disabled]]]
-  ),
-  [ want_metric_cache="$enableval" ]
-)
-AC_MSG_RESULT($want_metric_cache)
-
-AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
-if test "x$want_metric_cache" = "xyes"; then
-  AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
-fi
-
-
-
 #####################################################################
 ## ARGB engine options
 
@@ -1756,8 +1781,8 @@ AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
 
 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
-EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS}"
-EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS}"
+EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS} ${EXOTIC_CFLAGS}"
+EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS} ${EXOTIC_LIBS}"
 if test "x$enable_coverage" = "xyes" ; then
    EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}"
 fi
@@ -1790,22 +1815,37 @@ evas-software-8-x11.pc
 evas-software-16-x11.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-psl1ght.pc
+evas-wayland-shm.pc
+evas-wayland-egl.pc
 evas.pc
 doc/evas.dox
 doc/Makefile
 doc/Doxyfile
 src/Makefile
 src/bin/Makefile
+src/bin/loaders/Makefile
+src/bin/loaders/jpeg/Makefile
+src/bin/loaders/png/Makefile
+src/bin/loaders/eet/Makefile
+src/bin/loaders/tiff/Makefile
+src/bin/loaders/xpm/Makefile
+src/bin/loaders/bmp/Makefile
+src/bin/loaders/ico/Makefile
+src/bin/loaders/tga/Makefile
+src/bin/loaders/pmaps/Makefile
+src/bin/loaders/wbmp/Makefile
+src/bin/loaders/psd/Makefile
 src/lib/Makefile
 src/lib/canvas/Makefile
 src/lib/file/Makefile
 src/lib/cache/Makefile
+src/lib/cache2/Makefile
 src/lib/cserve/Makefile
+src/lib/cserve2/Makefile
 src/lib/engines/Makefile
 src/lib/engines/common/Makefile
 src/lib/engines/common/evas_op_add/Makefile
@@ -1832,13 +1872,13 @@ src/modules/engines/gl_x11/Makefile
 src/modules/engines/gl_sdl/Makefile
 src/modules/engines/gl_cocoa/Makefile
 src/modules/engines/psl1ght/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
 src/modules/engines/software_16_sdl/Makefile
+src/modules/engines/wayland_shm/Makefile
+src/modules/engines/wayland_egl/Makefile
 src/modules/loaders/Makefile
 src/modules/loaders/edb/Makefile
 src/modules/loaders/eet/Makefile
@@ -1866,6 +1906,7 @@ src/static_deps/liblinebreak/Makefile
 src/lib/include/Makefile
 src/examples/Makefile
 src/tests/Makefile
+data/Makefile
 evas.spec
 ])
 
@@ -1873,11 +1914,6 @@ evas.spec
 ## Sanity Checks
 
 if test "x$build_pthreads" = "xno" ; then
-  if test "x$build_async_render" = "xyes" ; then
-    echo "ERROR: PThreads off, but async rendering on. Async rendering"
-    echo "  needs thread support."
-    exit 1
-  fi
   if test "x$build_pipe_render" = "xyes" ; then
     echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
     echo "  needs thread support."
@@ -1917,8 +1953,7 @@ fi
 echo "  Software GDI...............: $have_evas_engine_software_gdi"
 echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
 echo "  Direct3d...................: $have_evas_engine_direct3d"
-echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
-echo $ECHO_N "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
+echo "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
 else
@@ -1932,9 +1967,10 @@ echo "  Software 8bit grayscale....: $have_evas_engine_software_8"
 # FIXME: kill software 16bit
 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_16_sdl (primitive: $sdl_primitive)"
+echo "  Wayland Shm................: $have_evas_engine_wayland_shm"
+echo "  Wayland Egl................: $have_evas_engine_wayland_egl"
 echo
 echo "Image Loaders:"
 echo "  BMP.....................: $have_evas_image_loader_bmp"
@@ -1978,6 +2014,7 @@ echo
 echo "Features:"
 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
 echo "  Cache Server............: $want_evas_cserve"
+echo "  Cache Server 2..........: $want_evas_cserve2"
 echo
 dnl
 dnl ... DISABLED! some testing has shown that this seems to have some
@@ -1985,12 +2022,18 @@ dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
 dnl disabling this for now until it can be fixed
 dnl 
 echo "  Threaded Pipe Rendering.: $build_pipe_render"
-echo "  Async Pipe Rendering....: $build_async_render"
 echo "  Async Events............: $build_async_events"
 echo "  Async Image Preload.....: $build_async_preload"
 echo
-echo "  Word Cache..............: $want_word_cache"
-echo "  Metric Cache............: $want_metric_cache"
+echo "  Pixman..................: $have_pixman"
+echo "  Pixman Fonts............: $have_pixman_font"
+echo "  Pixman Rects............: $have_pixman_rect"
+echo "  Pixman Lines............: $have_pixman_line"
+echo "  Pixman Polygons.........: $have_pixman_poly"
+echo "  Pixman Images...........: $have_pixman_image"
+echo "  Pixman Image ScaleSample: $have_pixman_image_scale_sample"
+echo 
+echo "  Tiled 32BPP rotate......: $have_tile_rotate"
 echo
 echo "ARGB Software Engine Options:"
 echo "  Sampling Scaler.........: $scaler_sample"