this is dicsomfitors focus problem. commit and lets see if peolpe
[framework/uifw/ecore.git] / configure.ac
index 6f921b3..f4a5806 100644 (file)
@@ -1,33 +1,38 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
-m4_define([v_min], [0])
-m4_define([v_mic], [0])
-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], [1])
+m4_define([v_mic], [99])
+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' | sed 's/Unversioneddirectory/0/' | tr -d '\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
-m4_undefine([v_rev])
+dnl 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])
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
-m4_define([lt_rev], m4_eval(v_maj + v_min))
-m4_define([lt_cur], v_mic)
+m4_define([lt_cur], m4_eval(v_maj + v_min))
+m4_define([lt_rev], v_mic)
 m4_define([lt_age], v_min)
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 
-AC_INIT([ecore], [v_ver.beta2], [enlightenment-devel@lists.sourceforge.net])
+AC_INIT([ecore], [v_ver], [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
+
+AC_CONFIG_HEADERS([config.h])
+AH_TOP([
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+])
+AH_BOTTOM([
+#endif /* EFL_CONFIG_H__ */
+])
 
 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
-AM_CONFIG_HEADER([config.h])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 AC_GNU_SOURCE
@@ -44,7 +49,7 @@ AC_DEFINE_UNQUOTED(VERS_MAJ, [v_maj], [Major version])
 AC_DEFINE_UNQUOTED(VERS_MIN, [v_min], [Minor version])
 AC_DEFINE_UNQUOTED(VERS_MIC, [v_mic], [Micro version])
 AC_DEFINE_UNQUOTED(VERS_REV, [v_rev], [Revison])
-version_info="lt_rev:lt_cur:lt_age"
+version_info="lt_cur:lt_rev:lt_age"
 release_info="v_rel"
 AC_SUBST(version_info)
 AC_SUBST(release_info)
@@ -54,19 +59,23 @@ VMAJ=v_maj
 AC_SUBST(VMAJ)
 
 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
-AM_GNU_GETTEXT_VERSION([0.12.1])
+AM_GNU_GETTEXT_VERSION([0.17])
 ])
 
 m4_ifdef([AM_GNU_GETTEXT], [
 AM_GNU_GETTEXT([external])
 po_makefile_in=po/Makefile.in
-AM_CONDITIONAL([HAVE_PO], [true])
+have_po="yes"
 ],[
-AM_CONDITIONAL([HAVE_PO], [false])
+have_po="no"
 ])
 AC_SUBST(LTLIBINTL)
 
-EFL_CHECK_PATH_MAX
+if test "x${POSUB}" = "x" ; then
+   have_po="no"
+fi
+
+AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
 
 with_max_log_level="<unset>"
 AC_ARG_WITH(internal-maximum-log-level,
@@ -74,7 +83,7 @@ AC_ARG_WITH(internal-maximum-log-level,
                    [limit ecore internal log level to the given number, any call to EINA_LOG() with values greater than this will be compiled out, ignoring runtime settings, but saving function calls.])],
    [
     if test "x${withval}" != "xno"; then
-       if echo "${withval}" | grep '^[[0-9]]\+$' >/dev/null 2>/dev/null; then
+       if echo "${withval}" | grep -E '^[[0-9]]+$' >/dev/null 2>/dev/null; then
           AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
           AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
           with_max_log_level="${withval}"
@@ -87,8 +96,12 @@ AC_ARG_WITH(internal-maximum-log-level,
 
 ### Default options with respect to host
 
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+
 # dependencies and options
 want_curl="no"
+want_local_sockets="yes"
 want_abstract_sockets="no"
 want_gnutls="no"
 want_openssl="no"
@@ -103,7 +116,7 @@ want_glib="no"
 
 # core modules
 want_ecore_con="yes"
-want_ecore_ipc="no"
+want_ecore_ipc="yes"
 want_ecore_file="yes"
 #want_ecore_config="no"
 want_ecore_imf="no"
@@ -116,9 +129,11 @@ want_ecore_x="no"
 want_ecore_win32="no"
 want_ecore_cocoa="no"
 want_ecore_sdl="no"
+want_ecore_psl1ght="no"
 want_ecore_fb="no"
 want_ecore_directfb="no"
 want_ecore_wince="no"
+want_ecore_wayland="no"
 
 # ecore_x options (both xlib and xcb)
 want_ecore_x_composite="yes"
@@ -128,6 +143,7 @@ want_ecore_x_randr="yes"
 want_ecore_x_render="yes"
 want_ecore_x_screensaver="yes"
 want_ecore_x_shape="yes"
+want_ecore_x_gesture="no"
 want_ecore_x_sync="yes"
 want_ecore_x_xfixes="yes"
 want_ecore_x_xinerama="yes"
@@ -135,40 +151,51 @@ want_ecore_x_xprint="yes"
 want_ecore_x_xtest="yes"
 want_ecore_x_cursor="yes"
 want_ecore_x_input="yes"
+want_ecore_x_dri="yes"
 
 # ecore_evas modules
 want_ecore_evas="yes"
 want_ecore_evas_software_buffer="yes"
 want_ecore_evas_software_x11="no"
-want_ecore_evas_xrender_x11="no"
 want_ecore_evas_opengl_x11="no"
 want_ecore_evas_software_16_x11="no"
 want_ecore_evas_software_8_x11="no"
 want_ecore_evas_software_xcb="no"
-want_ecore_evas_xrender_xcb="no"
 want_ecore_evas_software_gdi="no"
 want_ecore_evas_software_ddraw="no"
 want_ecore_evas_direct3d="no"
 want_ecore_evas_opengl_glew="no"
 want_ecore_evas_software_16_ddraw="no"
-want_ecore_evas_cocoa="no"
 want_ecore_evas_software_sdl="no"
 want_ecore_evas_gl_sdl="no"
+want_ecore_evas_gl_cocoa="no"
+want_ecore_evas_psl1ght="no"
 want_ecore_evas_directfb="no"
 want_ecore_evas_fb="no"
 want_ecore_evas_software_16_wince="no"
+want_ecore_evas_ews="yes"
+want_ecore_evas_extn="yes"
+want_ecore_evas_wayland_shm="no"
+want_ecore_evas_wayland_egl="no"
+
+# ecore_imf modules
+want_ecore_imf_xim="no"
+want_ecore_imf_scim="no"
 
 case "$host_os" in
-   mingw32ce* | cegcc*)
+   mingw32ce*)
       want_ecore_con="no"
+      want_ecore_ipc="no"
       want_ecore_wince="yes"
       want_ecore_evas_software_16_wince="yes"
+      want_ecore_evas_extn="no"
       ;;
    mingw*)
       want_notify_win32="yes"
       want_curl="yes"
       want_glib="auto"
-      want_ecore_con="no"
+      want_gnutls="auto"
+      want_openssl="auto"
       want_ecore_imf="yes"
       want_ecore_win32="yes"
       want_ecore_evas_software_gdi="yes"
@@ -184,12 +211,11 @@ case "$host_os" in
       want_glib="auto"
       want_gnutls="auto"
       want_openssl="auto"
-      want_ecore_ipc="yes"
       want_ecore_imf="yes"
       want_ecore_cocoa="yes"
-      want_ecore_evas_cocoa="yes"
       want_ecore_evas_software_sdl="yes"
       want_ecore_evas_gl_sdl="yes"
+      want_ecore_evas_gl_cocoa="yes"
       ;;
    *)
       want_curl="yes"
@@ -202,23 +228,31 @@ case "$host_os" in
       want_inotify="yes"
       want_tslib="yes"
       want_ecore_fb="yes"
-      want_ecore_ipc="yes"
       want_ecore_imf="yes"
       want_ecore_x="yes"
+      want_ecore_wayland="yes"
       want_ecore_evas_software_x11="yes"
-      want_ecore_evas_xrender_x11="yes"
       want_ecore_evas_opengl_x11="yes"
       want_ecore_evas_software_16_x11="yes"
       want_ecore_evas_software_8_x11="yes"
-      want_ecore_evas_software_xcb="yes"
-      want_ecore_evas_xrender_xcb="yes"
+      want_ecore_evas_software_xcb="no"
       want_ecore_evas_software_sdl="yes"
       want_ecore_evas_gl_sdl="yes"
+      want_ecore_evas_gl_cocoa="no"
       want_ecore_evas_directfb="yes"
       want_ecore_evas_fb="yes"
+      want_ecore_evas_wayland_shm="yes"
+      want_ecore_evas_wayland_egl="yes"
+      want_ecore_imf_xim="yes"
+      want_ecore_imf_scim="yes"
       ;;
 esac
 
+case "$host_vendor" in
+  ps3*)
+      want_local_sockets="no"
+      ;;
+esac
 requirements_ecore=""
 requirements_ecore_con=""
 #requirements_ecore_config=""
@@ -233,9 +267,13 @@ requirements_ecore_input_evas=""
 requirements_ecore_ipc=""
 requirements_ecore_cocoa=""
 requirements_ecore_sdl=""
+requirements_ecore_psl1ght=""
 requirements_ecore_x=""
 requirements_ecore_win32=""
 requirements_ecore_wince=""
+requirements_ecore_imf_xim=""
+requirements_ecore_imf_scim=""
+requirements_ecore_wayland=""
 
 ### Additional options to configure
 
@@ -263,19 +301,35 @@ if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" =
   AC_MSG_ERROR([--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive])
 fi
 
+# local sockets (ecore_con.c)
+AC_ARG_ENABLE([local-sockets],
+   [AC_HELP_STRING([--disable-local-sockets], [disable local sockets.])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_ecore_con_local_sockets="yes"
+    else
+       want_ecore_con_local_sockets="no"
+    fi
+   ],
+   [want_ecore_con_local_sockets=${want_local_sockets}])
+
+if test "x${want_ecore_con_local_sockets}" = "xyes" ; then
+   AC_DEFINE([HAVE_LOCAL_SOCKETS], [1], [Have local sockets support])
+fi
+
 # abstract sockets (ecore_con.c)
 AC_ARG_ENABLE([abstract-sockets],
    [AC_HELP_STRING([--disable-abstract-sockets], [disable abstract sockets.])],
    [
     if test "x${enableval}" = "xyes" ; then
-       want_abstract_sockets="yes"
+       want_ecore_con_abstract_sockets="yes"
     else
-       want_abstract_sockets="no"
+       want_ecore_con_abstract_sockets="no"
     fi
    ],
-   [want_abstract_sockets="yes"])
+   [want_ecore_con_abstract_sockets=${want_abstract_sockets}])
 
-if test "x${want_abstract_sockets}" = "xyes" ; then
+if test "x${want_ecore_con_abstract_sockets}" = "xyes" ; then
    AC_DEFINE([HAVE_ABSTRACT_SOCKETS], [1], [Have abstract sockets namespace])
 fi
 
@@ -301,11 +355,6 @@ if test "x${want_xim}" = "xyes" ; then
    AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
 fi
 
-# Unit tests
-
-EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
-
-
 ### Checks for programs
 
 m4_ifdef([AC_PROG_OBJC],
@@ -320,7 +369,6 @@ m4_ifdef([AC_PROG_OBJC],
    ])
 m4_ifndef([am__fastdepOBJC], [
     AM_CONDITIONAL([am__fastdepOBJC], [false])
-    AC_SUBST([cocoa_ldflags])
 ])
 
 AC_PROG_CXX
@@ -332,6 +380,12 @@ have_gnu_objc=${ac_cv_objc_compiler_gnu}
 
 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 
+m4_ifdef([v_mic],
+   [
+    EFL_COMPILER_FLAG([-Wall])
+    EFL_COMPILER_FLAG([-W])
+   ])
+
 # The first call to PKG_CHECK_MODULES is done conditionally,
 # so we should include this here:
 PKG_PROG_PKG_CONFIG
@@ -344,14 +398,27 @@ else
 fi
 AC_SUBST(pkgconfig_requires_private)
 
+### Checks for some build time option
+have_backtrace="no"
+AC_CHECK_FUNCS([backtrace], [have_backtrace="yes"], [])
+
+want_ecore_timer_dump="no"
+
+AC_ARG_ENABLE([ecore-timer-dump],
+   [AC_HELP_STRING([--disable-ecore-timer-dump], [disable tracking of timer allocation. @<:@default=enable@:>@])],
+   [want_ecore_timer_dump=$enableval], [])
+
+if test "x$want_ecore_timer_dump" = "xyes" -a "x$have_backtrace" = "xyes"; then
+   AC_DEFINE(WANT_ECORE_TIMER_DUMP, [1], [Want Ecore_Timer dump infrastructure])
+fi
 
 ### Checks for libraries
 
 # Evil library for compilation on Windows
 
 case "$host_os" in
-   mingw* | cegcc*)
-      PKG_CHECK_MODULES([EVIL], [evil])
+   mingw*)
+      PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
       requirements_ecore="evil ${requirements_ecore}"
       requirements_ecore_evas="evil ${requirements_ecore_evas}"
@@ -359,12 +426,14 @@ case "$host_os" in
       requirements_ecore_imf="evil ${requirements_ecore_imf}"
       requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
       EFL_ECORE_BUILD="-DEFL_ECORE_BUILD"
-      EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
+      EFL_ECORE_CON_BUILD="-DEFL_ECORE_CON_BUILD"
       EFL_ECORE_EVAS_BUILD="-DEFL_ECORE_EVAS_BUILD"
+      EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
       EFL_ECORE_IMF_BUILD="-DEFL_ECORE_IMF_BUILD"
       EFL_ECORE_IMF_EVAS_BUILD="-DEFL_ECORE_IMF_EVAS_BUILD"
       EFL_ECORE_INPUT_BUILD="-DEFL_ECORE_INPUT_BUILD"
       EFL_ECORE_INPUT_EVAS_BUILD="-DEFL_ECORE_INPUT_EVAS_BUILD"
+      EFL_ECORE_IPC_BUILD="-DEFL_ECORE_IPC_BUILD"
       ;;
 esac
 
@@ -385,19 +454,57 @@ case "$host_os" in
       ;;
 esac
 
+have_ps3=""
+case "$host_vendor" in
+  ps3*)
+      have_ps3="yes"
+      PKG_CHECK_MODULES([ESCAPE], [escape])
+      CFLAGS="$CFLAGS $ESCAPE_CFLAGS"
+      AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if Escape library is installed])
+      EFL_ECORE_PSL1GHT_BUILD="-DEFL_ECORE_PSL1GHT_BUILD"
+      requirements_ecore="escape ${requirements_ecore}"
+      requirements_ecore_evas="escape ${requirements_ecore_evas}"
+      requirements_ecore_file="escape ${requirements_ecore_file}"
+      requirements_ecore_imf="escape ${requirements_ecore_imf}"
+      requirements_ecore_imf_evas="escape ${requirements_ecore_imf_evas}"
+      requirements_ecore_sdl="escape ${requirements_ecore_sdl}"
+      want_ecore_psl1ght="yes"
+      want_ecore_evas_psl1ght="yes"
+      ;;
+esac
+
+
+### Checks for portability layer
+
+PKG_CHECK_MODULES([EXOTIC],
+   [exotic],
+   [enable_exotic="yes"],
+   [enable_exotic="no"])
+
+if test "x${enable_exotic}" = "xyes"; then
+    requirements_ecore="exotic ${requirements_ecore}"
+
+    AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
+fi
+AM_CONDITIONAL([ECORE_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"])
+
 AC_SUBST(EFL_ECORE_BUILD)
-AC_SUBST(EFL_ECORE_FILE_BUILD)
+AC_SUBST(EFL_ECORE_CON_BUILD)
 AC_SUBST(EFL_ECORE_EVAS_BUILD)
+AC_SUBST(EFL_ECORE_FILE_BUILD)
 AC_SUBST(EFL_ECORE_IMF_BUILD)
 AC_SUBST(EFL_ECORE_IMF_EVAS_BUILD)
 AC_SUBST(EFL_ECORE_INPUT_BUILD)
 AC_SUBST(EFL_ECORE_INPUT_EVAS_BUILD)
+AC_SUBST(EFL_ECORE_IPC_BUILD)
 AC_SUBST(EFL_ECORE_WINCE_BUILD)
 AC_SUBST(EFL_ECORE_WIN32_BUILD)
 AC_SUBST(EFL_ECORE_SDL_BUILD)
+AC_SUBST(EFL_ECORE_PSL1GHT_BUILD)
 
 AM_CONDITIONAL(ECORE_HAVE_WINCE, test "x${have_wince}" = "xyes")
 AM_CONDITIONAL(ECORE_HAVE_WIN32, test "x${have_win32}" = "xyes")
+AM_CONDITIONAL(ECORE_HAVE_PS3, test "x${have_ps3}" = "xyes")
 
 WIN32_LIBS=""
 case "$host_os" in
@@ -410,11 +517,18 @@ case "$host_os" in
       dlopen_libs="-ldl"
       ;;
    *)
-      AC_CHECK_LIB([dl], [dlopen], [dlopen_libs=-ldl])
-      AC_SEARCH_LIBS([clock_gettime], [rt],
-         [
-          rt_libs=-lrt
-          AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [Have clock_gettime()])
+      AC_CHECK_LIB([c], [dlopen],
+         [],
+         [AC_CHECK_LIB([dl], [dlopen],
+             [dlopen_libs=-ldl])
+         ])
+      AC_CHECK_LIB([c], [clock_gettime],
+         [AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [Have clock_gettime()])],
+         [AC_CHECK_LIB([rt], [clock_gettime],
+             [
+              rt_libs=-lrt
+              AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [Have clock_gettime()])
+             ])
          ])
       ;;
 esac
@@ -424,25 +538,26 @@ AC_SUBST(rt_libs)
 
 # Eina library
 
-PKG_CHECK_MODULES(EINA, [eina >= 1.0.0])
+PKG_CHECK_MODULES(EINA, [eina >= 1.1.0])
 #FIXME check all the requirements when the eina move will be finished
-requirements_ecore="eina >= 1.0.0 ${requirements_ecore}"
-requirements_ecore_con="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_con}"
-#requirements_ecore_config="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_config}"
-requirements_ecore_directfb="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_directfb}"
-requirements_ecore_evas="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_evas}"
-requirements_ecore_fb="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_fb}"
-requirements_ecore_file="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_file}"
-requirements_ecore_imf="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_imf}"
-requirements_ecore_imf_evas="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_imf_evas}"
-requirements_ecore_input="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_input}"
-requirements_ecore_input_evas="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_input_evas}"
-requirements_ecore_ipc="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_ipc}"
-requirements_ecore_cocoa="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_cocoa}"
-requirements_ecore_sdl="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_sdl}"
-requirements_ecore_win32="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_win32}"
-requirements_ecore_wince="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_wince}"
-requirements_ecore_x="ecore >= 1.0.0 eina >= 1.0.0 ${requirements_ecore_x}"
+requirements_ecore="eina >= 1.1.0 ${requirements_ecore}"
+requirements_ecore_con="ecore >= 1.1.0 eina >= 1.1.0 ${requirements_ecore_con}"
+#requirements_ecore_config="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input}"
+requirements_ecore_input_evas="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_input_evas}"
+requirements_ecore_ipc="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_ipc}"
+requirements_ecore_cocoa="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_cocoa}"
+requirements_ecore_sdl="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}"
+requirements_ecore_psl1ght="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_sdl}"
+requirements_ecore_win32="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_wince}"
+requirements_ecore_x="ecore >= 1.1.99 eina >= 1.1.0 ${requirements_ecore_x}"
 
 
 # glib support (main loop integration)
@@ -466,24 +581,25 @@ fi
 # SDL library (ecore_sdl)
 
 have_sdl="no"
-SDL_CONFIG="sdl-config"
-AC_ARG_WITH([sdl-config],
-   [AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified])],
-   [
-    SDL_CONFIG=$withval
-    AC_MSG_NOTICE([using ${SDL_CONFIG} for sdl-config])
-   ])
-
-AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
-
-if test -n "$SDL_CONFIG" ; then
-   SDL_CFLAGS=`$SDL_CONFIG --cflags`
-   SDL_LIBS=`$SDL_CONFIG --libs`
-   AC_SUBST(SDL_CFLAGS)
-   AC_SUBST(SDL_LIBS)
-   have_sdl="yes"
-else
-   PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
+PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
+if test "x${have_sdl}" != "xyes" ; then
+   SDL_CONFIG="sdl-config"
+   AC_ARG_WITH([sdl-config],
+      [AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified])],
+      [
+       SDL_CONFIG=$withval
+       AC_MSG_NOTICE([using ${SDL_CONFIG} for sdl-config])
+      ])
+
+   AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
+
+   if test -n "$SDL_CONFIG" ; then
+      SDL_CFLAGS=`$SDL_CONFIG --cflags`
+      SDL_LIBS=`$SDL_CONFIG --libs`
+      AC_SUBST(SDL_CFLAGS)
+      AC_SUBST(SDL_LIBS)
+      have_sdl="yes"
+   fi
 fi
 
 if test "x${have_sdl}" = "xyes" ; then
@@ -510,6 +626,45 @@ PKG_CHECK_MODULES([DIRECTFB],
 
 # Xlib and XCB (ecore_x)
 
+AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
+
+if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
+   AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
+   FOUND_MAXHOSTNAMELEN="not found"
+
+   AC_COMPILE_IFELSE(
+      [
+       AC_LANG_PROGRAM(
+          [[
+#include <sys/param.h>
+          ]],
+          [[
+int h = MAXHOSTNAMELEN;
+          ]])
+      ],
+      [
+       FOUND_MAXHOSTNAMELEN="sys/param.h"
+       AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
+      ])
+
+   AC_COMPILE_IFELSE(
+      [
+       AC_LANG_PROGRAM(
+          [[
+#include <netdb.h>
+          ]],
+          [[
+int h = MAXHOSTNAMELEN;
+          ]])
+      ],
+      [
+       FOUND_MAXHOSTNAMELEN="netdb.h"
+       AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
+      ])
+
+   AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
+fi
+
 have_x="no"
 have_ecore_x="no"
 have_ecore_x_xlib="no"
@@ -564,6 +719,12 @@ AC_ARG_ENABLE(ecore-x-shape,
         @<:@default=detect@:>@])],
    [want_ecore_x_shape=$enableval])
 
+AC_ARG_ENABLE(ecore-x-gesture,
+   [AC_HELP_STRING([--enable-ecore-x-gesture],
+       [enable the ecore_x support for Xgesture extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_gesture=$enableval])
+
 AC_ARG_ENABLE(ecore-x-sync,
    [AC_HELP_STRING([--disable-ecore-x-sync],
        [disable the ecore_x support for Xsync extension.
@@ -606,23 +767,154 @@ AC_ARG_ENABLE(ecore-x-input,
         @<:@default=detect@:>@])],
    [want_ecore_x_input=$enableval])
 
+AC_ARG_ENABLE(ecore-x-dri,
+   [AC_HELP_STRING([--disable-ecore-x-dri],
+       [disable the ecore_x support for DRI extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_dri=$enableval])
 
 AC_ARG_ENABLE(ecore-x-xcb,
    [AC_HELP_STRING([--enable-ecore-x-xcb],
        [enable the ecore_x module with XCB backend. @<:@default=disabled@:>@])],
-   [want_ecore_x_xcb=$enableval],
-   [want_ecore_x_xcb="no"])
+   [want_ecore_x_xcb=$enableval])
 
 AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built)
 AC_MSG_RESULT($want_ecore_x_xcb)
 
 if test "x$want_ecore_x_xcb" = "xyes" ; then
-  PKG_CHECK_MODULES(XCB, xcb xcb-icccm xcb-image xcb-keysyms pixman-1,
+
+  AC_MSG_CHECKING([keysym definitions])
+  KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
+  FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
+  for i in $FILES; do
+      if test -f "$KEYSYMDEFDIR/$i"; then
+        KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
+      elif test "x$i" = "xkeysymdef.h"; then
+        AC_MSG_ERROR([Cannot find keysymdef.h])
+      fi
+  done
+  AC_MSG_RESULT([$KEYSYMDEFS])
+  AC_SUBST(KEYSYMDEFS)
+
+  have_iconv="no"
+  AC_ARG_WITH([iconv-link],
+    AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
+      [
+        LIBS="$withval $LIBS"
+        have_iconv="yes"
+      ])
+
+  AC_MSG_CHECKING(for explicit iconv link options)
+  if test "x${iconv_libs}" = "x" ; then
+    AC_MSG_RESULT([no explicit iconv link option])
+  else
+    AC_MSG_RESULT([$iconv_libs])
+  fi
+
+  if test "x${have_iconv}" = "xno" ; then
+    AC_CHECK_HEADERS([iconv.h], [have_iconv="yes"])
+
+    if test "x${have_iconv}" = "xyes" ; then
+      AC_MSG_CHECKING([whether iconv() is in libc])
+
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM(
+        [[
+          #include <stdlib.h>
+          #include <iconv.h>
+        ]],
+        [[
+          iconv_t ic;
+          size_t count = iconv(ic, NULL, NULL, NULL, NULL);
+        ]])],
+        [have_iconv="yes"],
+        [have_iconv="no"])
+
+      AC_MSG_RESULT([${have_iconv}])
+    fi
+
+    if test "x${have_iconv}" = "xno" ; then
+      AC_MSG_CHECKING([whether iconv() is in libiconv.a])
+
+      LIBS_save="${LIBS}"
+      LIBS="-liconv $LIBS"
+      AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+        [[
+          #include <stdlib.h>
+          #include <iconv.h>
+        ]],
+        [[
+          iconv_t ic;
+          size_t count;
+          count = iconv(ic, NULL, NULL, NULL, NULL);
+        ]])],
+        [have_iconv="yes"],
+        [
+          have_iconv="no"
+          LIBS=${LIBS_save}
+        ])
+
+      AC_MSG_RESULT([${have_iconv}])
+    fi
+
+    if test "x${have_iconv}" = "xno" ; then
+      AC_MSG_CHECKING([whether iconv() is in libiconv_plug.a])
+
+      LIBS_save="${LIBS}"
+      LIBS="-liconv_plug $LIBS"
+      AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+      [[
+        #include <stdlib.h>
+        #include <iconv.h>
+      ]],
+      [[
+        iconv_t ic;
+        size_t count = iconv(ic, NULL, NULL, NULL, NULL);
+      ]])],
+      [have_iconv="yes"],
+      [
+        have_iconv="no"
+        LIBS=${LIBS_save}
+      ])
+
+      AC_MSG_RESULT([${have_iconv}])
+    fi
+
+    if test "x${have_iconv}" = "xyes" ; then
+      AC_DEFINE([HAVE_ICONV], [1], [Set to 1 if iconv library is installed])
+    fi
+  fi
+
+  PKG_CHECK_MODULES(ECORE_XCB, x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8,
     [ have_ecore_x_xcb="yes"
-      requirements_ecore_x="xcb xcb-icccm xcb-image xcb-keysyms pixman-1 ${requirements_ecore_x}" ],
-    [ have_ecore_x_xcb="no" ])
+      requirements_ecore_x="x11-xcb xcb xcb-shm xcb-event xcb-icccm xcb-util xcb-image xcb-keysyms ${requirements_ecore_x}"
+    ],
+    [ 
+       PKG_CHECK_MODULES(ECORE_XCB, x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms, 
+         [ have_ecore_x_xcb="yes"
+           AC_DEFINE(OLD_XCB_VERSION, 1, [xcb version])
+           requirements_ecore_x="x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms ${requirements_ecore_x}" ],
+         [ have_ecore_x_xcb="no" ])
+    ], 
+    [have_ecore_x_xcb="no" ])
 
   if test "x$have_ecore_x_xcb" = "xyes" ; then
+
+   PKG_CHECK_MODULES([PIXMAN],
+      [pixman-1],
+      [
+       have_pixman="yes"
+       AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
+       requirements_ecore_x="pixman-1 ${requirements_ecore_x}"
+      ],
+      [
+       if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
+       fi
+      ])
+
     if test "x$want_ecore_x_composite" != "xno"; then
       PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
         [ have_ecore_x_xcb_composite="yes"
@@ -668,9 +960,9 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
     fi
 
     if test "x$want_ecore_x_render" != "xno"; then
-      PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
+      PKG_CHECK_MODULES(XCB_RENDER, xcb-render xcb-renderutil,
         [ have_ecore_x_xcb_render="yes"
-          requirements_ecore_x="xcb-render ${requirements_ecore_x}"
+          requirements_ecore_x="xcb-render xcb-renderutil ${requirements_ecore_x}"
           AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
         [ have_ecore_x_xcb_render="no" ])
     else
@@ -700,6 +992,17 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
       AC_MSG_NOTICE("shape extension explicitly disabled")
     fi
 
+    if test "x$want_ecore_x_gesture" != "xno"; then
+      PKG_CHECK_MODULES(XCB_XGESTURE, xcb-gesture,
+        [ have_ecore_x_xcb_gesture="yes"
+          requirements_ecore_x="xcb-gesture ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_XGESTURE, 1, [Build support for XCB gesture]) ],
+        [ have_ecore_x_xcb_gesture="no" ])
+    else
+      have_ecore_x_xcb_gesture="no"
+      AC_MSG_NOTICE("gesture extension explicitly disabled")
+    fi
+
     if test "x$want_ecore_x_sync" != "xno"; then
       PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
         [ have_ecore_x_xcb_sync="yes"
@@ -715,7 +1018,7 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
       PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes,
         [ have_ecore_x_xcb_xfixes="yes"
           requirements_ecore_x="xcb-xfixes ${requirements_ecore_x}"
-          AC_DEFINE(ECORE_XCB_FIXES, 1, [Build support for XCB xfixes]) ],
+          AC_DEFINE(ECORE_XCB_XFIXES, 1, [Build support for XCB xfixes]) ],
         [ have_ecore_x_xcb_xfixes="no" ])
     else
       have_ecore_x_xcb_xfixes="no"
@@ -755,10 +1058,45 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
       AC_MSG_NOTICE("xtest extension explicitly disabled")
     fi
 
+# input extension disabled currently in xcb as xcb-input has some issues
+    want_ecore_x_input="no"
+    if test "x$want_ecore_x_input" != "xno"; then
+      PKG_CHECK_MODULES(XCB_XINPUT, xcb-xinput,
+        [ have_ecore_x_xcb_xinput="yes"
+          requirements_ecore_x="xcb-xinput ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_XINPUT, 1, [Build support for XCB xinput]) ],
+        [ have_ecore_x_xcb_xinput="no" ])
+    else
+      have_ecore_x_xcb_xinput="no"
+      AC_MSG_NOTICE("xinput extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_cursor" != "xno"; then
+      PKG_CHECK_MODULES(XCB_CURSOR, xcb-render xcb-renderutil,
+        [ have_ecore_x_xcb_cursor="yes"
+          requirements_ecore_x="xcb-render xcb-renderutil ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_CURSOR, 1, [Build support for XCB cursor]) ],
+        [ have_ecore_x_xcb_cursor="no" ])
+    else
+      have_ecore_x_xcb_cursor="no"
+      AC_MSG_NOTICE("cursor extension explicitly disabled")
+    fi
+
+#    if test "x$want_ecore_x_dri" != "xno"; then
+#      PKG_CHECK_MODULES(XCB_DRI, xcb-dri2,
+#        [ have_ecore_x_xcb_dri="yes"
+#          requirements_ecore_x="xcb-dri2 ${requirements_ecore_x}"
+#          AC_DEFINE(ECORE_XCB_DRI, 1, [Build support for XCB dri/dri2]) ],
+#        [ have_ecore_x_xcb_dri="no" ])
+#    else
+#      have_ecore_x_xcb_dri="no"
+#      AC_MSG_NOTICE("dri extension explicitly disabled")
+#    fi
+
     AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
 
-    x_cflags=$XCB_CFLAGS
-    x_libs=$XCB_LIBS
+    x_cflags=$ECORE_XCB_CFLAGS
+    x_libs=$ECORE_XCB_LIBS
     have_x="yes"
 
     have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB"
@@ -835,12 +1173,13 @@ if ! test "x$have_ecore_x_xcb" = "xyes" ; then
     ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens], [$want_ecore_x_xinerama])
     ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens], [$want_ecore_x_xprint])
     ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent], [$want_ecore_x_randr])
+    ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension], [$want_ecore_x_gesture])
     ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat], [$want_ecore_x_render])
     ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent], [$want_ecore_x_xtest])
     ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput], [$want_ecore_x_screensaver])
     ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice], [$want_ecore_x_input])
 
-    ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} ${XI2_LIBS}"
+    ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XGESTURE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} ${XI2_LIBS}"
 
     AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
     have_x="yes"
@@ -860,14 +1199,19 @@ AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
 
 # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas)
 
-PKG_CHECK_MODULES([EVAS], [evas >= 1.0.0],
+PKG_CHECK_MODULES([EVAS], [evas >= 1.1.99],
    [have_evas="yes"],
    [have_evas="no"])
 
 
 ### Checks for header files
 
+AC_CHECK_HEADERS([sys/select.h sys/prctl.h])
+
+EFL_CHECK_PATH_MAX
+
 AC_HEADER_SYS_WAIT
+AC_SYS_LARGEFILE
 
 have_addrinfo="no"
 case "$host_os" in
@@ -884,7 +1228,23 @@ esac
 
 # ecore_con
 
-AC_CHECK_HEADERS([arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h])
+AC_CHECK_HEADERS([sys/socket.h])
+AC_CHECK_HEADERS([net/if.h], [], [],
+[
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+# include <sys/socket.h>
+#endif
+])
+AC_CHECK_HEADERS([sys/un.h arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h])
 
 if test "x${ac_cv_header_netdb_h}" = "xyes" ; then
    have_addrinfo="yes"
@@ -897,19 +1257,42 @@ AC_CHECK_HEADER([linux/fb.h],
 
 # Cocoa header files (ecore_cocoa)
 
-cocoa_ldflags="";
-have_cocoa="no"
-m4_ifdef([AC_PROG_OBJC], [
-    if test "x${have_gnu_objc}" = "xyes" ; then
-       AC_LANG_PUSH([Objective C])
-       AC_CHECK_HEADER([Cocoa/Cocoa.h],
-          [
-           have_cocoa="yes"
-           cocoa_ldflags="-framework Cocoa"
-          ])
-       AC_LANG_POP([Objective C])
-    fi
-])
+if test "x${want_ecore_cocoa}" = "xyes" ; then
+   cocoa_ldflags=""
+   have_cocoa="no"
+   m4_ifdef([AC_PROG_OBJC],
+      [
+       if test "x${have_gnu_objc}" = "xyes" ; then
+          AC_LANG_PUSH([Objective C])
+          LIBS_save="$LIBS"
+          LIBS="$LIBS -framework Cocoa"
+          AC_LINK_IFELSE(
+             [AC_LANG_PROGRAM(
+                 [[
+#include <Cocoa/Cocoa.h>
+                 ]],
+                 [[
+NSWindow *window;
+window = [[NSWindow alloc]
+           initWithContentRect:NSMakeRect(0, 0, 1, 1)
+           styleMask:(NSTitledWindowMask)
+           backing:NSBackingStoreBuffered
+           defer:NO
+           screen:nil
+         ];
+                 ]])],
+             [
+              have_cocoa="yes"
+              cocoa_ldflags="-framework Cocoa"
+             ],
+             [have_cocoa="no"])
+          LIBS="$LIBS_save"
+          AC_MSG_CHECKING([whether Cocoa framework is supported])
+          AC_MSG_RESULT([${have_cocoa}])
+          AC_LANG_POP([Objective C])
+       fi
+   ])
+fi
 AC_SUBST(cocoa_ldflags)
 
 want_epoll=yes
@@ -922,6 +1305,9 @@ if test "x${want_epoll}" = "xyes" ; then
   AC_CHECK_HEADERS([sys/epoll.h])
 fi
 
+# timerfd_create
+AC_CHECK_HEADERS([sys/timerfd.h])
+AC_CHECK_FUNCS(timerfd_create)
 
 # thread support
 
@@ -939,6 +1325,22 @@ EFL_CHECK_THREADS(
    ],
    [have_threads="no"])
 
+### enable thread safety if we have threads, unless specifically asked not to
+if test "x${have_threads}" = "xno"
+then
+  want_thread_safety="no"
+else
+  want_thread_safety="no"  # to be changed to yes when ready
+  AC_ARG_ENABLE(thread-safety,
+    AC_HELP_STRING([--enable-thread-safety], [enable or disable thread safety]),
+    [want_thread_safety=$enableval])
+fi
+
+if test "x${want_thread_safety}" = "xyes"
+then
+   AC_DEFINE([HAVE_THREAD_SAFETY], [1], [Define to enable thread safety])
+fi
+
 ### Checks for types
 AC_CHECK_SIZEOF(int, 4)
 AC_CHECK_SIZEOF(long, 4)
@@ -948,7 +1350,7 @@ AC_CHECK_SIZEOF(long, 4)
 
 
 ### Checks for compiler characteristics
-AM_PROG_CC_STDC
+AC_PROG_CC_STDC
 AC_C_CONST
 AC_C_BIGENDIAN
 AC_HEADER_STDC
@@ -985,37 +1387,114 @@ esac
 AC_SUBST(lt_enable_auto_import)
 
 ### Checks for library functions
+AC_ISC_POSIX
 AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(gettimeofday strlcpy)
+AC_CHECK_FUNCS([gettimeofday strlcpy execvp])
+
+AC_COMPILE_IFELSE(
+   [AC_LANG_PROGRAM(
+       [[
+#include <math.h>
+       ]],
+       [[
+int i = isfinite(0);
+       ]])],
+   [
+    AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
+    have_isfinite="yes"
+   ],
+   [have_isfinite="no"])
+
+AC_MSG_CHECKING([for isfinite])
+AC_MSG_RESULT([${have_isfinite}])
 
 have_atfile_source=auto
-AC_ARG_ENABLE(atfile-source,
-        AC_HELP_STRING([--disable-atfile-source],
-                       [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@]),
-        [have_atfile_source=$enableval], [have_atfile_source=auto])
-
-if test "x$have_atfile_source" != "xno"; then
-        AC_CHECK_FUNCS(mkdirat,
-                [
-                have_atfile_source=yes
-                AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
-                ],
-                [
-                if test "x$have_atfile_source" = "xyes"; then
-                        AC_MSG_ERROR([required atfile-source but no mkdirat()])
-                fi
-                have_atfile_source=no
-                ])
+AC_ARG_ENABLE([atfile-source],
+   [AC_HELP_STRING([--disable-atfile-source],
+       [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       have_atfile_source="yes"
+    else
+       have_atfile_source="no"
+    fi],
+   [have_atfile_source=auto])
+
+if ! test "x${have_atfile_source}" = "xno" ; then
+   AC_CHECK_FUNCS(mkdirat,
+      [
+       have_atfile_source="yes"
+       AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
+      ],
+      [
+       if test "x${have_atfile_source}" = "xyes" ; then
+          AC_MSG_ERROR([required atfile-source but no mkdirat()])
+       fi
+       have_atfile_source="no"
+      ])
 fi
 
+SHM_OPEN_LIBS=""
+
+AC_MSG_CHECKING([whether shm_open is in libc])
+AC_LINK_IFELSE(
+   [AC_LANG_PROGRAM(
+       [[
+#include <sys/mman.h>
+#include <sys/stat.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])
+   ],
+   [have_shm_open="no"])
+LIBS="${LIBS_save}"
+AC_MSG_RESULT([${have_shm_open}])
+
+if ! test "x${have_shm_open}" = "xyes" ; then
+   AC_MSG_CHECKING([whether shm_open is in librt])
+   LIBS_save="${LIBS}"
+   LIBS="${LIBS} -lrt"
+   AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+          [[
+#include <sys/mman.h>
+#include <sys/stat.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_LIBS="-lrt"
+      ],
+      [have_shm_open="no"])
+   LIBS="${LIBS_save}"
+   AC_MSG_RESULT([${have_shm_open}])
+fi
+
+AC_SUBST([SHM_OPEN_LIBS])
+
+AC_MSG_CHECKING([whether shm_open is available])
+AC_MSG_RESULT([${have_shm_open}])
+
 ### Checks for optionnal feature
-AC_CHECK_FUNC(mallinfo,
-       [
-         have_mallinfo=yes
-         AC_DEFINE(HAVE_MALLINFO, 1, [Gather memory statistic])
-       ], [
-         have_mallinfo=no
-       ])
+AC_CHECK_FUNC([mallinfo],
+   [
+    have_mallinfo="yes"
+    AC_DEFINE(HAVE_MALLINFO, 1, [Gather memory statistic])
+   ],
+   [have_mallinfo="no"])
 
 ### Ecore modules
 
@@ -1028,8 +1507,41 @@ have_curl="no"
 have_gnutls="no"
 have_openssl="no"
 have_cares="no"
+want_ipv6="yes"
+have_ipv6="no"
+
+AC_ARG_ENABLE([ipv6],
+   [AC_HELP_STRING([--disable-ipv6],
+       [disable ipv6 functionality @<:@default=detect@:>@])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_ipv6="yes"
+    else
+       want_ipv6="no"
+    fi],
+   [want_ipv6="auto"])
+
 if test "x${have_ecore_con}" = "xyes" ; then
 
+   # Verify IPV6 availability in headers
+   if test "x${want_ipv6}" != "xno" ; then
+      AC_CHECK_TYPES([struct ipv6_mreq],
+         [have_ipv6="yes"],
+         [have_ipv6="no"],
+         [[
+#ifdef HAVE_NETINET_IN_H
+# include <netinet/in.h>
+#endif
+#ifdef HAVE_WS2TCPIP_H
+# include <ws2tcpip.h>
+#endif
+         ]])
+   fi
+
+   if test "x${have_ipv6}" = "xyes" ; then
+      AC_DEFINE(HAVE_IPV6, 1, [Define if IPV6 is supported])
+   fi
+
    ECORE_CHECK_CURL([${want_curl}],
       [
        have_curl="yes"
@@ -1070,7 +1582,10 @@ AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
 
 # ecore_ipc
 ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}],
-   [requirements_ecore_ipc="ecore-con >= 1.0.0 ${requirements_ecore_ipc}"])
+   [
+     requirements_ecore_ipc="ecore-con >= 1.1.99 ${requirements_ecore_ipc}"
+     requirements_ecore_evas="ecore-ipc >= 1.1.99 ${requirements_ecore_evas}"
+   ])
 
 # ecore_file
 ECORE_CHECK_MODULE([file], [${want_ecore_file}], [File])
@@ -1084,8 +1599,16 @@ if test "x${have_ecore_file}" = "xyes" ; then
    ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"])
 
    if test "x${have_ecore_con}" = "xyes" ; then
-      requirements_ecore_file="ecore-con >= 1.0.0 ${requirements_ecore_file}"
+      requirements_ecore_file="ecore-con >= 1.1.99 ${requirements_ecore_file}"
+   else
+      ECORE_CHECK_CURL([${want_curl}],
+         [
+          have_curl="yes"
+          requirements_ecore_file="libcurl ${requirements_ecore_file}"
+         ],
+         [have_curl="no"])
    fi
+
 fi
 
 # ecore_config
@@ -1095,7 +1618,7 @@ fi
 #fi
 
 #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
-#   [requirements_ecore_config="ecore-ipc >= 1.0.0 evas >= 1.0.0 eet >= 1.4.0 ${requirements_ecore_config}"])
+#   [requirements_ecore_config="ecore-ipc >= 1.1.99 evas >= 1.1.99 eet >= 1.5.0 ${requirements_ecore_config}"])
 
 AM_CONDITIONAL(BUILD_ECORE_CONFIG, false)
 
@@ -1111,12 +1634,42 @@ if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}],
-   [requirements_ecore_imf_evas="ecore-imf >= 1.0.0 evas >= 1.0.0 ${requirements_ecore_imf_evas}"])
+   [requirements_ecore_imf_evas="ecore-imf >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_imf_evas}"])
 
 # ecore_input{_evas}
 ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input])
 ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}],
-   [requirements_ecore_input_evas="ecore-input >= 1.0.0 evas >= 1.0.0 ${requirements_ecore_input}"])
+   [requirements_ecore_input_evas="ecore-input >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_input}"])
+
+# ecore_imf_xim
+AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false)
+ecore_imf_xim_deps="no"
+echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
+if test    "x${have_ecore_imf}" = "xyes" \
+        -a "x${have_ecore_x_xlib}" = "xyes" \
+        -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_imf_xim_deps="yes"
+   AC_DEFINE(BUILD_ECORE_IMF_XIM, 1, [Ecore Imf XIM Support])
+fi
+
+ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}],
+   [requirements_ecore_imf_xim="ecore-imf >= 1.1.99 ecore-x >= 1.1.99 ecore-input >= 1.1.99 ${requirements_ecore_imf_xim}"])
+
+# ecore_imf_scim
+PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"])
+
+AM_CONDITIONAL(BUILD_ECORE_IMF_SCIM, false)
+ecore_imf_scim_deps="no"
+echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
+if test    "x${have_ecore_imf}" = "xyes" \
+        -a "x${have_scim}" =  "xyes" \
+        -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_imf_scim_deps="yes"
+   AC_DEFINE(BUILD_ECORE_IMF_SCIM, 1, [Ecore Imf SCIM Support])
+fi
+
+ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}],
+   [requirements_ecore_imf_scim="ecore-imf >= 1.1.0 ecore-x >= 1.1.0 ecore-input >= 1.1.0 ${requirements_ecore_imf_scim}"])
 
 ## Graphic systems
 
@@ -1131,7 +1684,7 @@ fi
 ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
   [
    ecore_x_libs="$ecore_x_libs $x_libs"
-   requirements_ecore_x="ecore-input >= 1.0.0 ${requirements_ecore_x}"
+   requirements_ecore_x="ecore-input >= 1.1.99 ${requirements_ecore_x}"
   ])
 
 # ecore_win32
@@ -1139,7 +1692,7 @@ ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
 ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}],
    [
     ecore_win32_libs="-lole32 -lgdi32"
-    requirements_ecore_win32="ecore-input >= 1.0.0 ${requirements_ecore_win32}"
+    requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}"
    ])
 AC_SUBST(ecore_win32_libs)
 
@@ -1151,7 +1704,7 @@ if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}],
-   [requirements_ecore_cocoa="ecore-input >= 1.0.0 ${requirements_ecore_cocoa}"])
+   [requirements_ecore_cocoa="ecore-input >= 1.1.99 ${requirements_ecore_cocoa}"])
 
 # ecore_sdl
 
@@ -1161,7 +1714,10 @@ if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
 fi
 
 ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}],
-   [requirements_ecore_sdl="ecore-input >= 1.0.0 ${requirements_ecore_sdl}"])
+   [requirements_ecore_sdl="ecore-input >= 1.1.99 ${requirements_ecore_sdl}"])
+
+ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}],
+   [requirements_ecore_psl1ght="ecore-input >= 1.1.99 ${requirements_ecore_psl1ght}"])
 
 # ecore_fb
 ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
@@ -1183,19 +1739,19 @@ ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_dir
 # ecore_wince
 
 ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}],
-   [requirements_ecore_win32="ecore-input >= 1.0.0 ${requirements_ecore_win32}"])
+   [requirements_ecore_win32="ecore-input >= 1.1.99 ${requirements_ecore_win32}"])
 
 ## Ecore Evas
 
 # ecore_evas
 
 ecore_evas_deps="no"
-if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then
+if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then
    ecore_evas_deps="yes"
 fi
 
 ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
-  [requirements_ecore_evas="ecore-input >= 1.0.0 ecore-input-evas >= 1.0.0 evas >= 1.0.0 ${requirements_ecore_evas}"])
+  [requirements_ecore_evas="ecore-input >= 1.1.99 ecore-input-evas >= 1.1.99 evas >= 1.1.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_buffer
 
@@ -1213,32 +1769,58 @@ ECORE_EVAS_CHECK_MODULE([software-x11],
    [Software X11],
    [${have_ecore_x}])
 
-have_ecore_evas_software_xlib=no"
-have_ecore_evas_software_xcb=no"
+have_ecore_evas_software_xlib="no"
+have_ecore_evas_software_xcb="no"
 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
    have_ecore_evas_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
+   if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
+      have_ecore_evas_software_xlib="yes"
+   fi
    if test "x${have_ecore_evas_software_xlib}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
       AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
    fi
    have_ecore_evas_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
+   if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
+      have_ecore_evas_software_xcb="yes"
+   fi
    if test "x$have_ecore_evas_software_xcb" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
       AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
    fi
 fi
 
-# ecore_evas_xrender_x11
-
-ECORE_EVAS_CHECK_MODULE([xrender-x11],
-   [${want_ecore_evas_xrender_x11}],
-   [XRender Xlib],
-   [${have_ecore_x_xlib}])
-
 # ecore_evas_opengl_x11
 
 ECORE_EVAS_CHECK_MODULE([opengl-x11],
    [${want_ecore_evas_opengl_x11}],
    [OpenGL Xlib],
-   [${have_ecore_x_xlib}])
+   [${have_ecore_x}])
+
+have_ecore_evas_opengl_xlib="no"
+have_ecore_evas_opengl_xcb="no"
+if test "x${have_ecore_evas_opengl_x11}" = "xyes" -o "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
+   have_ecore_evas_opengl_xlib=`${PKG_CONFIG} --variable=Xlib evas-opengl-x11`
+   if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
+      AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_XLIB, 1, [OpenGL Xlib rendering backend])
+   fi
+
+# opengl does not work with xcb (yet)
+   have_ecore_evas_opengl_xcb=`${PKG_CONFIG} --variable=XCB evas-opengl-x11`
+   if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
+      have_ecore_evas_opengl_xcb="yes"
+   fi
+   if test "x${have_ecore_evas_opengl_xcb}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
+      PKG_CHECK_MODULES(XCB_X11, x11-xcb,
+        [ have_ecore_x_opengl_xcb="yes"
+          requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
+          AC_DEFINE(BUILD_ECORE_X_OPENGL_XCB, 1, [Build support for XCB-based OpenGL])
+          AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_XCB, 1, [OpenGL XCB rendering backend])
+        ],
+        [ have_ecore_x_opengl_xcb="no" ])
+    else
+      have_ecore_x_opengl_xcb="no"
+      AC_MSG_NOTICE("XCB-based OpenGL explicitly disabled")
+    fi
+fi
 
 # ecore_evas_software_x11 16 bits
 
@@ -1253,22 +1835,13 @@ ECORE_EVAS_CHECK_MODULE([software-8-x11],
     $have_ecore_x_xcb)
 
 
-# ecore_evas_xrender_xcb
-
-ECORE_EVAS_CHECK_MODULE([xrender-xcb],
-   [${want_ecore_evas_xrender_xcb}],
-   [XRender XCB],
-   [${ecore_evas_xcb_deps}])
-
 if test "x$have_ecore_evas_software_x11" = "xyes" -o \
-        "x$have_ecore_evas_xrender_x11" = "xyes" -o \
         "x$have_ecore_evas_opengl_x11" = "xyes" -o \
         "x$have_ecore_evas_software_8_x11" = "xyes" -o \
         "x$have_ecore_evas_software_16_x11" = "xyes" -o \
-        "x$have_ecore_evas_software_xcb" = "xyes" -o \
-        "x$have_ecore_evas_xrender_xcb" = "xyes"; then
+        "x$have_ecore_evas_software_xcb" = "xyes"; then
    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
-   requirements_ecore_evas="ecore-x >= 1.0.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-x >= 1.1.99 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_win32
@@ -1304,24 +1877,18 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \
         "x${have_ecore_evas_opengl_glew}" = "xyes" -o \
         "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then
    AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
-   requirements_ecore_evas="ecore-win32 >= 1.0.0 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-win32 >= 1.1.99 ${requirements_ecore_evas}"
 fi
 
-# ecore_evas_cocoa
-
-ECORE_EVAS_CHECK_MODULE([cocoa],
-   [${want_ecore_evas_cocoa}],
-   [Cocoa],
-   [${have_ecore_cocoa}],
-   [requirements_ecore_evas="ecore-cocoa >= 1.0.0 ${requirements_ecore_evas}"])
-
 # ecore_evas_software_sdl
 
-ECORE_EVAS_CHECK_MODULE([software-sdl],
-   [${want_ecore_evas_software_sdl}],
-   [Software SDL],
-   [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl >= 1.0.0 ${requirements_ecore_evas}"])
+have_ecore_evas_software_sdl="no"
+if test "x${have_ecore_sdl}" = "xyes"; then
+   requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"
+   have_ecore_evas_software_sdl="yes"
+   AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_SDL, 1, [Support for Software SDL Engine in Ecore_Evas])
+   requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"
+fi
 
 # ecore_evas_gl_sdl
 
@@ -1329,7 +1896,15 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl],
    [${want_ecore_evas_gl_sdl}],
    [OpenGL SDL],
    [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl >= 1.0.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-sdl >= 1.1.99 ${requirements_ecore_evas}"])
+
+# ecore_evas_cocoa
+
+ECORE_EVAS_CHECK_MODULE([opengl-cocoa],
+   [${want_ecore_evas_gl_cocoa}],
+   [OpenGL Cocoa],
+   [${have_ecore_cocoa}],
+   [requirements_ecore_evas="ecore-cocoa >= 1.1.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_directfb
 
@@ -1337,7 +1912,7 @@ ECORE_EVAS_CHECK_MODULE([directfb],
    [${want_ecore_evas_directfb}],
    [DirectFB],
    [${have_ecore_directfb}],
-   [requirements_ecore_evas="ecore-directfb >= 1.0.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-directfb >= 1.1.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_fb
 
@@ -1345,7 +1920,7 @@ ECORE_EVAS_CHECK_MODULE([fb],
    [${want_ecore_evas_fb}],
    [Linux Framebuffer],
    [${have_ecore_fb}],
-   [requirements_ecore_evas="ecore-fb >= 1.0.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-fb >= 1.1.99 ${requirements_ecore_evas}"])
 
 # ecore_evas_wince
 
@@ -1353,9 +1928,82 @@ ECORE_EVAS_CHECK_MODULE([software-16-wince],
    [${want_ecore_evas_software_16_wince}],
    [16 bpp Software Windows CE],
    [${have_ecore_wince}],
-   [requirements_ecore_evas="ecore-wince >= 1.0.0 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-wince >= 1.1.99 ${requirements_ecore_evas}"])
+
+# ecore_evas_ews
 
+ECORE_EVAS_CHECK_MODULE_FULL([ews], [software-buffer],
+   [${want_ecore_evas_ews}],
+   [Ecore Evas Single Process Windowing System],
+   [yes], [])
 
+# ecore_evas_extn
+
+have_extn="yes"
+if test "x${have_ecore_ipc}" = "xno" || \
+   test "x${have_ecore_evas_software_buffer}" = "xno" || \
+   test "x${have_shm_open}" = "xno" ; then
+   have_extn="no"
+fi
+
+dnl THIS IS SPECIAL - dont use normal ECORE_EVAS_CHECK_MODULE
+have_ecore_evas_extn="no"
+if test "x${want_ecore_evas_extn}" = "xyes" && \
+   test "x${have_extn}" = "xyes" && \
+   test "x${have_ecore_evas}" = "xyes"; then
+   AC_DEFINE([BUILD_ECORE_EVAS_EXTN], [1], [Support for Extn Engine in Ecore_Evas])
+   have_ecore_evas_extn="yes"
+fi
+
+# ecore_evas_psl1ght
+
+ECORE_EVAS_CHECK_MODULE([psl1ght],
+   [${want_ecore_evas_psl1ght}],
+   [PSL1GHT],
+   [${have_ecore_psl1ght}],
+   [requirements_ecore_evas="ecore-psl1ght >= 1.1.99 ${requirements_ecore_evas}"])
+
+### WAYLAND
+
+ecore_wayland_deps="no"
+have_wayland="no"
+if test "x${want_ecore_wayland}" = "xyes" ; then
+  PKG_CHECK_MODULES([WAYLAND], [egl wayland-egl wayland-client xkbcommon], [have_wayland="yes"], [have_wayland="no"])
+fi
+if test "x${have_ecore_input}" = "xyes" -a "x${have_wayland}" = "xyes" ; then
+  ecore_wayland_deps="yes"
+fi
+
+ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}])
+if test "x${have_ecore_wayland}" = "xyes" ; then
+  requirements_ecore_wayland="ecore-input >= 1.1.0 egl wayland-egl wayland-client xkbcommon ${requirements_ecore_wayland}"
+fi
+
+ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], 
+   [${want_ecore_evas_wayland_shm}],
+   [Wayland Shm],
+   [${have_ecore_wayland}],
+   [requirements_ecore_evas="${requirements_ecore_wayland} ${requirements_ecore_evas}"])
+
+ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl egl], 
+   [${want_ecore_evas_wayland_egl}],
+   [Wayland Egl],
+   [${have_ecore_wayland}],
+   [
+      PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl], [have_wayland_egl="yes"], [have_wayland_egl="no"])
+      if test "x${have_wayland_egl}" = "xyes" ; then
+         requirements_ecore_evas="wayland-egl egl ${requirements_ecore_wayland} ${requirements_ecore_evas}"
+      fi
+   ])
+
+### Unit tests
+
+EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
+
+### install and build examples
+
+EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
+EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
 
 ### requirements
 
@@ -1373,11 +2021,15 @@ AC_SUBST(requirements_ecore_input_evas)
 AC_SUBST(requirements_ecore_ipc)
 AC_SUBST(requirements_ecore_cocoa)
 AC_SUBST(requirements_ecore_sdl)
+AC_SUBST(requirements_ecore_psl1ght)
 AC_SUBST(requirements_ecore_x)
 AC_SUBST(requirements_ecore_win32)
 AC_SUBST(requirements_ecore_wince)
+AC_SUBST(requirements_ecore_imf_xim)
+AC_SUBST(requirements_ecore_imf_scim)
+AC_SUBST(requirements_ecore_wayland)
 
-AC_OUTPUT([
+AC_CONFIG_FILES([
 Makefile
 ecore-con.pc
 ecore-config.pc
@@ -1385,7 +2037,6 @@ ecore-directfb.pc
 ecore-evas.pc
 ecore-fb.pc
 ecore-file.pc
-ecore-cocoa.pc
 ecore-imf.pc
 ecore-imf-evas.pc
 ecore-ipc.pc
@@ -1394,11 +2045,16 @@ ecore-input.pc
 ecore-input-evas.pc
 ecore-win32.pc
 ecore-sdl.pc
+ecore-cocoa.pc
+ecore-psl1ght.pc
 ecore-wince.pc
+ecore-wayland.pc
 ecore.pc
 doc/ecore.dox
 doc/Makefile
+doc/Doxyfile
 src/Makefile
+src/util/Makefile
 src/bin/Makefile
 src/lib/Makefile
 src/lib/ecore/Makefile
@@ -1410,6 +2066,7 @@ src/lib/ecore_fb/Makefile
 src/lib/ecore_file/Makefile
 src/lib/ecore_cocoa/Makefile
 src/lib/ecore_sdl/Makefile
+src/lib/ecore_psl1ght/Makefile
 src/lib/ecore_imf/Makefile
 src/lib/ecore_imf_evas/Makefile
 src/lib/ecore_input/Makefile
@@ -1420,12 +2077,19 @@ src/lib/ecore_wince/Makefile
 src/lib/ecore_x/Makefile
 src/lib/ecore_x/xlib/Makefile
 src/lib/ecore_x/xcb/Makefile
+src/lib/ecore_wayland/Makefile
+src/examples/Makefile
 src/tests/Makefile
-README
+src/modules/Makefile
+src/modules/immodules/Makefile
+src/modules/immodules/xim/Makefile
+src/modules/immodules/scim/Makefile
 ecore.spec
 $po_makefile_in
 ])
 
+AC_OUTPUT
+
 echo
 echo "$PACKAGE $VERSION"
 echo
@@ -1435,10 +2099,12 @@ echo " Core:"
 echo
 echo "  Ecore........................: always"
 echo "    Thread support.............: $have_threads"
+echo "    Thread safety..............: $want_thread_safety"
 echo "    GLib support...............: $have_glib"
 echo "    Always integrate GLib......: $want_glib_integration_always"
 echo "    Use g_main_loop............: $want_g_main_loop"
 echo "    Gathering memory statistic.: $have_mallinfo"
+echo "    Gathering timer allocation.: $want_ecore_timer_dump"
 echo "  Ecore_Con....................: $have_ecore_con"
 if test "x$have_ecore_con" = "xyes" ; then
   echo $ECHO_N "    OpenSSL....................: $have_openssl $ECHO_C"
@@ -1447,9 +2113,13 @@ if test "x$have_gnutls" = "xyes" ; then
 else
   echo
 fi
+  echo "    IPv6.......................: $have_ipv6"
   echo "    GnuTLS.....................: $have_gnutls"
   echo "    CURL.......................: $have_curl"
-  echo "    Abstract Sockets...........: $want_abstract_sockets"
+  echo "    Local Sockets..............: $want_ecore_con_local_sockets"
+if test "x$want_ecore_con_local_sockets" = "xyes" ; then
+  echo "      Abstract Sockets.........: $want_ecore_con_abstract_sockets"
+fi
   echo "    c-ares.....................: $have_cares"
 fi
 echo "  Ecore_Ipc....................: $have_ecore_ipc"
@@ -1471,6 +2141,8 @@ if test "x$have_ecore_file" = "xyes" ; then
 fi
 #echo "  Ecore_Config.................: $have_ecore_config (deprecated)"
 echo "  Ecore_IMF....................: $have_ecore_imf"
+echo "    XIM........................: $have_ecore_imf_xim"
+echo "    SCIM.......................: $have_ecore_imf_scim"
 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
 echo "  Ecore_Input..................: $have_ecore_input"
 echo "  Ecore_Input_Evas.............: $have_ecore_input_evas"
@@ -1487,6 +2159,7 @@ if test "x$have_ecore_x" = "xyes" ; then
     echo "    Xrandr.....................: $have_ecore_x_xcb_randr"
     echo "    Xscreensaver...............: $have_ecore_x_xcb_screensaver"
     echo "    Xshape.....................: $have_ecore_x_xcb_shape"
+    echo "    Xgesture...................: $have_ecore_x_xcb_gesture"
     echo "    Xsync......................: $have_ecore_x_xcb_sync"
     echo "    Xrender....................: $have_ecore_x_xcb_render"
     echo "    Xcomposite.................: $have_ecore_x_xcb_composite"
@@ -1501,6 +2174,7 @@ if test "x$have_ecore_x" = "xyes" ; then
     echo "    Xprint.....................: $use_xprint"
     echo "    Xinerama...................: $use_xinerama"
     echo "    Xrandr.....................: $use_xrandr"
+    echo "    Xgesture...................: $use_xgesture"
     echo "    Xscreensaver...............: $use_xss"
     echo "    Xrender....................: $use_xrender"
     echo "    Xcomposite.................: $use_xcomposite"
@@ -1523,6 +2197,8 @@ if test "x${have_ecore_fb}" = "xyes" ; then
 fi
 echo "  Ecore_DirectFB...............: $have_ecore_directfb"
 echo "  Ecore_WinCE..................: $have_ecore_wince"
+echo "  Ecore_PSL1GHT................: $have_ecore_psl1ght"
+echo "  Ecore_Wayland................: $have_ecore_wayland"
 
 echo
 echo " Ecore Evas:"
@@ -1536,22 +2212,29 @@ if test "x${have_ecore_evas}" = "xyes" ; then
   else
     echo "    Software X11...............: $have_ecore_evas_software_x11"
   fi
-  echo "    XRender X11................: $have_ecore_evas_xrender_x11"
-  echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
-  echo "    XRender XCB................: $have_ecore_evas_xrender_xcb"
+  if test "x${have_ecore_evas_opengl_x11}" = "xyes" ; then
+    echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11 (Xlib=${have_ecore_evas_opengl_xlib}) (XCB=${have_ecore_evas_opengl_xcb})"
+  else
+    echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
+  fi
   echo "    Software GDI...............: $have_ecore_evas_software_gdi"
   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
   echo "    Direct3D...................: $have_ecore_evas_direct3d"
   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
-  echo "    Cocoa......................: $have_ecore_evas_cocoa"
   echo "    Software SDL...............: $have_ecore_evas_software_sdl"
   echo "    OpenGL SDL.................: $have_ecore_evas_opengl_sdl"
+  echo "    OpenGL Cocoa...............: $have_ecore_evas_opengl_cocoa"
   echo "    DirectFB...................: $have_ecore_evas_directfb"
+  echo "    PSL1GHT....................: $have_ecore_evas_psl1ght"
   echo "    Software Framebuffer.......: $have_ecore_evas_fb"
   echo "    Software 8bit grayscale XCB: $have_ecore_evas_software_8_x11"
   echo "    Software 16bit X11.........: $have_ecore_evas_software_16_x11"
   echo "    Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
   echo "    Software 16bit WinCE.......: $have_ecore_evas_software_16_wince"
+  echo "    Sing.Proc. Windowing System: $have_ecore_evas_ews"
+  echo "    Wayland Shm................: $have_ecore_evas_wayland_shm"
+  echo "    Wayland Egl................: $have_ecore_evas_wayland_egl"
+  echo "    Extn (Plug/socket Extn)....: $have_ecore_evas_extn"
 fi
 echo
 echo "  Tests................: ${enable_tests}"