Imported Upstream version 1.7.7 upstream/1.7.7
authorRusty Lynch <rusty.lynch@intel.com>
Wed, 5 Jun 2013 21:03:47 +0000 (14:03 -0700)
committerRusty Lynch <rusty.lynch@intel.com>
Wed, 5 Jun 2013 21:03:47 +0000 (14:03 -0700)
96 files changed:
AUTHORS
ChangeLog
Makefile.in
NEWS
aclocal.m4
configure
configure.ac
depcomp
doc/Makefile.in
ecore.spec
ecore.supp
ltmain.sh
m4/ecore_check_options.m4
m4/libtool.m4
po/LINGUAS
po/cs.gmo
po/cs.po
po/de.gmo
po/de.po
po/ecore.pot
po/el.gmo
po/el.po
po/eo.gmo [new file with mode: 0644]
po/eo.po [new file with mode: 0644]
po/fr.gmo
po/fr.po
po/it.gmo
po/it.po
po/nl.gmo
po/nl.po
po/pt.gmo
po/pt.po
po/sl.gmo
po/sl.po
po/zh_CN.gmo
po/zh_CN.po
src/Makefile.in
src/bin/Makefile.in
src/examples/Makefile.in
src/lib/Makefile.in
src/lib/ecore/Makefile.in
src/lib/ecore/ecore.c
src/lib/ecore/ecore_main.c
src/lib/ecore/ecore_pipe.c
src/lib/ecore/ecore_private.h
src/lib/ecore_cocoa/Makefile.in
src/lib/ecore_con/Makefile.in
src/lib/ecore_con/dns.c
src/lib/ecore_con/dns.h
src/lib/ecore_con/ecore_con.c
src/lib/ecore_con/ecore_con_dns.c
src/lib/ecore_con/ecore_con_ssl.c
src/lib/ecore_con/ecore_con_url.c
src/lib/ecore_config/Makefile.in
src/lib/ecore_directfb/Makefile.in
src/lib/ecore_evas/Makefile.in
src/lib/ecore_evas/ecore_evas_fb.c
src/lib/ecore_evas/ecore_evas_private.h
src/lib/ecore_evas/ecore_evas_wayland_egl.c
src/lib/ecore_evas/ecore_evas_wayland_shm.c
src/lib/ecore_evas/ecore_evas_x.c
src/lib/ecore_fb/Makefile.in
src/lib/ecore_file/Makefile.in
src/lib/ecore_imf/Makefile.in
src/lib/ecore_imf_evas/Makefile.in
src/lib/ecore_input/Makefile.in
src/lib/ecore_input_evas/Makefile.in
src/lib/ecore_input_evas/ecore_input_evas.c
src/lib/ecore_ipc/Makefile.in
src/lib/ecore_psl1ght/Makefile.in
src/lib/ecore_sdl/Makefile.in
src/lib/ecore_wayland/Ecore_Wayland.h
src/lib/ecore_wayland/Makefile.in
src/lib/ecore_wayland/ecore_wl.c
src/lib/ecore_wayland/ecore_wl_input.c
src/lib/ecore_wayland/ecore_wl_output.c
src/lib/ecore_wayland/ecore_wl_window.c
src/lib/ecore_win32/Makefile.in
src/lib/ecore_win32/ecore_win32.c
src/lib/ecore_wince/Makefile.in
src/lib/ecore_x/Makefile.in
src/lib/ecore_x/xcb/Makefile.in
src/lib/ecore_x/xcb/ecore_xcb_netwm.c
src/lib/ecore_x/xcb/ecore_xcb_selection.c
src/lib/ecore_x/xlib/Makefile.in
src/lib/ecore_x/xlib/ecore_x_image.c
src/lib/ecore_x/xlib/ecore_x_netwm.c
src/lib/ecore_x/xlib/ecore_x_randr_12.c
src/lib/ecore_x/xlib/ecore_x_selection.c
src/modules/Makefile.in
src/modules/immodules/Makefile.in
src/modules/immodules/ibus/Makefile.in
src/modules/immodules/scim/Makefile.in
src/modules/immodules/xim/Makefile.in
src/tests/Makefile.in
src/util/Makefile.in

diff --git a/AUTHORS b/AUTHORS
index ebceb33..e1f2edd 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -57,3 +57,4 @@ Daniel Willmann <d.willmann@samsung.com>
 Michal Pakula vel Rutka <m.pakula@samsung.com>
 Alexey Yakovenko <wakeroid@gmail.com>
 Robert David <robert.david.public@gmail.com>
+Raoul Hecky <raoul.hecky@gmail.com>
index a8a5985..307e26b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * Properly reschedule call to curl.
 
+2012-11-06  Mike McCormack
+
+        * Add thread safety to ecore_pipe
+
 2012-10-10 Michal Pakula vel Rutka
 
        * Fix: Send ECORE_X_EVENT_SELECTION_NOTIFY even if there is no data.
 
         * Fixed 24bpp ximage convert back from 24bpp to 32bpp in
         ecore-x. Only shows itself in qemu/kvm.
-                
 
 2012-12-21  Luis Felipe Strano Moraes
 
 
         * Fixed ecore_con case where freeing server double-frees clients
 
-        
 2013-01-04  Luis Felipe Strano Moraes
 
        * 1.7.5 release
+
+2013-01-13  Boris Faure (billiob)
+
+       * Fixed condition based on uninitialized value in ecore_x_selection
+       (both xlib and xcb).
+       * Fixed a leaked when no selection converter matches.
+
+2013-01-18  Cedric Bail
+
+        * Ecore_Input_Evas: add infrastructure to handle buggy touchscreen by using
+        environment variable ECORE_INPUT_FIX and ECORE_INPUT_TIMEOUT_FIX.
+
+2013-01-21  Carsten Haitzler (The Rasterman)
+
+        * Fix xsync problem in ecore_x_image_get() where prior errors
+        can get caught.
+
+2013-01-31  Guillaume Friloux
+
+        * Fix a memory leak in ecore_con_dns
+
+2013-02-04  Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
+
+        * ecore_wayland: Fix compilation with C++ compiler
+
+2013-02-04  Rafael Antognolli
+
+        * ecore_evas/wayland_egl: Fix window resize when using meta+middle
+        click.
+
+2013-02-05  Eduardo Lima (Etrunko) <eduardo.lima@intel.com>
+
+        * ecore_wayland: Fix return type of function ecore_wl_outputs_get()
+
+2013-02-06  Rafael Antognolli
+
+        * ecore/wayland: Always send the mouse button event.
+
+2013-02-08  Carsten Haitzler (The Rasterman)
+
+        * Fix ecore_x ecore_x_screen_is_composited/set() to work
+        properly on multihead.
+
+2013-02-08  Guillaume Friloux <guillaume.friloux@asp64.com>
+
+        * ecore_con : Fix memory usage of the internal buffer
+
+2013-02-08  Rafael Antognolli
+
+        * ecore/wayland: Don't use edge info for resizing in some cases.
+
+2013-02-14  Raoul Hecky <raoul.hecky@gmail.com>
+
+       * ecore_evas: handle mouse and touch screen properly with FB backend.
+
+2013-02-20  Carsten Haitzler (The Rasterman)
+
+        * Fix ecore-x edid fetch to ftech 128, not 100 bytes.
+
+2013-02-28  U. Artie Eoff (uartie)
+
+        * ecore_wayland: Add ecore_wl_registry_get
+        * ecore_wayland: Add ecore_wl_globals_get
+
+2013-03-11  Mike Blumenkrantz
+
+        * cleaned up gnutls session init
+
+2013-03-12  Mike Blumenkrantz
+
+        * fix hosts file use with ecore-con and dns.c
+
+2013-03-14  Mike Blumenkrantz
+
+        * fix use of ecore_con_*_flush functions with unconnected objects
+        * fix setting of write flags on ecore-con servers during connect
+
+2013-03-27  Cedric Bail
+
+       * fix ecore_con_url download speed
+
+2013-04-02  Rafael Antognolli
+
+        * ecore/wayland: Fix screen geometry when it is rotated.
+
+2013-04-04  Rafael Antognolli
+
+        * 1.7.6 release
+
+2013-04-08  Rafael Antognolli
+
+        * ecore/wayland: Actually wait for the sync callback on
+        ecore_wl_sync().
+        * ecore/wayland: Sync before assuming that there's no output on
+        ecore_evas_screen_geometry_get().
+
+2013-04-15  Rafael Antognolli
+
+        * ecore_evas/wayland_shm: Attach the buffer before adding damage.
+        * ecore_evas/wayland_shm: Backport frame_callback implementation.
+
+2013-04-30  Rafael Antognolli
+        * ecore_evas/wayland_shm: Don't destroy a non-released buffer.
index b783257..23f451c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -159,6 +176,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DATA = $(pkgconfig_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
@@ -724,8 +746,11 @@ ecore.spec: $(top_builddir)/config.status $(srcdir)/ecore.spec.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
 install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
@@ -765,8 +790,11 @@ distclean-libtool:
        -rm -f libtool config.lt
 install-pkgconfigDATA: $(pkgconfig_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
        @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -951,13 +979,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
@@ -1043,7 +1068,7 @@ distcheck: dist
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
+       chmod -R a-w $(distdir); chmod u+w $(distdir)
        mkdir $(distdir)/_build
        mkdir $(distdir)/_inst
        chmod a-w $(distdir)
diff --git a/NEWS b/NEWS
index 646aedb..bf665df 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,43 @@
+Ecore 1.7.7
+
+Changes since Ecore 1.7.6:
+--------------------------
+Additions:
+    * ecore_evas/wayland_shm: Backport frame_callback implementation.
+
+Fixes:
+    * ecore_evas/wayland_shm: Attach the buffer before adding damage.
+    * ecore_evas/wayland_shm: Don't destroy a non-released buffer.
+    * ecore_evas/x: Backport fixes on window properties handling.
+
+Ecore 1.7.6
+
+Changes since Ecore 1.7.5:
+--------------------------
+
+Additions:
+    * Add infrastructure to handle buggy touchscreen in Ecore_Input_Evas.
+    * Thread safety for ecore_pipe
+    * ecore_wayland:
+     - Add ecore_wl_registry_get;
+     - Add ecore_wl_globals_get.
+
+Fixes:
+    * Fixed x11 error sync issue with ecore_x_image_get().
+    * Fixed Ecore_Wayland to build with C++ compiler.
+    * Fixed return type of function ecore_wl_outputs_get().
+    * Fix ecore_x_screen_is_composited/set() to work on multihead.
+    * Fixed a memory leak in ecore_con_dns.
+    * Fixed memory usage of the internal buffer of Ecore_Con_Server.
+    * Fix handling of mouse and touch screen in Ecore_Evas_Fb.
+    * Fix ecore-x edid fetch to ftech 128, not 100 bytes.
+    * cleaned up gnutls session init
+    * fix hosts file use with ecore-con and dns.c
+    * fix use of ecore_con_*_flush functions with unconnected objects
+    * fix setting of write flags on ecore-con servers during connect
+    * fix ecore_con_url download speed bug
+    * fix wayland window resize using meta + middle click.
+
 Ecore 1.7.5
 
 Changes since Ecore 1.7.4:
@@ -8,7 +48,7 @@ Fixes:
 
 Improvements:
     * New simplified chinese translation.
-        
+
 Ecore 1.7.4
 
 Changes since Ecore 1.7.3:
index b2e85fa..f5b2eb9 100644 (file)
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
 # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -48,8 +48,7 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
 # ----------------------------------
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
 AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
 AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
@@ -95,8 +94,7 @@ m4_define([_PKG_CONFIG],
     pkg_cv_[]$1="$$1"
  elif test -n "$PKG_CONFIG"; then
     PKG_CHECK_EXISTS([$3],
-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes ],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
                     [pkg_failed=yes])
  else
     pkg_failed=untried
@@ -144,9 +142,9 @@ if test $pkg_failed = yes; then
        AC_MSG_RESULT([no])
         _PKG_SHORT_ERRORS_SUPPORTED
         if test $_pkg_short_errors_supported = yes; then
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
         else 
-               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
@@ -159,7 +157,7 @@ $$1_PKG_ERRORS
 Consider adjusting the PKG_CONFIG_PATH environment variable if you
 installed software in a non-standard prefix.
 
-_PKG_TEXT])[]dnl
+_PKG_TEXT])
         ])
 elif test $pkg_failed = untried; then
        AC_MSG_RESULT([no])
@@ -170,7 +168,7 @@ path to pkg-config.
 
 _PKG_TEXT
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])
         ])
 else
        $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
@@ -198,7 +196,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.3], [],
+m4_if([$1], [1.11.6], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -214,7 +212,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.3])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
index 8a1b379..c6ec71b 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ecore 1.7.5.
+# Generated by GNU Autoconf 2.68 for ecore 1.7.7.
 #
 # Report bugs to <enlightenment-devel@lists.sourceforge.net>.
 #
@@ -570,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='ecore'
 PACKAGE_TARNAME='ecore'
-PACKAGE_VERSION='1.7.5'
-PACKAGE_STRING='ecore 1.7.5'
+PACKAGE_VERSION='1.7.7'
+PACKAGE_STRING='ecore 1.7.7'
 PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net'
 PACKAGE_URL=''
 
@@ -659,6 +659,12 @@ BUILD_ECORE_WAYLAND_FALSE
 BUILD_ECORE_WAYLAND_TRUE
 WAYLAND_LIBS
 WAYLAND_CFLAGS
+ecore_imf_ibus_libs
+ecore_imf_ibus_cflags
+BUILD_ECORE_IMF_IBUS_FALSE
+BUILD_ECORE_IMF_IBUS_TRUE
+IBUS_LIBS
+IBUS_CFLAGS
 XCB_X11_LIBS
 XCB_X11_CFLAGS
 ecore_evas_libs
@@ -699,12 +705,6 @@ ecore_x_libs
 ecore_x_cflags
 BUILD_ECORE_X_FALSE
 BUILD_ECORE_X_TRUE
-ecore_imf_ibus_libs
-ecore_imf_ibus_cflags
-BUILD_ECORE_IMF_IBUS_FALSE
-BUILD_ECORE_IMF_IBUS_TRUE
-IBUS_LIBS
-IBUS_CFLAGS
 ecore_imf_scim_libs
 ecore_imf_scim_cflags
 BUILD_ECORE_IMF_SCIM_FALSE
@@ -1122,7 +1122,6 @@ enable_ecore_input
 enable_ecore_input_evas
 enable_ecore_imf_xim
 enable_ecore_imf_scim
-enable_ecore_imf_ibus
 enable_ecore_x
 enable_ecore_win32
 enable_ecore_cocoa
@@ -1150,6 +1149,7 @@ enable_ecore_evas_fb
 enable_ecore_evas_software_16_wince
 enable_ecore_evas_ews
 enable_ecore_evas_psl1ght
+enable_ecore_imf_ibus
 enable_ecore_wayland
 enable_ecore_evas_wayland_shm
 enable_ecore_evas_wayland_egl
@@ -1240,12 +1240,12 @@ CARES_LIBS
 ECORE_CON_CFLAGS
 SCIM_CFLAGS
 SCIM_LIBS
-IBUS_CFLAGS
-IBUS_LIBS
 TSLIB_CFLAGS
 TSLIB_LIBS
 XCB_X11_CFLAGS
 XCB_X11_LIBS
+IBUS_CFLAGS
+IBUS_LIBS
 WAYLAND_CFLAGS
 WAYLAND_LIBS
 WAYLAND_EGL_CFLAGS
@@ -1794,7 +1794,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ecore 1.7.5 to adapt to many kinds of systems.
+\`configure' configures ecore 1.7.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1868,7 +1868,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ecore 1.7.5:";;
+     short | recursive ) echo "Configuration of ecore 1.7.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1972,7 +1972,6 @@ Optional Features:
                           enable the ecore_input_evas module
   --enable-ecore-imf-xim  enable the ecore_imf_xim module
   --enable-ecore-imf-scim enable the ecore_imf_scim module
-  --enable-ecore-imf-ibus enable the ecore_imf_ibus module
   --enable-ecore-x        enable the ecore_x module
   --enable-ecore-win32    enable the ecore_win32 module
   --enable-ecore-cocoa    enable the ecore_cocoa module
@@ -2027,6 +2026,7 @@ Optional Features:
                           support in the ecore_evas module.
   --enable-ecore-evas-psl1ght
                           enable PSL1GHT support in the ecore_evas module.
+  --enable-ecore-imf-ibus enable the ecore_imf_ibus module
   --enable-ecore-wayland  enable the ecore_wayland module
   --enable-ecore-evas-wayland-shm
                           enable Wayland Shm support in the ecore_evas module.
@@ -2188,8 +2188,6 @@ Some influential environment variables:
               preprocessor flags for -Wno-override-init
   SCIM_CFLAGS C compiler flags for SCIM, overriding pkg-config
   SCIM_LIBS   linker flags for SCIM, overriding pkg-config
-  IBUS_CFLAGS C compiler flags for IBUS, overriding pkg-config
-  IBUS_LIBS   linker flags for IBUS, overriding pkg-config
   TSLIB_CFLAGS
               C compiler flags for TSLIB, overriding pkg-config
   TSLIB_LIBS  linker flags for TSLIB, overriding pkg-config
@@ -2197,6 +2195,8 @@ Some influential environment variables:
               C compiler flags for XCB_X11, overriding pkg-config
   XCB_X11_LIBS
               linker flags for XCB_X11, overriding pkg-config
+  IBUS_CFLAGS C compiler flags for IBUS, overriding pkg-config
+  IBUS_LIBS   linker flags for IBUS, overriding pkg-config
   WAYLAND_CFLAGS
               C compiler flags for WAYLAND, overriding pkg-config
   WAYLAND_LIBS
@@ -2275,7 +2275,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ecore configure 1.7.5
+ecore configure 1.7.7
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -3127,7 +3127,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ecore $as_me 1.7.5, which was
+It was created by ecore $as_me 1.7.7, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -3952,7 +3952,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ecore'
- VERSION='1.7.5'
+ VERSION='1.7.7'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -6976,7 +6976,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -10104,9 +10104,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
   esac
 
   ld_shlibs=yes
@@ -10328,7 +10325,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -10505,7 +10502,6 @@ _LT_EOF
        if test "$aix_use_runtimelinking" = yes; then
          shared_flag="$shared_flag "'${wl}-G'
        fi
-       link_all_deplibs=no
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -10959,7 +10955,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -12986,7 +12974,7 @@ _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define VERS_MIC 5
+#define VERS_MIC 7
 _ACEOF
 
 
@@ -12994,7 +12982,7 @@ cat >>confdefs.h <<_ACEOF
 #define VERS_REV 0
 _ACEOF
 
-version_info="8:5:7"
+version_info="8:7:7"
 release_info=""
 
 
@@ -18043,7 +18031,7 @@ lt_prog_compiler_static_CXX=
            ;;
        esac
        ;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -18414,9 +18402,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs_CXX=no
-    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -19804,7 +19781,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
        if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
@@ -19970,13 +19946,12 @@ if test -n "$EVIL_CFLAGS"; then
     pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "evil >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evil >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EVIL_CFLAGS=`$PKG_CONFIG --cflags "evil >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EVIL_CFLAGS=`$PKG_CONFIG --cflags "evil >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -19987,13 +19962,12 @@ if test -n "$EVIL_LIBS"; then
     pkg_cv_EVIL_LIBS="$EVIL_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "evil >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evil >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EVIL_LIBS=`$PKG_CONFIG --libs "evil >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EVIL_LIBS=`$PKG_CONFIG --libs "evil >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -20013,14 +19987,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "evil >= 1.7.5" 2>&1`
+               EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.7.7" 2>&1`
         else
-               EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "evil >= 1.7.5" 2>&1`
+               EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.7.7" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$EVIL_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (evil >= 1.7.5) were not met:
+       as_fn_error $? "Package requirements (evil >= 1.7.7) were not met:
 
 $EVIL_PKG_ERRORS
 
@@ -20030,6 +20004,7 @@ installed software in a non-standard prefix.
 Alternatively, you may set the environment variables EVIL_CFLAGS
 and EVIL_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
+
 elif test $pkg_failed = untried; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -20045,6 +20020,7 @@ See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
+
 else
        EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS
        EVIL_LIBS=$pkg_cv_EVIL_LIBS
@@ -20108,7 +20084,6 @@ if test -n "$ESCAPE_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ESCAPE_CFLAGS=`$PKG_CONFIG --cflags "escape" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20125,7 +20100,6 @@ if test -n "$ESCAPE_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ESCAPE_LIBS=`$PKG_CONFIG --libs "escape" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20145,9 +20119,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "escape" 2>&1`
+               ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "escape" 2>&1`
         else
-               ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "escape" 2>&1`
+               ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "escape" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$ESCAPE_PKG_ERRORS" >&5
@@ -20162,6 +20136,7 @@ installed software in a non-standard prefix.
 Alternatively, you may set the environment variables ESCAPE_CFLAGS
 and ESCAPE_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
+
 elif test $pkg_failed = untried; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -20177,6 +20152,7 @@ See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
+
 else
        ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS
        ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS
@@ -20218,7 +20194,6 @@ if test -n "$EXOTIC_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20235,7 +20210,6 @@ if test -n "$EXOTIC_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20255,9 +20229,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "exotic" 2>&1`
+               EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1`
         else
-               EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "exotic" 2>&1`
+               EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$EXOTIC_PKG_ERRORS" >&5
@@ -20534,13 +20508,12 @@ if test -n "$EINA_CFLAGS"; then
     pkg_cv_EINA_CFLAGS="$EINA_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "eina >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eina >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -20551,13 +20524,12 @@ if test -n "$EINA_LIBS"; then
     pkg_cv_EINA_LIBS="$EINA_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "eina >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eina >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -20577,14 +20549,14 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "eina >= 1.7.5" 2>&1`
+               EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.7.7" 2>&1`
         else
-               EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "eina >= 1.7.5" 2>&1`
+               EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.7.7" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$EINA_PKG_ERRORS" >&5
 
-       as_fn_error $? "Package requirements (eina >= 1.7.5) were not met:
+       as_fn_error $? "Package requirements (eina >= 1.7.7) were not met:
 
 $EINA_PKG_ERRORS
 
@@ -20594,6 +20566,7 @@ installed software in a non-standard prefix.
 Alternatively, you may set the environment variables EINA_CFLAGS
 and EINA_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
+
 elif test $pkg_failed = untried; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -20609,6 +20582,7 @@ See the pkg-config man page for more details.
 
 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
 See \`config.log' for more details" "$LINENO" 5; }
+
 else
        EINA_CFLAGS=$pkg_cv_EINA_CFLAGS
        EINA_LIBS=$pkg_cv_EINA_LIBS
@@ -20617,24 +20591,24 @@ $as_echo "yes" >&6; }
 
 fi
 #FIXME check all the requirements when the eina move will be finished
-requirements_ecore="eina >= 1.7.5 ${requirements_ecore}"
-requirements_ecore_con="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_con}"
-#requirements_ecore_config="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_config}"
-requirements_ecore_directfb="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_directfb}"
-requirements_ecore_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_evas}"
-requirements_ecore_fb="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_fb}"
-requirements_ecore_file="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_file}"
-requirements_ecore_imf="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_imf}"
-requirements_ecore_imf_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_imf_evas}"
-requirements_ecore_input="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_input}"
-requirements_ecore_input_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_input_evas}"
-requirements_ecore_ipc="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_ipc}"
-requirements_ecore_cocoa="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_cocoa}"
-requirements_ecore_sdl="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_sdl}"
-requirements_ecore_psl1ght="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_psl1ght}"
-requirements_ecore_win32="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_win32}"
-requirements_ecore_wince="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_wince}"
-requirements_ecore_x="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_x}"
+requirements_ecore="eina >= 1.7.7 ${requirements_ecore}"
+requirements_ecore_con="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_con}"
+#requirements_ecore_config="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_input}"
+requirements_ecore_input_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_input_evas}"
+requirements_ecore_ipc="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_ipc}"
+requirements_ecore_cocoa="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_cocoa}"
+requirements_ecore_sdl="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_sdl}"
+requirements_ecore_psl1ght="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_psl1ght}"
+requirements_ecore_win32="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_wince}"
+requirements_ecore_x="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_x}"
 
 
 # glib support (main loop integration)
@@ -20660,7 +20634,6 @@ if test -n "$GLIB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20677,7 +20650,6 @@ if test -n "$GLIB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20697,9 +20669,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1`
         else
-               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0" 2>&1`
+               GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$GLIB_PKG_ERRORS" >&5
@@ -20747,7 +20719,6 @@ if test -n "$SDL_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20764,7 +20735,6 @@ if test -n "$SDL_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20784,9 +20754,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sdl >= 1.2.0" 2>&1`
+               SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1`
         else
-               SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sdl >= 1.2.0" 2>&1`
+               SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$SDL_PKG_ERRORS" >&5
@@ -20898,7 +20868,6 @@ if test -n "$DIRECTFB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "directfb >= 0.9.16" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20915,7 +20884,6 @@ if test -n "$DIRECTFB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_DIRECTFB_LIBS=`$PKG_CONFIG --libs "directfb >= 0.9.16" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -20935,9 +20903,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "directfb >= 0.9.16" 2>&1`
+               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "directfb >= 0.9.16" 2>&1`
         else
-               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "directfb >= 0.9.16" 2>&1`
+               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors "directfb >= 0.9.16" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$DIRECTFB_PKG_ERRORS" >&5
@@ -20959,7 +20927,7 @@ fi
 # Eet library (ecore_config)
 
 #PKG_CHECK_MODULES([EET],
-#   [eet >= 1.7.5],
+#   [eet >= 1.7.7],
 #   [have_eet="yes"],
 #   [have_eet="no"])
 
@@ -21338,7 +21306,6 @@ if test -n "$ECORE_XCB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_CFLAGS=`$PKG_CONFIG --cflags "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21355,7 +21322,6 @@ if test -n "$ECORE_XCB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_LIBS=`$PKG_CONFIG --libs "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21375,9 +21341,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1`
         else
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$ECORE_XCB_PKG_ERRORS" >&5
@@ -21398,7 +21364,6 @@ if test -n "$ECORE_XCB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_CFLAGS=`$PKG_CONFIG --cflags "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21415,7 +21380,6 @@ if test -n "$ECORE_XCB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_LIBS=`$PKG_CONFIG --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21435,9 +21399,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
         else
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$ECORE_XCB_PKG_ERRORS" >&5
@@ -21478,7 +21442,6 @@ if test -n "$ECORE_XCB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_CFLAGS=`$PKG_CONFIG --cflags "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21495,7 +21458,6 @@ if test -n "$ECORE_XCB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_ECORE_XCB_LIBS=`$PKG_CONFIG --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21515,9 +21477,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
         else
-               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
+               ECORE_XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$ECORE_XCB_PKG_ERRORS" >&5
@@ -21566,7 +21528,6 @@ if test -n "$PIXMAN_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_PIXMAN_CFLAGS=`$PKG_CONFIG --cflags "pixman-1" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21583,7 +21544,6 @@ if test -n "$PIXMAN_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_PIXMAN_LIBS=`$PKG_CONFIG --libs "pixman-1" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21603,9 +21563,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "pixman-1" 2>&1`
+               PIXMAN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "pixman-1" 2>&1`
         else
-               PIXMAN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "pixman-1" 2>&1`
+               PIXMAN_PKG_ERRORS=`$PKG_CONFIG --print-errors "pixman-1" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$PIXMAN_PKG_ERRORS" >&5
@@ -21653,7 +21613,6 @@ if test -n "$XCB_COMPOSITE_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_COMPOSITE_CFLAGS=`$PKG_CONFIG --cflags "xcb-composite" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21670,7 +21629,6 @@ if test -n "$XCB_COMPOSITE_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_COMPOSITE_LIBS=`$PKG_CONFIG --libs "xcb-composite" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21690,9 +21648,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-composite" 2>&1`
+               XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-composite" 2>&1`
         else
-               XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-composite" 2>&1`
+               XCB_COMPOSITE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-composite" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_COMPOSITE_PKG_ERRORS" >&5
@@ -21735,7 +21693,6 @@ if test -n "$XCB_DAMAGE_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_DAMAGE_CFLAGS=`$PKG_CONFIG --cflags "xcb-damage" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21752,7 +21709,6 @@ if test -n "$XCB_DAMAGE_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_DAMAGE_LIBS=`$PKG_CONFIG --libs "xcb-damage" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21772,9 +21728,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-damage" 2>&1`
+               XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-damage" 2>&1`
         else
-               XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-damage" 2>&1`
+               XCB_DAMAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-damage" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_DAMAGE_PKG_ERRORS" >&5
@@ -21817,7 +21773,6 @@ if test -n "$XCB_DPMS_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_DPMS_CFLAGS=`$PKG_CONFIG --cflags "xcb-dpms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21834,7 +21789,6 @@ if test -n "$XCB_DPMS_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_DPMS_LIBS=`$PKG_CONFIG --libs "xcb-dpms" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21854,9 +21808,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-dpms" 2>&1`
+               XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-dpms" 2>&1`
         else
-               XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-dpms" 2>&1`
+               XCB_DPMS_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-dpms" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_DPMS_PKG_ERRORS" >&5
@@ -21899,7 +21853,6 @@ if test -n "$XCB_RANDR_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_RANDR_CFLAGS=`$PKG_CONFIG --cflags "xcb-randr" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21916,7 +21869,6 @@ if test -n "$XCB_RANDR_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_RANDR_LIBS=`$PKG_CONFIG --libs "xcb-randr" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21936,9 +21888,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-randr" 2>&1`
+               XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-randr" 2>&1`
         else
-               XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-randr" 2>&1`
+               XCB_RANDR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-randr" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_RANDR_PKG_ERRORS" >&5
@@ -21981,7 +21933,6 @@ if test -n "$XCB_RENDER_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_RENDER_CFLAGS=`$PKG_CONFIG --cflags "xcb-render xcb-renderutil" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -21998,7 +21949,6 @@ if test -n "$XCB_RENDER_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_RENDER_LIBS=`$PKG_CONFIG --libs "xcb-render xcb-renderutil" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22018,9 +21968,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-render xcb-renderutil" 2>&1`
+               XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1`
         else
-               XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-render xcb-renderutil" 2>&1`
+               XCB_RENDER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_RENDER_PKG_ERRORS" >&5
@@ -22063,7 +22013,6 @@ if test -n "$XCB_SCREENSAVER_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SCREENSAVER_CFLAGS=`$PKG_CONFIG --cflags "xcb-screensaver" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22080,7 +22029,6 @@ if test -n "$XCB_SCREENSAVER_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SCREENSAVER_LIBS=`$PKG_CONFIG --libs "xcb-screensaver" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22100,9 +22048,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-screensaver" 2>&1`
+               XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-screensaver" 2>&1`
         else
-               XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-screensaver" 2>&1`
+               XCB_SCREENSAVER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-screensaver" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_SCREENSAVER_PKG_ERRORS" >&5
@@ -22145,7 +22093,6 @@ if test -n "$XCB_SHAPE_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SHAPE_CFLAGS=`$PKG_CONFIG --cflags "xcb-shape" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22162,7 +22109,6 @@ if test -n "$XCB_SHAPE_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SHAPE_LIBS=`$PKG_CONFIG --libs "xcb-shape" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22182,9 +22128,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-shape" 2>&1`
+               XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-shape" 2>&1`
         else
-               XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-shape" 2>&1`
+               XCB_SHAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-shape" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_SHAPE_PKG_ERRORS" >&5
@@ -22227,7 +22173,6 @@ if test -n "$XCB_XGESTURE_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XGESTURE_CFLAGS=`$PKG_CONFIG --cflags "xcb-gesture" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22244,7 +22189,6 @@ if test -n "$XCB_XGESTURE_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XGESTURE_LIBS=`$PKG_CONFIG --libs "xcb-gesture" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22264,9 +22208,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-gesture" 2>&1`
+               XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-gesture" 2>&1`
         else
-               XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-gesture" 2>&1`
+               XCB_XGESTURE_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-gesture" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XGESTURE_PKG_ERRORS" >&5
@@ -22309,7 +22253,6 @@ if test -n "$XCB_SYNC_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SYNC_CFLAGS=`$PKG_CONFIG --cflags "xcb-sync" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22326,7 +22269,6 @@ if test -n "$XCB_SYNC_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_SYNC_LIBS=`$PKG_CONFIG --libs "xcb-sync" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22346,9 +22288,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-sync" 2>&1`
+               XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-sync" 2>&1`
         else
-               XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-sync" 2>&1`
+               XCB_SYNC_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-sync" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_SYNC_PKG_ERRORS" >&5
@@ -22391,7 +22333,6 @@ if test -n "$XCB_XFIXES_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XFIXES_CFLAGS=`$PKG_CONFIG --cflags "xcb-xfixes" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22408,7 +22349,6 @@ if test -n "$XCB_XFIXES_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XFIXES_LIBS=`$PKG_CONFIG --libs "xcb-xfixes" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22428,9 +22368,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-xfixes" 2>&1`
+               XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xfixes" 2>&1`
         else
-               XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-xfixes" 2>&1`
+               XCB_XFIXES_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xfixes" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XFIXES_PKG_ERRORS" >&5
@@ -22473,7 +22413,6 @@ if test -n "$XCB_XINERAMA_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XINERAMA_CFLAGS=`$PKG_CONFIG --cflags "xcb-xinerama" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22490,7 +22429,6 @@ if test -n "$XCB_XINERAMA_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XINERAMA_LIBS=`$PKG_CONFIG --libs "xcb-xinerama" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22510,9 +22448,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-xinerama" 2>&1`
+               XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinerama" 2>&1`
         else
-               XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-xinerama" 2>&1`
+               XCB_XINERAMA_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinerama" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XINERAMA_PKG_ERRORS" >&5
@@ -22555,7 +22493,6 @@ if test -n "$XCB_XPRINT_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XPRINT_CFLAGS=`$PKG_CONFIG --cflags "xcb-xprint" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22572,7 +22509,6 @@ if test -n "$XCB_XPRINT_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XPRINT_LIBS=`$PKG_CONFIG --libs "xcb-xprint" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22592,9 +22528,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-xprint" 2>&1`
+               XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xprint" 2>&1`
         else
-               XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-xprint" 2>&1`
+               XCB_XPRINT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xprint" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XPRINT_PKG_ERRORS" >&5
@@ -22637,7 +22573,6 @@ if test -n "$XCB_XTEST_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XTEST_CFLAGS=`$PKG_CONFIG --cflags "xcb-xtest" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22654,7 +22589,6 @@ if test -n "$XCB_XTEST_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XTEST_LIBS=`$PKG_CONFIG --libs "xcb-xtest" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22674,9 +22608,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-xtest" 2>&1`
+               XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xtest" 2>&1`
         else
-               XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-xtest" 2>&1`
+               XCB_XTEST_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xtest" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XTEST_PKG_ERRORS" >&5
@@ -22721,7 +22655,6 @@ if test -n "$XCB_XINPUT_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XINPUT_CFLAGS=`$PKG_CONFIG --cflags "xcb-xinput" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22738,7 +22671,6 @@ if test -n "$XCB_XINPUT_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_XINPUT_LIBS=`$PKG_CONFIG --libs "xcb-xinput" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22758,9 +22690,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-xinput" 2>&1`
+               XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-xinput" 2>&1`
         else
-               XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-xinput" 2>&1`
+               XCB_XINPUT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-xinput" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_XINPUT_PKG_ERRORS" >&5
@@ -22803,7 +22735,6 @@ if test -n "$XCB_CURSOR_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_CURSOR_CFLAGS=`$PKG_CONFIG --cflags "xcb-render xcb-renderutil" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22820,7 +22751,6 @@ if test -n "$XCB_CURSOR_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_CURSOR_LIBS=`$PKG_CONFIG --libs "xcb-render xcb-renderutil" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -22840,9 +22770,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xcb-render xcb-renderutil" 2>&1`
+               XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-render xcb-renderutil" 2>&1`
         else
-               XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xcb-render xcb-renderutil" 2>&1`
+               XCB_CURSOR_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-render xcb-renderutil" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_CURSOR_PKG_ERRORS" >&5
@@ -24883,13 +24813,12 @@ if test -n "$EVAS_CFLAGS"; then
     pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "evas >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evas >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -24900,13 +24829,12 @@ if test -n "$EVAS_LIBS"; then
     pkg_cv_EVAS_LIBS="$EVAS_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.7.5\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "evas >= 1.7.5") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evas >= 1.7.7\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evas >= 1.7.7") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.7.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 1.7.7" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -24926,9 +24854,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "evas >= 1.7.5" 2>&1`
+               EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evas >= 1.7.7" 2>&1`
         else
-               EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "evas >= 1.7.5" 2>&1`
+               EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "evas >= 1.7.7" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$EVAS_PKG_ERRORS" >&5
@@ -27177,7 +27105,6 @@ if test -n "$CURL_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27194,7 +27121,6 @@ if test -n "$CURL_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27214,9 +27140,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libcurl" 2>&1`
+               CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1`
         else
-               CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libcurl" 2>&1`
+               CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$CURL_PKG_ERRORS" >&5
@@ -27276,13 +27202,12 @@ if test -n "$TLS_CFLAGS"; then
     pkg_cv_TLS_CFLAGS="$TLS_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.12.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.12.16") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_TLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.10.2" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_TLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.12.16" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27293,13 +27218,12 @@ if test -n "$TLS_LIBS"; then
     pkg_cv_TLS_LIBS="$TLS_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.12.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.12.16") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_TLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.10.2" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_TLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.12.16" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27319,9 +27243,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gnutls >= 2.10.2" 2>&1`
+               TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.12.16" 2>&1`
         else
-               TLS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gnutls >= 2.10.2" 2>&1`
+               TLS_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.12.16" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$TLS_PKG_ERRORS" >&5
@@ -27353,13 +27277,12 @@ if test -n "$TLS2_CFLAGS"; then
     pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.12.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.12.16") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_TLS2_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.10.2" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_TLS2_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.12.16" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27370,13 +27293,12 @@ if test -n "$TLS2_LIBS"; then
     pkg_cv_TLS2_LIBS="$TLS2_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.10.2\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.10.2") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.12.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.12.16") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_TLS2_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.10.2" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
+  pkg_cv_TLS2_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.12.16" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27396,9 +27318,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gnutls >= 2.10.2" 2>&1`
+               TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gnutls >= 2.12.16" 2>&1`
         else
-               TLS2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gnutls >= 2.10.2" 2>&1`
+               TLS2_PKG_ERRORS=`$PKG_CONFIG --print-errors "gnutls >= 2.12.16" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$TLS2_PKG_ERRORS" >&5
@@ -27574,7 +27496,6 @@ if test -n "$SSL_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SSL_CFLAGS=`$PKG_CONFIG --cflags "openssl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27591,7 +27512,6 @@ if test -n "$SSL_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SSL_LIBS=`$PKG_CONFIG --libs "openssl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27611,9 +27531,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "openssl" 2>&1`
+               SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "openssl" 2>&1`
         else
-               SSL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "openssl" 2>&1`
+               SSL_PKG_ERRORS=`$PKG_CONFIG --print-errors "openssl" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$SSL_PKG_ERRORS" >&5
@@ -27688,7 +27608,6 @@ if test -n "$CARES_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CARES_CFLAGS=`$PKG_CONFIG --cflags "libcares >= 1.6.1" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27705,7 +27624,6 @@ if test -n "$CARES_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CARES_LIBS=`$PKG_CONFIG --libs "libcares >= 1.6.1" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -27725,9 +27643,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libcares >= 1.6.1" 2>&1`
+               CARES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcares >= 1.6.1" 2>&1`
         else
-               CARES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libcares >= 1.6.1" 2>&1`
+               CARES_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcares >= 1.6.1" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$CARES_PKG_ERRORS" >&5
@@ -27964,8 +27882,8 @@ fi
 
 if test "x$have_ecore_ipc" = "xyes"; then :
 
-     requirements_ecore_ipc="ecore-con >= 1.7.5 ${requirements_ecore_ipc}"
-     requirements_ecore_evas="ecore-ipc >= 1.7.5 ${requirements_ecore_evas}"
+     requirements_ecore_ipc="ecore-con >= 1.7.7 ${requirements_ecore_ipc}"
+     requirements_ecore_evas="ecore-ipc >= 1.7.7 ${requirements_ecore_evas}"
 
 fi
 
@@ -28219,7 +28137,7 @@ fi
 
 
    if test "x${have_ecore_con}" = "xyes" ; then
-      requirements_ecore_file="ecore-con >= 1.7.5 ${requirements_ecore_file}"
+      requirements_ecore_file="ecore-con >= 1.7.7 ${requirements_ecore_file}"
    else
 
 _ecore_want_curl=${want_curl}
@@ -28253,7 +28171,6 @@ if test -n "$CURL_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28270,7 +28187,6 @@ if test -n "$CURL_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28290,9 +28206,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libcurl" 2>&1`
+               CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libcurl" 2>&1`
         else
-               CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libcurl" 2>&1`
+               CURL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libcurl" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$CURL_PKG_ERRORS" >&5
@@ -28336,7 +28252,7 @@ fi
 #fi
 
 #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
-#   [requirements_ecore_config="ecore-ipc >= 1.7.5 evas >= 1.7.5 eet >= 1.7.5 ${requirements_ecore_config}"])
+#   [requirements_ecore_config="ecore-ipc >= 1.7.7 evas >= 1.7.7 eet >= 1.7.7 ${requirements_ecore_config}"])
 
  if false; then
   BUILD_ECORE_CONFIG_TRUE=
@@ -28466,7 +28382,7 @@ fi
 
 
 if test "x$have_ecore_imf_evas" = "xyes"; then :
-  requirements_ecore_imf_evas="ecore-imf >= 1.7.5 evas >= 1.7.5 ${requirements_ecore_imf_evas}"
+  requirements_ecore_imf_evas="ecore-imf >= 1.7.7 evas >= 1.7.7 ${requirements_ecore_imf_evas}"
 fi
 
 
@@ -28586,7 +28502,7 @@ fi
 
 
 if test "x$have_ecore_input_evas" = "xyes"; then :
-  requirements_ecore_input_evas="ecore-input >= 1.7.5 evas >= 1.7.5 ${requirements_ecore_input}"
+  requirements_ecore_input_evas="ecore-input >= 1.7.7 evas >= 1.7.7 ${requirements_ecore_input}"
 fi
 
 
@@ -28666,7 +28582,7 @@ fi
 
 
 if test "x$have_ecore_imf_xim" = "xyes"; then :
-  requirements_ecore_imf_xim="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_xim}"
+  requirements_ecore_imf_xim="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_xim}"
 fi
 
 
@@ -28692,7 +28608,6 @@ if test -n "$SCIM_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SCIM_CFLAGS=`$PKG_CONFIG --cflags "scim" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28709,7 +28624,6 @@ if test -n "$SCIM_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SCIM_LIBS=`$PKG_CONFIG --libs "scim" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -28729,9 +28643,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "scim" 2>&1`
+               SCIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "scim" 2>&1`
         else
-               SCIM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "scim" 2>&1`
+               SCIM_PKG_ERRORS=`$PKG_CONFIG --print-errors "scim" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$SCIM_PKG_ERRORS" >&5
 
 
 if test "x$have_ecore_imf_scim" = "xyes"; then :
-  requirements_ecore_imf_scim="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_scim}"
-fi
-
-
-
-
-
-
-
-
-# ecore_imf_ibus
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IBUS" >&5
-$as_echo_n "checking for IBUS... " >&6; }
-
-if test -n "$IBUS_CFLAGS"; then
-    pkg_cv_IBUS_CFLAGS="$IBUS_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.4\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.4") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_IBUS_CFLAGS=`$PKG_CONFIG --cflags "ibus-1.0 >= 1.4" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$IBUS_LIBS"; then
-    pkg_cv_IBUS_LIBS="$IBUS_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.4\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.4") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_IBUS_LIBS=`$PKG_CONFIG --libs "ibus-1.0 >= 1.4" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-               IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ibus-1.0 >= 1.4" 2>&1`
-        else
-               IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ibus-1.0 >= 1.4" 2>&1`
-        fi
-       # Put the nasty error message in config.log where it belongs
-       echo "$IBUS_PKG_ERRORS" >&5
-
-       have_ibus="no"
-elif test $pkg_failed = untried; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-       have_ibus="no"
-else
-       IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS
-       IBUS_LIBS=$pkg_cv_IBUS_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-       have_ibus="yes"
-fi
-
- if false; then
-  BUILD_ECORE_IMF_IBUS_TRUE=
-  BUILD_ECORE_IMF_IBUS_FALSE='#'
-else
-  BUILD_ECORE_IMF_IBUS_TRUE='#'
-  BUILD_ECORE_IMF_IBUS_FALSE=
-fi
-
-ecore_imf_ibus_deps="no"
-echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
-if test    "x${have_ecore_imf}" = "xyes" \
-        -a "x${have_glib}" =  "xyes" \
-        -a "x${have_ibus}" =  "xyes" \
-        -a "x${have_ecore_input}" = "xyes" ; then
-   ecore_imf_ibus_deps="yes"
-
-$as_echo "#define BUILD_ECORE_IMF_IBUS 1" >>confdefs.h
-
-fi
-
-
-
-have_ecore_imf_ibus=no
-ecore_imf_ibus_cflags=
-ecore_imf_ibus_libs=
-want_module=${want_ecore_imf}
-
-# Check whether --enable-ecore-imf-ibus was given.
-if test "${enable_ecore_imf_ibus+set}" = set; then :
-  enableval=$enable_ecore_imf_ibus;
-    if test "x${enableval}" = "xyes" ; then
-       want_module="yes"
-    else
-       want_module="no"
-    fi
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Ecore_Imf_IBUS module is to be built" >&5
-$as_echo_n "checking whether Ecore_Imf_IBUS module is to be built... " >&6; }
-
-if test "x${want_module}" = "xyes" ; then
-   if test "x${ecore_imf_ibus_deps}" = "x" || test "x${ecore_imf_ibus_deps}" = "xyes" ; then
-
-$as_echo "#define BUILD_ECORE_IMF_IBUS 1" >>confdefs.h
-
-      have_ecore_imf_ibus="yes"
-      ecore_imf_ibus_libs="-lecore_imf_ibus"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-   else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (dependency failed)" >&5
-$as_echo "no (dependency failed)" >&6; }
-   fi
-else
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$have_ecore_imf_ibus" = "xyes"; then
-  BUILD_ECORE_IMF_IBUS_TRUE=
-  BUILD_ECORE_IMF_IBUS_FALSE='#'
-else
-  BUILD_ECORE_IMF_IBUS_TRUE='#'
-  BUILD_ECORE_IMF_IBUS_FALSE=
-fi
-
-
-if test "x$have_ecore_imf_ibus" = "xyes"; then :
-  requirements_ecore_imf_ibus="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_ibus}"
+  requirements_ecore_imf_scim="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_scim}"
 fi
 
 
@@ -29043,7 +28804,7 @@ fi
 if test "x$have_ecore_x" = "xyes"; then :
 
    ecore_x_libs="$ecore_x_libs $x_libs"
-   requirements_ecore_x="ecore-input >= 1.7.5 ${requirements_ecore_x}"
+   requirements_ecore_x="ecore-input >= 1.7.7 ${requirements_ecore_x}"
 
 fi
 
@@ -29108,7 +28869,7 @@ fi
 if test "x$have_ecore_win32" = "xyes"; then :
 
     ecore_win32_libs="-lole32 -lgdi32"
-    requirements_ecore_win32="ecore-input >= 1.7.5 ${requirements_ecore_win32}"
+    requirements_ecore_win32="ecore-input >= 1.7.7 ${requirements_ecore_win32}"
 
 fi
 
@@ -29177,7 +28938,7 @@ fi
 
 
 if test "x$have_ecore_cocoa" = "xyes"; then :
-  requirements_ecore_cocoa="ecore-input >= 1.7.5 ${requirements_ecore_cocoa}"
+  requirements_ecore_cocoa="ecore-input >= 1.7.7 ${requirements_ecore_cocoa}"
 fi
 
 
@@ -29244,7 +29005,7 @@ fi
 
 
 if test "x$have_ecore_sdl" = "xyes"; then :
-  requirements_ecore_sdl="ecore-input >= 1.7.5 ${requirements_ecore_sdl}"
+  requirements_ecore_sdl="ecore-input >= 1.7.7 ${requirements_ecore_sdl}"
 fi
 
 
@@ -29304,7 +29065,7 @@ fi
 
 
 if test "x$have_ecore_psl1ght" = "xyes"; then :
-  requirements_ecore_psl1ght="ecore-input >= 1.7.5 ${requirements_ecore_psl1ght}"
+  requirements_ecore_psl1ght="ecore-input >= 1.7.7 ${requirements_ecore_psl1ght}"
 fi
 
 
@@ -29411,7 +29172,6 @@ if test -n "$TSLIB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-1.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29428,7 +29188,6 @@ if test -n "$TSLIB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-1.0" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29448,9 +29207,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "tslib-1.0" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib-1.0" 2>&1`
         else
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "tslib-1.0" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib-1.0" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$TSLIB_PKG_ERRORS" >&5
@@ -29471,7 +29230,6 @@ if test -n "$TSLIB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29488,7 +29246,6 @@ if test -n "$TSLIB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29508,9 +29265,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "tslib" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1`
         else
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "tslib" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$TSLIB_PKG_ERRORS" >&5
@@ -29771,7 +29528,6 @@ if test -n "$TSLIB_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29788,7 +29544,6 @@ if test -n "$TSLIB_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -29808,9 +29563,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "tslib" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "tslib" 2>&1`
         else
-               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "tslib" 2>&1`
+               TSLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "tslib" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$TSLIB_PKG_ERRORS" >&5
@@ -30195,7 +29950,7 @@ fi
 
 
 if test "x$have_ecore_wince" = "xyes"; then :
-  requirements_ecore_wince="ecore-input >= 1.7.5 ${requirements_ecore_wince}"
+  requirements_ecore_wince="ecore-input >= 1.7.7 ${requirements_ecore_wince}"
 fi
 
 
@@ -30264,7 +30019,7 @@ fi
 
 
 if test "x$have_ecore_evas" = "xyes"; then :
-  requirements_ecore_evas="ecore-input >= 1.7.5 ecore-input-evas >= 1.7.5 evas >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-input >= 1.7.7 ecore-input-evas >= 1.7.7 evas >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -30495,7 +30250,6 @@ if test -n "$XCB_X11_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_X11_CFLAGS=`$PKG_CONFIG --cflags "x11-xcb" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -30512,7 +30266,6 @@ if test -n "$XCB_X11_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_XCB_X11_LIBS=`$PKG_CONFIG --libs "x11-xcb" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -30532,9 +30285,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "x11-xcb" 2>&1`
+               XCB_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "x11-xcb" 2>&1`
         else
-               XCB_X11_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "x11-xcb" 2>&1`
+               XCB_X11_PKG_ERRORS=`$PKG_CONFIG --print-errors "x11-xcb" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$XCB_X11_PKG_ERRORS" >&5
@@ -30683,7 +30436,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \
 
 $as_echo "#define BUILD_ECORE_EVAS_X11 1" >>confdefs.h
 
-   requirements_ecore_evas="ecore-x >= 1.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-x >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_win32
@@ -30961,19 +30714,19 @@ if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \
 
 $as_echo "#define BUILD_ECORE_EVAS_WIN32 1" >>confdefs.h
 
-   requirements_ecore_evas="ecore-win32 >= 1.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-win32 >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_software_sdl
 
 have_ecore_evas_software_sdl="no"
 if test "x${have_ecore_sdl}" = "xyes"; then
-   requirements_ecore_evas="ecore-sdl >= 1.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.7.7 ${requirements_ecore_evas}"
    have_ecore_evas_software_sdl="yes"
 
 $as_echo "#define BUILD_ECORE_EVAS_SOFTWARE_SDL 1" >>confdefs.h
 
-   requirements_ecore_evas="ecore-sdl >= 1.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_gl_sdl
@@ -31024,7 +30777,7 @@ $as_echo_n "checking whether ecore_evas OpenGL SDL support is built... " >&6; }
 $as_echo "$have_ecore_evas_opengl_sdl" >&6; }
 
 if test "x$have_ecore_evas_opengl_sdl" = "xyes"; then :
-  requirements_ecore_evas="ecore-sdl >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-sdl >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -31079,7 +30832,7 @@ $as_echo_n "checking whether ecore_evas OpenGL Cocoa support is built... " >&6;
 $as_echo "$have_ecore_evas_opengl_cocoa" >&6; }
 
 if test "x$have_ecore_evas_opengl_cocoa" = "xyes"; then :
-  requirements_ecore_evas="ecore-cocoa >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-cocoa >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -31134,7 +30887,7 @@ $as_echo_n "checking whether ecore_evas DirectFB support is built... " >&6; }
 $as_echo "$have_ecore_evas_directfb" >&6; }
 
 if test "x$have_ecore_evas_directfb" = "xyes"; then :
-  requirements_ecore_evas="ecore-directfb >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-directfb >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -31189,7 +30942,7 @@ $as_echo_n "checking whether ecore_evas Linux Framebuffer support is built... "
 $as_echo "$have_ecore_evas_fb" >&6; }
 
 if test "x$have_ecore_evas_fb" = "xyes"; then :
-  requirements_ecore_evas="ecore-fb >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-fb >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -31244,7 +30997,7 @@ $as_echo_n "checking whether ecore_evas 16 bpp Software Windows CE support is bu
 $as_echo "$have_ecore_evas_software_16_wince" >&6; }
 
 if test "x$have_ecore_evas_software_16_wince" = "xyes"; then :
-  requirements_ecore_evas="ecore-wince >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-wince >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 
@@ -31373,10 +31126,162 @@ $as_echo_n "checking whether ecore_evas PSL1GHT support is built... " >&6; }
 $as_echo "$have_ecore_evas_psl1ght" >&6; }
 
 if test "x$have_ecore_evas_psl1ght" = "xyes"; then :
-  requirements_ecore_evas="ecore-psl1ght >= 1.7.5 ${requirements_ecore_evas}"
+  requirements_ecore_evas="ecore-psl1ght >= 1.7.7 ${requirements_ecore_evas}"
+fi
+
+
+
+
+
+# ecore_imf_ibus
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for IBUS" >&5
+$as_echo_n "checking for IBUS... " >&6; }
+
+if test -n "$IBUS_CFLAGS"; then
+    pkg_cv_IBUS_CFLAGS="$IBUS_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.4") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_IBUS_CFLAGS=`$PKG_CONFIG --cflags "ibus-1.0 >= 1.4" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$IBUS_LIBS"; then
+    pkg_cv_IBUS_LIBS="$IBUS_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ibus-1.0 >= 1.4\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "ibus-1.0 >= 1.4") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_IBUS_LIBS=`$PKG_CONFIG --libs "ibus-1.0 >= 1.4" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               IBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ibus-1.0 >= 1.4" 2>&1`
+        else
+               IBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors "ibus-1.0 >= 1.4" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$IBUS_PKG_ERRORS" >&5
+
+       have_ibus="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_ibus="no"
+else
+       IBUS_CFLAGS=$pkg_cv_IBUS_CFLAGS
+       IBUS_LIBS=$pkg_cv_IBUS_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_ibus="yes"
+fi
+
+ if false; then
+  BUILD_ECORE_IMF_IBUS_TRUE=
+  BUILD_ECORE_IMF_IBUS_FALSE='#'
+else
+  BUILD_ECORE_IMF_IBUS_TRUE='#'
+  BUILD_ECORE_IMF_IBUS_FALSE=
+fi
+
+ecore_imf_ibus_deps="no"
+echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
+if test    "x${have_ecore_imf}" = "xyes" \
+        -a "x${have_ecore_evas}" = "xyes" \
+        -a "x${have_glib}" =  "xyes" \
+        -a "x${have_ibus}" =  "xyes" \
+        -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_imf_ibus_deps="yes"
+
+$as_echo "#define BUILD_ECORE_IMF_IBUS 1" >>confdefs.h
+
+fi
+
+
+
+have_ecore_imf_ibus=no
+ecore_imf_ibus_cflags=
+ecore_imf_ibus_libs=
+want_module=${want_ecore_imf}
+
+# Check whether --enable-ecore-imf-ibus was given.
+if test "${enable_ecore_imf_ibus+set}" = set; then :
+  enableval=$enable_ecore_imf_ibus;
+    if test "x${enableval}" = "xyes" ; then
+       want_module="yes"
+    else
+       want_module="no"
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Ecore_Imf_IBUS module is to be built" >&5
+$as_echo_n "checking whether Ecore_Imf_IBUS module is to be built... " >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x${ecore_imf_ibus_deps}" = "x" || test "x${ecore_imf_ibus_deps}" = "xyes" ; then
+
+$as_echo "#define BUILD_ECORE_IMF_IBUS 1" >>confdefs.h
+
+      have_ecore_imf_ibus="yes"
+      ecore_imf_ibus_libs="-lecore_imf_ibus"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+   else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no (dependency failed)" >&5
+$as_echo "no (dependency failed)" >&6; }
+   fi
+else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$have_ecore_imf_ibus" = "xyes"; then
+  BUILD_ECORE_IMF_IBUS_TRUE=
+  BUILD_ECORE_IMF_IBUS_FALSE='#'
+else
+  BUILD_ECORE_IMF_IBUS_TRUE='#'
+  BUILD_ECORE_IMF_IBUS_FALSE=
 fi
 
 
+if test "x$have_ecore_imf_ibus" = "xyes"; then :
+  requirements_ecore_imf_ibus="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_ibus}"
+fi
+
+
+
+
+
 
 
 
@@ -31400,7 +31305,6 @@ if test -n "$WAYLAND_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client wayland-cursor xkbcommon" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31417,7 +31321,6 @@ if test -n "$WAYLAND_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client wayland-cursor xkbcommon" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31437,9 +31340,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "wayland-client wayland-cursor xkbcommon" 2>&1`
+               WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "wayland-client wayland-cursor xkbcommon" 2>&1`
         else
-               WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "wayland-client wayland-cursor xkbcommon" 2>&1`
+               WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors "wayland-client wayland-cursor xkbcommon" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$WAYLAND_PKG_ERRORS" >&5
@@ -31521,7 +31424,7 @@ fi
 
 
 if test "x${have_ecore_wayland}" = "xyes" ; then
-  requirements_ecore_wayland="ecore-input >= 1.7.5 wayland-client wayland-cursor xkbcommon ${requirements_ecore_wayland}"
+  requirements_ecore_wayland="ecore-input >= 1.7.7 wayland-client wayland-cursor xkbcommon ${requirements_ecore_wayland}"
 fi
 
 
@@ -31639,7 +31542,6 @@ if test -n "$WAYLAND_EGL_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_WAYLAND_EGL_CFLAGS=`$PKG_CONFIG --cflags "wayland-egl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31656,7 +31558,6 @@ if test -n "$WAYLAND_EGL_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_WAYLAND_EGL_LIBS=`$PKG_CONFIG --libs "wayland-egl" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31676,9 +31577,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "wayland-egl" 2>&1`
+               WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "wayland-egl" 2>&1`
         else
-               WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "wayland-egl" 2>&1`
+               WAYLAND_EGL_PKG_ERRORS=`$PKG_CONFIG --print-errors "wayland-egl" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$WAYLAND_EGL_PKG_ERRORS" >&5
@@ -31747,7 +31648,6 @@ if test -n "$CHECK_CFLAGS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31764,7 +31664,6 @@ if test -n "$CHECK_LIBS"; then
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 2>/dev/null`
-                     test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
 fi
@@ -31784,9 +31683,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-               CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "check >= 0.9.5" 2>&1`
+               CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1`
         else
-               CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "check >= 0.9.5" 2>&1`
+               CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1`
         fi
        # Put the nasty error message in config.log where it belongs
        echo "$CHECK_PKG_ERRORS" >&5
@@ -32270,14 +32169,6 @@ if test -z "${BUILD_ECORE_IMF_SCIM_TRUE}" && test -z "${BUILD_ECORE_IMF_SCIM_FAL
   as_fn_error $? "conditional \"BUILD_ECORE_IMF_SCIM\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${BUILD_ECORE_IMF_IBUS_TRUE}" && test -z "${BUILD_ECORE_IMF_IBUS_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_ECORE_IMF_IBUS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_ECORE_IMF_IBUS_TRUE}" && test -z "${BUILD_ECORE_IMF_IBUS_FALSE}"; then
-  as_fn_error $? "conditional \"BUILD_ECORE_IMF_IBUS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${BUILD_ECORE_X_TRUE}" && test -z "${BUILD_ECORE_X_FALSE}"; then
   as_fn_error $? "conditional \"BUILD_ECORE_X\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32314,6 +32205,14 @@ if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; th
   as_fn_error $? "conditional \"BUILD_ECORE_EVAS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${BUILD_ECORE_IMF_IBUS_TRUE}" && test -z "${BUILD_ECORE_IMF_IBUS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ECORE_IMF_IBUS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ECORE_IMF_IBUS_TRUE}" && test -z "${BUILD_ECORE_IMF_IBUS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ECORE_IMF_IBUS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${BUILD_ECORE_WAYLAND_TRUE}" && test -z "${BUILD_ECORE_WAYLAND_FALSE}"; then
   as_fn_error $? "conditional \"BUILD_ECORE_WAYLAND\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -32743,7 +32642,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ecore $as_me 1.7.5, which was
+This file was extended by ecore $as_me 1.7.7, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32809,7 +32708,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-ecore config.status 1.7.5
+ecore config.status 1.7.7
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
index b4ec95b..28d4b48 100644 (file)
@@ -2,9 +2,8 @@
 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
 m4_define([v_maj], [1])
 m4_define([v_min], [7])
-m4_define([v_mic], [5])
-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']))])
+m4_define([v_mic], [7])
+m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
 ##--   When released, remove the dnl on the below line
 m4_undefine([v_rev])
 ##--   When doing snapshots - change soname. remove dnl on below line
@@ -422,7 +421,7 @@ fi
 
 case "$host_os" in
    mingw*)
-      PKG_CHECK_MODULES([EVIL], [evil >= 1.7.5])
+      PKG_CHECK_MODULES([EVIL], [evil >= 1.7.7])
       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}"
@@ -542,26 +541,26 @@ AC_SUBST(rt_libs)
 
 # Eina library
 
-PKG_CHECK_MODULES(EINA, [eina >= 1.7.5])
+PKG_CHECK_MODULES(EINA, [eina >= 1.7.7])
 #FIXME check all the requirements when the eina move will be finished
-requirements_ecore="eina >= 1.7.5 ${requirements_ecore}"
-requirements_ecore_con="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_con}"
-#requirements_ecore_config="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_config}"
-requirements_ecore_directfb="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_directfb}"
-requirements_ecore_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_evas}"
-requirements_ecore_fb="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_fb}"
-requirements_ecore_file="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_file}"
-requirements_ecore_imf="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_imf}"
-requirements_ecore_imf_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_imf_evas}"
-requirements_ecore_input="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_input}"
-requirements_ecore_input_evas="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_input_evas}"
-requirements_ecore_ipc="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_ipc}"
-requirements_ecore_cocoa="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_cocoa}"
-requirements_ecore_sdl="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_sdl}"
-requirements_ecore_psl1ght="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_psl1ght}"
-requirements_ecore_win32="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_win32}"
-requirements_ecore_wince="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_wince}"
-requirements_ecore_x="ecore >= 1.7.5 eina >= 1.7.5 ${requirements_ecore_x}"
+requirements_ecore="eina >= 1.7.7 ${requirements_ecore}"
+requirements_ecore_con="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_con}"
+#requirements_ecore_config="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_input}"
+requirements_ecore_input_evas="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_input_evas}"
+requirements_ecore_ipc="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_ipc}"
+requirements_ecore_cocoa="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_cocoa}"
+requirements_ecore_sdl="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_sdl}"
+requirements_ecore_psl1ght="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_psl1ght}"
+requirements_ecore_win32="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_wince}"
+requirements_ecore_x="ecore >= 1.7.7 eina >= 1.7.7 ${requirements_ecore_x}"
 
 
 # glib support (main loop integration)
@@ -623,7 +622,7 @@ PKG_CHECK_MODULES([DIRECTFB],
 # Eet library (ecore_config)
 
 #PKG_CHECK_MODULES([EET],
-#   [eet >= 1.7.5],
+#   [eet >= 1.7.7],
 #   [have_eet="yes"],
 #   [have_eet="no"])
 
@@ -1203,7 +1202,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 >= 1.7.5],
+PKG_CHECK_MODULES([EVAS], [evas >= 1.7.7],
    [have_evas="yes"],
    [have_evas="no"])
 
@@ -1555,8 +1554,8 @@ 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.7.5 ${requirements_ecore_ipc}"
-     requirements_ecore_evas="ecore-ipc >= 1.7.5 ${requirements_ecore_evas}"
+     requirements_ecore_ipc="ecore-con >= 1.7.7 ${requirements_ecore_ipc}"
+     requirements_ecore_evas="ecore-ipc >= 1.7.7 ${requirements_ecore_evas}"
    ])
 
 # ecore_file
@@ -1571,7 +1570,7 @@ 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.7.5 ${requirements_ecore_file}"
+      requirements_ecore_file="ecore-con >= 1.7.7 ${requirements_ecore_file}"
    else
       ECORE_CHECK_CURL([${want_curl}],
          [
@@ -1590,7 +1589,7 @@ fi
 #fi
 
 #ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
-#   [requirements_ecore_config="ecore-ipc >= 1.7.5 evas >= 1.7.5 eet >= 1.7.5 ${requirements_ecore_config}"])
+#   [requirements_ecore_config="ecore-ipc >= 1.7.7 evas >= 1.7.7 eet >= 1.7.7 ${requirements_ecore_config}"])
 
 AM_CONDITIONAL(BUILD_ECORE_CONFIG, false)
 
@@ -1606,12 +1605,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 >= 1.7.5 evas >= 1.7.5 ${requirements_ecore_imf_evas}"])
+   [requirements_ecore_imf_evas="ecore-imf >= 1.7.7 evas >= 1.7.7 ${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.7.5 evas >= 1.7.5 ${requirements_ecore_input}"])
+   [requirements_ecore_input_evas="ecore-input >= 1.7.7 evas >= 1.7.7 ${requirements_ecore_input}"])
 
 # ecore_imf_xim
 AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false)
@@ -1625,7 +1624,7 @@ if test    "x${have_ecore_imf}" = "xyes" \
 fi
 
 ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}],
-   [requirements_ecore_imf_xim="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_xim}"])
+   [requirements_ecore_imf_xim="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_xim}"])
 
 # ecore_imf_scim
 PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"])
@@ -1641,24 +1640,7 @@ if test    "x${have_ecore_imf}" = "xyes" \
 fi
 
 ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}],
-   [requirements_ecore_imf_scim="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_scim}"])
-
-# ecore_imf_ibus
-PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.4], [have_ibus="yes"], [have_ibus="no"])
-
-AM_CONDITIONAL(BUILD_ECORE_IMF_IBUS, false)
-ecore_imf_ibus_deps="no"
-echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
-if test    "x${have_ecore_imf}" = "xyes" \
-        -a "x${have_glib}" =  "xyes" \
-        -a "x${have_ibus}" =  "xyes" \
-        -a "x${have_ecore_input}" = "xyes" ; then
-   ecore_imf_ibus_deps="yes"
-   AC_DEFINE(BUILD_ECORE_IMF_IBUS, 1, [Ecore Imf IBUS Support])
-fi
-
-ECORE_CHECK_MODULE([imf-ibus], [${want_ecore_imf}], [Imf_IBUS], [${ecore_imf_ibus_deps}],
-   [requirements_ecore_imf_ibus="ecore-imf >= 1.7.5 ecore-x >= 1.7.5 ecore-input >= 1.7.5 ${requirements_ecore_imf_ibus}"])
+   [requirements_ecore_imf_scim="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_scim}"])
 
 ## Graphic systems
 
@@ -1673,7 +1655,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.7.5 ${requirements_ecore_x}"
+   requirements_ecore_x="ecore-input >= 1.7.7 ${requirements_ecore_x}"
   ])
 
 # ecore_win32
@@ -1681,7 +1663,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.7.5 ${requirements_ecore_win32}"
+    requirements_ecore_win32="ecore-input >= 1.7.7 ${requirements_ecore_win32}"
    ])
 AC_SUBST(ecore_win32_libs)
 
@@ -1693,7 +1675,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.7.5 ${requirements_ecore_cocoa}"])
+   [requirements_ecore_cocoa="ecore-input >= 1.7.7 ${requirements_ecore_cocoa}"])
 
 # ecore_sdl
 
@@ -1703,10 +1685,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.7.5 ${requirements_ecore_sdl}"])
+   [requirements_ecore_sdl="ecore-input >= 1.7.7 ${requirements_ecore_sdl}"])
 
 ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}],
-   [requirements_ecore_psl1ght="ecore-input >= 1.7.5 ${requirements_ecore_psl1ght}"])
+   [requirements_ecore_psl1ght="ecore-input >= 1.7.7 ${requirements_ecore_psl1ght}"])
 
 # ecore_fb
 ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
@@ -1728,7 +1710,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_wince="ecore-input >= 1.7.5 ${requirements_ecore_wince}"])
+   [requirements_ecore_wince="ecore-input >= 1.7.7 ${requirements_ecore_wince}"])
 
 ## Ecore Evas
 
@@ -1740,7 +1722,7 @@ if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test
 fi
 
 ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
-  [requirements_ecore_evas="ecore-input >= 1.7.5 ecore-input-evas >= 1.7.5 evas >= 1.7.5 ${requirements_ecore_evas}"])
+  [requirements_ecore_evas="ecore-input >= 1.7.7 ecore-input-evas >= 1.7.7 evas >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_buffer
 
@@ -1830,7 +1812,7 @@ if test "x$have_ecore_evas_software_x11" = "xyes" -o \
         "x$have_ecore_evas_software_16_x11" = "xyes" -o \
         "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.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-x >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_win32
@@ -1866,17 +1848,17 @@ 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.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-win32 >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_software_sdl
 
 have_ecore_evas_software_sdl="no"
 if test "x${have_ecore_sdl}" = "xyes"; then
-   requirements_ecore_evas="ecore-sdl >= 1.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.7.7 ${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.7.5 ${requirements_ecore_evas}"
+   requirements_ecore_evas="ecore-sdl >= 1.7.7 ${requirements_ecore_evas}"
 fi
 
 # ecore_evas_gl_sdl
@@ -1885,7 +1867,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-sdl],
    [${want_ecore_evas_gl_sdl}],
    [OpenGL SDL],
    [${have_ecore_sdl}],
-   [requirements_ecore_evas="ecore-sdl >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-sdl >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_cocoa
 
@@ -1893,7 +1875,7 @@ ECORE_EVAS_CHECK_MODULE([opengl-cocoa],
    [${want_ecore_evas_gl_cocoa}],
    [OpenGL Cocoa],
    [${have_ecore_cocoa}],
-   [requirements_ecore_evas="ecore-cocoa >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-cocoa >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_directfb
 
@@ -1901,7 +1883,7 @@ ECORE_EVAS_CHECK_MODULE([directfb],
    [${want_ecore_evas_directfb}],
    [DirectFB],
    [${have_ecore_directfb}],
-   [requirements_ecore_evas="ecore-directfb >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-directfb >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_fb
 
@@ -1909,7 +1891,7 @@ ECORE_EVAS_CHECK_MODULE([fb],
    [${want_ecore_evas_fb}],
    [Linux Framebuffer],
    [${have_ecore_fb}],
-   [requirements_ecore_evas="ecore-fb >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-fb >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_wince
 
@@ -1917,7 +1899,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 >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-wince >= 1.7.7 ${requirements_ecore_evas}"])
 
 # ecore_evas_ews
 
@@ -1950,7 +1932,25 @@ ECORE_EVAS_CHECK_MODULE([psl1ght],
    [${want_ecore_evas_psl1ght}],
    [PSL1GHT],
    [${have_ecore_psl1ght}],
-   [requirements_ecore_evas="ecore-psl1ght >= 1.7.5 ${requirements_ecore_evas}"])
+   [requirements_ecore_evas="ecore-psl1ght >= 1.7.7 ${requirements_ecore_evas}"])
+
+# ecore_imf_ibus
+PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.4], [have_ibus="yes"], [have_ibus="no"])
+
+AM_CONDITIONAL(BUILD_ECORE_IMF_IBUS, false)
+ecore_imf_ibus_deps="no"
+echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
+if test    "x${have_ecore_imf}" = "xyes" \
+        -a "x${have_ecore_evas}" = "xyes" \
+        -a "x${have_glib}" =  "xyes" \
+        -a "x${have_ibus}" =  "xyes" \
+        -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_imf_ibus_deps="yes"
+   AC_DEFINE(BUILD_ECORE_IMF_IBUS, 1, [Ecore Imf IBUS Support])
+fi
+
+ECORE_CHECK_MODULE([imf-ibus], [${want_ecore_imf}], [Imf_IBUS], [${ecore_imf_ibus_deps}],
+   [requirements_ecore_imf_ibus="ecore-imf >= 1.7.7 ecore-x >= 1.7.7 ecore-input >= 1.7.7 ${requirements_ecore_imf_ibus}"])
 
 ### WAYLAND
 
@@ -1965,7 +1965,7 @@ 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.7.5 wayland-client wayland-cursor xkbcommon ${requirements_ecore_wayland}"
+  requirements_ecore_wayland="ecore-input >= 1.7.7 wayland-client wayland-cursor xkbcommon ${requirements_ecore_wayland}"
 fi
 
 ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm], 
diff --git a/depcomp b/depcomp
index bd0ac08..25a39e6 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2011-12-04.11; # UTC
+scriptversion=2012-03-27.16; # UTC
 
 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# 2011, 2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ scriptversion=2011-12-04.11; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,8 +40,8 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
   tmpdepfile  Temporary file to use when outputting dependencies.
@@ -57,6 +57,12 @@ EOF
     ;;
 esac
 
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -102,6 +108,12 @@ if test "$depmode" = msvc7msys; then
    depmode=msvc7
 fi
 
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -156,15 +168,14 @@ gcc)
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
 ## well.  hp depmode also adds that space, but also prefixes the VPATH
 ## to the object.  Take care to not repeat it in the output.
@@ -203,18 +214,15 @@ sgi)
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -226,10 +234,17 @@ sgi)
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -259,12 +274,11 @@ aix)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -275,23 +289,26 @@ aix)
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -300,15 +317,21 @@ icc)
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -344,7 +367,7 @@ hp2)
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
               s/^ *//
               s/ \\*$//
@@ -359,9 +382,9 @@ hp2)
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -407,8 +430,7 @@ tru64)
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
@@ -443,11 +465,11 @@ msvc7)
   p
 }' | $cygpath_u | sort -u | sed -n '
 s/ /\\ /g
-s/\(.*\)/      \1 \\/p
+s/\(.*\)/'"$tab"'\1 \\/p
 s/.\(.*\) \\/\1:/
 H
 $ {
-  s/.*/        /
+  s/.*/'"$tab"'/
   G
   p
 }' >> "$depfile"
@@ -478,7 +500,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -498,15 +520,14 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -562,8 +583,7 @@ makedepend)
   # makedepend may prepend the VPATH from the source file name to the object.
   # No need to regex-escape $object, excess matching of '.' is harmless.
   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -583,7 +603,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -652,8 +672,8 @@ msvisualcpp)
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
index 20c636a..f26e656 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -71,6 +88,11 @@ am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
index 31a15ec..12021d4 100644 (file)
@@ -39,7 +39,7 @@
 
 Summary: Enlightened Core X interface library
 Name: ecore
-Version: 1.7.5
+Version: 1.7.7
 Release: %{_rel}
 License: BSD
 Group: User Interface/X
index 0b10a6c..ff7bb0a 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ecore.supp 11909 2004-10-19 16:40:25Z tsauerbeck $
+# $Id$
 # valgrind suppression file for Ecore
 #
 {
index c2852d8..63ae69d 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:            $LTCC
 #         compiler flags:              $LTCFLAGS
 #         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
+#         $progname:   (GNU libtool) 2.4.2
 #         automake:    $automake_version
 #         autoconf:    $autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1ubuntu1"
+VERSION=2.4.2
 TIMESTAMP=""
 package_revision=1.3337
 
@@ -6124,10 +6124,7 @@ func_mode_link ()
        case $pass in
        dlopen) libs="$dlfiles" ;;
        dlpreopen) libs="$dlprefiles" ;;
-       link)
-         libs="$deplibs %DEPLIBS%"
-         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-         ;;
+       link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
        esac
       fi
       if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -6447,19 +6444,19 @@ func_mode_link ()
            # It is a libtool convenience library, so add in its objects.
            func_append convenience " $ladir/$objdir/$old_library"
            func_append old_convenience " $ladir/$objdir/$old_library"
-           tmp_libs=
-           for deplib in $dependency_libs; do
-             deplibs="$deplib $deplibs"
-             if $opt_preserve_dup_deps ; then
-               case "$tmp_libs " in
-               *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-               esac
-             fi
-             func_append tmp_libs " $deplib"
-           done
          elif test "$linkmode" != prog && test "$linkmode" != lib; then
            func_fatal_error "\`$lib' is not a convenience library"
          fi
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           deplibs="$deplib $deplibs"
+           if $opt_preserve_dup_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+             esac
+           fi
+           func_append tmp_libs " $deplib"
+         done
          continue
        fi # $pass = conv
 
@@ -7352,9 +7349,6 @@ func_mode_link ()
            revision="$number_minor"
            lt_irix_increment=no
            ;;
-         *)
-           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-           ;;
          esac
          ;;
        no)
index d20adca..f001932 100644 (file)
@@ -165,14 +165,14 @@ AC_ARG_ENABLE([gnutls],
    ])
 
 if test "x${_ecore_want_gnutls}" = "xyes" -o "x${_ecore_want_gnutls}" = "xauto" ; then
-   PKG_CHECK_MODULES([TLS], [gnutls >= 2.10.2],
+   PKG_CHECK_MODULES([TLS], [gnutls >= 2.12.16],
       [
        AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS])
        _ecore_have_gnutls="yes"
       ],
       [_ecore_have_gnutls="no"])
    # for ecore_con_ssl.c
-   PKG_CHECK_MODULES([TLS2], [gnutls >= 2.10.2],
+   PKG_CHECK_MODULES([TLS2], [gnutls >= 2.12.16],
       [AC_DEFINE(USE_GNUTLS2, 1, [Use GnuTLS 2 or higher])],
       [dummy="no"])
    if test "x$_ecore_have_gnutls" = "xyes";then
index 828104c..56666f0 100644 (file)
@@ -2669,10 +2669,14 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2684,18 +2688,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3301,7 +3293,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4113,7 +4105,7 @@ m4_if([$1], [CXX], [
            ;;
        esac
        ;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
        ;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4590,9 +4582,6 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4655,9 +4644,6 @@ dnl Note also adjust exclude_expsyms for C++ above.
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4879,7 +4865,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
        wlarc=
@@ -5056,7 +5042,6 @@ _LT_EOF
        if test "$aix_use_runtimelinking" = yes; then
          shared_flag="$shared_flag "'${wl}-G'
        fi
-       _LT_TAGVAR(link_all_deplibs, $1)=no
       else
        # not using gcc
        if test "$host_cpu" = ia64; then
@@ -5361,7 +5346,7 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
        _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
index 8d8c464..be156d0 100644 (file)
@@ -1,2 +1,2 @@
-cs de el fr it nl pt sl zh_CN
+cs de el eo fr it nl pt sl zh_CN
 
index 99d7d5f..cbf6cd1 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index 64be8c8..fb25bef 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2011-10-23 01:28+0100\n"
 "Last-Translator: Daniel Kolesa <quaker66@gmail.com>\n"
 "Language-Team: Czech <kde-i18n-doc@kde.org>\n"
index 8f412e0..0bde97a 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 1977de3..2c5c8eb 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 0.9.9.063-2\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2010-01-03 21:52+GMT\n"
 "Last-Translator: Fabian Nowak <timystery@arcor.de>\n"
 "Language-Team: German <debian-l10n-german@lists.debian.org>\n"
index 433ef11..ebcebf9 100644 (file)
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: ecore 1.7.5\n"
+"Project-Id-Version: ecore 1.7.7\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
index 73cb18c..26f9942 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 18f1a6b..3d71e2e 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2011-11-20 22:42+0200\n"
 "Last-Translator: George Rizopoulos <george.rizopoulos.1@gmail.com>\n"
 "Language-Team: Greek\n"
diff --git a/po/eo.gmo b/po/eo.gmo
new file mode 100644 (file)
index 0000000..f391886
Binary files /dev/null and b/po/eo.gmo differ
diff --git a/po/eo.po b/po/eo.po
new file mode 100644 (file)
index 0000000..bd47c25
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,176 @@
+# Esperanto translation for enlightenment
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the enlightenment package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: enlightenment\n"
+"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
+"PO-Revision-Date: 2013-02-04 22:39+0000\n"
+"Last-Translator: Eliovir <Unknown>\n"
+"Language-Team: Esperanto <eo@li.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2013-02-05 05:23+0000\n"
+"X-Generator: Launchpad (build 16468)\n"
+
+#: src/lib/ecore/ecore_getopt.c:104
+msgid "Version:"
+msgstr "Versio:"
+
+#: src/lib/ecore/ecore_getopt.c:113
+msgid "Usage:"
+msgstr "Uzado:"
+
+#: src/lib/ecore/ecore_getopt.c:118
+#, c-format
+msgid "%s [options]\n"
+msgstr "%s [elektebloj]\n"
+
+#: src/lib/ecore/ecore_getopt.c:273
+msgid "Copyright:"
+msgstr "Kopirajto:"
+
+#: src/lib/ecore/ecore_getopt.c:285
+msgid "License:"
+msgstr "Permesilo:"
+
+#: src/lib/ecore/ecore_getopt.c:466
+msgid "Type: "
+msgstr "Speco: "
+
+#: src/lib/ecore/ecore_getopt.c:542
+msgid "Default: "
+msgstr "Apriore: "
+
+#: src/lib/ecore/ecore_getopt.c:569
+msgid "Choices: "
+msgstr "Elektoj: "
+
+#: src/lib/ecore/ecore_getopt.c:670
+msgid "Options:\n"
+msgstr "Elektebloj:\n"
+
+#: src/lib/ecore/ecore_getopt.c:797
+#, c-format
+msgid "ERROR: unknown option --%s.\n"
+msgstr "ERARO: nekonata elekteblo --%s.\n"
+
+#: src/lib/ecore/ecore_getopt.c:799
+#, c-format
+msgid "ERROR: unknown option -%c.\n"
+msgstr "ERARO: nekonata elekteblo -%c.\n"
+
+#: src/lib/ecore/ecore_getopt.c:857
+msgid "ERROR: "
+msgstr "ERARO: "
+
+#: src/lib/ecore/ecore_getopt.c:940 src/lib/ecore/ecore_getopt.c:1077
+#: src/lib/ecore/ecore_getopt.c:1093 src/lib/ecore/ecore_getopt.c:1108
+#: src/lib/ecore/ecore_getopt.c:1125 src/lib/ecore/ecore_getopt.c:1172
+#: src/lib/ecore/ecore_getopt.c:1292 src/lib/ecore/ecore_getopt.c:1333
+msgid "value has no pointer set.\n"
+msgstr "valoro ne havas agorditan referencon.\n"
+
+#: src/lib/ecore/ecore_getopt.c:972 src/lib/ecore/ecore_getopt.c:1192
+#, c-format
+msgid "unknown boolean value %s.\n"
+msgstr "nekonata bulea valoro %s.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1023 src/lib/ecore/ecore_getopt.c:1280
+#, c-format
+msgid "invalid number format %s\n"
+msgstr "nevalida numeraranĝo %s\n"
+
+#: src/lib/ecore/ecore_getopt.c:1138
+#, c-format
+msgid "invalid choice \"%s\". Valid values are: "
+msgstr "nevalida elekto \"%s\". Validaj valoroj estas: "
+
+#: src/lib/ecore/ecore_getopt.c:1166
+msgid "missing parameter to append.\n"
+msgstr "postaldonenda parametro mankas.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1270
+msgid "could not parse value.\n"
+msgstr "valoro ne sintakse analizeblas.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1327
+msgid "missing parameter.\n"
+msgstr "parametro mankas.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1340
+msgid "missing callback function!\n"
+msgstr "funkcio vokita per referenco mankas!\n"
+
+#: src/lib/ecore/ecore_getopt.c:1369
+msgid "no version was defined.\n"
+msgstr "neniu versio estas difinita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1386
+msgid "no copyright was defined.\n"
+msgstr "neniu kopirajto estas difinita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1403
+msgid "no license was defined.\n"
+msgstr "neniu permesilo estas difinita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1478
+#, c-format
+msgid "ERROR: unknown option --%s, ignored.\n"
+msgstr "ERARO: nekonata elekteblo --%s. Ignorita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1511
+#, c-format
+msgid "ERROR: option --%s requires an argument!\n"
+msgstr "ERARO: elekteblo --%s postulas argumenton!\n"
+
+#: src/lib/ecore/ecore_getopt.c:1553
+#, c-format
+msgid "ERROR: unknown option -%c, ignored.\n"
+msgstr "ERARO: nekonata elekteblo -%c. Ignorata.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1591
+#, c-format
+msgid "ERROR: option -%c requires an argument!\n"
+msgstr "ERARO: elekteblo -%c postulas argumenton!\n"
+
+#: src/lib/ecore/ecore_getopt.c:1802
+msgid "ERROR: no parser provided.\n"
+msgstr "ERARO: neniu sintaksa analizilo provizita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1807
+msgid "ERROR: no values provided.\n"
+msgstr "ERARO: neniu valoro provizita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1816
+msgid "ERROR: no arguments provided.\n"
+msgstr "ERARO: neniu argumento provizita.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1842
+msgid "ERROR: invalid options found."
+msgstr "ERARO: nevalida elekteblo trovita."
+
+#: src/lib/ecore/ecore_getopt.c:1848
+#, c-format
+msgid " See --%s.\n"
+msgstr " Vidu --%s.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1850
+#, c-format
+msgid " See -%c.\n"
+msgstr " Vidu -%c.\n"
+
+#: src/lib/ecore/ecore_getopt.c:1896
+#, c-format
+msgid "ERROR: incorrect geometry value '%s'\n"
+msgstr "ERARO: nekorekta geometria valoro '%s'\n"
+
+#: src/lib/ecore/ecore_getopt.c:1928
+#, c-format
+msgid "ERROR: incorrect size value '%s'\n"
+msgstr "ERARO: nekorekta valoro de grando '%s'\n"
index 0170e2c..c1e2949 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 41646a0..c0ca7a4 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2010-07-11 11:01+0400\n"
 "Last-Translator: batden <batden@orange.fr>\n"
 "Language-Team: Enlightenment French Team <pourunmondesansgourou@gmail.com>\n"
index 8d6f56b..7ecfba4 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index be836d5..40887d6 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2009-10-27 19:36+0100\n"
 "Last-Translator: quaker66 <quaker66@gmail.com>\n"
 "Language-Team: none\n"
index 50c1450..f5ac9e0 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index b9f0200..ce6def3 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2011-09-03 15:48+0100\n"
 "Last-Translator: Heimen Stoffels <vistausss@gmail.com>\n"
 "Language-Team:  <vistausss@gmail.com>\n"
index 2c1571c..ce1d2f5 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 452cd5a..01a366b 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2012-08-23 00:30+0100\n"
 "Last-Translator: Sérgio Marques <smarquespt@gmail.com>\n"
 "Language-Team: \n"
index f12fc76..b30e21b 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index e46c2be..8e846aa 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore 1.0\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2011-02-24 16:54+0100\n"
 "Last-Translator: r1to <renato.rener@gmail.com>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
index 93c9bbc..07b9e0f 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index 9e94a68..98ddde0 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ecore\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2013-01-04 12:20-0200\n"
+"POT-Creation-Date: 2013-05-11 16:39-0300\n"
 "PO-Revision-Date: 2012-12-22 05:52+0800\n"
 "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
 "Language-Team: Chinese (simplified)\n"
index 7bf528f..c1f8604 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -79,6 +96,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -681,13 +703,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
index b275d2c..7c8898c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -104,6 +121,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ecore_config_SOURCES) $(ecore_test_SOURCES)
 DIST_SOURCES = $(ecore_config_SOURCES) $(ecore_test_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -541,8 +563,11 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-binPROGRAMS: $(bin_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
        @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p || test -f $$p1; \
index a921cbf..5759752 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -344,6 +361,11 @@ DIST_SOURCES = ecore_animator_example.c ecore_client_bench.c \
        ecore_poller_example.c ecore_server_bench.c \
        ecore_thread_example.c ecore_time_functions_example.c \
        ecore_timer_example.c
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -839,8 +861,11 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-examplesPROGRAMS: $(examples_PROGRAMS)
        @$(NORMAL_INSTALL)
-       test -z "$(examplesdir)" || $(MKDIR_P) "$(DESTDIR)$(examplesdir)"
        @list='$(examples_PROGRAMS)'; test -n "$(examplesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(examplesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(examplesdir)" || exit 1; \
+       fi; \
        for p in $$list; do echo "$$p $$p"; done | \
        sed 's/$(EXEEXT)$$//' | \
        while read p p1; do if test -f $$p || test -f $$p1; \
@@ -1032,8 +1057,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-filesDATA: $(files_DATA)
        @$(NORMAL_INSTALL)
-       test -z "$(filesdir)" || $(MKDIR_P) "$(DESTDIR)$(filesdir)"
        @list='$(files_DATA)'; test -n "$(filesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(filesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(filesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 4a6ccb7..290786e 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -95,6 +112,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -702,13 +724,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
index 883aa8e..2f6bfcd 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -154,6 +171,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_la_SOURCES)
 DIST_SOURCES = $(am__libecore_la_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -569,7 +591,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -577,6 +598,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -659,8 +682,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 0df319b..397168c 100644 (file)
@@ -176,7 +176,7 @@ ecore_init(void)
    eina_condition_new(&_thread_cond, &_thread_mutex);
    eina_lock_new(&_thread_feedback_mutex);
    eina_condition_new(&_thread_feedback_cond, &_thread_feedback_mutex);
-   _thread_call = ecore_pipe_add(_thread_callback, NULL);
+   _thread_call = _ecore_pipe_add(_thread_callback, NULL);
    eina_lock_new(&_thread_safety);
 
    eina_lock_new(&_thread_id_lock);
@@ -259,8 +259,8 @@ ecore_shutdown(void)
     */
      p = _thread_call;
      _thread_call = NULL;
-     ecore_pipe_wait(p, 1, 0.1);
-     ecore_pipe_del(p);
+     _ecore_pipe_wait(p, 1, 0.1);
+     _ecore_pipe_del(p);
      eina_lock_free(&_thread_safety);
      eina_condition_free(&_thread_cond);
      eina_lock_free(&_thread_mutex);
index a3b4245..204f5a7 100644 (file)
@@ -1018,23 +1018,20 @@ ecore_main_loop_select_func_get(void)
    return main_loop_select;
 }
 
-EAPI Ecore_Fd_Handler *
-ecore_main_fd_handler_add(int                    fd,
-                          Ecore_Fd_Handler_Flags flags,
-                          Ecore_Fd_Cb            func,
-                          const void            *data,
-                          Ecore_Fd_Cb            buf_func,
-                          const void            *buf_data)
+Ecore_Fd_Handler *
+_ecore_main_fd_handler_add(int                    fd,
+                           Ecore_Fd_Handler_Flags flags,
+                           Ecore_Fd_Cb            func,
+                           const void            *data,
+                           Ecore_Fd_Cb            buf_func,
+                           const void            *buf_data)
 {
    Ecore_Fd_Handler *fdh = NULL;
 
-   EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
-   _ecore_lock();
-
-   if ((fd < 0) || (flags == 0) || (!func)) goto unlock;
+   if ((fd < 0) || (flags == 0) || (!func)) return NULL;
 
    fdh = ecore_fd_handler_calloc(1);
-   if (!fdh) goto unlock;
+   if (!fdh) return NULL;
    ECORE_MAGIC_SET(fdh, ECORE_MAGIC_FD_HANDLER);
    fdh->next_ready = NULL;
    fdh->fd = fd;
@@ -1044,8 +1041,7 @@ ecore_main_fd_handler_add(int                    fd,
         int err = errno;
         ERR("Failed to add poll on fd %d (errno = %d: %s)!", fd, err, strerror(err));
         ecore_fd_handler_mp_free(fdh);
-        fdh = NULL;
-        goto unlock;
+        return NULL;
      }
    fdh->read_active = EINA_FALSE;
    fdh->write_active = EINA_FALSE;
@@ -1060,13 +1056,27 @@ ecore_main_fd_handler_add(int                    fd,
    fd_handlers = (Ecore_Fd_Handler *)
      eina_inlist_append(EINA_INLIST_GET(fd_handlers),
                         EINA_INLIST_GET(fdh));
-unlock:
-   _ecore_unlock();
 
    return fdh;
 }
 
 EAPI Ecore_Fd_Handler *
+ecore_main_fd_handler_add(int                    fd,
+                          Ecore_Fd_Handler_Flags flags,
+                          Ecore_Fd_Cb            func,
+                          const void            *data,
+                          Ecore_Fd_Cb            buf_func,
+                          const void            *buf_data)
+{
+   Ecore_Fd_Handler *fdh = NULL;
+   EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
+   _ecore_lock();
+   fdh = _ecore_main_fd_handler_add(fd, flags, func, data, buf_func, buf_data);
+   _ecore_unlock();
+   return fdh;
+}
+
+EAPI Ecore_Fd_Handler *
 ecore_main_fd_handler_file_add(int                    fd,
                                Ecore_Fd_Handler_Flags flags,
                                Ecore_Fd_Cb            func,
index 1f951b9..1870108 100644 (file)
@@ -127,35 +127,11 @@ ecore_pipe_add(Ecore_Pipe_Cb handler,
                const void   *data)
 {
    Ecore_Pipe *p;
-   int fds[2];
-
-   EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
-   if (!handler) return NULL;
 
-   p = ecore_pipe_calloc(1);
-   if (!p) return NULL;
-
-   if (pipe(fds))
-     {
-        ecore_pipe_mp_free(p);
-        return NULL;
-     }
+   _ecore_lock();
+   p = _ecore_pipe_add(handler, data);
+   _ecore_unlock();
 
-   ECORE_MAGIC_SET(p, ECORE_MAGIC_PIPE);
-   p->fd_read = fds[0];
-   p->fd_write = fds[1];
-   p->handler = handler;
-   p->data = data;
-
-   _ecore_fd_close_on_exec(fds[0]);
-   _ecore_fd_close_on_exec(fds[1]);
-
-   fcntl(p->fd_read, F_SETFL, O_NONBLOCK);
-   p->fd_handler = ecore_main_fd_handler_add(p->fd_read,
-                                             ECORE_FD_READ,
-                                             _ecore_pipe_read,
-                                             p,
-                                             NULL, NULL);
    return p;
 }
 
@@ -168,22 +144,12 @@ ecore_pipe_add(Ecore_Pipe_Cb handler,
 EAPI void *
 ecore_pipe_del(Ecore_Pipe *p)
 {
-   void *data;
-
+   void *r;
    EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
-   if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
-     {
-        ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_del");
-        return NULL;
-     }
-   p->delete_me = EINA_TRUE;
-   if (p->handling > 0) return (void *)p->data;
-   if (p->fd_handler) _ecore_main_fd_handler_del(p->fd_handler);
-   if (p->fd_read != PIPE_FD_INVALID) pipe_close(p->fd_read);
-   if (p->fd_write != PIPE_FD_INVALID) pipe_close(p->fd_write);
-   data = (void *)p->data;
-   ecore_pipe_mp_free(p);
-   return data;
+   _ecore_lock();
+   r = _ecore_pipe_del(p);
+   _ecore_unlock();
+   return r;
 }
 
 /**
@@ -195,10 +161,11 @@ EAPI void
 ecore_pipe_read_close(Ecore_Pipe *p)
 {
    EINA_MAIN_LOOP_CHECK_RETURN;
+   _ecore_lock();
    if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
      {
         ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_read_close");
-        return;
+        goto out;
      }
    if (p->fd_handler)
      {
@@ -210,6 +177,8 @@ ecore_pipe_read_close(Ecore_Pipe *p)
         pipe_close(p->fd_read);
         p->fd_read = PIPE_FD_INVALID;
      }
+out:
+   _ecore_unlock();
 }
 
 /**
@@ -223,16 +192,19 @@ EAPI void
 ecore_pipe_freeze(Ecore_Pipe *p)
 {
    EINA_MAIN_LOOP_CHECK_RETURN;
+   _ecore_lock();
    if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
      {
         ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_read_freeze");
-        return;
+        goto out;
      }
    if (p->fd_handler)
      {
         _ecore_main_fd_handler_del(p->fd_handler);
         p->fd_handler = NULL;
      }
+out:
+   _ecore_unlock();
 }
 
 /**
@@ -247,10 +219,11 @@ EAPI void
 ecore_pipe_thaw(Ecore_Pipe *p)
 {
    EINA_MAIN_LOOP_CHECK_RETURN;
+   _ecore_lock();
    if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
      {
         ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_read_thaw");
-        return;
+        goto out;
      }
    if (!p->fd_handler && p->fd_read != PIPE_FD_INVALID)
      {
@@ -260,6 +233,8 @@ ecore_pipe_thaw(Ecore_Pipe *p)
                                                   p,
                                                   NULL, NULL);
      }
+out:
+   _ecore_unlock();
 }
 
 /**
@@ -278,80 +253,11 @@ ecore_pipe_wait(Ecore_Pipe *p,
                 int         message_count,
                 double      wait)
 {
-   struct timeval tv, *t;
-   fd_set rset;
-   double end = 0.0;
-   double timeout;
-   int ret;
-   int total = 0;
-
-   EINA_MAIN_LOOP_CHECK_RETURN_VAL(-1);
-   if (p->fd_read == PIPE_FD_INVALID)
-     return -1;
-
-   FD_ZERO(&rset);
-   FD_SET(p->fd_read, &rset);
-
-   if (wait >= 0.0)
-     end = ecore_loop_time_get() + wait;
-   timeout = wait;
-
-   while (message_count > 0 && (timeout > 0.0 || wait <= 0.0))
-     {
-        if (wait >= 0.0)
-          {
-             /* finite() tests for NaN, too big, too small, and infinity.  */
-              if ((!ECORE_FINITE(timeout)) || (timeout == 0.0))
-                {
-                   tv.tv_sec = 0;
-                   tv.tv_usec = 0;
-                }
-              else if (timeout > 0.0)
-                {
-                   int sec, usec;
-#ifdef FIX_HZ
-                   timeout += (0.5 / HZ);
-                   sec = (int)timeout;
-                   usec = (int)((timeout - (double)sec) * 1000000);
-#else
-                   sec = (int)timeout;
-                   usec = (int)((timeout - (double)sec) * 1000000);
-#endif
-                   tv.tv_sec = sec;
-                   tv.tv_usec = usec;
-                }
-              t = &tv;
-          }
-        else
-          {
-             t = NULL;
-          }
-
-        ret = main_loop_select(p->fd_read + 1, &rset, NULL, NULL, t);
-
-        if (ret > 0)
-          {
-             _ecore_pipe_read(p, NULL);
-             message_count -= p->message;
-             total += p->message;
-             p->message = 0;
-          }
-        else if (ret == 0)
-          {
-             break;
-          }
-        else if (errno != EINTR)
-          {
-             close(p->fd_read);
-             p->fd_read = PIPE_FD_INVALID;
-             break;
-          }
-
-        if (wait >= 0.0)
-          timeout = end - ecore_loop_time_get();
-     }
-
-   return total;
+   int r;
+   _ecore_lock();
+   r = _ecore_pipe_wait(p, message_count, wait);
+   _ecore_unlock();
+   return r;
 }
 
 /**
@@ -362,16 +268,19 @@ ecore_pipe_wait(Ecore_Pipe *p,
 EAPI void
 ecore_pipe_write_close(Ecore_Pipe *p)
 {
+   _ecore_lock();
    if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
      {
         ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_write_close");
-        return;
+        goto out;
      }
    if (p->fd_write != PIPE_FD_INVALID)
      {
         pipe_close(p->fd_write);
         p->fd_write = PIPE_FD_INVALID;
      }
+out:
+   _ecore_unlock();
 }
 
 /**
@@ -390,16 +299,18 @@ ecore_pipe_write(Ecore_Pipe  *p,
    ssize_t ret;
    size_t already_written = 0;
    int retry = ECORE_PIPE_WRITE_RETRY;
+   Eina_Bool ok = EINA_FALSE;
 
+   _ecore_lock();
    if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
      {
         ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_write");
-        return EINA_FALSE;
+        goto out;
      }
 
-   if (p->delete_me) return EINA_FALSE;
+   if (p->delete_me) goto out;
 
-   if (p->fd_write == PIPE_FD_INVALID) return EINA_FALSE;
+   if (p->fd_write == PIPE_FD_INVALID) goto out;
 
    /* First write the len into the pipe */
    do
@@ -415,13 +326,13 @@ ecore_pipe_write(Ecore_Pipe  *p,
              /* XXX What should we do here? */
               ERR("The length of the data was not written complete"
                   " to the pipe");
-              return EINA_FALSE;
+              goto out;
           }
         else if (ret == PIPE_FD_ERROR && errno == EPIPE)
           {
              pipe_close(p->fd_write);
              p->fd_write = PIPE_FD_INVALID;
-             return EINA_FALSE;
+             goto out;
           }
         else if (ret == PIPE_FD_ERROR && errno == EINTR)
           /* try it again */
@@ -435,7 +346,7 @@ ecore_pipe_write(Ecore_Pipe  *p,
      }
    while (retry--);
 
-   if (retry != ECORE_PIPE_WRITE_RETRY) return EINA_FALSE;
+   if (retry != ECORE_PIPE_WRITE_RETRY) goto out;
 
    /* and now pass the data to the pipe */
    do
@@ -445,7 +356,10 @@ ecore_pipe_write(Ecore_Pipe  *p,
                          nbytes - already_written);
 
         if (ret == (ssize_t)(nbytes - already_written))
-          return EINA_TRUE;
+          {
+            ok = EINA_TRUE;
+            goto out;
+          }
         else if (ret >= 0)
           {
              already_written -= ret;
@@ -455,7 +369,7 @@ ecore_pipe_write(Ecore_Pipe  *p,
           {
              pipe_close(p->fd_write);
              p->fd_write = PIPE_FD_INVALID;
-             return EINA_FALSE;
+             goto out;
           }
         else if (ret == PIPE_FD_ERROR && errno == EINTR)
           /* try it again */
@@ -469,21 +383,173 @@ ecore_pipe_write(Ecore_Pipe  *p,
      }
    while (retry--);
 
-   return EINA_FALSE;
+out:
+   _ecore_unlock();
+   return ok;
 }
 
 /**
  * @}
  */
 
-/* Private function */
+/* Private functions */
+Ecore_Pipe *
+_ecore_pipe_add(Ecore_Pipe_Cb handler,
+                const void   *data)
+{
+   Ecore_Pipe *p = NULL;
+   int fds[2];
+
+   EINA_MAIN_LOOP_CHECK_RETURN_VAL(NULL);
+   if (!handler) return NULL;
+
+   p = ecore_pipe_calloc(1);
+   if (!p) return NULL;
+
+   if (pipe(fds))
+     {
+        ecore_pipe_mp_free(p);
+        return NULL;
+     }
+
+   ECORE_MAGIC_SET(p, ECORE_MAGIC_PIPE);
+   p->fd_read = fds[0];
+   p->fd_write = fds[1];
+   p->handler = handler;
+   p->data = data;
+
+   fcntl(p->fd_read, F_SETFL, O_NONBLOCK);
+   p->fd_handler = ecore_main_fd_handler_add(p->fd_read,
+                                             ECORE_FD_READ,
+                                             _ecore_pipe_read,
+                                             p,
+                                             NULL, NULL);
+
+   return p;
+}
+
+void *
+_ecore_pipe_del(Ecore_Pipe *p)
+{
+   void *data = NULL;
+
+   if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
+     {
+        ECORE_MAGIC_FAIL(p, ECORE_MAGIC_PIPE, "ecore_pipe_del");
+        return NULL;
+     }
+   p->delete_me = EINA_TRUE;
+   if (p->handling > 0) return (void *)p->data;
+   if (p->fd_handler) _ecore_main_fd_handler_del(p->fd_handler);
+   if (p->fd_read != PIPE_FD_INVALID) pipe_close(p->fd_read);
+   if (p->fd_write != PIPE_FD_INVALID) pipe_close(p->fd_write);
+   data = (void *)p->data;
+   ecore_pipe_mp_free(p);
+   return data;
+}
+
+int
+_ecore_pipe_wait(Ecore_Pipe *p,
+                 int         message_count,
+                 double      wait)
+{
+   struct timeval tv, *t;
+   fd_set rset;
+   double end = 0.0;
+   double timeout;
+   int ret;
+   int total = 0;
+
+   EINA_MAIN_LOOP_CHECK_RETURN_VAL(-1);
+   if (p->fd_read == PIPE_FD_INVALID)
+     return -1;
+
+   FD_ZERO(&rset);
+   FD_SET(p->fd_read, &rset);
+
+   if (wait >= 0.0)
+     end = ecore_loop_time_get() + wait;
+   timeout = wait;
+
+   while (message_count > 0 && (timeout > 0.0 || wait <= 0.0))
+     {
+        if (wait >= 0.0)
+          {
+             /* finite() tests for NaN, too big, too small, and infinity.  */
+              if ((!ECORE_FINITE(timeout)) || (timeout == 0.0))
+                {
+                   tv.tv_sec = 0;
+                   tv.tv_usec = 0;
+                }
+              else if (timeout > 0.0)
+                {
+                   int sec, usec;
+#ifdef FIX_HZ
+                   timeout += (0.5 / HZ);
+                   sec = (int)timeout;
+                   usec = (int)((timeout - (double)sec) * 1000000);
+#else
+                   sec = (int)timeout;
+                   usec = (int)((timeout - (double)sec) * 1000000);
+#endif
+                   tv.tv_sec = sec;
+                   tv.tv_usec = usec;
+                }
+              t = &tv;
+          }
+        else
+          {
+             t = NULL;
+          }
+
+        ret = main_loop_select(p->fd_read + 1, &rset, NULL, NULL, t);
+
+        if (ret > 0)
+          {
+             _ecore_pipe_read(p, NULL);
+             message_count -= p->message;
+             total += p->message;
+             p->message = 0;
+          }
+        else if (ret == 0)
+          {
+             break;
+          }
+        else if (errno != EINTR)
+          {
+             close(p->fd_read);
+             p->fd_read = PIPE_FD_INVALID;
+             break;
+          }
+
+        if (wait >= 0.0)
+          timeout = end - ecore_loop_time_get();
+     }
+
+   return total;
+}
+
 static void
 _ecore_pipe_unhandle(Ecore_Pipe *p)
 {
    p->handling--;
    if (p->delete_me)
      {
-        ecore_pipe_del(p);
+        _ecore_pipe_del(p);
+     }
+}
+
+static void
+_ecore_pipe_handler_call(Ecore_Pipe *p,
+                         unsigned char *buf,
+                         size_t len)
+{
+   void *data = (void*) p->data;
+   if (!p->delete_me)
+     {
+        _ecore_unlock();
+        p->handler(data, buf, len);
+        _ecore_lock();
      }
 }
 
@@ -526,8 +592,7 @@ _ecore_pipe_read(void             *data,
                     if (i == 0)
                       {
      /* no data on first try through means an error */
-                          if (!p->delete_me)
-                            p->handler((void *)p->data, NULL, 0);
+                          _ecore_pipe_handler_call(p, NULL, 0);
                           if (p->passed_data) free(p->passed_data);
                           p->passed_data = NULL;
                           p->already_read = 0;
@@ -564,8 +629,7 @@ _ecore_pipe_read(void             *data,
                 {
                    if (WSAGetLastError() != WSAEWOULDBLOCK)
                      {
-                        if (!p->delete_me)
-                          p->handler((void *)p->data, NULL, 0);
+                        _ecore_pipe_handler_call(p, NULL, 0);
                         if (p->passed_data) free(p->passed_data);
                         p->passed_data = NULL;
                         p->already_read = 0;
@@ -586,8 +650,7 @@ _ecore_pipe_read(void             *data,
          * never happen */
         if (p->len == 0)
           {
-             if (!p->delete_me)
-               p->handler((void *)p->data, NULL, 0);
+             _ecore_pipe_handler_call(p, NULL, 0);
              /* reset all values to 0 */
              if (p->passed_data) free(p->passed_data);
              p->passed_data = NULL;
@@ -605,8 +668,7 @@ _ecore_pipe_read(void             *data,
              /* alloc failed - error case */
              if (!p->passed_data)
                {
-                  if (!p->delete_me)
-                    p->handler((void *)p->data, NULL, 0);
+                  _ecore_pipe_handler_call(p, NULL, 0);
      /* close the pipe */
                   p->already_read = 0;
                   p->len = 0;
@@ -628,8 +690,7 @@ _ecore_pipe_read(void             *data,
         /* if we read enough data to finish the message/buffer */
         if (ret == (ssize_t)(p->len - p->already_read))
           {
-             if (!p->delete_me)
-               p->handler((void *)p->data, p->passed_data, p->len);
+             _ecore_pipe_handler_call(p, p->passed_data, p->len);
              free(p->passed_data);
              /* reset all values to 0 */
              p->passed_data = NULL;
@@ -670,8 +731,7 @@ _ecore_pipe_read(void             *data,
           {
              if (WSAGetLastError() != WSAEWOULDBLOCK)
                {
-                  if (!p->delete_me)
-                    p->handler((void *)p->data, NULL, 0);
+                  _ecore_pipe_handler_call(p, NULL, 0);
                   if (p->passed_data) free(p->passed_data);
                   p->passed_data = NULL;
                   p->already_read = 0;
index 6c4543c..504b6d9 100644 (file)
@@ -170,6 +170,20 @@ void      *_ecore_event_signal_exit_new(void);
 void      *_ecore_event_signal_power_new(void);
 void      *_ecore_event_signal_realtime_new(void);
 
+Ecore_Pipe *_ecore_pipe_add(Ecore_Pipe_Cb handler,
+                            const void   *data);
+int         _ecore_pipe_wait(Ecore_Pipe *p,
+                             int message_count,
+                             double wait);
+void       *_ecore_pipe_del(Ecore_Pipe *p);
+
+Ecore_Fd_Handler *
+           _ecore_main_fd_handler_add(int fd,
+                                      Ecore_Fd_Handler_Flags flags,
+                                      Ecore_Fd_Cb func,
+                                      const void *data,
+                                      Ecore_Fd_Cb buf_func,
+                                      const void *buf_data);
 void      *_ecore_main_fd_handler_del(Ecore_Fd_Handler *fd_handler);
 
 Eina_Bool _ecore_fd_close_on_exec(int fd);
index b84b886..1ab5cf8 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -133,6 +150,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_cocoa_la_SOURCES)
 DIST_SOURCES = $(libecore_cocoa_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -556,7 +578,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -564,6 +585,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -625,8 +648,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 410c5ba..48ee2ee 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -156,6 +173,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_con_la_SOURCES)
 DIST_SOURCES = $(am__libecore_con_la_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -581,7 +603,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -589,6 +610,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -736,8 +759,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index c565435..87ecbff 100644 (file)
  * USE OR OTHER DEALINGS IN THE SOFTWARE.
  * ==========================================================================
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-#elif !defined alloca
-# ifdef __GNUC__
-#  define alloca __builtin_alloca
-# elif defined _AIX
-#  define alloca __alloca
-# elif defined _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# elif !defined HAVE_ALLOCA
-#  ifdef  __cplusplus
-extern "C"
-#  endif
-void *alloca (size_t);
-# endif
-#endif
-
-#if !defined(__FreeBSD__)
+#if !defined(__FreeBSD__) && !defined(__sun)
 #ifndef _XOPEN_SOURCE
 #define _XOPEN_SOURCE  600
 #endif
@@ -69,7 +39,11 @@ void *alloca (size_t);
 #endif
 
 #include <stddef.h>            /* offsetof() */
+#ifdef _WIN32
+#define uint32_t unsigned int
+#else
 #include <stdint.h>            /* uint32_t */
+#endif
 #include <stdlib.h>            /* malloc(3) realloc(3) free(3) rand(3) random(3) arc4random(3) */
 #include <stdio.h>             /* FILE fopen(3) fclose(3) getc(3) rewind(3) */
 
@@ -78,9 +52,9 @@ void *alloca (size_t);
 
 #include <ctype.h>             /* isspace(3) isdigit(3) */
 
-#include <time.h>              /* time_t time(2) */
+#include <time.h>              /* time_t time(2) difftime(3) */
 
-#include <signal.h>            /* sig_atomic_t */
+#include <signal.h>            /* SIGPIPE sigemptyset(3) sigaddset(3) sigpending(2) sigprocmask(2) pthread_sigmask(3) sigtimedwait(2) */
 
 #include <errno.h>             /* errno EINVAL ENOENT */
 
@@ -88,6 +62,9 @@ void *alloca (size_t);
 #include <assert.h>            /* assert(3) */
 
 #if _WIN32
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 256
+#endif
 #include <winsock2.h>
 #include <ws2tcpip.h>
 #else
@@ -101,7 +78,7 @@ void *alloca (size_t);
 
 #include <fcntl.h>             /* F_SETFD F_GETFL F_SETFL O_NONBLOCK fcntl(2) */
 
-#include <unistd.h>            /* gethostname(3) close(2) */
+#include <unistd.h>            /* _POSIX_THREADS gethostname(3) close(2) */
 
 #include <poll.h>              /* POLLIN POLLOUT */
 
@@ -116,6 +93,26 @@ void *alloca (size_t);
 
 
 /*
+ * C O M P I L E R  A N N O T A T I O N S
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#if __GNUC__
+#define DNS_NOTUSED __attribute__((unused))
+#else
+#define DNS_NOTUSED
+#endif
+
+#if __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-parameter"
+#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+#endif
+
+
+/*
  * S T A N D A R D  M A C R O S
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -140,6 +137,26 @@ void *alloca (size_t);
 
 
 /*
+ * M I S C E L L A N E O U S  C O M P A T
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#if _WIN32 || _WIN64
+#define PRIuZ "Iu"
+#else
+#define PRIuZ "zu"
+#endif
+
+#ifndef DNS_THREAD_SAFE
+#if (defined _REENTRANT || defined _THREAD_SAFE) && _POSIX_THREADS > 0
+#define DNS_THREAD_SAFE 1
+#else
+#define DNS_THREAD_SAFE 0
+#endif
+#endif
+
+
+/*
  * D E B U G  M A C R O S
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -250,6 +267,8 @@ const char *dns_strerror(int error) {
                return "Invalid section specified";
        case DNS_EUNKNOWN:
                return "Unknown DNS error";
+       case DNS_EADDRESS:
+               return "Invalid textual address form";
        default:
                return strerror(error);
        } /* switch() */
@@ -261,6 +280,11 @@ const char *dns_strerror(int error) {
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+DNS_NOTUSED static void dns_atomic_fence(void) {
+       return;
+} /* dns_atomic_fence() */
+
+
 static unsigned dns_atomic_inc(dns_atomic_t *i) {
        return (*i)++;
 } /* dns_atomic_inc() */
@@ -271,6 +295,20 @@ static unsigned dns_atomic_dec(dns_atomic_t *i) {
 } /* dns_atomic_dec() */
 
 
+static unsigned dns_atomic_load(dns_atomic_t *i) {
+       return *i;
+} /* dns_atomic_load() */
+
+
+DNS_NOTUSED static unsigned dns_atomic_store(dns_atomic_t *i, unsigned n) {
+       unsigned o;
+
+       o       = dns_atomic_load(i);
+       *i      = n;
+       return o;
+} /* dns_atomic_store() */
+
+
 /*
  * C R Y P T O  R O U T I N E S
  *
@@ -455,6 +493,26 @@ static unsigned dns_k_permutor_E(struct dns_k_permutor *p, unsigned n) {
        return ((l[i % 2] & p->mask) << p->shift) | ((r[i % 2] & p->mask) << 0);
 } /* dns_k_permutor_E() */
 
+
+DNS_NOTUSED static unsigned dns_k_permutor_D(struct dns_k_permutor *p, unsigned n) {
+       unsigned l[2], r[2];
+       unsigned i;
+
+       i               = p->rounds - 1;
+       l[i % 2]        = p->mask & (n >> p->shift);
+       r[i % 2]        = p->mask & (n >> 0);
+
+       do {
+               i--;
+
+               r[i % 2]        = l[(i + 1) % 2];
+               l[i % 2]        = r[(i + 1) % 2] ^ dns_k_permutor_F(p, i, l[(i + 1) % 2]);
+       } while (i > 0);
+
+       return ((l[i % 2] & p->mask) << p->shift) | ((r[i % 2] & p->mask) << 0);
+} /* dns_k_permutor_D() */
+
+
 static unsigned dns_k_permutor_step(struct dns_k_permutor *p) {
        unsigned n;
 
@@ -534,36 +592,30 @@ static unsigned short dns_k_shuffle16(unsigned short n, unsigned s) {
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/*
- * Monotonic Time
- *
- */
-static time_t dns_now(void) {
-       /* XXX: Assumes sizeof (time_t) <= sizeof (sig_atomic_t) */
-       static volatile sig_atomic_t last, tick;
-       volatile sig_atomic_t tmp_last, tmp_tick;
-       time_t now;
+#define DNS_MAXINTERVAL 300
 
-       time(&now);
+struct dns_clock {
+       time_t sample, elapsed;
+}; /* struct dns_clock */
 
-       tmp_last        = last;
+static void dns_begin(struct dns_clock *clk) {
+       clk->sample = time(0);
+       clk->elapsed = 0;
+} /* dns_begin() */
 
-       if (now > tmp_last) {
-               tmp_tick        = tick;
-               tmp_tick        += now - tmp_last;
-               tick            = tmp_tick;
-       }
+static time_t dns_elapsed(struct dns_clock *clk) {
+       time_t curtime;
 
-       last    = now;
+       if ((time_t)-1 == time(&curtime))
+               return clk->elapsed;
 
-       return tick;
-} /* dns_now() */
+       if (curtime > clk->sample)
+               clk->elapsed += (time_t)MIN(difftime(curtime, clk->sample), DNS_MAXINTERVAL);
 
-static time_t dns_elapsed(time_t from) {
-       time_t now      = dns_now();
+       clk->sample = curtime;
 
-       return (now > from)? now - from : 0;
-} /* dns_elpased() */
+       return clk->elapsed;
+} /* dns_elapsed() */
 
 
 static size_t dns_af_len(int af) {
@@ -578,6 +630,8 @@ static size_t dns_af_len(int af) {
        return table[af];
 } /* dns_af_len() */
 
+#define dns_sa_family(sa)      (((struct sockaddr *)(sa))->sa_family)
+
 #define dns_sa_len(sa)         dns_af_len(dns_sa_family(sa))
 
 
@@ -631,7 +685,7 @@ static int dns_inet_pton(int af, const void *src, void *dst) {
        }
 } /* dns_inet_pton() */
 
-const char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long lim) {
+static const char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long lim) {
        union { struct sockaddr_in sin; struct sockaddr_in6 sin6; } u;
 
        /* NOTE: WSAAddressToString will print .sin_port unless zeroed. */
@@ -656,9 +710,29 @@ const char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long lim)
 
        return dst;
 } /* dns_inet_ntop() */
+#else
+#define dns_inet_pton(...)     inet_pton(__VA_ARGS__)
+#define dns_inet_ntop(...)     inet_ntop(__VA_ARGS__)
 #endif
 
 
+static dns_error_t dns_pton(int af, const void *src, void *dst) {
+       switch (dns_inet_pton(af, src, dst)) {
+       case 1:
+               return 0;
+       case -1:
+               return dns_soerr();
+       default:
+               return DNS_EADDRESS;
+       }
+} /* dns_pton() */
+
+
+static dns_error_t dns_ntop(int af, const void *src, void *dst, unsigned long lim) {
+       return (dns_inet_ntop(af, src, dst, lim))? 0 : dns_soerr();
+} /* dns_ntop() */
+
+
 size_t dns_strlcpy(char *dst, const char *src, size_t lim) {
        char *d         = dst;
        char *e         = &dst[lim];
@@ -704,7 +778,7 @@ size_t dns_strlcat(char *dst, const char *src, size_t lim) {
 } /* dns_strlcat() */
 
 
-#if defined(_WIN32) || defined(__SUNPRO_C)
+#if _WIN32
 
 static char *dns_strsep(char **sp, const char *delim) {
        char *p;
@@ -740,7 +814,7 @@ static int dns_poll(int fd, short events, int timeout) {
        if (!events)
                return 0;
 
-       assert(fd >= 0 && fd < FD_SETSIZE);
+       assert(fd >= 0 && (unsigned)fd < FD_SETSIZE);
 
        FD_ZERO(&rset);
        FD_ZERO(&wset);
@@ -757,6 +831,71 @@ static int dns_poll(int fd, short events, int timeout) {
 } /* dns_poll() */
 
 
+#if !_WIN32
+DNS_NOTUSED static int dns_sigmask(int how, const sigset_t *set, sigset_t *oset) {
+#if DNS_THREAD_SAFE
+       return pthread_sigmask(how, set, oset);
+#else
+       return (0 == sigprocmask(how, set, oset))? 0 : errno;
+#endif
+} /* dns_sigmask() */
+#endif
+
+
+static long dns_send(int fd, const void *src, size_t lim, int flags) {
+#if _WIN32 || !defined SIGPIPE || defined SO_NOSIGPIPE
+       return send(fd, src, lim, flags);
+#elif defined MSG_NOSIGNAL
+       return send(fd, src, lim, flags|MSG_NOSIGNAL);
+#elif _POSIX_REALTIME_SIGNALS > 0 /* require sigtimedwait */
+       /*
+        * SIGPIPE handling similar to the approach described in
+        * http://krokisplace.blogspot.com/2010/02/suppressing-sigpipe-in-library.html
+        */
+       sigset_t pending, blocked, piped;
+       long count;
+       int saved, error;
+
+       sigemptyset(&pending);
+       sigpending(&pending);
+
+       if (!sigismember(&pending, SIGPIPE)) {
+               sigemptyset(&piped);
+               sigaddset(&piped, SIGPIPE);
+               sigemptyset(&blocked);
+
+               if ((error = dns_sigmask(SIG_BLOCK, &piped, &blocked)))
+                       goto error;
+       }
+
+       count = send(fd, src, lim, flags);
+
+       if (!sigismember(&pending, SIGPIPE)) {
+               saved = errno;
+
+               if (count == -1 && errno == EPIPE) {
+                       while (-1 == sigtimedwait(&piped, NULL, &(struct timespec){ 0, 0 }) && errno == EINTR)
+                               ;;
+               }
+
+               if ((error = dns_sigmask(SIG_SETMASK, &blocked, NULL)))
+                       goto error;
+
+               errno = saved;
+       }
+
+       return count;
+error:
+       errno = error;
+
+       return -1;
+#else
+#error "unable to suppress SIGPIPE"
+       return send(fd, src, lim, flags);
+#endif
+} /* dns_send() */
+
+
 /*
  * P A C K E T  R O U T I N E S
  *
@@ -975,6 +1114,7 @@ void dns_p_dictadd(struct dns_packet *P, unsigned short dn) {
 int dns_p_push(struct dns_packet *P, enum dns_section section, const void *dn, size_t dnlen, enum dns_type type, enum dns_class class, unsigned ttl, const void *any) {
        size_t end = P->end;
        int error;
+       uint16_t v;
 
        if ((error = dns_d_push(P, dn, dnlen)))
                goto error;
@@ -1011,7 +1151,8 @@ update:
                if (!P->qd.base && (error = dns_p_study(P)))
                        goto error;
 
-               dns_header(P)->qdcount = htons(ntohs(dns_header(P)->qdcount) + 1);
+               v = ntohs(dns_header(P)->qdcount);
+               dns_header(P)->qdcount = htons(v + 1);
 
                P->qd.end  = P->end;
                P->an.base = P->end;
@@ -1029,7 +1170,8 @@ update:
                if (!P->an.base && (error = dns_p_study(P)))
                        goto error;
 
-               dns_header(P)->ancount = htons(ntohs(dns_header(P)->ancount) + 1);
+               v = ntohs(dns_header(P)->ancount);
+               dns_header(P)->ancount = htons(v + 1);
 
                P->an.end  = P->end;
                P->ns.base = P->end;
@@ -1045,7 +1187,8 @@ update:
                if (!P->ns.base && (error = dns_p_study(P)))
                        goto error;
 
-               dns_header(P)->nscount = htons(ntohs(dns_header(P)->nscount) + 1);
+               v = ntohs(dns_header(P)->nscount);
+               dns_header(P)->nscount = htons(v + 1);
 
                P->ns.end  = P->end;
                P->ar.base = P->end;
@@ -1056,7 +1199,8 @@ update:
                if (!P->ar.base && (error = dns_p_study(P)))
                        goto error;
 
-               dns_header(P)->arcount = htons(ntohs(dns_header(P)->arcount) + 1);
+               v = ntohs(dns_header(P)->arcount);
+               dns_header(P)->arcount = htons(v + 1);
 
                P->ar.end = P->end;
 
@@ -1348,7 +1492,7 @@ size_t dns_d_cleave(void *dst, size_t lim, const void *src, size_t len) {
 } /* dns_d_cleave() */
 
 
-size_t dns_d_comp(void *dst_, size_t lim, const void *src_, size_t len, struct dns_packet *P, int *error __UNUSED__) {
+size_t dns_d_comp(void *dst_, size_t lim, const void *src_, size_t len, struct dns_packet *P, int *error) {
        struct { unsigned char *b; size_t p, x; } dst, src;
        unsigned char ch        = '.';
 
@@ -1723,7 +1867,7 @@ unsigned short dns_rr_skip(unsigned short src, struct dns_packet *P) {
 
 static enum dns_section dns_rr_section(unsigned short src, struct dns_packet *P) {
        enum dns_section section;
-       unsigned count, ind;
+       unsigned count, index;
        unsigned short rp;
 
        if (src >= P->qd.base && src < P->qd.end)
@@ -1737,13 +1881,13 @@ static enum dns_section dns_rr_section(unsigned short src, struct dns_packet *P)
 
        /* NOTE: Possibly bad memoization. Try it the hard-way. */
 
-       for (rp = 12, ind = 0; rp < src && rp < P->end; ind++)
+       for (rp = 12, index = 0; rp < src && rp < P->end; index++)
                rp = dns_rr_skip(rp, P);
 
        section = DNS_S_QD;
        count   = dns_p_count(P, section);
 
-       while (ind >= count && section <= DNS_S_AR) {
+       while (index >= count && section <= DNS_S_AR) {
                section <<= 1;
                count += dns_p_count(P, section);
        }
@@ -1878,7 +2022,7 @@ static unsigned short dns_rr_i_start(struct dns_rr_i *i, struct dns_packet *P) {
        else
                rp = 12;
 
-       for (rp = 12; rp < P->end; rp = dns_rr_skip(rp, P)) {
+       for (; rp < P->end; rp = dns_rr_skip(rp, P)) {
                if ((error = dns_rr_parse(&rr, rp, P)))
                        continue;
 
@@ -1969,12 +2113,12 @@ lower:
 } /* dns_rr_i_skip() */
 
 
-int dns_rr_i_packet(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i __UNUSED__, struct dns_packet *P __UNUSED__) {
+int dns_rr_i_packet(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i, struct dns_packet *P) {
        return (int)a->dn.p - (int)b->dn.p;
 } /* dns_rr_i_packet() */
 
 
-int dns_rr_i_order(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i __UNUSED__, struct dns_packet *P) {
+int dns_rr_i_order(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i, struct dns_packet *P) {
        int cmp;
 
        if ((cmp = a->section - b->section))
@@ -1987,7 +2131,7 @@ int dns_rr_i_order(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i __UNUS
 } /* dns_rr_i_order() */
 
 
-int dns_rr_i_shuffle(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i, struct dns_packet *P __UNUSED__) {
+int dns_rr_i_shuffle(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i, struct dns_packet *P) {
        int cmp;
 
        while (!i->state.regs[0])
@@ -2000,7 +2144,7 @@ int dns_rr_i_shuffle(struct dns_rr *a, struct dns_rr *b, struct dns_rr_i *i, str
 } /* dns_rr_i_shuffle() */
 
 
-struct dns_rr_i *dns_rr_i_init(struct dns_rr_i *i, struct dns_packet *P __UNUSED__) {
+struct dns_rr_i *dns_rr_i_init(struct dns_rr_i *i, struct dns_packet *P) {
        static const struct dns_rr_i i_initializer;
 
        i->state        = i_initializer.state;
@@ -2752,6 +2896,70 @@ size_t dns_srv_cname(void *dst, size_t lim, struct dns_srv *srv) {
 } /* dns_srv_cname() */
 
 
+unsigned int dns_opt_ttl(const struct dns_opt *opt) {
+       unsigned int ttl = 0;
+
+       ttl |= (0xffU & opt->rcode) << 24U;
+       ttl |= (0xffU & opt->version) << 16U;
+
+       return ttl;
+} /* dns_opt_ttl() */
+
+
+unsigned short dns_opt_class(const struct dns_opt *opt) {
+       return opt->maxsize;
+} /* dns_opt_class() */
+
+
+struct dns_opt *dns_opt_init(struct dns_opt *opt, size_t size) {
+       assert(size >= offsetof(struct dns_opt, data));
+
+       opt->size = size - offsetof(struct dns_opt, data);
+       opt->len  = 0;
+
+       opt->rcode   = 0;
+       opt->version = 0;
+       opt->maxsize = 512;
+
+       return opt;
+} /* dns_opt_init() */
+
+
+int dns_opt_parse(struct dns_opt *opt, struct dns_rr *rr, struct dns_packet *P) {
+       opt->len = 0;
+
+       return 0;
+} /* dns_opt_parse() */
+
+
+int dns_opt_push(struct dns_packet *P, struct dns_opt *opt) {
+       return 0;
+} /* dns_opt_push() */
+
+
+int dns_opt_cmp(const struct dns_opt *a, const struct dns_opt *b) {
+       return 0;
+} /* dns_opt_cmp() */
+
+
+size_t dns_opt_print(void *dst, size_t lim, struct dns_opt *opt) {
+       size_t p = 0, src;
+
+       p += dns__printchar(dst, lim, p, '"');
+
+       for (src = 0; src < opt->len; src++) {
+               p += dns__printchar(dst, lim, p, '\\');
+               p += dns__print10(dst, lim, p, opt->data[src], 3);
+       }
+
+       p += dns__printchar(dst, lim, p, '"');
+
+       dns__printnul(dst, lim, p);
+
+       return p;
+} /* dns_opt_print() */
+
+
 int dns_ptr_parse(struct dns_ptr *ptr, struct dns_rr *rr, struct dns_packet *P) {
        return dns_ns_parse((struct dns_ns *)ptr, rr, P);
 } /* dns_ptr_parse() */
@@ -2848,7 +3056,7 @@ int dns_sshfp_push(struct dns_packet *P, struct dns_sshfp *fp) {
 int dns_sshfp_cmp(const struct dns_sshfp *a, const struct dns_sshfp *b) {
        int cmp;
 
-       if ((cmp = a->algo - b->algo) || (cmp - a->type - b->type))
+       if ((cmp = a->algo - b->algo) || (cmp = a->type - b->type))
                return cmp;
 
        switch (a->type) {
@@ -2974,7 +3182,7 @@ int dns_txt_push(struct dns_packet *P, struct dns_txt *txt) {
 } /* dns_txt_push() */
 
 
-int dns_txt_cmp(const struct dns_txt *a __UNUSED__, const struct dns_txt *b __UNUSED__) {
+int dns_txt_cmp(const struct dns_txt *a, const struct dns_txt *b) {
        return -1;
 } /* dns_txt_cmp() */
 
@@ -3034,6 +3242,7 @@ static const struct {
        { DNS_T_CNAME,  "CNAME",  &dns_cname_parse,  &dns_cname_push,  &dns_cname_cmp,  &dns_cname_print,  &dns_cname_cname },
        { DNS_T_SOA,    "SOA",    &dns_soa_parse,    &dns_soa_push,    &dns_soa_cmp,    &dns_soa_print,    0                },
        { DNS_T_SRV,    "SRV",    &dns_srv_parse,    &dns_srv_push,    &dns_srv_cmp,    &dns_srv_print,    &dns_srv_cname   },
+       { DNS_T_OPT,    "OPT",    &dns_opt_parse,    &dns_opt_push,    &dns_opt_cmp,    &dns_opt_print,    0                },
        { DNS_T_PTR,    "PTR",    &dns_ptr_parse,    &dns_ptr_push,    &dns_ptr_cmp,    &dns_ptr_print,    &dns_ptr_cname   },
        { DNS_T_TXT,    "TXT",    &dns_txt_parse,    &dns_txt_push,    &dns_txt_cmp,    &dns_txt_print,    0                },
        { DNS_T_SPF,    "SPF",    &dns_txt_parse,    &dns_txt_push,    &dns_txt_cmp,    &dns_txt_print,    0                },
@@ -3550,6 +3759,11 @@ struct dns_resolv_conf *dns_resconf_local(int *error_) {
        if ((error = dns_resconf_loadpath(resconf, "/etc/resolv.conf")))
                goto error;
 
+       if ((error = dns_nssconf_loadpath(resconf, "/etc/nsswitch.conf"))) {
+               if (error != ENOENT)
+                       goto error;
+       }
+
        return resconf;
 error:
        *error_ = error;
@@ -3560,25 +3774,13 @@ error:
 } /* dns_resconf_local() */
 
 
-struct dns_resolv_conf *dns_resconf_root(int *error_) {
+struct dns_resolv_conf *dns_resconf_root(int *error) {
        struct dns_resolv_conf *resconf;
-       int error;
-
-       if (!(resconf = dns_resconf_open(&error)))
-               goto error;
-
-       if ((error = dns_resconf_loadpath(resconf, "/etc/resolv.conf")))
-               goto error;
 
-       resconf->options.recurse        = 1;
+       if ((resconf = dns_resconf_local(error)))
+               resconf->options.recurse = 1;
 
        return resconf;
-error:
-       *error_ = error;
-
-       dns_resconf_close(resconf);
-
-       return 0;
 } /* dns_resconf_root() */
 
 
@@ -3657,7 +3859,7 @@ static enum dns_resconf_keyword dns_resconf_keyword(const char *word) {
 static int dns_resconf_pton(struct sockaddr_storage *ss, const char *src) {
        struct { char buf[128], *p; } addr = { "", addr.buf };
        unsigned short port = 0;
-       int ch, af = AF_INET;
+       int ch, af = AF_INET, error;
 
        while ((ch = *src++)) {
                switch (ch) {
@@ -3689,12 +3891,8 @@ static int dns_resconf_pton(struct sockaddr_storage *ss, const char *src) {
        } /* while() */
 inet:
 
-       switch (dns_inet_pton(af, addr.buf, dns_sa_addr(af, ss))) {
-       case -1:
-               return errno;
-       case 0:
-               return EINVAL;
-       } /* switch() */
+       if ((error = dns_pton(af, addr.buf, dns_sa_addr(af, ss))))
+               return error;
 
        port = (!port)? 53 : port;
        *dns_sa_port(af, ss) = htons(port);
@@ -3896,11 +4094,518 @@ int dns_resconf_loadpath(struct dns_resolv_conf *resconf, const char *path) {
 } /* dns_resconf_loadpath() */
 
 
+struct dns_anyconf {
+       char *token[16];
+       unsigned count;
+       char buffer[1024], *tp, *cp;
+}; /* struct dns_anyconf */
+
+
+static void dns_anyconf_reset(struct dns_anyconf *cf) {
+       cf->count = 0;
+       cf->tp = cf->cp = cf->buffer;
+} /* dns_anyconf_reset() */
+
+
+static int dns_anyconf_push(struct dns_anyconf *cf) {
+       if (!(cf->cp < endof(cf->buffer) && cf->count < lengthof(cf->token)))
+               return ENOMEM;
+
+       *cf->cp++ = '\0';
+       cf->token[cf->count++] = cf->tp;
+       cf->tp = cf->cp;
+
+       return 0;
+} /* dns_anyconf_push() */
+
+
+static void dns_anyconf_pop(struct dns_anyconf *cf) {
+       if (cf->count > 0) {
+               --cf->count;
+               cf->tp = cf->cp = cf->token[cf->count];
+               cf->token[cf->count] = 0;
+       }
+} /* dns_anyconf_pop() */
+
+
+static int dns_anyconf_addc(struct dns_anyconf *cf, int ch) {
+       if (!(cf->cp < endof(cf->buffer)))
+               return ENOMEM;
+
+       *cf->cp++ = ch;
+
+       return 0;
+} /* dns_anyconf_addc() */
+
+
+static _Bool dns_anyconf_match(const char *pat, int mc) {
+       _Bool match;
+       int pc;
+
+       if (*pat == '^') {
+               match = 0;
+               ++pat;
+       } else {
+               match = 1;
+       }
+
+       while ((pc = *(const unsigned char *)pat++)) {
+               switch (pc) {
+               case '%':
+                       if (!(pc = *(const unsigned char *)pat++))
+                               return !match;
+
+                       switch (pc) {
+                       case 'a':
+                               if (isalpha(mc))
+                                       return match;
+                               break;
+                       case 'd':
+                               if (isdigit(mc))
+                                       return match;
+                               break;
+                       case 'w':
+                               if (isalnum(mc))
+                                       return match;
+                               break;
+                       case 's':
+                               if (isspace(mc))
+                                       return match;
+                               break;
+                       default:
+                               if (mc == pc)
+                                       return match;
+                               break;
+                       } /* switch() */
+
+                       break;
+               default:
+                       if (mc == pc)
+                               return match;
+                       break;
+               } /* switch() */
+       } /* while() */
+
+       return !match;
+} /* dns_anyconf_match() */
+
+
+static int dns_anyconf_peek(FILE *fp) {
+       int ch;
+       ch = getc(fp);
+       ungetc(ch, fp);
+       return ch;
+} /* dns_anyconf_peek() */
+
+
+static size_t dns_anyconf_skip(const char *pat, FILE *fp) {
+       size_t count = 0;
+       int ch;
+
+       while (EOF != (ch = getc(fp))) {
+               if (dns_anyconf_match(pat, ch)) {
+                       count++;
+                       continue;
+               }
+
+               ungetc(ch, fp);
+
+               break;
+       }
+
+       return count;
+} /* dns_anyconf_skip() */
+
+
+static size_t dns_anyconf_scan(struct dns_anyconf *cf, const char *pat, FILE *fp, int *error) {
+       size_t len;
+       int ch;
+
+       while (EOF != (ch = getc(fp))) {
+               if (dns_anyconf_match(pat, ch)) {
+                       if ((*error = dns_anyconf_addc(cf, ch)))
+                               return 0;
+
+                       continue;
+               } else {
+                       ungetc(ch, fp);
+
+                       break;
+               }
+       }
+
+       if ((len = cf->cp - cf->tp)) {
+               if ((*error = dns_anyconf_push(cf)))
+                       return 0;
+
+               return len;
+       } else {
+               *error = 0;
+
+               return 0; 
+       }
+} /* dns_anyconf_scan() */
+
+
+DNS_NOTUSED static void dns_anyconf_dump(struct dns_anyconf *cf, FILE *fp) {
+       unsigned i;
+
+       fprintf(fp, "tokens:");
+
+       for (i = 0; i < cf->count; i++) {
+               fprintf(fp, " %s", cf->token[i]);
+       }
+
+       fputc('\n', fp);
+} /* dns_anyconf_dump() */
+
+
+enum dns_nssconf_keyword {
+       DNS_NSSCONF_INVALID = 0,
+       DNS_NSSCONF_HOSTS   = 1,
+       DNS_NSSCONF_SUCCESS,
+       DNS_NSSCONF_NOTFOUND,
+       DNS_NSSCONF_UNAVAIL,
+       DNS_NSSCONF_TRYAGAIN,
+       DNS_NSSCONF_CONTINUE,
+       DNS_NSSCONF_RETURN,
+       DNS_NSSCONF_FILES,
+       DNS_NSSCONF_DNS,
+       DNS_NSSCONF_MDNS,
+
+       DNS_NSSCONF_LAST,
+}; /* enum dns_nssconf_keyword */
+
+static enum dns_nssconf_keyword dns_nssconf_keyword(const char *word) {
+       static const char *list[] = {
+               [DNS_NSSCONF_HOSTS]    = "hosts",
+               [DNS_NSSCONF_SUCCESS]  = "success",
+               [DNS_NSSCONF_NOTFOUND] = "notfound",
+               [DNS_NSSCONF_UNAVAIL]  = "unavail",
+               [DNS_NSSCONF_TRYAGAIN] = "tryagain",
+               [DNS_NSSCONF_CONTINUE] = "continue",
+               [DNS_NSSCONF_RETURN]   = "return",
+               [DNS_NSSCONF_FILES]    = "files",
+               [DNS_NSSCONF_DNS]      = "dns",
+               [DNS_NSSCONF_MDNS]     = "mdns",
+       };
+       unsigned i;
+
+       for (i = 1; i < lengthof(list); i++) {
+               if (list[i] && 0 == strcasecmp(list[i], word))
+                       return i;
+       }
+
+       return DNS_NSSCONF_INVALID;
+} /* dns_nssconf_keyword() */
+
+
+static enum dns_nssconf_keyword dns_nssconf_c2k(int ch) {
+       static const char map[] = {
+               ['S'] = DNS_NSSCONF_SUCCESS,
+               ['N'] = DNS_NSSCONF_NOTFOUND,
+               ['U'] = DNS_NSSCONF_UNAVAIL,
+               ['T'] = DNS_NSSCONF_TRYAGAIN,
+               ['C'] = DNS_NSSCONF_CONTINUE,
+               ['R'] = DNS_NSSCONF_RETURN,
+               ['f'] = DNS_NSSCONF_FILES,
+               ['F'] = DNS_NSSCONF_FILES,
+               ['d'] = DNS_NSSCONF_DNS,
+               ['D'] = DNS_NSSCONF_DNS,
+               ['b'] = DNS_NSSCONF_DNS,
+               ['B'] = DNS_NSSCONF_DNS,
+               ['m'] = DNS_NSSCONF_MDNS,
+               ['M'] = DNS_NSSCONF_MDNS,
+       };
+
+       return (ch >= 0 && ch < (int)lengthof(map))? map[ch] : DNS_NSSCONF_INVALID;
+} /* dns_nssconf_c2k() */
+
+
+DNS_PRAGMA_PUSH
+DNS_PRAGMA_QUIET
+
+static int dns_nssconf_k2c(int k) {
+       static const char map[DNS_NSSCONF_LAST] = {
+               [DNS_NSSCONF_SUCCESS]  = 'S',
+               [DNS_NSSCONF_NOTFOUND] = 'N',
+               [DNS_NSSCONF_UNAVAIL]  = 'U',
+               [DNS_NSSCONF_TRYAGAIN] = 'T',
+               [DNS_NSSCONF_CONTINUE] = 'C',
+               [DNS_NSSCONF_RETURN]   = 'R',
+               [DNS_NSSCONF_FILES]    = 'f',
+               [DNS_NSSCONF_DNS]      = 'b',
+               [DNS_NSSCONF_MDNS]     = 'm',
+       };
+
+       return (k >= 0 && k < (int)lengthof(map))? (map[k]? map[k] : '?') : '?';
+} /* dns_nssconf_k2c() */
+
+static const char *dns_nssconf_k2s(int k) {
+       static const char *const map[DNS_NSSCONF_LAST] = {
+               [DNS_NSSCONF_SUCCESS]  = "SUCCESS",
+               [DNS_NSSCONF_NOTFOUND] = "NOTFOUND",
+               [DNS_NSSCONF_UNAVAIL]  = "UNAVAIL",
+               [DNS_NSSCONF_TRYAGAIN] = "TRYAGAIN",
+               [DNS_NSSCONF_CONTINUE] = "continue",
+               [DNS_NSSCONF_RETURN]   = "return",
+               [DNS_NSSCONF_FILES]    = "files",
+               [DNS_NSSCONF_DNS]      = "dns",
+               [DNS_NSSCONF_MDNS]     = "mdns",
+       };
+
+       return (k >= 0 && k < (int)lengthof(map))? (map[k]? map[k] : "") : "";
+} /* dns_nssconf_k2s() */
+
+DNS_PRAGMA_POP
+
+
+int dns_nssconf_loadfile(struct dns_resolv_conf *resconf, FILE *fp) {
+       enum dns_nssconf_keyword source, status, action;
+       char lookup[sizeof resconf->lookup] = "", *lp;
+       struct dns_anyconf cf;
+       size_t i;
+       int error;
+
+       while (!feof(fp) && !ferror(fp)) {
+               dns_anyconf_reset(&cf);
+
+               dns_anyconf_skip("%s", fp);
+
+               if (!dns_anyconf_scan(&cf, "%w_", fp, &error))
+                       goto nextent;
+
+               if (DNS_NSSCONF_HOSTS != dns_nssconf_keyword(cf.token[0]))
+                       goto nextent;
+
+               dns_anyconf_pop(&cf);
+
+               if (!dns_anyconf_skip(": \t", fp))
+                       goto nextent;
+
+               *(lp = lookup) = '\0';
+
+               while (dns_anyconf_scan(&cf, "%w_", fp, &error)) {
+                       dns_anyconf_skip(" \t", fp);
+
+                       if ('[' == dns_anyconf_peek(fp)) {
+                               dns_anyconf_skip("[ \t", fp);
+
+                               while (dns_anyconf_scan(&cf, "%w_", fp, &error)) {
+                                       dns_anyconf_skip("= \t", fp);
+                                       if (!dns_anyconf_scan(&cf, "%w_", fp, &error)) {
+                                               dns_anyconf_pop(&cf); /* discard status */
+                                               dns_anyconf_skip("^#;]\n", fp); /* skip to end of criteria */
+                                               break;
+                                       }
+                                       dns_anyconf_skip(" \t", fp);
+                               }
+
+                               dns_anyconf_skip("] \t", fp);
+                       }
+
+                       if ((unsigned)(endof(lookup) - lp) < cf.count + 1) /* +1 for '\0' */
+                               goto nextsrc;
+
+                       source = dns_nssconf_keyword(cf.token[0]);
+
+                       switch (source) {
+                       case DNS_NSSCONF_DNS:
+                       case DNS_NSSCONF_MDNS:
+                       case DNS_NSSCONF_FILES:
+                               *lp++ = dns_nssconf_k2c(source);
+                               break;
+                       default:
+                               goto nextsrc;
+                       }
+
+                       for (i = 1; i + 1 < cf.count; i += 2) {
+                               status = dns_nssconf_keyword(cf.token[i]);
+                               action = dns_nssconf_keyword(cf.token[i + 1]);
+
+                               switch (status) {
+                               case DNS_NSSCONF_SUCCESS:
+                               case DNS_NSSCONF_NOTFOUND:
+                               case DNS_NSSCONF_UNAVAIL:
+                               case DNS_NSSCONF_TRYAGAIN:
+                                       *lp++ = dns_nssconf_k2c(status);
+                                       break;
+                               default:
+                                       continue;
+                               }
+
+                               switch (action) {
+                               case DNS_NSSCONF_CONTINUE:
+                               case DNS_NSSCONF_RETURN:
+                                       break;
+                               default:
+                                       action = (status == DNS_NSSCONF_SUCCESS)
+                                              ? DNS_NSSCONF_RETURN
+                                              : DNS_NSSCONF_CONTINUE;
+                                       break;
+                               }
+                               
+                               *lp++ = dns_nssconf_k2c(action);
+                       }
+nextsrc:
+                       *lp = '\0';
+                       dns_anyconf_reset(&cf);
+               }
+nextent:
+               dns_anyconf_skip("^\n", fp);
+       }
+
+       if (*lookup)
+               strncpy(resconf->lookup, lookup, sizeof resconf->lookup);
+
+       return 0;
+} /* dns_nssconf_loadfile() */
+
+
+int dns_nssconf_loadpath(struct dns_resolv_conf *resconf, const char *path) {
+       FILE *fp;
+       int error;
+
+       if (!(fp = fopen(path, "r")))
+               return dns_syerr();
+
+       error = dns_nssconf_loadfile(resconf, fp);
+
+       fclose(fp);
+
+       return error;
+} /* dns_nssconf_loadpath() */
+
+
+struct dns_nssconf_source {
+       enum dns_nssconf_keyword source, success, notfound, unavail, tryagain;
+}; /* struct dns_nssconf_source */
+
+typedef unsigned dns_nssconf_i;
+
+static inline int dns_nssconf_peek(const struct dns_resolv_conf *resconf, dns_nssconf_i state) {
+       return (state < lengthof(resconf->lookup) && resconf->lookup[state])? resconf->lookup[state] : 0;
+} /* dns_nssconf_peek() */
+
+static _Bool dns_nssconf_next(struct dns_nssconf_source *src, const struct dns_resolv_conf *resconf, dns_nssconf_i *state) {
+       int source, status, action;
+
+       src->source = DNS_NSSCONF_INVALID;
+       src->success = DNS_NSSCONF_RETURN;
+       src->notfound = DNS_NSSCONF_CONTINUE;
+       src->unavail = DNS_NSSCONF_CONTINUE;
+       src->tryagain = DNS_NSSCONF_CONTINUE;
+
+       while ((source = dns_nssconf_peek(resconf, *state))) {
+               source = dns_nssconf_c2k(source);
+               ++*state;
+
+               switch (source) {
+               case DNS_NSSCONF_FILES:
+               case DNS_NSSCONF_DNS:
+               case DNS_NSSCONF_MDNS:
+                       src->source = source;
+                       break;
+               default:
+                       continue;
+               }
+
+               while ((status = dns_nssconf_peek(resconf, *state)) && (action = dns_nssconf_peek(resconf, *state + 1))) {
+                       status = dns_nssconf_c2k(status);
+                       action = dns_nssconf_c2k(action);
+
+                       switch (action) {
+                       case DNS_NSSCONF_RETURN:
+                       case DNS_NSSCONF_CONTINUE:
+                               break;
+                       default:
+                               goto done;
+                       }
+
+                       switch (status) {
+                       case DNS_NSSCONF_SUCCESS:
+                               src->success = action;
+                               break;
+                       case DNS_NSSCONF_NOTFOUND:
+                               src->notfound = action;
+                               break;
+                       case DNS_NSSCONF_UNAVAIL:
+                               src->unavail = action;
+                               break;
+                       case DNS_NSSCONF_TRYAGAIN:
+                               src->tryagain = action;
+                               break;
+                       default:
+                               goto done;
+                       }
+
+                       *state += 2;
+               }
+
+               break;
+       }
+done:
+       return src->source != DNS_NSSCONF_INVALID;
+} /* dns_nssconf_next() */
+
+
+static int dns_nssconf_dump_status(int status, int action, unsigned *count, FILE *fp) {
+       switch (status) {
+       case DNS_NSSCONF_SUCCESS:
+               if (action == DNS_NSSCONF_RETURN)
+                       return 0;
+               break;
+       default:
+               if (action == DNS_NSSCONF_CONTINUE)
+                       return 0;
+               break;
+       }
+
+       fputc(' ', fp);
+
+       if (!*count)
+               fputc('[', fp);
+
+       fprintf(fp, "%s=%s", dns_nssconf_k2s(status), dns_nssconf_k2s(action));
+
+       ++*count;
+
+       return 0;
+} /* dns_nssconf_dump_status() */
+
+
+int dns_nssconf_dump(struct dns_resolv_conf *resconf, FILE *fp) {
+       struct dns_nssconf_source src;
+       dns_nssconf_i i = 0;
+
+       fputs("hosts:", fp);
+
+       while (dns_nssconf_next(&src, resconf, &i)) {
+               unsigned n = 0;
+
+               fprintf(fp, " %s", dns_nssconf_k2s(src.source));
+
+               dns_nssconf_dump_status(DNS_NSSCONF_SUCCESS, src.success, &n, fp);
+               dns_nssconf_dump_status(DNS_NSSCONF_NOTFOUND, src.notfound, &n, fp);
+               dns_nssconf_dump_status(DNS_NSSCONF_UNAVAIL, src.unavail, &n, fp);
+               dns_nssconf_dump_status(DNS_NSSCONF_TRYAGAIN, src.tryagain, &n, fp);
+
+               if (n)
+                       fputc(']', fp);
+       }
+
+       fputc('\n', fp);
+
+       return 0;
+} /* dns_nssconf_dump() */
+
+
 int dns_resconf_setiface(struct dns_resolv_conf *resconf, const char *addr, unsigned short port) {
-       int af  = (strchr(addr, ':'))? AF_INET6 : AF_INET;
+       int af = (strchr(addr, ':'))? AF_INET6 : AF_INET;
+       int error;
 
-       if (1 != dns_inet_pton(af, addr, dns_sa_addr(af, &resconf->iface)))
-               return dns_soerr();
+       if ((error = dns_pton(af, addr, dns_sa_addr(af, &resconf->iface))))
+               return error;
 
        *dns_sa_port(af, &resconf->iface)       = htons(port);
        resconf->iface.ss_family                = af;
@@ -3998,6 +4703,9 @@ int dns_resconf_dump(struct dns_resolv_conf *resconf, FILE *fp) {
        fputc('\n', fp);
 
 
+       fputs("; ", fp);
+       dns_nssconf_dump(resconf, fp);
+
        fprintf(fp, "lookup");
 
        for (i = 0; i < lengthof(resconf->lookup) && resconf->lookup[i]; i++) {
@@ -4025,6 +4733,17 @@ int dns_resconf_dump(struct dns_resolv_conf *resconf, FILE *fp) {
        if (resconf->options.smart)
                fprintf(fp, " smart");
 
+       switch (resconf->options.tcp) {
+       case DNS_RESCONF_TCP_ENABLE:
+               break;
+       case DNS_RESCONF_TCP_ONLY:
+               fprintf(fp, " tcp");
+               break;
+       case DNS_RESCONF_TCP_DISABLE:
+               fprintf(fp, " tcp:disable");
+               break;
+       }
+
        fputc('\n', fp);
 
 
@@ -4066,7 +4785,7 @@ struct dns_hints {
 }; /* struct dns_hints */
 
 
-struct dns_hints *dns_hints_open(struct dns_resolv_conf *resconf __UNUSED__, int *error) {
+struct dns_hints *dns_hints_open(struct dns_resolv_conf *resconf, int *error) {
        static const struct dns_hints H_initializer;
        struct dns_hints *H;
 
@@ -4184,8 +4903,8 @@ struct dns_hints *dns_hints_root(struct dns_resolv_conf *resconf, int *error_) {
        for (i = 0; i < lengthof(root_hints); i++) {
                af      = root_hints[i].af;
 
-               if (1 != dns_inet_pton(af, root_hints[i].addr, dns_sa_addr(af, &ss)))
-                       goto soerr;
+               if ((error = dns_pton(af, root_hints[i].addr, dns_sa_addr(af, &ss))))
+                       goto error;
 
                *dns_sa_port(af, &ss)   = htons(53);
                ss.ss_family            = af;
@@ -4195,10 +4914,6 @@ struct dns_hints *dns_hints_root(struct dns_resolv_conf *resconf, int *error_) {
        }
 
        return hints;
-soerr:
-       error   = dns_soerr();
-
-       goto error;
 error:
        *error_ = error;
 
@@ -4442,15 +5157,16 @@ int dns_hints_dump(struct dns_hints *hints, FILE *fp) {
        struct dns_hints_soa *soa;
        char addr[INET6_ADDRSTRLEN];
        unsigned i;
-       int af;
+       int af, error;
 
        for (soa = hints->head; soa; soa = soa->next) {
                fprintf(fp, "ZONE \"%s\"\n", soa->zone);
 
                for (i = 0; i < soa->count; i++) {
-                       af      = soa->addrs[i].ss.ss_family;
-                       if (!dns_inet_ntop(af, dns_sa_addr(af, &soa->addrs[i].ss), addr, sizeof addr))
-                               return dns_soerr();
+                       af = soa->addrs[i].ss.ss_family;
+
+                       if ((error = dns_ntop(af, dns_sa_addr(af, &soa->addrs[i].ss), addr, sizeof addr)))
+                               return error;
 
                        fprintf(fp, "\t(%d) [%s]:%hu\n", (int)soa->addrs[i].priority, addr, ntohs(*dns_sa_port(af, &soa->addrs[i].ss)));
                }
@@ -4465,47 +5181,47 @@ int dns_hints_dump(struct dns_hints *hints, FILE *fp) {
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-static dns_atomic_t dns_cache_acquire(struct dns_cache *cache __UNUSED__) {
+static dns_atomic_t dns_cache_acquire(struct dns_cache *cache) {
        return 0;
 } /* dns_cache_acquire() */
 
 
-static dns_atomic_t dns_cache_release(struct dns_cache *cache __UNUSED__) {
+static dns_atomic_t dns_cache_release(struct dns_cache *cache) {
        return 0;
 } /* dns_cache_release() */
 
 
-static struct dns_packet *dns_cache_query(struct dns_packet *query __UNUSED__, struct dns_cache *cache __UNUSED__, int *error __UNUSED__) {
+static struct dns_packet *dns_cache_query(struct dns_packet *query, struct dns_cache *cache, int *error) {
        return 0;
 } /* dns_cache_submit() */
 
 
-static int dns_cache_submit(struct dns_packet *query __UNUSED__, struct dns_cache *cache __UNUSED__) {
+static int dns_cache_submit(struct dns_packet *query, struct dns_cache *cache) {
        return 0;
 } /* dns_cache_submit() */
 
 
-static int dns_cache_check(struct dns_cache *cache __UNUSED__) {
+static int dns_cache_check(struct dns_cache *cache) {
        return 0;
 } /* dns_cache_check() */
 
 
-static struct dns_packet *dns_cache_fetch(struct dns_cache *cache __UNUSED__, int *error __UNUSED__) {
+static struct dns_packet *dns_cache_fetch(struct dns_cache *cache, int *error) {
        return 0;
 } /* dns_cache_fetch() */
 
 
-static int dns_cache_pollfd(struct dns_cache *cache __UNUSED__) {
+static int dns_cache_pollfd(struct dns_cache *cache) {
        return -1;
 } /* dns_cache_pollfd() */
 
 
-static short dns_cache_events(struct dns_cache *cache __UNUSED__) {
+static short dns_cache_events(struct dns_cache *cache) {
        return 0;
 } /* dns_cache_events() */
 
 
-static void dns_cache_clear(struct dns_cache *cache __UNUSED__) {
+static void dns_cache_clear(struct dns_cache *cache) {
        return;
 } /* dns_cache_clear() */
 
@@ -4583,6 +5299,13 @@ static int dns_socket(struct sockaddr *local, int type, int *error_) {
                goto soerr;
 #endif
 
+#if defined(SO_NOSIGPIPE)
+       if (type == SOCK_DGRAM) {
+               if (0 != setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &(int){ 1 }, sizeof (int)))
+                       goto soerr;
+       }
+#endif
+
        if (local->sa_family != AF_INET && local->sa_family != AF_INET6)
                return fd;
 
@@ -4613,10 +5336,12 @@ soerr:
        error   = dns_soerr();
 
        goto error;
+#if defined(F_SETFD) || defined(O_NONBLOCK)
 syerr:
        error   = dns_syerr();
 
        goto error;
+#endif
 error:
        *error_ = error;
 
@@ -4671,7 +5396,7 @@ struct dns_socket {
        struct dns_packet *query;
        size_t qout;
 
-       time_t began;
+       struct dns_clock elapsed;
 
        struct dns_packet *answer;
        size_t alen, apos;
@@ -4853,7 +5578,8 @@ int dns_so_submit(struct dns_socket *so, struct dns_packet *Q, struct sockaddr *
 
        so->query       = Q;
        so->qout        = 0;
-       so->began       = dns_now();
+
+       dns_begin(&so->elapsed);
 
        if (dns_header(so->query)->qid == 0)
                dns_header(so->query)->qid      = dns_so_mkqid(so);
@@ -4903,6 +5629,11 @@ static int dns_so_verify(struct dns_socket *so, struct dns_packet *P) {
 } /* dns_so_verify() */
 
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warray-bounds"
+#endif
+
 static int dns_so_tcp_send(struct dns_socket *so) {
        unsigned char *qsrc;
        size_t qend;
@@ -4915,7 +5646,7 @@ static int dns_so_tcp_send(struct dns_socket *so) {
        qend = so->query->end + 2;
 
        while (so->qout < qend) {
-               if (0 > (n = send(so->tcp, (void *)&qsrc[so->qout], qend - so->qout, 0)))
+               if (0 > (n = dns_send(so->tcp, (void *)&qsrc[so->qout], qend - so->qout, 0)))
                        return dns_soerr();
 
                so->qout += n;
@@ -4965,6 +5696,10 @@ static int dns_so_tcp_recv(struct dns_socket *so) {
        return 0;
 } /* dns_so_tcp_recv() */
 
+#if __clang__
+#pragma clang diagnostic pop
+#endif
+
 
 int dns_so_check(struct dns_socket *so) {
        int error;
@@ -5119,7 +5854,7 @@ error:
 
 
 time_t dns_so_elapsed(struct dns_socket *so) {
-       return dns_elapsed(so->began);
+       return dns_elapsed(&so->elapsed);
 } /* dns_so_elapsed() */
 
 
@@ -5250,7 +5985,7 @@ struct dns_resolver {
        enum dns_type qtype;
        enum dns_class qclass;
 
-       time_t began;
+       struct dns_clock elapsed;
 
        dns_resconf_i_t search;
 
@@ -5285,7 +6020,7 @@ static int dns_res_tcp2type(int tcp) {
        }
 } /* dns_res_tcp2type() */
 
-struct dns_resolver *dns_res_open(struct dns_resolv_conf *resconf, struct dns_hosts *hosts, struct dns_hints *hints, struct dns_cache *cache, const struct dns_options *opts, int *error_) {
+struct dns_resolver *dns_res_open(struct dns_resolv_conf *resconf, struct dns_hosts *hosts, struct dns_hints *hints, struct dns_cache *cache, const struct dns_options *opts, int *_error) {
        static const struct dns_resolver R_initializer
                = { .refcount = 1, };
        struct dns_resolver *R  = 0;
@@ -5311,7 +6046,7 @@ struct dns_resolver *dns_res_open(struct dns_resolv_conf *resconf, struct dns_ho
         * dns_resconf_local() by default would create undesirable surpises.
         */
        if (!resconf || !hosts || !hints)
-               goto error;
+               goto _error;
 
        if (!(R = malloc(sizeof *R)))
                goto syerr;
@@ -5331,8 +6066,8 @@ struct dns_resolver *dns_res_open(struct dns_resolv_conf *resconf, struct dns_ho
 syerr:
        error   = dns_syerr();
 error:
-       *error_ = error;
-
+       *_error = error;
+_error:
        dns_res_close(R);
 
        dns_resconf_close(resconf);
@@ -5371,7 +6106,7 @@ epilog:
 } /* dns_res_stub() */
 
 
-static void dns_res_reset_frame(struct dns_resolver *R __UNUSED__, struct dns_res_frame *frame) {
+static void dns_res_reset_frame(struct dns_resolver *R, struct dns_res_frame *frame) {
        free(frame->query);
        free(frame->answer);
        free(frame->hints);
@@ -5639,7 +6374,7 @@ exec:
 
                F->state++;
        case DNS_R_SWITCH:
-               while (F->which < (int)sizeof R->resconf->lookup) {
+               while (F->which < (int)sizeof R->resconf->lookup && R->resconf->lookup[F->which]) {
                        switch (R->resconf->lookup[F->which++]) {
                        case 'b': case 'B':
                                goto(R->sp, DNS_R_BIND);
@@ -5776,6 +6511,8 @@ exec:
 
                F->state++;
        case DNS_R_HINTS:
+               free(F->hints);
+
                if (!(F->hints = dns_hints_query(R->hints, F->query, &error)))
                        goto error;
 
@@ -5914,7 +6651,7 @@ exec:
                }
 
                if (!R->resconf->options.recurse)
-                       goto(R->sp, DNS_R_SWITCH);
+                       goto(R->sp, DNS_R_SEARCH);
 
                dns_rr_foreach(&rr, F->answer, .section = DNS_S_NS, .type = DNS_T_NS) {
                        free(F->hints);
@@ -6104,9 +6841,11 @@ error:
 void dns_res_clear(struct dns_resolver *R) {
        switch (R->stack[R->sp].state) {
        case DNS_R_CHECK:
-               return R->cache->clear(R->cache);
+               R->cache->clear(R->cache);
+               break;
        default:
-               return dns_so_clear(&R->so);
+               dns_so_clear(&R->so);
+               break;
        }
 } /* dns_res_clear() */
 
@@ -6141,7 +6880,7 @@ int dns_res_pollfd(struct dns_resolver *R) {
 
 
 time_t dns_res_elapsed(struct dns_resolver *R) {
-       return dns_elapsed(R->began);
+       return dns_elapsed(&R->elapsed);
 } /* dns_res_elapsed() */
 
 
@@ -6159,7 +6898,7 @@ int dns_res_submit(struct dns_resolver *R, const char *qname, enum dns_type qtyp
        R->qtype        = qtype;
        R->qclass       = qclass;
 
-       R->began        = dns_now();
+       dns_begin(&R->elapsed);
 
        return 0;
 } /* dns_res_submit() */
@@ -6555,7 +7294,7 @@ time_t dns_ai_elapsed(struct dns_addrinfo *ai) {
 
 
 void dns_ai_clear(struct dns_addrinfo *ai) {
-       return dns_res_clear(ai->res);
+       dns_res_clear(ai->res);
 } /* dns_ai_clear() */
 
 
@@ -6836,6 +7575,7 @@ enum dns_rcode dns_ircode(const char *name) {
 } /* dns_ircode() */
 
 
+\f
 /*
  * C O M M A N D - L I N E / R E G R E S S I O N  R O U T I N E S
  *
@@ -6861,17 +7601,7 @@ struct {
        struct {
                const char *path[8];
                unsigned count;
-       } resconf;
-
-       struct {
-               const char *path[8];
-               unsigned count;
-       } hosts;
-
-       struct {
-               const char *path[8];
-               unsigned count;
-       } cache;
+       } resconf, nssconf, hosts, cache;
 
        const char *qname;
        enum dns_type qtype;
@@ -6944,7 +7674,7 @@ static void *grow(unsigned char *p, size_t size) {
        void *tmp;
 
        if (!(tmp = realloc(p, size)))
-               panic("realloc(%zu): %s", size, dns_strerror(errno));
+               panic("realloc(%"PRIuZ"): %s", size, dns_strerror(errno));
 
        return tmp;
 } /* grow() */
@@ -6952,7 +7682,7 @@ static void *grow(unsigned char *p, size_t size) {
 
 static size_t add(size_t a, size_t b) {
        if (~a < b)
-               panic("%zu + %zu: integer overflow", a, b);
+               panic("%"PRIuZ" + %"PRIuZ": integer overflow", a, b);
 
        return a + b;
 } /* add() */
@@ -7010,6 +7740,27 @@ static struct dns_resolv_conf *resconf(void) {
                        panic("%s: %s", path, dns_strerror(error));
        }
 
+       for (i = 0; i < MAIN.nssconf.count; i++) {
+               path    = MAIN.nssconf.path[i];
+
+               if (0 == strcmp(path, "-"))
+                       error   = dns_nssconf_loadfile(resconf, stdin);
+               else
+                       error   = dns_nssconf_loadpath(resconf, path);
+
+               if (error)
+                       panic("%s: %s", path, dns_strerror(error));
+       }
+
+       if (!MAIN.nssconf.count) {
+               path = "/etc/nsswitch.conf";
+
+               if (!(error = dns_nssconf_loadpath(resconf, path)))
+                       MAIN.nssconf.path[MAIN.nssconf.count++] = path;
+               else if (error != ENOENT)
+                       panic("%s: %s", path, dns_strerror(error));
+       }
+
        return resconf;
 } /* resconf() */
 
@@ -7107,7 +7858,7 @@ static int parse_packet(int argc, char *argv[]) {
        P->end  = fread(P->data, 1, P->size, stdin);
 
        fputs(";; [HEADER]\n", stdout);
-       fprintf(stdout, ";;     qr : %s(%d)\n", (dns_header(P)->qr)? "QUERY" : "RESPONSE", dns_header(P)->qr);
+       fprintf(stdout, ";;     qr : %s(%d)\n", (dns_header(P)->qr)? "RESPONSE" : "QUERY", dns_header(P)->qr);
        fprintf(stdout, ";; opcode : %s(%d)\n", dns_stropcode(dns_header(P)->opcode), dns_header(P)->opcode);
        fprintf(stdout, ";;     aa : %s(%d)\n", (dns_header(P)->aa)? "AUTHORITATIVE" : "NON-AUTHORITATIVE", dns_header(P)->aa);
        fprintf(stdout, ";;     tc : %s(%d)\n", (dns_header(P)->tc)? "TRUNCATED" : "NOT-TRUNCATED", dns_header(P)->tc);
@@ -7139,9 +7890,8 @@ static int parse_packet(int argc, char *argv[]) {
        struct dns_rr rrset[32];
        struct dns_rr_i *rri    = dns_rr_i_new(Q, .name = dns_d_new("ns8.yahoo.com", DNS_D_ANCHOR), .sort = MAIN.sort);
        unsigned rrcount        = dns_rr_grep(rrset, lengthof(rrset), rri, Q, &error);
-       unsigned i;
 
-       for (i = 0; i < rrcount; i++) {
+       for (unsigned i = 0; i < rrcount; i++) {
                rr      = rrset[i];
 #endif
                if (section != rr.section)
@@ -7154,10 +7904,10 @@ static int parse_packet(int argc, char *argv[]) {
        }
 
        if (MAIN.verbose > 1) {
-               fprintf(stderr, "orig:%zu\n", P->end);
+               fprintf(stderr, "orig:%"PRIuZ"\n", P->end);
                hexdump(P->data, P->end, stdout);
 
-               fprintf(stderr, "copy:%zu\n", Q->end);
+               fprintf(stderr, "copy:%"PRIuZ"\n", Q->end);
                hexdump(Q->data, Q->end, stdout);
        }
 
@@ -7196,7 +7946,7 @@ static int expand_domain(int argc, char *argv[]) {
        len = slurp(&src, 0, stdin, "-");
 
        if (!(pkt = dns_p_make(len, &error)))
-               panic("malloc(%zu): %s", len, dns_strerror(error));
+               panic("malloc(%"PRIuZ"): %s", len, dns_strerror(error));
 
        memcpy(pkt->data, src, len);
        pkt->end = len;
@@ -7226,13 +7976,16 @@ static int expand_domain(int argc, char *argv[]) {
 static int show_resconf(int argc, char *argv[]) {
        unsigned i;
 
-       resconf();      /* load it */
+       resconf(); /* load it */
 
        fputs("; SOURCES\n", stdout);
 
        for (i = 0; i < MAIN.resconf.count; i++)
                fprintf(stdout, ";   %s\n", MAIN.resconf.path[i]);
 
+       for (i = 0; i < MAIN.nssconf.count; i++)
+               fprintf(stdout, ";   %s\n", MAIN.nssconf.path[i]);
+
        fputs(";\n", stdout);
 
        dns_resconf_dump(resconf(), stdout);
@@ -7241,6 +7994,27 @@ static int show_resconf(int argc, char *argv[]) {
 } /* show_resconf() */
 
 
+static int show_nssconf(int argc, char *argv[]) {
+       unsigned i;
+
+       resconf();
+
+       fputs("# SOURCES\n", stdout);
+
+       for (i = 0; i < MAIN.resconf.count; i++)
+               fprintf(stdout, "#   %s\n", MAIN.resconf.path[i]);
+
+       for (i = 0; i < MAIN.nssconf.count; i++)
+               fprintf(stdout, "#   %s\n", MAIN.nssconf.path[i]);
+
+       fputs("#\n", stdout);
+
+       dns_nssconf_dump(resconf(), stdout);
+
+       return 0;
+} /* show_nssconf() */
+
+
 static int show_hosts(int argc, char *argv[]) {
        unsigned i;
 
@@ -7277,7 +8051,7 @@ static int query_hosts(int argc, char *argv[]) {
                union { struct in_addr a; struct in6_addr a6; } addr;
                int af  = (strchr(MAIN.qname, ':'))? AF_INET6 : AF_INET;
 
-               if (1 != dns_inet_pton(af, MAIN.qname, &addr))
+               if ((error = dns_pton(af, MAIN.qname, &addr)))
                        panic("%s: %s", MAIN.qname, dns_strerror(error));
 
                qlen    = dns_ptr_qname(qname, sizeof qname, af, &addr);
@@ -7387,8 +8161,8 @@ static int send_query(int argc, char *argv[]) {
        if (argc > 1) {
                ss.ss_family    = (strchr(argv[1], ':'))? AF_INET6 : AF_INET;
                
-               if (1 != dns_inet_pton(ss.ss_family, argv[1], dns_sa_addr(ss.ss_family, &ss)))
-                       panic("%s: invalid host address", argv[1]);
+               if ((error = dns_pton(ss.ss_family, argv[1], dns_sa_addr(ss.ss_family, &ss))))
+                       panic("%s: %s", argv[1], dns_strerror(error));
 
                *dns_sa_port(ss.ss_family, &ss) = htons(53);
        } else
@@ -7420,7 +8194,7 @@ static int send_query(int argc, char *argv[]) {
                panic("dns_so_open: %s", dns_strerror(error));
 
        while (!(A = dns_so_query(so, Q, (struct sockaddr *)&ss, &error))) {
-               if (error != EAGAIN)
+               if (error != DNS_EAGAIN)
                        panic("dns_so_query: %s (%d)", dns_strerror(error), error);
                if (dns_so_elapsed(so) > 10)
                        panic("query timed-out");
@@ -7513,7 +8287,7 @@ static int resolve_query(int argc, char *argv[]) {
                panic("%s: %s", MAIN.qname, dns_strerror(error));
 
        while ((error = dns_res_check(R))) {
-               if (error != EAGAIN)
+               if (error != DNS_EAGAIN)
                        panic("dns_res_check: %s (%d)", dns_strerror(error), error);
                if (dns_res_elapsed(R) > 30)
                        panic("query timed-out");
@@ -7527,11 +8301,11 @@ static int resolve_query(int argc, char *argv[]) {
 
        st = dns_res_stat(R);
        putchar('\n');
-       printf(";; queries:  %zu\n", st->queries);
-       printf(";; udp sent: %zu in %zu bytes\n", st->udp.sent.count, st->udp.sent.bytes);
-       printf(";; udp rcvd: %zu in %zu bytes\n", st->udp.rcvd.count, st->udp.rcvd.bytes);
-       printf(";; tcp sent: %zu in %zu bytes\n", st->tcp.sent.count, st->tcp.sent.bytes);
-       printf(";; tcp rcvd: %zu in %zu bytes\n", st->tcp.rcvd.count, st->tcp.rcvd.bytes);
+       printf(";; queries:  %"PRIuZ"\n", st->queries);
+       printf(";; udp sent: %"PRIuZ" in %"PRIuZ" bytes\n", st->udp.sent.count, st->udp.sent.bytes);
+       printf(";; udp rcvd: %"PRIuZ" in %"PRIuZ" bytes\n", st->udp.rcvd.count, st->udp.rcvd.bytes);
+       printf(";; tcp sent: %"PRIuZ" in %"PRIuZ" bytes\n", st->tcp.sent.count, st->tcp.sent.bytes);
+       printf(";; tcp rcvd: %"PRIuZ" in %"PRIuZ" bytes\n", st->tcp.rcvd.count, st->tcp.rcvd.bytes);
 
        dns_res_close(R);
 
@@ -7573,7 +8347,7 @@ static int resolve_addrinfo(int argc, char *argv[]) {
                        break;
                case ENOENT:
                        break;
-               case EAGAIN:
+               case DNS_EAGAIN:
                        if (dns_ai_elapsed(ai) > 30)
                                panic("query timed-out");
 
@@ -7717,7 +8491,7 @@ static int sizes(int argc, char *argv[]) {
                SIZE(struct dns_sshfp, struct dns_txt, union dns_any),
                SIZE(struct dns_resolv_conf, struct dns_hosts, struct dns_hints, struct dns_hints_i),
                SIZE(struct dns_options, struct dns_socket, struct dns_resolver, struct dns_addrinfo),
-               SIZE(struct dns_cache),
+               SIZE(struct dns_cache), SIZE(size_t), SIZE(void *), SIZE(long)
        };
        unsigned i, max;
 
@@ -7725,7 +8499,7 @@ static int sizes(int argc, char *argv[]) {
                max = MAX(max, strlen(type[i].name));
 
        for (i = 0; i < lengthof(type); i++)
-               printf("%*s : %zu\n", max, type[i].name, type[i].size);
+               printf("%*s : %"PRIuZ"\n", max, type[i].name, type[i].size);
 
        return 0;
 } /* sizes() */
@@ -7737,6 +8511,7 @@ static const struct { const char *cmd; int (*run)(); const char *help; } cmds[]
        { "expand-domain",      &expand_domain,         "expand domain at offset NN in packet from stdin" },
        { "show-resconf",       &show_resconf,          "show resolv.conf data" },
        { "show-hosts",         &show_hosts,            "show hosts data" },
+       { "show-nssconf",       &show_nssconf,          "show nsswitch.conf data" },
        { "query-hosts",        &query_hosts,           "query A, AAAA or PTR in hosts data" },
        { "search-list",        &search_list,           "generate query search list from domain" },
        { "permute-set",        &permute_set,           "generate random permutation -> (0 .. N or N .. M)" },
@@ -7766,6 +8541,7 @@ static void print_usage(const char *progname, FILE *fp) {
        static const char *usage        = 
                " [OPTIONS] COMMAND [ARGS]\n"
                "  -c PATH   Path to resolv.conf\n"
+               "  -n PATH   Path to nsswitch.conf\n"
                "  -l PATH   Path to local hosts\n"
                "  -z PATH   Path to zone cache\n"
                "  -q QNAME  Query name\n"
@@ -7815,7 +8591,7 @@ int main(int argc, char **argv) {
        unsigned i;
        int ch;
 
-       while (-1 != (ch = getopt(argc, argv, "q:t:c:l:z:s:vVh"))) {
+       while (-1 != (ch = getopt(argc, argv, "q:t:c:n:l:z:s:vVh"))) {
                switch (ch) {
                case 'c':
                        assert(MAIN.resconf.count < lengthof(MAIN.resconf.path));
@@ -7823,6 +8599,12 @@ int main(int argc, char **argv) {
                        MAIN.resconf.path[MAIN.resconf.count++] = optarg;
 
                        break;
+               case 'n':
+                       assert(MAIN.nssconf.count < lengthof(MAIN.nssconf.path));
+
+                       MAIN.nssconf.path[MAIN.nssconf.count++] = optarg;
+
+                       break;
                case 'l':
                        assert(MAIN.hosts.count < lengthof(MAIN.hosts.path));
 
@@ -7902,3 +8684,14 @@ int main(int argc, char **argv) {
 
 
 #endif /* DNS_MAIN */
+
+
+/*
+ * pop file-scoped compiler annotations
+ */
+#if __clang__
+#pragma clang diagnostic pop
+#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
+#pragma GCC diagnostic pop
+#endif
+
index 2b7315f..3504dd2 100644 (file)
@@ -1,7 +1,7 @@
 /* ==========================================================================
  * dns.h - Recursive, Reentrant DNS Resolver.
  * --------------------------------------------------------------------------
- * Copyright (c) 2009, 2010  William Ahern
+ * Copyright (c) 2009, 2010, 2012  William Ahern
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the
@@ -37,6 +37,7 @@
 #include <winsock2.h>
 #include <ws2tcpip.h>
 #else
+#include <sys/param.h>         /* BYTE_ORDER BIG_ENDIAN _BIG_ENDIAN */
 #include <sys/types.h>         /* socklen_t */
 #include <sys/socket.h>                /* struct socket */
 
@@ -64,9 +65,9 @@
 
 #define DNS_VENDOR "william@25thandClement.com"
 
-#define DNS_V_REL  0x20110117
-#define DNS_V_ABI  0x20100709
-#define DNS_V_API  0x20100709
+#define DNS_V_REL  0x20121023
+#define DNS_V_ABI  0x20120806
+#define DNS_V_API  0x20120806
 
 
 const char *dns_vendor(void);
@@ -79,22 +80,81 @@ int dns_v_api(void);
 /*
  * E R R O R S
  *
+ * Errors and exceptions are always returned through an int. This should
+ * hopefully make integration easier in the majority of circumstances, and
+ * also cut down on useless compiler warnings.
+ *
+ * System and library errors are returned together. POSIX guarantees that
+ * all system errors are positive integers. Library errors are always
+ * negative integers in the range DNS_EBASE to DNS_ELAST, with the high bits
+ * set to the three magic ASCII characters "dns".
+ *
+ * dns_strerror() returns static English string descriptions of all known
+ * errors, and punts the remainder to strerror(3).
+ *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
+#define DNS_EBASE -(('d' << 24) | ('n' << 16) | ('s' << 8) | 64)
+
+#define dns_error_t int /* for documentation only */
+
 enum dns_errno {
-       DNS_ENOBUFS     = -(('d' << 24) | ('n' << 16) | ('s' << 8) | 64),
+       DNS_ENOBUFS = DNS_EBASE,
        DNS_EILLEGAL,
        DNS_EORDER,
        DNS_ESECTION,
        DNS_EUNKNOWN,
+       DNS_EADDRESS,
+       DNS_ELAST,
 }; /* dns_errno */
 
-const char *dns_strerror(int);
+const char *dns_strerror(dns_error_t);
 
 extern int dns_debug;
 
 
 /*
+ * C O M P I L E R  A N N O T A T I O N S
+ *
+ * GCC with -Wextra, and clang by default, complain about overrides in
+ * initializer lists. Overriding previous member initializers is well
+ * defined behavior in C. dns.c relies on this behavior to define default,
+ * overrideable member values when instantiating configuration objects.
+ *
+ * dns_quietinit() guards a compound literal expression with pragmas to
+ * silence these shrill warnings. This alleviates the burden of requiring
+ * third-party projects to adjust their compiler flags.
+ *
+ * NOTE: If you take the address of the compound literal, take the address
+ * of the transformed expression, otherwise the compound literal lifetime is
+ * tied to the scope of the GCC statement expression.
+ *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#if defined __clang__
+#define DNS_PRAGMA_PUSH _Pragma("clang diagnostic push")
+#define DNS_PRAGMA_QUIET _Pragma("clang diagnostic ignored \"-Winitializer-overrides\"")
+#define DNS_PRAGMA_POP _Pragma("clang diagnostic pop")
+
+#define dns_quietinit(...) \
+       DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__ DNS_PRAGMA_POP
+#elif (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4
+#define DNS_PRAGMA_PUSH _Pragma("GCC diagnostic push")
+#define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"")
+#define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop")
+
+/* GCC parses the _Pragma operator less elegantly than clang. */
+#define dns_quietinit(...) \
+       ({ DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__; DNS_PRAGMA_POP })
+#else
+#define DNS_PRAGMA_PUSH
+#define DNS_PRAGMA_QUIET
+#define DNS_PRAGMA_POP
+#define dns_quietinit(...) __VA_ARGS__
+#endif
+
+
+/*
  * E V E N T S  I N T E R F A C E S
  *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -166,6 +226,7 @@ enum dns_type {
        DNS_T_TXT       = 16,
        DNS_T_AAAA      = 28,
        DNS_T_SRV       = 33,
+       DNS_T_OPT       = 41,
        DNS_T_SSHFP     = 44,
        DNS_T_SPF       = 99,
 
@@ -259,7 +320,7 @@ extern unsigned (*dns_random)(void);
 struct dns_header {
                unsigned qid:16;
 
-#if BYTE_ORDER == BIG_ENDIAN
+#if (defined BYTE_ORDER && BYTE_ORDER == BIG_ENDIAN) || (defined __sun && defined _BIG_ENDIAN)
                unsigned qr:1;
                unsigned opcode:4;
                unsigned aa:1;
@@ -420,7 +481,8 @@ int dns_rr_cmp(struct dns_rr *, struct dns_packet *, struct dns_rr *, struct dns
 size_t dns_rr_print(void *, size_t, struct dns_rr *, struct dns_packet *, int *);
 
 
-#define dns_rr_i_new(P, ...)           dns_rr_i_init(&(struct dns_rr_i){ 0, __VA_ARGS__ }, (P))
+#define dns_rr_i_new(P, ...) \
+       dns_rr_i_init(&dns_quietinit((struct dns_rr_i){ 0, __VA_ARGS__ }), (P))
 
 struct dns_rr_i {
        enum dns_section section;
@@ -616,6 +678,38 @@ size_t dns_srv_cname(void *, size_t, struct dns_srv *);
 
 
 /*
+ * OPT  R E S O U R C E  R E C O R D
+ */
+
+#define DNS_OPT_MINDATA 512
+
+#define DNS_OPT_BADVERS 16
+
+struct dns_opt {
+       size_t size, len;
+
+       unsigned char rcode, version;
+       unsigned short maxsize;
+
+       unsigned char data[DNS_OPT_MINDATA];
+}; /* struct dns_opt */
+
+unsigned int dns_opt_ttl(const struct dns_opt *);
+
+unsigned short dns_opt_class(const struct dns_opt *);
+
+struct dns_opt *dns_opt_init(struct dns_opt *, size_t);
+
+int dns_opt_parse(struct dns_opt *, struct dns_rr *, struct dns_packet *);
+
+int dns_opt_push(struct dns_packet *, struct dns_opt *);
+
+int dns_opt_cmp(const struct dns_opt *, const struct dns_opt *);
+
+size_t dns_opt_print(void *, size_t, struct dns_opt *);
+
+
+/*
  * SSHFP  R E S O U R C E  R E C O R D
  */
 
@@ -680,6 +774,7 @@ union dns_any {
        struct dns_soa soa;
        struct dns_ptr ptr;
        struct dns_srv srv;
+       struct dns_opt opt;
        struct dns_sshfp sshfp;
        struct dns_txt txt, spf, rdata;
 }; /* union dns_any */
@@ -740,7 +835,7 @@ struct dns_resolv_conf {
        char search[4][DNS_D_MAXNAME + 1];
 
        /* (f)ile, (b)ind, (c)ache */
-       char lookup[3];
+       char lookup[4 * (1 + (4 * 2))];
 
        struct {
                _Bool edns0;
@@ -789,8 +884,14 @@ int dns_resconf_loadfile(struct dns_resolv_conf *, FILE *);
 
 int dns_resconf_loadpath(struct dns_resolv_conf *, const char *);
 
+int dns_nssconf_loadfile(struct dns_resolv_conf *, FILE *);
+
+int dns_nssconf_loadpath(struct dns_resolv_conf *, const char *);
+
 int dns_resconf_dump(struct dns_resolv_conf *, FILE *);
 
+int dns_nssconf_dump(struct dns_resolv_conf *, FILE *);
+
 int dns_resconf_setiface(struct dns_resolv_conf *, const char *, unsigned short);
 
 typedef unsigned long dns_resconf_i_t;
@@ -883,7 +984,7 @@ void dns_cache_close(struct dns_cache *);
 #define DNS_OPTS_INITIALIZER  { DNS_OPTS_INITIALIZER_ }
 #define DNS_OPTS_INIT(...)    { DNS_OPTS_INITIALIZER_, __VA_ARGS__ }
 
-#define dns_opts(...) (&(struct dns_options)DNS_OPTS_INIT(__VA_ARGS__))
+#define dns_opts(...) (&dns_quietinit((struct dns_options)DNS_OPTS_INIT(__VA_ARGS__)))
 
 struct dns_options {
        /*
@@ -1026,15 +1127,7 @@ int dns_ai_poll(struct dns_addrinfo *, int);
 
 const struct dns_stat *dns_ai_stat(struct dns_addrinfo *);
 
-void *dns_sa_addr(int af, void *sa);
-unsigned short *dns_sa_port(int af, void *sa);
-#if _WIN32
-const char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long lim);
-#else
-#define dns_inet_pton(...)     inet_pton(__VA_ARGS__)
-#define dns_inet_ntop(...)     inet_ntop(__VA_ARGS__)
-#endif
-#define dns_sa_family(sa)      (((struct sockaddr *)(sa))->sa_family)
+
 /*
  * U T I L I T Y  I N T E R F A C E S
  *
@@ -1071,4 +1164,15 @@ size_t dns_strlcat(char *, const char *, size_t);
 #define DNS_PP_D11 10
 #define DNS_PP_DEC(N) DNS_PP_XPASTE(DNS_PP_D, N)
 
+
+void *dns_sa_addr(int af, void *sa);
+unsigned short *dns_sa_port(int af, void *sa);
+#if _WIN32
+const char *dns_inet_ntop(int af, const void *src, void *dst, unsigned long lim);
+#else
+#define dns_inet_pton(...)     inet_pton(__VA_ARGS__)
+#define dns_inet_ntop(...)     inet_ntop(__VA_ARGS__)
+#endif
+#define dns_sa_family(sa)      (((struct sockaddr *)(sa))->sa_family)
+
 #endif /* DNS_H */
index ea4c033..0a652ad 100644 (file)
@@ -1788,8 +1788,13 @@ svr_try_connect_plain(Ecore_Con_Server *svr)
            ecore_con_event_server_add(svr);
      }
 
-   if (svr->fd_handler && (!svr->buf))
-     ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ);
+   if (svr->fd_handler)
+     {
+        if (svr->buf)
+          ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE);
+        else
+          ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ);
+     }
 
    if (!svr->delete_me)
      return ECORE_CON_CONNECTED;
@@ -2219,25 +2224,37 @@ static void
 _ecore_con_server_flush(Ecore_Con_Server *svr)
 {
    int count, num;
-   size_t buf_len, buf_offset;
-   const void *buf;
+   size_t buf_len;
+   unsigned int *buf_offset;
+   const unsigned char *buf;
+   Eina_Binbuf *buf_p;
 
    DBG("(svr=%p,buf=%p)", svr, svr->buf);
+   if (!svr->fd_handler) return;
 #ifdef _WIN32
    if (ecore_con_local_win32_server_flush(svr))
      return;
 #endif
 
-   if ((!svr->buf) && (!svr->ecs_buf) && svr->fd_handler)
+   if ((!svr->buf) && (!svr->ecs_buf))
      {
         ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ);
         return;
      }
 
-   buf = svr->buf ? eina_binbuf_string_get(svr->buf) : eina_binbuf_string_get(svr->ecs_buf);
-   buf_len = svr->buf ? eina_binbuf_length_get(svr->buf) : eina_binbuf_length_get(svr->ecs_buf);
-   buf_offset = svr->buf ? svr->write_buf_offset : svr->ecs_buf_offset;
-   num = buf_len - buf_offset;
+   if (svr->buf)
+     {
+        buf_p = svr->buf;
+        buf_offset = &(svr->write_buf_offset);
+     }
+   else
+     {
+        buf_p = svr->ecs_buf;
+        buf_offset = &(svr->ecs_buf_offset);
+     }
+   buf = eina_binbuf_string_get(buf_p);
+   buf_len = eina_binbuf_length_get(buf_p);
+   num = buf_len - *buf_offset;
 
    /* check whether we need to write anything at all.
     * we must not write zero bytes with SSL_write() since it
@@ -2258,9 +2275,9 @@ _ecore_con_server_flush(Ecore_Con_Server *svr)
      }
 
    if (svr->ecs_state || (!(svr->type & ECORE_CON_SSL)))
-     count = write(svr->fd, buf + buf_offset, num);
+     count = write(svr->fd, buf + *buf_offset, num);
    else
-     count = ecore_con_ssl_server_write(svr, buf + buf_offset, num);
+     count = ecore_con_ssl_server_write(svr, buf + *buf_offset, num);
 
    if (count < 0)
      {
@@ -2273,24 +2290,27 @@ _ecore_con_server_flush(Ecore_Con_Server *svr)
      }
 
    if (count && (!svr->ecs_state)) ecore_con_event_server_write(svr, count);
-   if (svr->ecs_buf)
-     buf_offset = svr->ecs_buf_offset += count;
+
+   if (!eina_binbuf_remove(buf_p, 0, count))
+     *buf_offset += count;
    else
-     buf_offset = svr->write_buf_offset += count;
-   if (buf_offset >= buf_len)
      {
+        *buf_offset = 0;
+        buf_len -= count;
+     }
+   if (*buf_offset >= buf_len)
+     {
+        *buf_offset = 0;
+        eina_binbuf_free(buf_p);
+
         if (svr->ecs_buf)
           {
-             svr->ecs_buf_offset = 0;
-             eina_binbuf_free(svr->ecs_buf);
              svr->ecs_buf = NULL;
              INF("PROXY STATE++");
              svr->ecs_state++;
           }
         else
           {
-             svr->write_buf_offset = 0;
-             eina_binbuf_free(svr->buf);
              svr->buf = NULL;
 #ifdef TCP_CORK
              if ((svr->type & ECORE_CON_TYPE) == ECORE_CON_REMOTE_CORK)
@@ -2314,12 +2334,13 @@ _ecore_con_client_flush(Ecore_Con_Client *cl)
 {
    int num = 0, count = 0;
 
+   if (!cl->fd_handler) return;
 #ifdef _WIN32
    if (ecore_con_local_win32_client_flush(cl))
      return;
 #endif
 
-   if (!cl->buf && cl->fd_handler)
+   if (!cl->buf)
      {
         ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ);
         return;
index 3671576..6bade04 100644 (file)
@@ -63,6 +63,7 @@ _ecore_con_dns_free(Ecore_Con_DNS *dns)
    if (dns->svr->infos) dns->svr->infos = eina_list_remove(dns->svr->infos, dns);
    if (dns->timer) ecore_timer_del(dns->timer);
    if (dns->fdh) ecore_main_fd_handler_del(dns->fdh);
+   if (dns->ai) dns_ai_close(dns->ai);
    dns_res_close(dns_res_mortal(dns->resolv));
    free(dns);
 }
index 20fafcc..ff35486 100644 (file)
@@ -982,7 +982,7 @@ _ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
    const gnutls_datum_t *cert_list;
    unsigned int iter, cert_list_size;
    gnutls_x509_crt_t cert = NULL;
-   const char *priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0";
+   const char *priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT";
    int ret = 0;
 
    switch (svr->ssl_state)
@@ -998,12 +998,12 @@ _ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
           {
            case ECORE_CON_USE_SSL3:
            case ECORE_CON_USE_SSL3 | ECORE_CON_LOAD_CERT:
-             priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:!VERS-TLS1.0:!VERS-TLS1.1";
+             priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT:!VERS-TLS1.0:!VERS-TLS1.1:!VERS-TLS1.2";
              break;
 
            case ECORE_CON_USE_TLS:
            case ECORE_CON_USE_TLS | ECORE_CON_LOAD_CERT:
-             priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:!VERS-SSL3.0";
+             priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT:!VERS-SSL3.0";
              break;
 
            case ECORE_CON_USE_MIXED:
@@ -1019,6 +1019,7 @@ _ecore_con_ssl_server_init_gnutls(Ecore_Con_Server *svr)
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_server_name_set(svr->session, GNUTLS_NAME_DNS, svr->name, strlen(svr->name)));
         INF("Applying priority string: %s", priority);
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_priority_set_direct(svr->session, priority, NULL));
+        gnutls_handshake_set_private_extensions(svr->session, 1);
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(svr->session, GNUTLS_CRD_CERTIFICATE, svr->cert));
         // SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(svr->session, GNUTLS_CRD_PSK, svr->pskcred_c));
         if (!svr->use_cert)
@@ -1302,7 +1303,7 @@ _ecore_con_ssl_client_init_gnutls(Ecore_Con_Client *cl)
 {
    const gnutls_datum_t *cert_list;
    unsigned int iter, cert_list_size;
-   const char *priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:+VERS-TLS1.2:+VERS-TLS1.1:+VERS-TLS1.0:+VERS-SSL3.0";
+   const char *priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT";
    int ret = 0;
 
    switch (cl->ssl_state)
@@ -1318,12 +1319,12 @@ _ecore_con_ssl_client_init_gnutls(Ecore_Con_Client *cl)
           {
            case ECORE_CON_USE_SSL3:
            case ECORE_CON_USE_SSL3 | ECORE_CON_LOAD_CERT:
-             priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:!VERS-TLS1.0:!VERS-TLS1.1";
+             priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT:!VERS-TLS1.0:!VERS-TLS1.1:!VERS-TLS1.2";
              break;
 
            case ECORE_CON_USE_TLS:
            case ECORE_CON_USE_TLS | ECORE_CON_LOAD_CERT:
-             priority = "NONE:%VERIFY_ALLOW_X509_V1_CA_CRT:+RSA:+DHE-RSA:+DHE-DSS:+ANON-DH:+COMP-DEFLATE:+COMP-NULL:+CTYPE-X509:+SHA1:+SHA256:+SHA384:+SHA512:+AES-256-CBC:+AES-128-CBC:+3DES-CBC:!VERS-SSL3.0";
+             priority = "NORMAL:%VERIFY_ALLOW_X509_V1_CA_CRT:!VERS-SSL3.0";
              break;
 
            case ECORE_CON_USE_MIXED:
@@ -1341,6 +1342,7 @@ _ecore_con_ssl_client_init_gnutls(Ecore_Con_Client *cl)
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_session_ticket_enable_server(cl->session, &cl->session_ticket));
         INF("Applying priority string: %s", priority);
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_priority_set_direct(cl->session, priority, NULL));
+        gnutls_handshake_set_private_extensions(cl->session, 1);
         SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(cl->session, GNUTLS_CRD_CERTIFICATE, cl->host_server->cert));
         //  SSL_ERROR_CHECK_GOTO_ERROR(ret = gnutls_credentials_set(cl->session, GNUTLS_CRD_PSK, cl->host_server->pskcred_s));
         if (!cl->host_server->use_cert)
index 20675c3..f427138 100644 (file)
@@ -56,7 +56,7 @@ static CURLM *_curlm = NULL;
 static int _init_count = 0;
 static Ecore_Timer *_curl_timer = NULL;
 static Eina_Bool pipelining = EINA_FALSE;
-
+static Ecore_Idler *_curl_idler = NULL;
 #endif
 
 /**
@@ -87,9 +87,10 @@ ecore_con_url_init(void)
      }
 
    curl_multi_timeout(_curlm, &ms);
-   if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT;
+   if ((ms >= CURL_MIN_TIMEOUT) || (ms <= 0)) ms = CURL_MIN_TIMEOUT;
 
-   _curl_timer = ecore_timer_add((double)ms / 1000, _ecore_con_url_timer, NULL);
+   _curl_timer = ecore_timer_add((double)ms / 1000.0,
+                                 _ecore_con_url_timer, NULL);
    ecore_timer_freeze(_curl_timer);
 
    return _init_count;
@@ -114,6 +115,12 @@ ecore_con_url_shutdown(void)
         _curl_timer = NULL;
      }
 
+   if (_curl_idler)
+     {
+        ecore_idler_del(_curl_idler);
+        _curl_idler = NULL;
+     }
+
    EINA_LIST_FREE(_url_con_list, url_con)
      ecore_con_url_free(url_con);
    EINA_LIST_FREE(_fd_hd_list, fd_handler)
@@ -254,7 +261,7 @@ ecore_con_url_new(const char *url)
    return url_con;
 #else
    return NULL;
-   url = NULL;
+   (void)url;
 #endif
 }
 
@@ -289,8 +296,8 @@ ecore_con_url_custom_new(const char *url,
    return url_con;
 #else
    return NULL;
-   url = NULL;
-   custom_request = NULL;
+   (void)url;
+   (void)custom_request;
 #endif
 }
 
@@ -420,8 +427,8 @@ ecore_con_url_data_set(Ecore_Con_Url *url_con, void *data)
    url_con->data = data;
 #else
    return;
-   url_con = NULL;
-   data = NULL;
+   (void)url_con;
+   (void)data;
 #endif
 }
 
@@ -449,9 +456,9 @@ ecore_con_url_additional_header_add(Ecore_Con_Url *url_con, const char *key, con
                                                   tmp);
 #else
    return;
-   url_con = NULL;
-   key = NULL;
-   value = NULL;
+   (void)url_con;
+   (void)key;
+   (void)value;
 #endif
 }
 
@@ -472,7 +479,7 @@ ecore_con_url_additional_headers_clear(Ecore_Con_Url *url_con)
      free(s);
 #else
    return;
-   url_con = NULL;
+   (void)url_con;
 #endif
 }
 
@@ -489,7 +496,7 @@ ecore_con_url_data_get(Ecore_Con_Url *url_con)
    return url_con->data;
 #else
    return NULL;
-   url_con = NULL;
+   (void)url_con;
 #endif
 }
 
@@ -1303,22 +1310,39 @@ static void
 _ecore_con_url_event_url_complete(Ecore_Con_Url *url_con, CURLMsg *curlmsg)
 {
    Ecore_Con_Event_Url_Complete *e;
+   int status = url_con->status;
 
    e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete));
    if (!e) return;
 
-   if (curlmsg && (curlmsg->data.result == CURLE_OK))
+   if (!curlmsg)
+     {
+        ERR("Event completed without CURL message handle. Shouldn't happen");
+     }
+   else if ((curlmsg->msg == CURLMSG_DONE) &&
+            (curlmsg->data.result == CURLE_OPERATION_TIMEDOUT) &&
+            (!curlmsg->easy_handle))
      {
-        if (!url_con->status)
-          _ecore_con_url_status_get(url_con);
+        /* easy_handle is set to NULL on timeout messages */
+        status = 408; /* Request Timeout */
+     }
+   else if (curlmsg->data.result == CURLE_OK)
+     {
+        if (!status)
+          {
+             _ecore_con_url_status_get(url_con);
+             status = url_con->status;
+          }
      }
-   else if (curlmsg)
-     ERR("Curl message have errors: %d", curlmsg->data.result);
    else
-     CRIT("THIS IS BAD.");
+     {
+        ERR("Curl message have errors: %d (%s)",
+          curlmsg->data.result, curl_easy_strerror(curlmsg->data.result));
+     }
 
-   e->status = url_con->status;
+   e->status = status;
    e->url_con = url_con;
+
    url_con->event_count++;
    ecore_event_add(ECORE_CON_EVENT_URL_COMPLETE, e, (Ecore_End_Cb)_ecore_con_event_url_free, url_con);
 }
@@ -1337,6 +1361,7 @@ static Eina_Bool
 _ecore_con_url_timeout_cb(void *data)
 {
    Ecore_Con_Url *url_con = data;
+   CURLMsg timeout_msg;
 
    if (!url_con) return ECORE_CALLBACK_CANCEL;
    if (!url_con->curl_easy) return ECORE_CALLBACK_CANCEL;
@@ -1349,7 +1374,11 @@ _ecore_con_url_timeout_cb(void *data)
 
    url_con->timer = NULL;
 
-   _ecore_con_url_event_url_complete(url_con, NULL);
+   timeout_msg.msg = CURLMSG_DONE;
+   timeout_msg.easy_handle = NULL;
+   timeout_msg.data.result = CURLE_OPERATION_TIMEDOUT;
+
+   _ecore_con_url_event_url_complete(url_con, &timeout_msg);
    return ECORE_CALLBACK_CANCEL;
 }
 
@@ -1515,7 +1544,7 @@ _ecore_con_url_curl_clear(void)
 }
 
 static Eina_Bool
-_ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__)
+_ecore_con_url_fd_handler(void *data EINA_UNUSED, Ecore_Fd_Handler *fd_handler EINA_UNUSED)
 {
    Ecore_Fd_Handler *fdh;
    long ms;
@@ -1523,9 +1552,11 @@ _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __
    EINA_LIST_FREE(_fd_hd_list, fdh) ecore_main_fd_handler_del(fdh);
 
    curl_multi_timeout(_curlm, &ms);
-   if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT;
-
-   ecore_timer_interval_set(_curl_timer, (double)ms / 1000);
+   if ((ms >= CURL_MIN_TIMEOUT) || (ms <= 0)) ms = CURL_MIN_TIMEOUT;
+   ecore_timer_interval_set(_curl_timer, (double)ms / 1000.0);
+   
+   if (!_curl_idler)
+     _curl_idler = ecore_idler_add(_ecore_con_url_timer, NULL);
 
    return ECORE_CALLBACK_CANCEL;
 }
@@ -1569,7 +1600,7 @@ _ecore_con_url_fdset(void)
 }
 
 static Eina_Bool
-_ecore_con_url_timer(void *data __UNUSED__)
+_ecore_con_url_timer(void *data EINA_UNUSED)
 {
    Ecore_Fd_Handler *fdh;
    int still_running;
@@ -1589,6 +1620,11 @@ _ecore_con_url_timer(void *data __UNUSED__)
         ERR("curl_multi_perform() failed: %s", curl_multi_strerror(ret));
         _ecore_con_url_curl_clear();
         ecore_timer_freeze(_curl_timer);
+        if (_curl_idler)
+          {
+             ecore_idler_del(_curl_idler);
+             _curl_idler = NULL;
+          }
      }
 
    if (still_running)
@@ -1597,8 +1633,8 @@ _ecore_con_url_timer(void *data __UNUSED__)
         _ecore_con_url_fdset();
         curl_multi_timeout(_curlm, &ms);
         DBG("multiperform is still running: %d, timeout: %ld", still_running, ms);
-        if (ms >= CURL_MIN_TIMEOUT || ms <= 0) ms = CURL_MIN_TIMEOUT;
-        ecore_timer_interval_set(_curl_timer, (double)ms / 1000);
+        if ((ms >= CURL_MIN_TIMEOUT) || (ms <= 0)) ms = CURL_MIN_TIMEOUT;
+        ecore_timer_interval_set(_curl_timer, (double)ms / 1000.0);
      }
    else
      {
@@ -1606,6 +1642,11 @@ _ecore_con_url_timer(void *data __UNUSED__)
         _ecore_con_url_info_read();
         _ecore_con_url_curl_clear();
         ecore_timer_freeze(_curl_timer);
+        if (_curl_idler)
+          {
+             ecore_idler_del(_curl_idler);
+             _curl_idler = NULL;
+          }
      }
 
    return ECORE_CALLBACK_RENEW;
index 0279d24..f34d7b9 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -146,6 +163,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_config_la_SOURCES)
 DIST_SOURCES = $(am__libecore_config_la_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -582,7 +604,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -590,6 +611,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -656,8 +679,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index ecf799e..1dde683 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -131,6 +148,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_directfb_la_SOURCES)
 DIST_SOURCES = $(libecore_directfb_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -556,7 +578,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -564,6 +585,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -624,8 +647,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 87db36e..3dbda0f 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -157,6 +174,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_evas_la_SOURCES)
 DIST_SOURCES = $(libecore_evas_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -671,7 +693,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -679,6 +700,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -753,8 +776,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index a8200a9..f536565 100644 (file)
@@ -665,6 +665,11 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
 
    ee->engine.func->fn_render = _ecore_evas_fb_render;
    _ecore_evas_register(ee);
+   ecore_event_window_register(1, ee, ee->evas,
+                               (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process,
+                               (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process,
+                               (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process,
+                               (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process);
    fb_ee = ee;
    evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
    return ee;
index 6d45999..efeaa52 100644 (file)
@@ -289,6 +289,7 @@ struct _Ecore_Evas_Engine
         size_t pool_size;
         void *pool_data;
         struct wl_buffer *buffer;
+        Eina_Bool buffer_valid;
 # endif
 
      } wl;
index c58af88..61ca385 100644 (file)
@@ -533,6 +533,15 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
 
         if (ee->engine.wl.win)
           {
+             Evas_Engine_Info_Wayland_Egl *einfo;
+
+             if ((einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas)))
+               {
+                  einfo->info.edges = ee->engine.wl.win->edges;
+                  if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+                    ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
+               }
+
              ecore_wl_window_update_size(ee->engine.wl.win, w, h);
              ecore_wl_window_buffer_attach(ee->engine.wl.win, NULL, 0, 0);
           }
@@ -749,6 +758,8 @@ _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max)
    if (ee->prop.maximized == max) return;
    ee->prop.maximized = max;
    ecore_wl_window_maximized_set(ee->engine.wl.win, max);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
@@ -760,6 +771,8 @@ _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full)
    if (ee->prop.fullscreen == full) return;
    ee->prop.fullscreen = full;
    ecore_wl_window_fullscreen_set(ee->engine.wl.win, full);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
index c5a0ee5..a8e0181 100644 (file)
@@ -66,6 +66,12 @@ struct _EE_Wl_Smart_Data
    Evas_Coord x, y, w, h;
 };
 
+struct _Ecore_Evas_Engine_Wl_Data
+{
+   Ecore_Wl_Window *win;
+   Evas_Object *frame;
+};
+
 /* local function prototypes */
 static int _ecore_evas_wl_init(void);
 static int _ecore_evas_wl_shutdown(void);
@@ -103,6 +109,8 @@ static void _ecore_evas_wl_screen_dpi_get(const Ecore_Evas *ee __UNUSED__, int *
 static void _ecore_evas_wl_ensure_pool_size(Ecore_Evas *ee, int w, int h);
 static struct wl_shm_pool *_ecore_evas_wl_shm_pool_create(int size, void **data);
 
+static void _ecore_evas_wl_frame_complete(void *data, struct wl_callback *callback, uint32_t tm EINA_UNUSED);
+
 static void _ecore_evas_wl_buffer_new(Ecore_Evas *ee, struct wl_shm_pool *pool);
 
 static Eina_Bool _ecore_evas_wl_cb_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event);
@@ -127,6 +135,11 @@ static Evas_Object *_ecore_evas_wl_frame_add(Evas *evas);
 static int _ecore_evas_wl_init_count = 0;
 static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5];
 
+static const struct wl_callback_listener frame_listener =
+{
+   _ecore_evas_wl_frame_complete,
+};
+
 static Ecore_Evas_Engine_Func _ecore_wl_engine_func = 
 {
    _ecore_evas_wl_free,
@@ -534,8 +547,18 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
         if (ee->engine.wl.frame)
           evas_object_resize(ee->engine.wl.frame, w, h);
 
-        if (ee->engine.wl.buffer) wl_buffer_destroy(ee->engine.wl.buffer);
-        ee->engine.wl.buffer = NULL;
+        if (ee->engine.wl.buffer)
+          {
+             if(!ee->engine.wl.buffer_valid)
+               {
+                  wl_buffer_destroy(ee->engine.wl.buffer);
+               }
+             else
+               {
+                  ee->engine.wl.buffer_valid = EINA_FALSE;
+               }
+             ee->engine.wl.buffer = NULL;
+          }
 
         _ecore_evas_wl_ensure_pool_size(ee, w, h);
 
@@ -556,8 +579,6 @@ _ecore_evas_wl_resize(Ecore_Evas *ee, int w, int h)
           {
 //             if (!ee->prop.fullscreen)
                ecore_wl_window_update_size(ee->engine.wl.win, w, h);
-             ecore_wl_window_buffer_attach(ee->engine.wl.win, 
-                                           ee->engine.wl.buffer, 0, 0);
           }
 
         if (ee->func.fn_resize) ee->func.fn_resize(ee);
@@ -639,6 +660,7 @@ _ecore_evas_wl_show(Ecore_Evas *ee)
      {
         ecore_wl_window_show(ee->engine.wl.win);
         ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h);
+        ee->engine.wl.buffer_valid = EINA_TRUE;
         ecore_wl_window_buffer_attach(ee->engine.wl.win, 
                                       ee->engine.wl.buffer, 0, 0);
 
@@ -822,6 +844,8 @@ _ecore_evas_wl_maximized_set(Ecore_Evas *ee, int max)
    if (ee->prop.maximized == max) return;
    ee->prop.maximized = max;
    ecore_wl_window_maximized_set(ee->engine.wl.win, max);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
@@ -833,6 +857,8 @@ _ecore_evas_wl_fullscreen_set(Ecore_Evas *ee, int full)
    if (ee->prop.fullscreen == full) return;
    ee->prop.fullscreen = full;
    ecore_wl_window_fullscreen_set(ee->engine.wl.win, full);
+   if (ee->func.fn_state_change)
+     ee->func.fn_state_change(ee);
 }
 
 static void 
@@ -886,6 +912,7 @@ _ecore_evas_wl_alpha_set(Ecore_Evas *ee, int alpha)
    if (ee->engine.wl.win)
      {
         ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h);
+        ee->engine.wl.buffer_valid = EINA_TRUE;
         ecore_wl_window_buffer_attach(ee->engine.wl.win, 
                                       ee->engine.wl.buffer, 0, 0);
      }
@@ -925,27 +952,51 @@ _ecore_evas_wl_transparent_set(Ecore_Evas *ee, int transparent)
    if (ee->engine.wl.win)
      {
         ecore_wl_window_update_size(ee->engine.wl.win, ee->w, ee->h);
+        ee->engine.wl.buffer_valid = EINA_TRUE;
         ecore_wl_window_buffer_attach(ee->engine.wl.win, 
                                       ee->engine.wl.buffer, 0, 0);
      }
 }
 
+static void
+_ecore_evas_wl_frame_complete(void *data, struct wl_callback *callback, uint32_t tm EINA_UNUSED)
+{
+   Ecore_Evas *ee = data;
+   Ecore_Wl_Window *win = NULL;
+
+   if (!ee) return;
+   if (!(win = ee->engine.wl.win)) return;
+
+   win->frame_callback = NULL;
+   win->frame_pending = EINA_FALSE;
+   wl_callback_destroy(callback);
+
+   if (win->surface)
+     {
+        win->frame_callback = wl_surface_frame(win->surface);
+        wl_callback_add_listener(win->frame_callback, &frame_listener, ee);
+     }
+}
+
 static int 
 _ecore_evas_wl_render(Ecore_Evas *ee)
 {
    int rend = 0;
+   Ecore_Wl_Window *win = NULL;
+
+   if (!(win = ee->engine.wl.win)) return 0;
 
    if (!ee) return 0;
    if (!ee->visible)
      evas_norender(ee->evas);
    else
      {
-        Eina_List *ll = NULL, *updates = NULL;
+        Eina_List *ll = NULL;
         Ecore_Evas *ee2 = NULL;
 
         if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
 
-        EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 
+        EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
           {
              if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
              if (ee2->engine.func->fn_render)
@@ -953,25 +1004,43 @@ _ecore_evas_wl_render(Ecore_Evas *ee)
              if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
           }
 
-        if ((updates = evas_render_updates(ee->evas))) 
+        if (!win->frame_pending)
           {
-             Eina_List *l = NULL;
-             Eina_Rectangle *r;
+             Eina_List *updates;
 
-             LOGFN(__FILE__, __LINE__, __FUNCTION__);
+             if (!win->frame_callback)
+               {
+                  win->frame_callback = wl_surface_frame(win->surface);
+                  wl_callback_add_listener(win->frame_callback,
+                                           &frame_listener, ee);
+               }
 
-             EINA_LIST_FOREACH(updates, l, r) 
-               ecore_wl_window_damage(ee->engine.wl.win, 
-                                      r->x, r->y, r->w, r->h);
+             if ((updates = evas_render_updates(ee->evas)))
+               {
+                  Eina_List *l = NULL;
+                  Eina_Rectangle *r;
 
-             ecore_wl_flush();
+                  LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-             evas_render_updates_free(updates);
-             _ecore_evas_idle_timeout_update(ee);
-             rend = 1;
-          }
+                  ee->engine.wl.buffer_valid = EINA_TRUE;
+                  ecore_wl_window_buffer_attach(ee->engine.wl.win,
+                                                ee->engine.wl.buffer, 0, 0);
+                  EINA_LIST_FOREACH(updates, l, r)
+                     ecore_wl_window_damage(ee->engine.wl.win,
+                                            r->x, r->y, r->w, r->h);
+                  ecore_wl_window_commit(ee->engine.wl.win);
+                  ecore_wl_flush();
+
+                  evas_render_updates_free(updates);
+                  _ecore_evas_idle_timeout_update(ee);
+                  rend = 1;
 
-        if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
+                  if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
+
+                  win->frame_pending = EINA_TRUE;
+
+               }
+          }
      }
    return rend;
 }
@@ -1044,6 +1113,22 @@ _ecore_evas_wl_shm_pool_create(int size, void **data)
    return pool;
 }
 
+static void
+_ecore_evas_wl_buffer_release(void *data, struct wl_buffer *buffer)
+{
+   Ecore_Evas *ee = data;
+
+   if (ee->engine.wl.buffer == buffer)
+     ee->engine.wl.buffer_valid = EINA_FALSE;
+   else
+     wl_buffer_destroy(buffer);
+}
+
+static const struct wl_buffer_listener _buffer_listener_release =
+{
+   _ecore_evas_wl_buffer_release
+};
+
 static void 
 _ecore_evas_wl_buffer_new(Ecore_Evas *ee, struct wl_shm_pool *pool)
 {
@@ -1057,8 +1142,11 @@ _ecore_evas_wl_buffer_new(Ecore_Evas *ee, struct wl_shm_pool *pool)
 
    stride = (ee->w * sizeof(int));
 
-   ee->engine.wl.buffer = 
+   ee->engine.wl.buffer =
      wl_shm_pool_create_buffer(pool, 0, ee->w, ee->h, stride, format);
+
+   wl_buffer_add_listener(ee->engine.wl.buffer,
+                          &_buffer_listener_release, ee);
 }
 
 void 
index 1aa46a2..75b483c 100644 (file)
@@ -2635,7 +2635,8 @@ static void
 _ecore_evas_x_iconified_set(Ecore_Evas *ee, int on)
 {
    if (ee->prop.iconified == on) return;
-   ee->prop.iconified = on;
+   if (((ee->should_be_visible) && (!ee->visible)) || (!ee->visible))
+     ee->prop.iconified = on;
    _ecore_evas_x_hints_update(ee);
    if (on)
      ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root);
@@ -2657,7 +2658,7 @@ static void
 _ecore_evas_x_withdrawn_set(Ecore_Evas *ee, int withdrawn)
 {
    if (ee->prop.withdrawn == withdrawn) return;
-   ee->prop.withdrawn = withdrawn;
+   // ee->prop.withdrawn = withdrawn;
    _ecore_evas_x_hints_update(ee);
 }
 
@@ -2671,7 +2672,7 @@ _ecore_evas_x_sticky_set(Ecore_Evas *ee, int sticky)
     * property change event.
     * ee->prop.sticky = sticky;
     */
-   ee->engine.x.state.sticky = sticky;
+   // ee->engine.x.state.sticky = sticky;
    if (ee->should_be_visible)
      ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
                                       ECORE_X_WINDOW_STATE_STICKY, -1, sticky);
@@ -2739,7 +2740,7 @@ _ecore_evas_x_maximized_set(Ecore_Evas *ee, int on)
    if (ee->prop.maximized == on) return;
    ee->engine.x.state.maximized_h = 1;
    ee->engine.x.state.maximized_v = 1;
-   ee->prop.maximized = on;
+   // ee->prop.maximized = on;
    if (ee->should_be_visible)
      {
         ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
index 0b7e1c5..d4bb2f7 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -135,6 +152,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_fb_la_SOURCES)
 DIST_SOURCES = $(libecore_fb_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -562,7 +584,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -570,6 +591,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -633,8 +656,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 5796658..185ff0c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -136,6 +153,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_file_la_SOURCES)
 DIST_SOURCES = $(libecore_file_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -565,7 +587,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -573,6 +594,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -639,8 +662,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 4e5d68f..6aa8bc0 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -134,6 +151,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_imf_la_SOURCES)
 DIST_SOURCES = $(libecore_imf_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -554,7 +576,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -562,6 +583,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -624,8 +647,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 6582774..b1dd1e9 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -133,6 +150,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_imf_evas_la_SOURCES)
 DIST_SOURCES = $(libecore_imf_evas_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -549,7 +571,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -557,6 +578,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -617,8 +640,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 67ee0b3..1575435 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -133,6 +150,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_input_la_SOURCES)
 DIST_SOURCES = $(libecore_input_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -552,7 +574,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -560,6 +581,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -621,8 +644,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 7fd1ce1..79537d5 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -134,6 +151,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_input_evas_la_SOURCES)
 DIST_SOURCES = $(libecore_input_evas_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -556,7 +578,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -564,6 +585,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -624,8 +647,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 8ac41aa..229e666 100644 (file)
@@ -25,10 +25,183 @@ struct _Ecore_Input_Window
    int ignore_event;
 };
 
+typedef enum _Ecore_Input_State {
+  ECORE_INPUT_NONE = 0,
+  ECORE_INPUT_DOWN,
+  ECORE_INPUT_MOVE,
+  ECORE_INPUT_UP
+} Ecore_Input_State;
+
+typedef struct _Ecore_Input_Last Ecore_Event_Last;
+struct _Ecore_Input_Last
+{
+   Ecore_Event_Mouse_Button *ev;
+   Ecore_Timer *timer;
+
+   unsigned int buttons;
+   Ecore_Input_State state;
+
+   Eina_Bool faked : 1;
+};
+
 static int _ecore_event_evas_init_count = 0;
 static Ecore_Event_Handler *ecore_event_evas_handlers[8];
 static Eina_Hash *_window_hash = NULL;
 
+static Eina_List *_last_events = NULL;
+static double _last_events_timeout = 0.5;
+static Eina_Bool _last_events_enable = EINA_FALSE;
+
+static Eina_Bool _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e,
+                                                Ecore_Event_Press press,
+                                                Eina_Bool faked);
+
+static Ecore_Event_Last *
+_ecore_event_evas_lookup(unsigned int buttons)
+{
+   Ecore_Event_Last *eel;
+   Eina_List *l;
+
+   EINA_LIST_FOREACH(_last_events, l, eel)
+     if (eel->buttons == buttons)
+       return eel;
+
+   eel = malloc(sizeof (Ecore_Event_Last));
+   if (!eel) return NULL;
+
+   eel->timer = NULL;
+   eel->ev = NULL;
+   eel->buttons = buttons;
+   eel->state = ECORE_INPUT_NONE;
+   eel->faked = EINA_FALSE;
+
+   _last_events = eina_list_append(_last_events, eel);
+   return eel;
+}
+
+static Eina_Bool
+_ecore_event_evas_push_fake(void *data)
+{
+   Ecore_Event_Last *eel = data;
+
+   switch (eel->state)
+     {
+      case ECORE_INPUT_NONE:
+      case ECORE_INPUT_UP:
+         /* should not happen */
+         break;
+      case ECORE_INPUT_DOWN:
+         /* use the saved Ecore_Event */
+         /* No up event since timeout started ... */
+      case ECORE_INPUT_MOVE:
+         /* No up event since timeout started ... */
+         _ecore_event_evas_mouse_button(eel->ev, ECORE_UP, EINA_TRUE);
+         eel->faked = EINA_TRUE;
+         break;
+     }
+
+   free(eel->ev);
+   eel->ev = NULL;
+   eel->timer = NULL;
+   return EINA_FALSE;
+}
+
+static void
+_ecore_event_evas_push_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press)
+{
+   Ecore_Event_Last *eel;
+
+   if (!_last_events_enable) return ;
+
+   eel = _ecore_event_evas_lookup(e->buttons);
+   if (!eel) return ;
+
+   switch (eel->state)
+     {
+      case ECORE_INPUT_NONE:
+         goto fine;
+      case ECORE_INPUT_DOWN:
+         if (press == ECORE_UP)
+           goto fine;
+
+         /* press == ECORE_DOWN => emit a faked UP then */
+         _ecore_event_evas_mouse_button(e, ECORE_UP, EINA_TRUE);
+         break;
+      case ECORE_INPUT_MOVE:
+         if (press == ECORE_UP)
+           goto fine;
+
+         /* FIXME: handle fake button up and push for more delay here */
+
+         /* press == ECORE_DOWN */
+         _ecore_event_evas_mouse_button(e, ECORE_DOWN, EINA_TRUE);
+         break;
+      case ECORE_INPUT_UP:
+         if (press == ECORE_DOWN)
+           goto fine;
+
+         /* press == ECORE_UP */
+         _ecore_event_evas_mouse_button(e, ECORE_UP, EINA_TRUE);
+         break;
+     }
+
+ fine:
+   eel->state = (press == ECORE_DOWN) ? ECORE_INPUT_DOWN : ECORE_INPUT_UP;
+   if (_last_events_timeout)
+     {
+        if (eel->timer) ecore_timer_del(eel->timer);
+        eel->timer = NULL;
+        if (press == ECORE_DOWN)
+          {
+             /* Save the Ecore_Event somehow */
+             if (!eel->ev) eel->ev = malloc(sizeof (Ecore_Event_Mouse_Button));
+             if (!eel->ev) return ;
+             memcpy(eel->ev, e, sizeof (Ecore_Event_Mouse_Button));
+             eel->timer = ecore_timer_add(_last_events_timeout, _ecore_event_evas_push_fake, eel);
+          }
+        else
+          {
+             free(eel->ev);
+             eel->ev = NULL;
+          }
+     }
+}
+
+static void
+_ecore_event_evas_push_mouse_move(Ecore_Event_Mouse_Move *e)
+{
+   Ecore_Event_Last *eel;
+   Eina_List *l;
+
+   if (!_last_events_enable) return ;
+
+   EINA_LIST_FOREACH(_last_events, l, eel)
+     switch (eel->state)
+       {
+        case ECORE_INPUT_NONE:
+        case ECORE_INPUT_UP:
+           /* none or up and moving, sounds fine to me */
+           break;
+        case ECORE_INPUT_DOWN:
+        case ECORE_INPUT_MOVE:
+           /* Down and moving, let's see */
+           if (eel->ev)
+             {
+                /* Add some delay to the timer */
+                ecore_timer_reset(eel->timer);
+                /* Update position */
+                eel->ev->x = e->x;
+                eel->ev->y = e->y;
+                eel->ev->root.x = e->root.x;
+                eel->ev->root.y = e->root.y;
+                eel->state = ECORE_INPUT_MOVE;
+                break;
+             }
+           /* FIXME: Timer did expire, do something maybe */
+           break;
+       }
+}
+
 EAPI void
 ecore_event_evas_modifier_lock_update(Evas *e, unsigned int modifiers)
 {
@@ -163,7 +336,7 @@ _ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
 }
 
 static Eina_Bool
-_ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press)
+_ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press, Eina_Bool faked)
 {
    Ecore_Input_Window *lookup;
    Evas_Button_Flags flags = EVAS_BUTTON_NONE;
@@ -174,6 +347,7 @@ _ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press pr
    if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
    if (e->multi.device == 0)
      {
+        if (!faked) _ecore_event_evas_push_mouse_button(e, press);
         ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
         if (press == ECORE_DOWN)
           evas_event_feed_mouse_down(lookup->evas, e->buttons, flags,
@@ -233,6 +407,7 @@ ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *ev
    if (!lookup) return ECORE_CALLBACK_PASS_ON;
    if (e->multi.device == 0)
      {
+        _ecore_event_evas_push_mouse_move(e);
         ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
         if (lookup->move_mouse)
            lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
@@ -262,13 +437,13 @@ ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *ev
 EAPI Eina_Bool
 ecore_event_evas_mouse_button_down(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
-   return _ecore_event_evas_mouse_button((Ecore_Event_Mouse_Button *)event, ECORE_DOWN);
+  return _ecore_event_evas_mouse_button((Ecore_Event_Mouse_Button *)event, ECORE_DOWN, EINA_FALSE);
 }
 
 EAPI Eina_Bool
 ecore_event_evas_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
-   return _ecore_event_evas_mouse_button((Ecore_Event_Mouse_Button *)event, ECORE_UP);
+  return _ecore_event_evas_mouse_button((Ecore_Event_Mouse_Button *)event, ECORE_UP, EINA_FALSE);
 }
 
 static Eina_Bool
@@ -384,6 +559,17 @@ ecore_event_evas_init(void)
 
    _window_hash = eina_hash_pointer_new(free);
 
+   if (getenv("ECORE_INPUT_FIX"))
+     {
+        const char *tmp;
+
+        _last_events_enable = EINA_TRUE;
+
+        tmp = getenv("ECORE_INPUT_TIMEOUT_FIX");
+        if (tmp)
+          _last_events_timeout = ((double) atoi(tmp)) / 60;
+     }
+
    return _ecore_event_evas_init_count;
 
    shutdown_ecore:
index 2a34ae6..2e8dc70 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -134,6 +151,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_ipc_la_SOURCES)
 DIST_SOURCES = $(libecore_ipc_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -561,7 +583,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -569,6 +590,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -636,8 +659,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 79633a7..3532b83 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -135,6 +152,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_psl1ght_la_SOURCES)
 DIST_SOURCES = $(libecore_psl1ght_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -558,7 +580,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -566,6 +587,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -628,8 +651,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index d2b12ce..7300b24 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -134,6 +151,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_sdl_la_SOURCES)
 DIST_SOURCES = $(libecore_sdl_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -556,7 +578,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -564,6 +585,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -624,8 +647,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 4568d88..a62d55f 100644 (file)
 #  define EAPI
 # endif
 
-typedef enum _Ecore_Wl_Window_Type Ecore_Wl_Window_Type;
-typedef enum _Ecore_Wl_Window_Buffer_Type Ecore_Wl_Window_Buffer_Type;
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 typedef struct _Ecore_Wl_Display Ecore_Wl_Display;
 typedef struct _Ecore_Wl_Output Ecore_Wl_Output;
 typedef struct _Ecore_Wl_Input Ecore_Wl_Input;
+typedef struct _Ecore_Wl_Global Ecore_Wl_Global; /** @since 1.7.6 */
+
 # ifndef _ECORE_WAYLAND_WINDOW_PREDEF
 typedef struct _Ecore_Wl_Window Ecore_Wl_Window;
 # endif
@@ -70,6 +73,18 @@ enum _Ecore_Wl_Window_Buffer_Type
    ECORE_WL_WINDOW_BUFFER_TYPE_SHM
 };
 
+typedef enum _Ecore_Wl_Window_Type Ecore_Wl_Window_Type;
+typedef enum _Ecore_Wl_Window_Buffer_Type Ecore_Wl_Window_Buffer_Type;
+
+/** @since 1.7.6 */
+struct _Ecore_Wl_Global
+{
+   unsigned int id;
+   char *interface;
+   unsigned int version;
+   struct wl_list link;
+};
+
 struct _Ecore_Wl_Display
 {
    struct 
@@ -86,11 +101,13 @@ struct _Ecore_Wl_Display
    int fd;
    unsigned int mask;
    unsigned int serial;
+   int sync_ref_count;
    Ecore_Fd_Handler *fd_hdl;
    Ecore_Idle_Enterer *idle_enterer;
 
    struct wl_list inputs;
    struct wl_list outputs;
+   struct wl_list globals; /** @since 1.7.6 */
 
    struct
      {
@@ -111,6 +128,7 @@ struct _Ecore_Wl_Output
    Ecore_Wl_Display *display;
    struct wl_output *output;
    Eina_Rectangle allocation;
+   int transform;
    int mw, mh;
    struct wl_list link;
 
@@ -200,6 +218,9 @@ struct _Ecore_Wl_Window
    Ecore_Wl_Input *pointer_device;
    Ecore_Wl_Input *keyboard_device;
 
+   Eina_Bool frame_pending;
+   struct wl_callback *frame_callback;
+
    /* FIXME: Ideally we should record the cursor name for this window 
     * so we can compare and avoid unnecessary cursor set calls to wayland */
 
@@ -356,7 +377,28 @@ EAPI void ecore_wl_input_pointer_set(Ecore_Wl_Input *input, struct wl_surface *s
 EAPI void ecore_wl_input_cursor_from_name_set(Ecore_Wl_Input *input, const char *cursor_name);
 EAPI void ecore_wl_input_cursor_default_restore(Ecore_Wl_Input *input);
 
-EAPI struct wl_list ecore_wl_outputs_get(void);
+EAPI struct wl_list *ecore_wl_outputs_get(void);
+
+/**
+ * Retrieves the Wayland Globals Interface list used for the current Wayland connection.
+ *
+ * @return The current wayland globals interface list
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.7.6
+ */
+EAPI struct wl_list *ecore_wl_globals_get(void);
+
+/**
+ * Retrieves the Wayland Registry used for the current Wayland connection.
+ *
+ * @return The current wayland registry
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.7.6
+ */
+EAPI struct wl_registry *ecore_wl_registry_get(void);
+
 
 EAPI Ecore_Wl_Window *ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, int w, int h, int buffer_type);
 EAPI void ecore_wl_window_free(Ecore_Wl_Window *win);
@@ -364,6 +406,7 @@ EAPI void ecore_wl_window_move(Ecore_Wl_Window *win, int x, int y);
 EAPI void ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location);
 EAPI void ecore_wl_window_damage(Ecore_Wl_Window *win, int x, int y, int w, int h);
 EAPI void ecore_wl_window_buffer_attach(Ecore_Wl_Window *win, struct wl_buffer *buffer, int x, int y);
+EAPI void ecore_wl_window_commit(Ecore_Wl_Window *win);
 EAPI void ecore_wl_window_show(Ecore_Wl_Window *win);
 EAPI void ecore_wl_window_hide(Ecore_Wl_Window *win);
 EAPI void ecore_wl_window_raise(Ecore_Wl_Window *win);
@@ -388,4 +431,8 @@ EAPI Ecore_Wl_Dnd *ecore_wl_dnd_get();
 EAPI Eina_Bool ecore_wl_dnd_start_drag();
 EAPI Eina_Bool ecore_wl_dnd_selection_has_owner(Ecore_Wl_Dnd *dnd);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
index a976303..da1668a 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -132,6 +149,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_wayland_la_SOURCES)
 DIST_SOURCES = $(libecore_wayland_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -558,7 +580,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -566,6 +587,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -630,8 +653,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 02d1db2..fb4e6be 100644 (file)
@@ -38,6 +38,8 @@ static Eina_Bool _ecore_wl_cb_handle_data(void *data, Ecore_Fd_Handler *hdl);
 static void _ecore_wl_cb_handle_global(void *data, struct wl_registry *registry, unsigned int id, const char *interface, unsigned int version __UNUSED__);
 static Eina_Bool _ecore_wl_xkb_init(Ecore_Wl_Display *ewd);
 static Eina_Bool _ecore_wl_xkb_shutdown(Ecore_Wl_Display *ewd);
+static void _ecore_wl_sync_wait(Ecore_Wl_Display *ewd);
+static void _ecore_wl_sync_callback(void *data, struct wl_callback *callback, uint32_t serial);
 
 /* local variables */
 static int _ecore_wl_init_count = 0;
@@ -47,6 +49,11 @@ static const struct wl_registry_listener _ecore_wl_registry_listener =
    NULL // handle_global_remove
 };
 
+static const struct wl_callback_listener _ecore_wl_sync_listener =
+{
+   _ecore_wl_sync_callback
+};
+
 /* external variables */
 int _ecore_wl_log_dom = -1;
 Ecore_Wl_Display *_ecore_wl_disp = NULL;
@@ -174,6 +181,7 @@ ecore_wl_init(const char *name)
 
    wl_list_init(&_ecore_wl_disp->inputs);
    wl_list_init(&_ecore_wl_disp->outputs);
+   wl_list_init(&_ecore_wl_disp->globals);
 
    _ecore_wl_disp->wl.registry = 
      wl_display_get_registry(_ecore_wl_disp->wl.display);
@@ -251,7 +259,9 @@ ecore_wl_sync(void)
 {
 //   LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   wl_display_sync(_ecore_wl_disp->wl.display);
+   _ecore_wl_sync_wait(_ecore_wl_disp);
+   while (_ecore_wl_disp->sync_ref_count > 0)
+     wl_display_dispatch(_ecore_wl_disp->wl.display);
 }
 
 /**
@@ -288,6 +298,18 @@ ecore_wl_display_get(void)
    return _ecore_wl_disp->wl.display;
 }
 
+EAPI struct wl_list *
+ecore_wl_globals_get(void)
+{
+   return &(_ecore_wl_disp->globals);
+}
+
+EAPI struct wl_registry *
+ecore_wl_registry_get(void)
+{
+   return _ecore_wl_disp->wl.registry;
+}
+
 /**
  * Retrieves the size of the current screen.
  * 
@@ -305,8 +327,27 @@ ecore_wl_screen_size_get(int *w, int *h)
    if (w) *w = 0;
    if (h) *h = 0;
 
+   if (!_ecore_wl_disp->output)
+     ecore_wl_sync();
+
    if (!_ecore_wl_disp->output) return;
 
+   switch (_ecore_wl_disp->output->transform)
+     {
+      case WL_OUTPUT_TRANSFORM_90:
+      case WL_OUTPUT_TRANSFORM_270:
+      case WL_OUTPUT_TRANSFORM_FLIPPED_90:
+      case WL_OUTPUT_TRANSFORM_FLIPPED_270:
+         /* Swap width and height */
+         if (w) *w = _ecore_wl_disp->output->allocation.h;
+         if (h) *h = _ecore_wl_disp->output->allocation.w;
+         break;
+      default:
+         if (w) *w = _ecore_wl_disp->output->allocation.w;
+         if (h) *h = _ecore_wl_disp->output->allocation.h;
+     }
+
+
    if (w) *w = _ecore_wl_disp->output->allocation.w;
    if (h) *h = _ecore_wl_disp->output->allocation.h;
 }
@@ -393,6 +434,7 @@ _ecore_wl_shutdown(Eina_Bool close)
      {
         Ecore_Wl_Output *out, *tout;
         Ecore_Wl_Input *in, *tin;
+        Ecore_Wl_Global *global, *tglobal;
 
         wl_list_for_each_safe(out, tout, &_ecore_wl_disp->outputs, link)
           _ecore_wl_output_del(out);
@@ -400,6 +442,13 @@ _ecore_wl_shutdown(Eina_Bool close)
         wl_list_for_each_safe(in, tin, &_ecore_wl_disp->inputs, link)
           _ecore_wl_input_del(in);
 
+        wl_list_for_each_safe(global, tglobal, &_ecore_wl_disp->globals, link)
+          {
+             wl_list_remove(&global->link);
+             free(global->interface);
+             free(global);
+          }
+
         _ecore_wl_xkb_shutdown(_ecore_wl_disp);
 
         if (_ecore_wl_disp->wl.shell) 
@@ -484,11 +533,21 @@ static void
 _ecore_wl_cb_handle_global(void *data, struct wl_registry *registry, unsigned int id, const char *interface, unsigned int version __UNUSED__)
 {
    Ecore_Wl_Display *ewd;
+   Ecore_Wl_Global *global;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
    ewd = data;
 
+   global = malloc(sizeof(*global));
+
+   memset(global, 0, sizeof(Ecore_Wl_Global));
+
+   global->id = id;
+   global->interface = strdup(interface);
+   global->version = version;
+   wl_list_insert(ewd->globals.prev, &global->link);
+
    if (!strcmp(interface, "wl_compositor"))
      {
         ewd->wl.compositor = 
@@ -558,3 +617,22 @@ _ecore_wl_create_data_source(Ecore_Wl_Display *ewd)
 {
    return wl_data_device_manager_create_data_source(ewd->wl.data_device_manager);
 }
+
+static void
+_ecore_wl_sync_callback(void *data, struct wl_callback *callback, uint32_t serial EINA_UNUSED)
+{
+   Ecore_Wl_Display *ewd = data;
+
+   ewd->sync_ref_count--;
+   wl_callback_destroy(callback);
+}
+
+static void
+_ecore_wl_sync_wait(Ecore_Wl_Display *ewd)
+{
+   struct wl_callback *callback;
+
+   ewd->sync_ref_count++;
+   callback = wl_display_sync(ewd->wl.display);
+   wl_callback_add_listener(callback, &_ecore_wl_sync_listener, ewd);
+}
index d488dcb..07b9a26 100644 (file)
@@ -73,8 +73,8 @@ static void _ecore_wl_input_mouse_in_send(Ecore_Wl_Input *input, Ecore_Wl_Window
 static void _ecore_wl_input_mouse_out_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int timestamp);
 static void _ecore_wl_input_focus_in_send(Ecore_Wl_Input *input __UNUSED__, Ecore_Wl_Window *win, unsigned int timestamp);
 static void _ecore_wl_input_focus_out_send(Ecore_Wl_Input *input __UNUSED__, Ecore_Wl_Window *win, unsigned int timestamp);
-static void _ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int timestamp);
-static void _ecore_wl_input_mouse_up_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int timestamp);
+static void _ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int button, unsigned int timestamp);
+static void _ecore_wl_input_mouse_up_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int button, unsigned int timestamp);
 static void _ecore_wl_input_mouse_wheel_send(Ecore_Wl_Input *input, unsigned int axis, int value, unsigned int timestamp);
 
 /* static int _ecore_wl_input_keysym_to_string(unsigned int symbol, char *buffer, int len); */
@@ -406,16 +406,13 @@ _ecore_wl_input_cb_pointer_button(void *data, struct wl_pointer *pointer __UNUSE
         if ((input->pointer_focus) && (!input->grab) && (state))
           ecore_wl_input_grab(input, input->pointer_focus, button);
 
-        input->button = button;
         _ecore_wl_input_mouse_down_send(input, input->pointer_focus, 
-                                        timestamp);
+                                        button, timestamp);
      }
    else
      {
         _ecore_wl_input_mouse_up_send(input, input->pointer_focus, 
-                                      timestamp);
-        input->button = 0;
-
+                                      button, timestamp);
         if ((input->grab) && (input->grab_button == button) && (!state))
           ecore_wl_input_ungrab(input);
      }
@@ -720,9 +717,8 @@ _ecore_wl_input_cb_pointer_enter(void *data, struct wl_pointer *pointer __UNUSED
           {
              /* NB: 'Fake' a mouse_up for move finished */
              win->moving = EINA_FALSE;
-             _ecore_wl_input_mouse_up_send(input, win, input->timestamp);
-
-             input->button = 0;
+             _ecore_wl_input_mouse_up_send(input, win, BTN_LEFT,
+                                           input->timestamp);
 
              if ((input->grab) && (input->grab_button == BTN_LEFT))
                ecore_wl_input_ungrab(input);
@@ -731,9 +727,8 @@ _ecore_wl_input_cb_pointer_enter(void *data, struct wl_pointer *pointer __UNUSED
           {
              /* NB: 'Fake' a mouse_up for resize finished */
              win->resizing = EINA_FALSE;
-             _ecore_wl_input_mouse_up_send(input, win, input->timestamp);
-
-             input->button = 0;
+             _ecore_wl_input_mouse_up_send(input, win, BTN_LEFT,
+                                           input->timestamp);
 
              if ((input->grab) && (input->grab_button == BTN_LEFT))
                ecore_wl_input_ungrab(input);
@@ -857,11 +852,10 @@ _ecore_wl_input_cb_touch_down(void *data, struct wl_touch *touch __UNUSED__, uns
     * This needs to be tested with an actual touch device */
    /* input->timestamp = timestamp; */
    input->display->serial = serial;
-   input->button = BTN_LEFT;
    input->sx = wl_fixed_to_int(x);
    input->sy = wl_fixed_to_int(y);
    _ecore_wl_input_cb_pointer_enter(data, NULL, serial, surface, x, y);
-   _ecore_wl_input_mouse_down_send(input, input->pointer_focus, timestamp);
+   _ecore_wl_input_mouse_down_send(input, input->pointer_focus, BTN_LEFT, timestamp);
 }
 
 static void 
@@ -876,10 +870,8 @@ _ecore_wl_input_cb_touch_up(void *data, struct wl_touch *touch __UNUSED__, unsig
    /* FIXME: NB: Not sure yet if input->timestamp should be set here. 
     * This needs to be tested with an actual touch device */
    /* input->timestamp = timestamp; */
-   input->button = BTN_LEFT;
    input->display->serial = serial;
-   _ecore_wl_input_mouse_up_send(input, input->pointer_focus, timestamp);
-   input->button = 0;
+   _ecore_wl_input_mouse_up_send(input, input->pointer_focus, BTN_LEFT, timestamp);
 }
 
 static void 
@@ -1072,7 +1064,7 @@ _ecore_wl_input_focus_out_send(Ecore_Wl_Input *input __UNUSED__, Ecore_Wl_Window
 }
 
 static void 
-_ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int timestamp)
+_ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int button, unsigned int timestamp)
 {
    Ecore_Event_Mouse_Button *ev;
 
@@ -1080,14 +1072,14 @@ _ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, uns
 
    if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return;
 
-   if (input->button == BTN_LEFT)
+   if (button == BTN_LEFT)
      ev->buttons = 1;
-   else if (input->button == BTN_MIDDLE)
+   else if (button == BTN_MIDDLE)
      ev->buttons = 2;
-   else if (input->button == BTN_RIGHT)
+   else if (button == BTN_RIGHT)
      ev->buttons = 3;
    else
-     ev->buttons = input->button;
+     ev->buttons = button;
 
    ev->timestamp = timestamp;
    ev->x = input->sx;
@@ -1119,7 +1111,7 @@ _ecore_wl_input_mouse_down_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, uns
 }
 
 static void 
-_ecore_wl_input_mouse_up_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int timestamp)
+_ecore_wl_input_mouse_up_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsigned int button, unsigned int timestamp)
 {
    Ecore_Event_Mouse_Button *ev;
 
@@ -1127,14 +1119,14 @@ _ecore_wl_input_mouse_up_send(Ecore_Wl_Input *input, Ecore_Wl_Window *win, unsig
 
    if (!(ev = malloc(sizeof(Ecore_Event_Mouse_Button)))) return;
 
-   if (input->button == BTN_LEFT)
+   if (button == BTN_LEFT)
      ev->buttons = 1;
-   else if (input->button == BTN_MIDDLE)
+   else if (button == BTN_MIDDLE)
      ev->buttons = 2;
-   else if (input->button == BTN_RIGHT)
+   else if (button == BTN_RIGHT)
      ev->buttons = 3;
    else
-     ev->buttons = input->button;
+     ev->buttons = button;
 
    ev->timestamp = timestamp;
    ev->x = input->sx;
index 020af7b..1559531 100644 (file)
@@ -42,10 +42,10 @@ static const struct wl_output_listener _ecore_wl_output_listener =
 };
 
 /* @since 1.2 */
-EAPI struct wl_list 
+EAPI struct wl_list *
 ecore_wl_outputs_get(void)
 {
-   return _ecore_wl_disp->outputs;
+   return &(_ecore_wl_disp->outputs);
 }
 
 void 
@@ -80,7 +80,7 @@ _ecore_wl_output_del(Ecore_Wl_Output *output)
 
 /* local functions */
 static void 
-_ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__, int transform __UNUSED__)
+_ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__, int x, int y, int w, int h, int subpixel __UNUSED__, const char *make __UNUSED__, const char *model __UNUSED__, int transform)
 {
    Ecore_Wl_Output *output;
 
@@ -91,6 +91,7 @@ _ecore_wl_output_cb_geometry(void *data, struct wl_output *wl_output __UNUSED__,
    output->allocation.y = y;
    output->mw = w;
    output->mh = h;
+   output->transform = transform;
 }
 
 static void 
index 2a908a6..22d0c22 100644 (file)
@@ -270,17 +270,24 @@ ecore_wl_window_resize(Ecore_Wl_Window *win, int w, int h, int location)
      }
 }
 
-EAPI void 
+EAPI void
 ecore_wl_window_damage(Ecore_Wl_Window *win, int x, int y, int w, int h)
 {
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
    if (!win) return;
-   if (win->surface) 
-     {
-        wl_surface_damage(win->surface, x, y, w, h);
-        wl_surface_commit(win->surface);
-     }
+   if (win->surface)
+     wl_surface_damage(win->surface, x, y, w, h);
+}
+
+EAPI void
+ecore_wl_window_commit(Ecore_Wl_Window *win)
+{
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+
+   if (!win) return;
+   if (win->surface)
+     wl_surface_commit(win->surface);
 }
 
 EAPI void 
@@ -478,6 +485,7 @@ ecore_wl_window_maximized_set(Ecore_Wl_Window *win, Eina_Bool maximized)
         _ecore_wl_window_configure_send(win, win->saved_allocation.w, 
                                         win->saved_allocation.h);
      }
+   win->edges = 0;
 }
 
 EAPI void 
@@ -504,6 +512,7 @@ ecore_wl_window_fullscreen_set(Ecore_Wl_Window *win, Eina_Bool fullscreen)
         _ecore_wl_window_configure_send(win, win->saved_allocation.w, 
                                         win->saved_allocation.h);
      }
+   win->edges = 0;
 }
 
 EAPI void 
@@ -650,7 +659,8 @@ _ecore_wl_window_cb_configure(void *data, struct wl_shell_surface *shell_surface
 
    if ((win->allocation.w != w) || (win->allocation.h != h))
      {
-        win->edges = edges;
+        if (win->type == ECORE_WL_WINDOW_TYPE_TOPLEVEL)
+          win->edges = edges;
         if (win->region.input) wl_region_destroy(win->region.input);
         win->region.input = NULL;
         if (win->region.opaque) wl_region_destroy(win->region.opaque);
index 862791c..8200522 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -154,6 +171,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_win32_la_SOURCES)
 DIST_SOURCES = $(libecore_win32_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -591,7 +613,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -599,6 +620,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -688,8 +711,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index b571d74..3ee79d6 100644 (file)
@@ -63,7 +63,6 @@ _ecore_win32_window_procedure(HWND   window,
                               LPARAM data_param)
 {
    Ecore_Win32_Callback_Data *data;
-   POINTS                     point;
    DWORD                      coord;
 
    data = (Ecore_Win32_Callback_Data *)malloc(sizeof(Ecore_Win32_Callback_Data));
@@ -75,9 +74,8 @@ _ecore_win32_window_procedure(HWND   window,
    data->data_param = data_param;
    data->timestamp = GetMessageTime();
    coord = GetMessagePos();
-   point = MAKEPOINTS(coord);
-   data->x = point.x;
-   data->y = point.y;
+   data->x = GET_X_LPARAM(coord);
+   data->y = GET_Y_LPARAM(coord);
    data->discard_ctrl = EINA_FALSE;
 
    switch (data->message)
index 2f6af75..1758b7a 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -135,6 +152,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_wince_la_SOURCES)
 DIST_SOURCES = $(libecore_wince_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -561,7 +583,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -569,6 +590,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -631,8 +654,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
index 0d7d7c1..e8fb4ee 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -134,6 +151,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 HEADERS = $(includes_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
@@ -581,7 +603,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
        @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -589,6 +610,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
        }
@@ -626,8 +649,11 @@ clean-libtool:
        -rm -rf .libs _libs
 install-includesHEADERS: $(includes_HEADERS)
        @$(NORMAL_INSTALL)
-       test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
        @list='$(includes_HEADERS)'; test -n "$(includesdir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(includesdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(includesdir)" || exit 1; \
+       fi; \
        for p in $$list; do \
          if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
          echo "$$d$$p"; \
@@ -810,13 +836,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
index cd2361f..062878b 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -142,6 +159,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_x_xcb_la_SOURCES)
 DIST_SOURCES = $(am__libecore_x_xcb_la_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
index 954e663..c6b9e7d 100644 (file)
@@ -585,34 +585,26 @@ ecore_x_screen_is_composited(int screen)
    char buff[32];
    xcb_get_selection_owner_cookie_t ocookie;
    xcb_get_selection_owner_reply_t *oreply;
+   xcb_intern_atom_cookie_t acookie;
+   xcb_intern_atom_reply_t *areply;
    Ecore_X_Window win;
-   static Ecore_X_Atom atom = XCB_NONE;
+   Ecore_X_Atom atom;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    CHECK_XCB_CONN;
 
    snprintf(buff, sizeof(buff), "_NET_WM_CM_S%i", screen);
-
-   if (atom == XCB_NONE)
-     {
-        xcb_intern_atom_cookie_t acookie;
-        xcb_intern_atom_reply_t *areply;
-
-        acookie =
-          xcb_intern_atom_unchecked(_ecore_xcb_conn, 0, strlen(buff), buff);
-        areply = xcb_intern_atom_reply(_ecore_xcb_conn, acookie, NULL);
-        if (!areply) return EINA_FALSE;
-        atom = areply->atom;
-        free(areply);
-     }
+   acookie = xcb_intern_atom_unchecked(_ecore_xcb_conn, 1, strlen(buff), buff);
+   areply = xcb_intern_atom_reply(_ecore_xcb_conn, acookie, NULL);
+   if (!areply) return EINA_FALSE;
+   atom = areply->atom;
+   free(areply);
    if (atom == XCB_NONE) return EINA_FALSE;
-
    ocookie = xcb_get_selection_owner_unchecked(_ecore_xcb_conn, atom);
    oreply = xcb_get_selection_owner_reply(_ecore_xcb_conn, ocookie, NULL);
    if (!oreply) return EINA_FALSE;
    win = oreply->owner;
    free(oreply);
-
    return (win != XCB_NONE) ? EINA_TRUE : EINA_FALSE;
 }
 
@@ -620,26 +612,20 @@ EAPI void
 ecore_x_screen_is_composited_set(int            screen,
                                  Ecore_X_Window win)
 {
-   static Ecore_X_Atom atom = XCB_NONE;
+   Ecore_X_Atom atom;
+   xcb_intern_atom_cookie_t acookie;
+   xcb_intern_atom_reply_t *areply;
    char buff[32];
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    CHECK_XCB_CONN;
 
    snprintf(buff, sizeof(buff), "_NET_WM_CM_S%i", screen);
-   if (atom == XCB_NONE)
-     {
-        xcb_intern_atom_cookie_t acookie;
-        xcb_intern_atom_reply_t *areply;
-
-        acookie =
-          xcb_intern_atom_unchecked(_ecore_xcb_conn, 0, strlen(buff), buff);
-        areply = xcb_intern_atom_reply(_ecore_xcb_conn, acookie, NULL);
-        if (!areply) return;
-        atom = areply->atom;
-        free(areply);
-     }
-   if (atom == XCB_NONE) return;
+   acookie = xcb_intern_atom_unchecked(_ecore_xcb_conn, 0, strlen(buff), buff);
+   areply = xcb_intern_atom_reply(_ecore_xcb_conn, acookie, NULL);
+   if (!areply) return;
+   atom = areply->atom;
+   free(areply);
    xcb_set_selection_owner(_ecore_xcb_conn, win, atom,
                            _ecore_xcb_events_last_time_get());
 }
index 92f4f3d..5496f89 100644 (file)
@@ -486,7 +486,7 @@ ecore_x_selection_convert(Ecore_X_Atom  selection,
 {
    Ecore_X_Selection_Intern *sel;
    Ecore_X_Selection_Converter *cnv;
-   void *data;
+   void *data = NULL;
    char *tgt_str;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
@@ -498,7 +498,7 @@ ecore_x_selection_convert(Ecore_X_Atom  selection,
      {
         if (cnv->target == target)
           {
-             int r = 0;
+             int r;
 
              r = cnv->convert(tgt_str, sel->data, sel->length, &data, size,
                               targtype, typesize);
@@ -512,6 +512,7 @@ ecore_x_selection_convert(Ecore_X_Atom  selection,
                return EINA_FALSE;
           }
      }
+   free(tgt_str);
 
    return EINA_FALSE;
 }
index d85fa06..45aaf63 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -133,6 +150,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libecore_x_xlib_la_SOURCES)
 DIST_SOURCES = $(am__libecore_x_xlib_la_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
index df6bb15..a056767 100644 (file)
@@ -247,6 +247,8 @@ ecore_x_image_get(Ecore_X_Image *im,
           return 0;
 
         _ecore_x_image_err = 0;
+        
+        ecore_x_sync();
         // optimised path
         ph = XSetErrorHandler((XErrorHandler)_ecore_x_image_error_handler);
         if ((sx == 0) && (w == im->w))
index 5a23a1b..abfa563 100644 (file)
@@ -2047,19 +2047,14 @@ EAPI Eina_Bool
 ecore_x_screen_is_composited(int screen)
 {
    Ecore_X_Window win;
-   static Ecore_X_Atom atom = None;
+   Ecore_X_Atom atom;
    char buf[32];
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    snprintf(buf, sizeof(buf), "_NET_WM_CM_S%i", screen);
-   if (atom == None)
-     atom = XInternAtom(_ecore_x_disp, buf, False);
-
-   if (atom == None)
-     return EINA_FALSE;
-
+   atom = XInternAtom(_ecore_x_disp, buf, True);
+   if (atom == None) return EINA_FALSE;
    win = XGetSelectionOwner(_ecore_x_disp, atom);
-
    return (win != None) ? EINA_TRUE : EINA_FALSE;
 }
 
@@ -2067,17 +2062,13 @@ EAPI void
 ecore_x_screen_is_composited_set(int screen,
                                  Ecore_X_Window win)
 {
-   static Ecore_X_Atom atom = None;
+   Ecore_X_Atom atom;
    char buf[32];
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
    snprintf(buf, sizeof(buf), "_NET_WM_CM_S%i", screen);
-   if (atom == None)
-     atom = XInternAtom(_ecore_x_disp, buf, False);
-
-   if (atom == None)
-     return;
-
+   atom = XInternAtom(_ecore_x_disp, buf, False);
+   if (atom == None) return;
    XSetSelectionOwner(_ecore_x_disp, atom, win, _ecore_x_event_last_time);
 }
 
index 9e937d7..5a1bcfb 100644 (file)
@@ -1853,7 +1853,7 @@ ecore_x_randr_output_edid_get(Ecore_X_Window root,
      return NULL;
 
    if (XRRGetOutputProperty (_ecore_x_disp, output, name,
-                             0, 100, False, False,
+                             0, 128, False, False,
                              AnyPropertyType,
                              &actual_type, &actual_format,
                              &nitems, &bytes_after, &prop_data) == Success)
index 5d71906..7d4e1fc 100644 (file)
@@ -569,7 +569,7 @@ ecore_x_selection_convert(Ecore_X_Atom selection,
 {
    Ecore_X_Selection_Intern *sel;
    Ecore_X_Selection_Converter *cnv;
-   void *data;
+   void *data = NULL;
    char *tgt_str;
 
    LOGFN(__FILE__, __LINE__, __FUNCTION__);
@@ -581,6 +581,7 @@ ecore_x_selection_convert(Ecore_X_Atom selection,
         if (cnv->target == target)
           {
              int r;
+
              r = cnv->convert(tgt_str, sel->data, sel->length, &data, size,
                               targtype, typesize);
              free(tgt_str);
@@ -593,6 +594,7 @@ ecore_x_selection_convert(Ecore_X_Atom selection,
                return EINA_FALSE;
           }
      }
+   free(tgt_str);
 
    /* ICCCM says "If the selection cannot be converted into a form based on the target (and parameters, if any), the owner should refuse the SelectionRequest as previously described." */
    return EINA_FALSE;
index 234f416..1db903d 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -77,6 +94,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -676,13 +698,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
index 13fd7f5..155fb3c 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 
 @SET_MAKE@
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -80,6 +97,11 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        install-pdf-recursive install-ps-recursive install-recursive \
        installcheck-recursive installdirs-recursive pdf-recursive \
        ps-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
@@ -679,13 +701,10 @@ distdir: $(DISTFILES)
        done
        @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
          if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-         fi; \
-       done
-       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
+           $(am__make_dryrun) \
+             || test -d "$(distdir)/$$subdir" \
+             || $(MKDIR_P) "$(distdir)/$$subdir" \
+             || exit 1; \
            dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
            $(am__relativize); \
            new_distdir=$$reldir; \
index 7cd2001..e1af8b2 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -131,6 +148,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ibus_la_SOURCES)
 DIST_SOURCES = $(ibus_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -561,7 +583,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
        @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -569,6 +590,8 @@ install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
        }
index 3aae0b6..26407d4 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -147,6 +164,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(scim_la_SOURCES)
 DIST_SOURCES = $(scim_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -577,7 +599,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
        @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -585,6 +606,8 @@ install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
        }
index 720fc75..4193758 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -131,6 +148,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(xim_la_SOURCES)
 DIST_SOURCES = $(xim_la_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -555,7 +577,6 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
        @$(NORMAL_INSTALL)
-       test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
        @list='$(pkg_LTLIBRARIES)'; test -n "$(pkgdir)" || list=; \
        list2=; for p in $$list; do \
          if test -f $$p; then \
@@ -563,6 +584,8 @@ install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
          else :; fi; \
        done; \
        test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgdir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgdir)" || exit 1; \
          echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkgdir)'"; \
          $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkgdir)"; \
        }
index 3b9cdf2..230496e 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -110,6 +127,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ecore_suite_SOURCES)
 DIST_SOURCES = $(am__ecore_suite_SOURCES_DIST)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
index ee8db53..5175be3 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
 @SET_MAKE@
 
 VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -99,6 +116,11 @@ am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(makekeys_SOURCES)
 DIST_SOURCES = $(makekeys_SOURCES)
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)