patch from mike - fix epoll on fork thing.
[profile/ivi/ecore.git] / configure.ac
index 0924fae..f54edad 100644 (file)
@@ -1,8 +1,24 @@
-# get rid of that stupid cache mechanism
-rm -f config.cache
-
-AC_INIT([ecore], [0.9.9.063], [enlightenment-devel@lists.sourceforge.net])
-release="ver-pre-svn-05"
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+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_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])
+##--   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_age], v_min)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+
+AC_INIT([ecore], [v_ver.beta], [enlightenment-devel@lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
@@ -20,61 +36,53 @@ AC_LIBTOOL_WIN32_DLL
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 AC_PROG_LIBTOOL
 
-VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
-VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
-VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
-SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
-version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
+m4_ifdef([v_rel], , [m4_define([v_rel], [])])
+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"
+release_info="v_rel"
 AC_SUBST(version_info)
+AC_SUBST(release_info)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=v_maj
+AC_SUBST(VMAJ)
 
+m4_ifdef([AM_GNU_GETTEXT_VERSION], [
 AM_GNU_GETTEXT_VERSION([0.12.1])
+])
+
+m4_ifdef([AM_GNU_GETTEXT], [
 AM_GNU_GETTEXT([external])
+po_makefile_in=po/Makefile.in
+AM_CONDITIONAL([HAVE_PO], [true])
+],[
+AM_CONDITIONAL([HAVE_PO], [false])
+])
+AC_SUBST(LTLIBINTL)
 
 EFL_CHECK_PATH_MAX
 
-case "$host_os" in
-   mingw32ce* | cegcc*)
-      ;;
-   *)
-      ecore_config_release_info="-release $release"
-      ecore_con_release_info="-release $release"
-      ecore_directfb_release_info="-release $release"
-      ecore_evas_release_info="-release $release"
-      ecore_fb_release_info="-release $release"
-      ecore_file_release_info="-release $release"
-      ecore_imf_evas_release_info="-release $release"
-      ecore_imf_release_info="-release $release"
-      ecore_input_release_info="-release $release"
-      ecore_input_evas_release_info="-release $release"
-      ecore_ipc_release_info="-release $release"
-      ecore_quartz_release_info="-release $release"
-      ecore_release_info="-release $release"
-      ecore_sdl_release_info="-release $release"
-      ecore_txt_release_info="-release $release"
-      ecore_win32_release_info="-release $release"
-      ecore_x_release_info="-release $release"
-      ;;
-esac
-AC_SUBST(ecore_config_release_info)
-AC_SUBST(ecore_con_release_info)
-AC_SUBST(ecore_directfb_release_info)
-AC_SUBST(ecore_evas_release_info)
-AC_SUBST(ecore_fb_release_info)
-AC_SUBST(ecore_file_release_info)
-AC_SUBST(ecore_imf_evas_release_info)
-AC_SUBST(ecore_imf_release_info)
-AC_SUBST(ecore_input_release_info)
-AC_SUBST(ecore_input_evas_release_info)
-AC_SUBST(ecore_ipc_release_info)
-AC_SUBST(ecore_quartz_release_info)
-AC_SUBST(ecore_release_info)
-AC_SUBST(ecore_sdl_release_info)
-AC_SUBST(ecore_txt_release_info)
-AC_SUBST(ecore_win32_release_info)
-AC_SUBST(ecore_wince_release_info)
-AC_SUBST(ecore_x_release_info)
-
-AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
+with_max_log_level="<unset>"
+AC_ARG_WITH(internal-maximum-log-level,
+   [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
+                   [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
+          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}"
+       else
+          AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
+       fi
+    fi
+    ], [:])
 
 
 ### Default options with respect to host
@@ -94,11 +102,10 @@ want_tslib="no"
 want_glib="no"
 
 # core modules
-want_ecore_txt="yes"
-want_ecore_con="no"
+want_ecore_con="yes"
 want_ecore_ipc="no"
 want_ecore_file="yes"
-want_ecore_config="no"
+#want_ecore_config="no"
 want_ecore_imf="no"
 want_ecore_input="yes"
 
@@ -107,12 +114,28 @@ want_evas_simple_x11="no"
 want_ecore_x_xcb="no"
 want_ecore_x="no"
 want_ecore_win32="no"
-want_ecore_quartz="no"
+want_ecore_cocoa="no"
 want_ecore_sdl="no"
 want_ecore_fb="no"
 want_ecore_directfb="no"
 want_ecore_wince="no"
 
+# ecore_x options (both xlib and xcb)
+want_ecore_x_composite="yes"
+want_ecore_x_damage="yes"
+want_ecore_x_dpms="yes"
+want_ecore_x_randr="yes"
+want_ecore_x_render="yes"
+want_ecore_x_screensaver="yes"
+want_ecore_x_shape="yes"
+want_ecore_x_sync="yes"
+want_ecore_x_xfixes="yes"
+want_ecore_x_xinerama="yes"
+want_ecore_x_xprint="yes"
+want_ecore_x_xtest="yes"
+want_ecore_x_cursor="yes"
+want_ecore_x_input="yes"
+
 # ecore_evas modules
 want_ecore_evas="yes"
 want_ecore_evas_software_buffer="yes"
@@ -120,6 +143,7 @@ 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"
@@ -127,7 +151,7 @@ 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_quartz="no"
+want_ecore_evas_cocoa="no"
 want_ecore_evas_software_sdl="no"
 want_ecore_evas_gl_sdl="no"
 want_ecore_evas_directfb="no"
@@ -136,6 +160,7 @@ want_ecore_evas_software_16_wince="no"
 
 case "$host_os" in
    mingw32ce* | cegcc*)
+      want_ecore_con="no"
       want_ecore_wince="yes"
       want_ecore_evas_software_16_wince="yes"
       ;;
@@ -143,6 +168,7 @@ case "$host_os" in
       want_notify_win32="yes"
       want_curl="yes"
       want_glib="auto"
+      want_ecore_con="no"
       want_ecore_imf="yes"
       want_ecore_win32="yes"
       want_ecore_evas_software_gdi="yes"
@@ -158,12 +184,10 @@ case "$host_os" in
       want_glib="auto"
       want_gnutls="auto"
       want_openssl="auto"
-      want_ecore_con="yes"
       want_ecore_ipc="yes"
-      want_ecore_config="yes"
       want_ecore_imf="yes"
-      want_ecore_quartz="yes"
-      want_ecore_evas_quartz="yes"
+      want_ecore_cocoa="yes"
+      want_ecore_evas_cocoa="yes"
       want_ecore_evas_software_sdl="yes"
       want_ecore_evas_gl_sdl="yes"
       ;;
@@ -177,15 +201,15 @@ case "$host_os" in
       want_signature="yes"
       want_inotify="yes"
       want_tslib="yes"
-      want_ecore_con="yes"
+      want_ecore_fb="yes"
       want_ecore_ipc="yes"
-      want_ecore_config="yes"
       want_ecore_imf="yes"
       want_ecore_x="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_sdl="yes"
@@ -197,7 +221,7 @@ esac
 
 requirements_ecore=""
 requirements_ecore_con=""
-requirements_ecore_config=""
+#requirements_ecore_config=""
 requirements_ecore_directfb=""
 requirements_ecore_evas=""
 requirements_ecore_fb=""
@@ -207,15 +231,38 @@ requirements_ecore_imf_evas=""
 requirements_ecore_input=""
 requirements_ecore_input_evas=""
 requirements_ecore_ipc=""
-requirements_ecore_quartz=""
+requirements_ecore_cocoa=""
 requirements_ecore_sdl=""
-requirements_ecore_txt=""
 requirements_ecore_x=""
 requirements_ecore_win32=""
 requirements_ecore_wince=""
 
 ### Additional options to configure
 
+want_glib_integration_always=no
+AC_ARG_ENABLE(glib-integration-always,
+  AC_HELP_STRING([--enable-glib-integration-always], [enable glib integration when ecore_init() is called always]),
+  [want_glib_integration_always=$enableval])
+
+if test "x${want_glib_integration_always}" = "xyes" ; then
+  AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
+  want_glib=yes
+fi
+
+want_g_main_loop=no
+AC_ARG_ENABLE(g-main-loop,
+  AC_HELP_STRING([--enable-g-main-loop], [ecore_main_loop based on g_main_loop]),
+  [want_g_main_loop=$enableval])
+
+if test "x${want_g_main_loop}" = "xyes" ; then
+  AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
+  want_glib=yes
+fi
+
+if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then
+  AC_MSG_ERROR([--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive])
+fi
+
 # abstract sockets (ecore_con.c)
 AC_ARG_ENABLE([abstract-sockets],
    [AC_HELP_STRING([--disable-abstract-sockets], [disable abstract sockets.])],
@@ -240,7 +287,7 @@ AC_ARG_ENABLE(simple-x11,
 
 # XIM
 AC_ARG_ENABLE([xim],
-   [AC_HELP_STRING([--enable-xim], [enable X Input Method.])],
+   [AC_HELP_STRING([--disable-xim], [disable X Input Method.])],
    [
     if test "x${enableval}" = "xyes" ; then
        want_xim="yes"
@@ -248,12 +295,16 @@ AC_ARG_ENABLE([xim],
        want_xim="no"
     fi
    ],
-   [want_xim="no"])
+   [want_xim="yes"])
 
 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
 
@@ -267,6 +318,11 @@ m4_ifdef([AC_PROG_OBJC],
     AC_SUBST([OBJC])
     AC_SUBST([OBJCFLAGS])
    ])
+m4_ifndef([am__fastdepOBJC], [
+    AM_CONDITIONAL([am__fastdepOBJC], [false])
+    AC_SUBST([cocoa_ldflags])
+])
+
 AC_PROG_CXX
 AC_PROG_CC
 
@@ -302,13 +358,13 @@ case "$host_os" in
       requirements_ecore_file="evil ${requirements_ecore_file}"
       requirements_ecore_imf="evil ${requirements_ecore_imf}"
       requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
-      requirements_ecore_txt="evil ${requirements_ecore_txt}"
       EFL_ECORE_BUILD="-DEFL_ECORE_BUILD"
-      EFL_ECORE_TXT_BUILD="-DEFL_ECORE_TXT_BUILD"
       EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
       EFL_ECORE_EVAS_BUILD="-DEFL_ECORE_EVAS_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"
       ;;
 esac
 
@@ -330,11 +386,12 @@ case "$host_os" in
 esac
 
 AC_SUBST(EFL_ECORE_BUILD)
-AC_SUBST(EFL_ECORE_TXT_BUILD)
 AC_SUBST(EFL_ECORE_FILE_BUILD)
 AC_SUBST(EFL_ECORE_EVAS_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_WINCE_BUILD)
 AC_SUBST(EFL_ECORE_WIN32_BUILD)
 AC_SUBST(EFL_ECORE_SDL_BUILD)
@@ -353,38 +410,44 @@ case "$host_os" in
       dlopen_libs="-ldl"
       ;;
    *)
-      AC_CHECK_LIB(dl, dlopen, 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()])
+         ])
       ;;
 esac
 AC_SUBST(WIN32_LIBS)
 AC_SUBST(dlopen_libs)
+AC_SUBST(rt_libs)
 
 # Eina library
 
-PKG_CHECK_MODULES(EINA, [eina-0])
+PKG_CHECK_MODULES(EINA, [eina >= 1.0.0])
 #FIXME check all the requirements when the eina move will be finished
-requirements_ecore="eina-0 ${requirements_ecore}"
-requirements_ecore_con="ecore eina-0 ${requirements_ecore_con}"
-requirements_ecore_config="ecore eina-0 ${requirements_ecore_config}"
-requirements_ecore_directfb="ecore eina-0 ${requirements_ecore_directfb}"
-requirements_ecore_evas="ecore eina-0 ${requirements_ecore_evas}"
-requirements_ecore_fb="ecore eina-0 ${requirements_ecore_fb}"
-requirements_ecore_file="ecore eina-0 ${requirements_ecore_file}"
-requirements_ecore_imf="ecore eina-0 ${requirements_ecore_imf}"
-requirements_ecore_imf_evas="ecore eina-0 ${requirements_ecore_imf_evas}"
-requirements_ecore_input="ecore eina-0 ${requirements_ecore_input}"
-requirements_ecore_input_evas="ecore eina-0 ${requirements_ecore_input_evas}"
-requirements_ecore_ipc="ecore eina-0 ${requirements_ecore_ipc}"
-requirements_ecore_quartz="ecore eina-0 ${requirements_ecore_quartz}"
-requirements_ecore_sdl="ecore eina-0 ${requirements_ecore_sdl}"
-requirements_ecore_win32="ecore eina-0 ${requirements_ecore_win32}"
-requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"
-requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
+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}"
 
 
 # glib support (main loop integration)
 AC_ARG_ENABLE([glib],
-   [AC_HELP_STRING([--disable-glib], [enable glib support. @<:@default=detect@:>@])],
+   [AC_HELP_STRING([--disable-glib], [disable glib support. @<:@default=detect@:>@])],
    [want_glib=$enableval], [])
 
 if test "x$want_glib" != "xno"; then
@@ -400,37 +463,6 @@ elif test "x$have_glib" = "xyes"; then
 fi
 
 
-# iconv library (ecore_txt)
-
-iconv_cflags=""
-iconv_libs=""
-have_iconv="no"
-AC_ARG_WITH([iconv-link],
-   AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
-   [
-    iconv_libs=$withval
-    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
-
-AM_ICONV
-
-if test "x${have_iconv}" = "xno" && test "x${am_cv_func_iconv}" = "xyes" ; then
-   iconv_cflags=${LIBICONV}
-   iconv_libs=${LTLIBICONV}
-   have_iconv="yes"
-fi
-
-AC_SUBST(iconv_cflags)
-AC_SUBST(iconv_libs)
-
-
 # SDL library (ecore_sdl)
 
 have_sdl="no"
@@ -444,12 +476,12 @@ AC_ARG_WITH([sdl-config],
 
 AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
 
-if test -z "$SDL_CONFIG" ; then
+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="no"
+   have_sdl="yes"
 else
    PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
 fi
@@ -470,10 +502,10 @@ PKG_CHECK_MODULES([DIRECTFB],
 
 # Eet library (ecore_config)
 
-PKG_CHECK_MODULES([EET],
-   [eet >= 1.0.0],
-   [have_eet="yes"],
-   [have_eet="no"])
+#PKG_CHECK_MODULES([EET],
+#   [eet >= 1.4.0],
+#   [have_eet="yes"],
+#   [have_eet="no"])
 
 
 # Xlib and XCB (ecore_x)
@@ -490,9 +522,94 @@ x_libs="";
 
 ecore_x_libs_private=""
 
+AC_ARG_ENABLE(ecore-x-composite,
+   [AC_HELP_STRING([--disable-ecore-x-composite],
+       [disable the ecore_x support for Xcomposite extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_composite=$enableval])
+
+AC_ARG_ENABLE(ecore-x-damage,
+   [AC_HELP_STRING([--disable-ecore-x-damage],
+       [disable the ecore_x support for Xdamage extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_damage=$enableval])
+
+AC_ARG_ENABLE(ecore-x-dpms,
+   [AC_HELP_STRING([--disable-ecore-x-dpms],
+       [disable the ecore_x support for Xdpms extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_dpms=$enableval])
+
+AC_ARG_ENABLE(ecore-x-randr,
+   [AC_HELP_STRING([--disable-ecore-x-randr],
+       [disable the ecore_x support for Xrandr extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_randr=$enableval])
+
+AC_ARG_ENABLE(ecore-x-render,
+   [AC_HELP_STRING([--disable-ecore-x-render],
+       [disable the ecore_x support for Xrender extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_render=$enableval])
+
+AC_ARG_ENABLE(ecore-x-screensaver,
+   [AC_HELP_STRING([--disable-ecore-x-screensaver],
+       [disable the ecore_x support for Xscreensaver extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_screensaver=$enableval])
+
+AC_ARG_ENABLE(ecore-x-shape,
+   [AC_HELP_STRING([--disable-ecore-x-shape],
+       [disable the ecore_x support for Xshape extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_shape=$enableval])
+
+AC_ARG_ENABLE(ecore-x-sync,
+   [AC_HELP_STRING([--disable-ecore-x-sync],
+       [disable the ecore_x support for Xsync extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_sync=$enableval])
+
+AC_ARG_ENABLE(ecore-x-xfixes,
+   [AC_HELP_STRING([--disable-ecore-x-xfixes],
+       [disable the ecore_x support for Xfixes extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_xfixes=$enableval])
+
+AC_ARG_ENABLE(ecore-x-xinerama,
+   [AC_HELP_STRING([--disable-ecore-x-xinerama],
+       [disable the ecore_x support for Xinerama extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_xinerama=$enableval])
+
+AC_ARG_ENABLE(ecore-x-xprint,
+   [AC_HELP_STRING([--disable-ecore-x-xprint],
+       [disable the ecore_x support for Xprint extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_xprint=$enableval])
+
+AC_ARG_ENABLE(ecore-x-xtest,
+   [AC_HELP_STRING([--disable-ecore-x-xtest],
+       [disable the ecore_x support for Xtest extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_xtest=$enableval])
+
+AC_ARG_ENABLE(ecore-x-cursor,
+   [AC_HELP_STRING([--disable-ecore-x-cursor],
+       [disable the ecore_x support for Xcursor extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_cursor=$enableval])
+
+AC_ARG_ENABLE(ecore-x-input,
+   [AC_HELP_STRING([--disable-ecore-x-input],
+       [disable the ecore_x support for Xinput/Xinput2 extension.
+        @<:@default=detect@:>@])],
+   [want_ecore_x_input=$enableval])
+
+
 AC_ARG_ENABLE(ecore-x-xcb,
    [AC_HELP_STRING([--enable-ecore-x-xcb],
-       [enable the ecore_x module with XCB backend. [[default=disabled]]])],
+       [enable the ecore_x module with XCB backend. @<:@default=disabled@:>@])],
    [want_ecore_x_xcb=$enableval],
    [want_ecore_x_xcb="no"])
 
@@ -506,77 +623,137 @@ if test "x$want_ecore_x_xcb" = "xyes" ; then
     [ have_ecore_x_xcb="no" ])
 
   if test "x$have_ecore_x_xcb" = "xyes" ; then
-    PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
-      [ have_ecore_x_xcb_composite="yes"
-        requirements_ecore_x="xcb-composite ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
-      [ have_ecore_x_xcb_composite="no" ])
-
-    PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
-      [ have_ecore_x_xcb_damage="yes"
-        requirements_ecore_x="xcb-damage ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
-      [ have_ecore_x_xcb_damage="no" ])
-
-    PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
-      [ have_ecore_x_xcb_dpms="yes"
-        requirements_ecore_x="xcb-dpms ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
-      [ have_ecore_x_xcb_dpms="no" ])
-
-    PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
-      [ have_ecore_x_xcb_randr="yes"
-        requirements_ecore_x="xcb-randr ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
-      [ have_ecore_x_xcb_randr="no" ])
-
-    PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
-      [ have_ecore_x_xcb_render="yes"
-        requirements_ecore_x="xcb-render ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
-      [ have_ecore_x_xcb_render="no" ])
-
-    PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
-      [ have_ecore_x_xcb_screensaver="yes"
-        requirements_ecore_x="xcb-screensaver ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
-      [ have_ecore_x_xcb_screensaver="no" ])
-
-    PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
-      [ have_ecore_x_xcb_shape="yes"
-        requirements_ecore_x="xcb-shape ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
-      [ have_ecore_x_xcb_shape="no" ])
-
-    PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
-      [ have_ecore_x_xcb_sync="yes"
-        requirements_ecore_x="xcb-sync ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
-      [ have_ecore_x_xcb_sync="no" ])
-
-    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]) ],
-      [ have_ecore_x_xcb_xfixes="no" ])
-
-    PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
-      [ have_ecore_x_xcb_xinerama="yes"
-        requirements_ecore_x="xcb-xinerama ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
-      [ have_ecore_x_xcb_xinerama="no" ])
-
-    PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
-      [ have_ecore_x_xcb_xprint="yes"
-        requirements_ecore_x="xcb-xprint ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
-      [ have_ecore_x_xcb_xprint="no" ])
-
-    PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
-      [ have_ecore_x_xcb_xtest="yes"
-        requirements_ecore_x="xcb-xtest ${requirements_ecore_x}"
-        AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
-      [ have_ecore_x_xcb_xtest="no" ])
+    if test "x$want_ecore_x_composite" != "xno"; then
+      PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
+        [ have_ecore_x_xcb_composite="yes"
+          requirements_ecore_x="xcb-composite ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
+        [ have_ecore_x_xcb_composite="no" ])
+    else
+      have_ecore_x_xcb_composite="no"
+      AC_MSG_NOTICE("composite extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_damage" != "xno"; then
+      PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
+        [ have_ecore_x_xcb_damage="yes"
+          requirements_ecore_x="xcb-damage ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
+        [ have_ecore_x_xcb_damage="no" ])
+    else
+      have_ecore_x_xcb_damage="no"
+      AC_MSG_NOTICE("damage extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_dpms" != "xno"; then
+      PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
+        [ have_ecore_x_xcb_dpms="yes"
+          requirements_ecore_x="xcb-dpms ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
+        [ have_ecore_x_xcb_dpms="no" ])
+    else
+      have_ecore_x_xcb_dpms="no"
+      AC_MSG_NOTICE("dpms extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_randr" != "xno"; then
+      PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
+        [ have_ecore_x_xcb_randr="yes"
+          requirements_ecore_x="xcb-randr ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
+        [ have_ecore_x_xcb_randr="no" ])
+    else
+      have_ecore_x_xcb_randr="no"
+      AC_MSG_NOTICE("randr extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_render" != "xno"; then
+      PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
+        [ have_ecore_x_xcb_render="yes"
+          requirements_ecore_x="xcb-render ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
+        [ have_ecore_x_xcb_render="no" ])
+    else
+      have_ecore_x_xcb_render="no"
+      AC_MSG_NOTICE("render extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_screensaver" != "xno"; then
+      PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
+        [ have_ecore_x_xcb_screensaver="yes"
+          requirements_ecore_x="xcb-screensaver ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
+        [ have_ecore_x_xcb_screensaver="no" ])
+    else
+      have_ecore_x_xcb_screensaver="no"
+      AC_MSG_NOTICE("screensaver extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_shape" != "xno"; then
+      PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
+        [ have_ecore_x_xcb_shape="yes"
+          requirements_ecore_x="xcb-shape ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
+        [ have_ecore_x_xcb_shape="no" ])
+    else
+      have_ecore_x_xcb_shape="no"
+      AC_MSG_NOTICE("shape 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"
+          requirements_ecore_x="xcb-sync ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
+        [ have_ecore_x_xcb_sync="no" ])
+    else
+      have_ecore_x_xcb_sync="no"
+      AC_MSG_NOTICE("sync extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_xfixes" != "xno"; 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]) ],
+        [ have_ecore_x_xcb_xfixes="no" ])
+    else
+      have_ecore_x_xcb_xfixes="no"
+      AC_MSG_NOTICE("xfixes extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_xinerama" != "xno"; then
+      PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
+        [ have_ecore_x_xcb_xinerama="yes"
+          requirements_ecore_x="xcb-xinerama ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
+        [ have_ecore_x_xcb_xinerama="no" ])
+    else
+      have_ecore_x_xcb_xinerama="no"
+      AC_MSG_NOTICE("xinerama extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_xprint" != "xno"; then
+      PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
+        [ have_ecore_x_xcb_xprint="yes"
+          requirements_ecore_x="xcb-xprint ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
+        [ have_ecore_x_xcb_xprint="no" ])
+    else
+      have_ecore_x_xcb_xprint="no"
+      AC_MSG_NOTICE("xprint extension explicitly disabled")
+    fi
+
+    if test "x$want_ecore_x_xtest" != "xno"; then
+      PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
+        [ have_ecore_x_xcb_xtest="yes"
+          requirements_ecore_x="xcb-xtest ${requirements_ecore_x}"
+          AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
+        [ have_ecore_x_xcb_xtest="no" ])
+    else
+      have_ecore_x_xcb_xtest="no"
+      AC_MSG_NOTICE("xtest extension explicitly disabled")
+    fi
 
     AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
 
@@ -610,50 +787,58 @@ if ! test "x$have_ecore_x_xcb" = "xyes" ; then
     use_Xcursor="no"
     PCFLAGS=$CFLAGS
     CFLAGS="$x_cflags $x_includes"
-    AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
-      [
-        AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
-          [
-            AC_DEFINE(ECORE_XCURSOR, 1, [Build support for Xcursor])
-            Xcursor_cflags=""
-            Xcursor_libs="-lXcursor"
-            use_Xcursor="yes"
-          ], [
-            Xcursor_cflags=""
-            Xcursor_libs=""
-            use_Xcursor="no"
-          ], [
-            $x_libs -lXrender
-          ]
-        )
-      ], [
-        Xcursor_cflags=""
-        Xcursor_libs=""
-        use_Xcursor="no"
-      ], [
-        #include <X11/Xlib.h>
-      ]
-    )
-    CFLAGS=$PCFLAGS
+
+    if test "x$want_ecore_x_cursor" = "xyes"; then
+      AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
+        [
+          AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
+            [
+              AC_DEFINE(ECORE_XCURSOR, 1, [Build support for Xcursor])
+              Xcursor_cflags=""
+              Xcursor_libs="-lXcursor"
+              use_Xcursor="yes"
+            ], [
+              Xcursor_cflags=""
+              Xcursor_libs=""
+              use_Xcursor="no"
+            ], [
+              $x_libs -lXrender
+            ]
+          )
+        ], [
+          Xcursor_cflags=""
+          Xcursor_libs=""
+          use_Xcursor="no"
+        ], [
+          #include <X11/Xlib.h>
+        ]
+      )
+      CFLAGS=$PCFLAGS
+    else
+      Xcursor_cflags=""
+      Xcursor_libs=""
+      use_Xcursor="no"
+      AC_MSG_NOTICE("Xcursor explicitly disabled")
+    fi
 
     AC_SUBST(Xcursor_cflags)
     AC_SUBST(Xcursor_libs)
 
-    ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
-    ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
-    ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
-    ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension])
+    ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat], [$want_ecore_x_xkb])
+    ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension], [$want_ecore_x_composite])
+    ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract], [$want_ecore_x_damage])
+    ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension], [$want_ecore_x_dpms])
     if test "x$use_xdpms" = "xno" ; then
-      ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
+      ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension], [$want_ecore_x_dpms])
     fi
-    ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
-    ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
-    ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
-    ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
-    ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
-    ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
-    ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
-    ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
+    ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion], [$want_ecore_x_xfixes])
+    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([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}"
 
@@ -675,7 +860,7 @@ 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 >= 0.9.9],
+PKG_CHECK_MODULES([EVAS], [evas >= 1.0.0],
    [have_evas="yes"],
    [have_evas="no"])
 
@@ -684,43 +869,63 @@ PKG_CHECK_MODULES([EVAS], [evas >= 0.9.9],
 
 AC_HEADER_SYS_WAIT
 
+have_addrinfo="no"
 case "$host_os" in
    mingw* | cegcc*)
       AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
       AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
       AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
+      have_addrinfo="yes"
       ;;
    *)
-      AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h signal.h sys/resource.h])
+      AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h sys/time.h sys/mman.h signal.h sys/resource.h])
       ;;
 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])
+
+if test "x${ac_cv_header_netdb_h}" = "xyes" ; then
+   have_addrinfo="yes"
+fi
+
 # Framebuffer (ecore_fb)
 have_fb="no"
 AC_CHECK_HEADER([linux/fb.h],
    [AC_CHECK_HEADER([linux/input.h], [have_fb="yes"])])
 
-# Quartz header files (ecore_quartz)
+# Cocoa header files (ecore_cocoa)
 
-quartz_ldflags="";
-have_quartz="no"
+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
+])
+AC_SUBST(cocoa_ldflags)
 
-if test "x${have_gnu_objc}" = "xyes" ; then
-   AC_LANG_PUSH([Objective C])
-   AC_CHECK_HEADER([Cocoa/Cocoa.h],
-      [
-       have_quartz="yes"
-       quartz_ldflags="-framework Cocoa"
-      ],
-      [have_quartz="no"])
-   AC_LANG_POP([Objective C])
+want_epoll=yes
+AC_ARG_ENABLE(epoll,
+  AC_HELP_STRING([--enable-epoll], [enable or disable epoll support]),
+  [want_epoll=$enableval])
+
+if test "x${want_epoll}" = "xyes" ; then
+  # check for epoll support
+  AC_CHECK_HEADERS([sys/epoll.h])
 fi
 
-AC_SUBST(quartz_ldflags)
 
 # basic pthread support
 
-EFL_CHECK_PTHREAD([have_pthread="yes"], [have_pthread="no"])
+EFL_CHECK_PTHREAD([no], [have_pthread="yes"], [have_pthread="no"])
 
 ### Checks for types
 AC_CHECK_SIZEOF(int, 4)
@@ -748,7 +953,7 @@ case "$host_os" in
       WIN32_CFLAGS="-mwin32"
       ;;
    mingw*)
-      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0501"
       ;;
 esac
 AC_SUBST(WIN32_CPPFLAGS)
@@ -791,15 +996,21 @@ if test "x$have_atfile_source" != "xno"; then
                 ])
 fi
 
+### Checks for optionnal feature
+AC_CHECK_FUNC(mallinfo,
+       [
+         have_mallinfo=yes
+         AC_DEFINE(HAVE_MALLINFO, 1, [Gather memory statistic])
+       ], [
+         have_mallinfo=no
+       ])
+
 ### Ecore modules
 
 ## Core modules
 
-# ecore_txt
-ECORE_CHECK_MODULE([txt], [${want_ecore_txt}], [Txt], [$have_iconv])
-
 # ecore_con
-ECORE_CHECK_MODULE([con], [${want_ecore_con}], [Con])
+ECORE_CHECK_MODULE([con], [${want_ecore_con}], [Con], [${have_addrinfo}])
 
 have_curl="no"
 have_gnutls="no"
@@ -847,7 +1058,7 @@ 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 ${requirements_ecore_ipc}"])
+   [requirements_ecore_ipc="ecore-con >= 1.0.0 ${requirements_ecore_ipc}"])
 
 # ecore_file
 ECORE_CHECK_MODULE([file], [${want_ecore_file}], [File])
@@ -861,18 +1072,20 @@ 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 ${requirements_ecore_file}"
+      requirements_ecore_file="ecore-con >= 1.0.0 ${requirements_ecore_file}"
    fi
 fi
 
 # ecore_config
-ecore_config_deps="no"
-if test "x${have_eet}" = "xyes" -a "x${have_evas}"  -a "x${have_ecore_ipc}" ; then
-   ecore_config_deps="yes"
-fi
+#ecore_config_deps="no"
+#if test "x${have_eet}" = "xyes" -a "x${have_evas}"  -a "x${have_ecore_ipc}" ; then
+#   ecore_config_deps="yes"
+#fi
 
-ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
-   [requirements_ecore_config="ecore-ipc evas eet ${requirements_ecore_config}"])
+#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}"])
+
+AM_CONDITIONAL(BUILD_ECORE_CONFIG, false)
 
 # ecore_imf
 
@@ -886,12 +1099,12 @@ 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 evas ${requirements_ecore_imf_evas}"])
+   [requirements_ecore_imf_evas="ecore-imf >= 1.0.0 evas >= 1.0.0 ${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 evas ${requirements_ecore_input}"])
+   [requirements_ecore_input_evas="ecore-input >= 1.0.0 evas >= 1.0.0 ${requirements_ecore_input}"])
 
 ## Graphic systems
 
@@ -899,15 +1112,14 @@ ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_ev
 
 ecore_x_deps="no"
 if test "x${have_x}" = "xyes" -a \
-        "x${have_ecore_input}" = "xyes" -a \
-        "x${have_ecore_txt}" = "xyes" ; then
+        "x${have_ecore_input}" = "xyes" ; then
    ecore_x_deps="yes"
 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 ecore-txt ${requirements_ecore_x}"
+   requirements_ecore_x="ecore-input >= 1.0.0 ${requirements_ecore_x}"
   ])
 
 # ecore_win32
@@ -915,19 +1127,19 @@ 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 ${requirements_ecore_win32}"
+    requirements_ecore_win32="ecore-input >= 1.0.0 ${requirements_ecore_win32}"
    ])
 AC_SUBST(ecore_win32_libs)
 
-# ecore_quartz
+# ecore_cocoa
 
-ecore_quartz_deps="no"
-if test "x${have_ecore_input}" = "xyes" -a "x${have_quartz}" = "xyes" ; then
-   ecore_quartz_deps="yes"
+ecore_cocoa_deps="no"
+if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then
+   ecore_cocoa_deps="yes"
 fi
 
-ECORE_CHECK_MODULE([quartz], [${want_ecore_quartz}], [Quartz], [${ecore_quartz_deps}],
-   [requirements_ecore_quartz="ecore-input ${requirements_ecore_quartz}"])
+ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}],
+   [requirements_ecore_cocoa="ecore-input >= 1.0.0 ${requirements_ecore_cocoa}"])
 
 # ecore_sdl
 
@@ -937,7 +1149,7 @@ 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 ${requirements_ecore_sdl}"])
+   [requirements_ecore_sdl="ecore-input >= 1.0.0 ${requirements_ecore_sdl}"])
 
 # ecore_fb
 ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
@@ -959,7 +1171,7 @@ 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 ${requirements_ecore_win32}"])
+   [requirements_ecore_win32="ecore-input >= 1.0.0 ${requirements_ecore_win32}"])
 
 ## Ecore Evas
 
@@ -971,7 +1183,7 @@ if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_
 fi
 
 ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
-  [requirements_ecore_evas="ecore-input ecore-input-evas evas ${requirements_ecore_evas}"])
+  [requirements_ecore_evas="ecore-input >= 1.0.0 ecore-input-evas >= 1.0.0 evas >= 1.0.0 ${requirements_ecore_evas}"])
 
 # ecore_evas_buffer
 
@@ -1023,6 +1235,12 @@ ECORE_EVAS_CHECK_MODULE([software-16-x11],
    [Software Xlib 16 bits],
    [${have_ecore_x_xlib}])
 
+ECORE_EVAS_CHECK_MODULE([software-8-x11],
+    [$want_ecore_evas_software_8_x11],
+    [Software 8bit X11],
+    $have_ecore_x_xcb)
+
+
 # ecore_evas_xrender_xcb
 
 ECORE_EVAS_CHECK_MODULE([xrender-xcb],
@@ -1033,11 +1251,12 @@ ECORE_EVAS_CHECK_MODULE([xrender-xcb],
 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
    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
-   requirements_ecore_evas="ecore-x ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-x >= 1.0.0 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_win32
@@ -1073,16 +1292,16 @@ 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 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-win32 >= 1.0.0 ${requirements_ecore_evas}"
 fi
 
-# ecore_evas_quartz
+# ecore_evas_cocoa
 
-ECORE_EVAS_CHECK_MODULE([quartz],
-   [${want_ecore_evas_quartz}],
-   [Quartz],
-   [${have_ecore_quartz}],
-   [requirements_ecore_evas="ecore-quartz ${requirements_ecore_evas}"])
+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
 
@@ -1090,7 +1309,7 @@ ECORE_EVAS_CHECK_MODULE([software-sdl],
    [${want_ecore_evas_software_sdl}],
    [Software SDL],
    [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-sdl >= 1.0.0 ${requirements_ecore_evas}"])
 
 # ecore_evas_gl_sdl
 
@@ -1098,7 +1317,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl],
    [${want_ecore_evas_gl_sdl}],
    [OpenGL SDL],
    [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-sdl >= 1.0.0 ${requirements_ecore_evas}"])
 
 # ecore_evas_directfb
 
@@ -1106,7 +1325,7 @@ ECORE_EVAS_CHECK_MODULE([directfb],
    [${want_ecore_evas_directfb}],
    [DirectFB],
    [${have_ecore_directfb}],
-   [requirements_ecore_evas="ecore-directfb ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-directfb >= 1.0.0 ${requirements_ecore_evas}"])
 
 # ecore_evas_fb
 
@@ -1114,7 +1333,7 @@ ECORE_EVAS_CHECK_MODULE([fb],
    [${want_ecore_evas_fb}],
    [Linux Framebuffer],
    [${have_ecore_fb}],
-   [requirements_ecore_evas="ecore-fb ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-fb >= 1.0.0 ${requirements_ecore_evas}"])
 
 # ecore_evas_wince
 
@@ -1122,7 +1341,7 @@ 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 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-wince >= 1.0.0 ${requirements_ecore_evas}"])
 
 
 
@@ -1130,7 +1349,7 @@ ECORE_EVAS_CHECK_MODULE([software-16-wince],
 
 AC_SUBST(requirements_ecore)
 AC_SUBST(requirements_ecore_con)
-AC_SUBST(requirements_ecore_config)
+#AC_SUBST(requirements_ecore_config)
 AC_SUBST(requirements_ecore_directfb)
 AC_SUBST(requirements_ecore_evas)
 AC_SUBST(requirements_ecore_fb)
@@ -1140,9 +1359,8 @@ AC_SUBST(requirements_ecore_imf_evas)
 AC_SUBST(requirements_ecore_input)
 AC_SUBST(requirements_ecore_input_evas)
 AC_SUBST(requirements_ecore_ipc)
-AC_SUBST(requirements_ecore_quartz)
+AC_SUBST(requirements_ecore_cocoa)
 AC_SUBST(requirements_ecore_sdl)
-AC_SUBST(requirements_ecore_txt)
 AC_SUBST(requirements_ecore_x)
 AC_SUBST(requirements_ecore_win32)
 AC_SUBST(requirements_ecore_wince)
@@ -1155,16 +1373,15 @@ 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
-ecore-txt.pc
 ecore-x.pc
 ecore-input.pc
 ecore-input-evas.pc
 ecore-win32.pc
 ecore-sdl.pc
-ecore-quartz.pc
 ecore-wince.pc
 ecore.pc
 doc/ecore.dox
@@ -1173,28 +1390,28 @@ src/Makefile
 src/bin/Makefile
 src/lib/Makefile
 src/lib/ecore/Makefile
-src/lib/ecore_x/Makefile
-src/lib/ecore_x/xlib/Makefile
-src/lib/ecore_x/xcb/Makefile
+src/lib/ecore_con/Makefile
+src/lib/ecore_config/Makefile
+src/lib/ecore_directfb/Makefile
+src/lib/ecore_evas/Makefile
 src/lib/ecore_fb/Makefile
+src/lib/ecore_file/Makefile
+src/lib/ecore_cocoa/Makefile
 src/lib/ecore_sdl/Makefile
-src/lib/ecore_quartz/Makefile
-src/lib/ecore_evas/Makefile
-src/lib/ecore_con/Makefile
 src/lib/ecore_imf/Makefile
 src/lib/ecore_imf_evas/Makefile
 src/lib/ecore_input/Makefile
 src/lib/ecore_input_evas/Makefile
 src/lib/ecore_ipc/Makefile
-src/lib/ecore_txt/Makefile
-src/lib/ecore_config/Makefile
-src/lib/ecore_file/Makefile
-src/lib/ecore_directfb/Makefile
 src/lib/ecore_win32/Makefile
 src/lib/ecore_wince/Makefile
+src/lib/ecore_x/Makefile
+src/lib/ecore_x/xlib/Makefile
+src/lib/ecore_x/xcb/Makefile
+src/tests/Makefile
 README
 ecore.spec
-po/Makefile.in
+$po_makefile_in
 ])
 
 echo
@@ -1207,7 +1424,9 @@ echo
 echo "  Ecore........................: always"
 echo "    Thread support.............: $have_pthread"
 echo "    GLib support...............: $have_glib"
-echo "  Ecore_Txt....................: $have_ecore_txt"
+echo "    Always integrate GLib......: $want_glib_integration_always"
+echo "    Use g_main_loop............: $want_g_main_loop"
+echo "    Gathering memory statistic.: $have_mallinfo"
 echo "  Ecore_Con....................: $have_ecore_con"
 if test "x$have_ecore_con" = "xyes" ; then
   echo $ECHO_N "    OpenSSL....................: $have_openssl $ECHO_C"
@@ -1238,7 +1457,7 @@ if test "x$have_ecore_file" = "xyes" ; then
   echo "    Poll.......................: $have_poll"
   echo "    CURL.......................: $have_curl"
 fi
-echo "  Ecore_Config.................: $have_ecore_config"
+#echo "  Ecore_Config.................: $have_ecore_config (deprecated)"
 echo "  Ecore_IMF....................: $have_ecore_imf"
 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
 echo "  Ecore_Input..................: $have_ecore_input"
@@ -1284,7 +1503,7 @@ else
   echo "  Ecore_X......................: $have_ecore_x"
 fi
 echo "  Ecore_Win32..................: $have_ecore_win32"
-echo "  Ecore_Quartz.................: $have_ecore_quartz"
+echo "  Ecore_Cocoa..................: $have_ecore_cocoa"
 echo "  Ecore_SDL....................: $have_ecore_sdl"
 echo "  Ecore_FB.....................: $have_ecore_fb"
 if test "x${have_ecore_fb}" = "xyes" ; then
@@ -1312,28 +1531,20 @@ if test "x${have_ecore_evas}" = "xyes" ; then
   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
   echo "    Direct3D...................: $have_ecore_evas_direct3d"
   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
-  echo "    Quartz.....................: $have_ecore_evas_quartz"
+  echo "    Cocoa......................: $have_ecore_evas_cocoa"
   echo "    Software SDL...............: $have_ecore_evas_software_sdl"
   echo "    OpenGL SDL.................: $have_ecore_evas_opengl_sdl"
   echo "    DirectFB...................: $have_ecore_evas_directfb"
   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"
 fi
 echo
-echo " Documentation.................: ${build_doc}"
-echo
-echo " Compilation...................: make (or gmake)"
-if test "x${build_doc}" = "xyes" ; then
-   echo " Build of the documentation....: make doc"
-fi
-echo
-echo " Installation..................: make install"
-echo
-echo "    prefix.....................: $prefix"
-echo
-
+echo "  Tests................: ${enable_tests}"
+echo "  Maximum log level....: ${with_max_log_level}"
+echo "Documentation..........: ${build_doc}"
 echo
 echo "Compilation............: make (or gmake)"
 echo "  CPPFLAGS.............: $CPPFLAGS"