[Pkg-e-commits] [SCM] Core abstraction layer for enlightenment DR 0.17 branch, new-svn-snapshot, updated. 0.9.9.050+svn20081201-1-2447-g20b05e4

Albin Tonnerre albin.tonnerre at gmail.com
Thu May 7 12:57:08 UTC 2009


The following commit has been merged in the new-svn-snapshot branch:
commit 9cb69d6ac08c58428a3eb006804e38d02f3e74af
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Sun May 3 19:01:58 2009 +0200

    Import upstream release 0.9.9.060

diff --git a/Makefile.am b/Makefile.am
index c14c798..a8079cc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,6 +24,7 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
 		       ecore-x.pc \
 		       ecore-win32.pc \
 		       ecore-sdl.pc \
+		       ecore-input.pc \
 		       ecore-quartz.pc \
 		       ecore-wince.pc \
 		       ecore.pc \
@@ -56,6 +57,7 @@ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
 	     ecore-win32.pc.in \
 	     ecore-sdl.pc.in \
 	     ecore-quartz.pc.in \
+	     ecore-input.pc.in \
 	     ecore-wince.pc.in \
 	     ecore.spec.in ecore.spec
 
@@ -91,6 +93,10 @@ if BUILD_ECORE_IMF_EVAS
 pimfevas = ecore-imf-evas.pc
 endif
 
+if BUILD_ECORE_INPUT
+pinput = ecore-input.pc
+endif
+
 if BUILD_ECORE_IPC
 pipc = ecore-ipc.pc
 endif
@@ -130,8 +136,8 @@ endif
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = \
 	ecore.pc $(pcon) $(pconfig) $(pdfb) $(pevas) \
-	$(pfb) $(pfile) $(pimf) $(pimfevas) $(pipc) $(pjob) $(ptxt) \
-	$(px) $(pwin32) $(pwince) $(psdl) $(pquartz)
+	$(pfb) $(pfile) $(pimf) $(pimfevas) $(pinput) $(pipc) $(pjob) \
+	$(ptxt) $(px) $(pwin32) $(pwince) $(psdl) $(pquartz)
 
 .PHONY: doc
 
diff --git a/Makefile.in b/Makefile.in
index 3845829..2712f27 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -40,19 +40,23 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/ecore-config.pc.in $(srcdir)/ecore-directfb.pc.in \
 	$(srcdir)/ecore-evas.pc.in $(srcdir)/ecore-fb.pc.in \
 	$(srcdir)/ecore-file.pc.in $(srcdir)/ecore-imf-evas.pc.in \
-	$(srcdir)/ecore-imf.pc.in $(srcdir)/ecore-ipc.pc.in \
-	$(srcdir)/ecore-job.pc.in $(srcdir)/ecore-quartz.pc.in \
-	$(srcdir)/ecore-sdl.pc.in $(srcdir)/ecore-txt.pc.in \
-	$(srcdir)/ecore-win32.pc.in $(srcdir)/ecore-wince.pc.in \
-	$(srcdir)/ecore-x.pc.in $(srcdir)/ecore.pc.in \
-	$(srcdir)/ecore.spec.in $(top_srcdir)/configure AUTHORS \
-	COPYING ChangeLog INSTALL NEWS config.guess config.sub depcomp \
-	install-sh ltmain.sh missing
+	$(srcdir)/ecore-imf.pc.in $(srcdir)/ecore-input.pc.in \
+	$(srcdir)/ecore-ipc.pc.in $(srcdir)/ecore-job.pc.in \
+	$(srcdir)/ecore-quartz.pc.in $(srcdir)/ecore-sdl.pc.in \
+	$(srcdir)/ecore-txt.pc.in $(srcdir)/ecore-win32.pc.in \
+	$(srcdir)/ecore-wince.pc.in $(srcdir)/ecore-x.pc.in \
+	$(srcdir)/ecore.pc.in $(srcdir)/ecore.spec.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config.guess config.sub depcomp install-sh ltmain.sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -62,8 +66,8 @@ CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = ecore-con.pc ecore-config.pc ecore-directfb.pc \
 	ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc \
 	ecore-imf-evas.pc ecore-ipc.pc ecore-job.pc ecore-txt.pc \
-	ecore-x.pc ecore-win32.pc ecore-sdl.pc ecore-quartz.pc \
-	ecore-wince.pc ecore.pc README ecore.spec
+	ecore-x.pc ecore-input.pc ecore-win32.pc ecore-sdl.pc \
+	ecore-quartz.pc ecore-wince.pc ecore.pc README ecore.spec
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
 binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 SCRIPTS = $(bin_SCRIPTS)
@@ -127,72 +131,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -201,8 +190,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -217,6 +204,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -257,6 +246,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -280,6 +271,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -300,36 +292,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -349,6 +361,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -357,17 +370,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -376,7 +396,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -403,6 +422,7 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess \
 		       ecore-x.pc \
 		       ecore-win32.pc \
 		       ecore-sdl.pc \
+		       ecore-input.pc \
 		       ecore-quartz.pc \
 		       ecore-wince.pc \
 		       ecore.pc \
@@ -434,6 +454,7 @@ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
 	     ecore-win32.pc.in \
 	     ecore-sdl.pc.in \
 	     ecore-quartz.pc.in \
+	     ecore-input.pc.in \
 	     ecore-wince.pc.in \
 	     ecore.spec.in ecore.spec
 
@@ -445,6 +466,7 @@ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
 @BUILD_ECORE_FILE_TRUE at pfile = ecore-file.pc
 @BUILD_ECORE_IMF_TRUE at pimf = ecore-imf.pc
 @BUILD_ECORE_IMF_EVAS_TRUE at pimfevas = ecore-imf-evas.pc
+ at BUILD_ECORE_INPUT_TRUE@pinput = ecore-input.pc
 @BUILD_ECORE_IPC_TRUE at pipc = ecore-ipc.pc
 @BUILD_ECORE_JOB_TRUE at pjob = ecore-job.pc
 @BUILD_ECORE_TXT_TRUE at ptxt = ecore-txt.pc
@@ -457,8 +479,8 @@ EXTRA_DIST = AUTHORS COPYING COPYING-PLAIN \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = \
 	ecore.pc $(pcon) $(pconfig) $(pdfb) $(pevas) \
-	$(pfb) $(pfile) $(pimf) $(pimfevas) $(pipc) $(pjob) $(ptxt) \
-	$(px) $(pwin32) $(pwince) $(psdl) $(pquartz)
+	$(pfb) $(pfile) $(pimf) $(pimfevas) $(pinput) $(pipc) $(pjob) \
+	$(ptxt) $(px) $(pwin32) $(pwince) $(psdl) $(pquartz)
 
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -538,6 +560,8 @@ ecore-txt.pc: $(top_builddir)/config.status $(srcdir)/ecore-txt.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 ecore-x.pc: $(top_builddir)/config.status $(srcdir)/ecore-x.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
+ecore-input.pc: $(top_builddir)/config.status $(srcdir)/ecore-input.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
 ecore-win32.pc: $(top_builddir)/config.status $(srcdir)/ecore-win32.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 ecore-sdl.pc: $(top_builddir)/config.status $(srcdir)/ecore-sdl.pc.in
diff --git a/README b/README
index 561e161..23527dd 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Ecore 0.9.9.050
+Ecore 0.9.9.060
 
 Requirements:
 -------------
@@ -31,7 +31,7 @@ BUILDING PACKAGES:
 
 RPM: To build rpm packages:
   
-  sudo rpm -ta ecore-0.9.9.050.tar.gz
+  sudo rpm -ta ecore-0.9.9.060.tar.gz
 
 You will find rpm packages in your system /usr/src/redhat/* dirs (note you may
 not need to use sudo or root if you have your own ~/.rpmrc. see rpm documents
@@ -39,11 +39,11 @@ for more details)
 
 DEB: To build deb packages:
 
-  tar zvf ecore-0.9.9.050.tar.gz
-  cd ecore-0.9.9.050
+  tar zvf ecore-0.9.9.060.tar.gz
+  cd ecore-0.9.9.060
   dpkg-buildpackage -us -uc -rfakeroot
   cd ..
-  rm -rf ecore-0.9.9.050
+  rm -rf ecore-0.9.9.060
 
 You will find all the debian source, binary etc. packages put in the directory
 where you first untarred the source tarball.
diff --git a/aclocal.m4 b/aclocal.m4
index 3732551..9b8d2ad 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -19,6658 +19,6 @@ You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 Debian 1.5.26-4 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
-         [],
-         [m4_define([AC_PROVIDE_IFELSE],
-	         [m4_ifdef([AC_PROVIDE_$1],
-		           [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
-  AC_PROVIDE_IFELSE([AC_PROG_CXX],
-    [AC_LIBTOOL_CXX],
-    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
-  ])])
-dnl And a similar setup for Fortran 77 support
-  AC_PROVIDE_IFELSE([AC_PROG_F77],
-    [AC_LIBTOOL_F77],
-    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
-  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-    [AC_LIBTOOL_GCJ],
-    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-      [AC_LIBTOOL_GCJ],
-      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
-	[AC_LIBTOOL_GCJ],
-      [ifdef([AC_PROG_GCJ],
-	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([A][M_PROG_GCJ],
-	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([LT_AC_PROG_GCJ],
-	     [define([LT_AC_PROG_GCJ],
-		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    AC_PATH_MAGIC
-  fi
-  ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
-    [AC_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-[$]*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-	 test "X$echo_testing_string" = "X$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      else
-	# maybe with a smaller string...
-	prev=:
-
-	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-	  then
-	    break
-	  fi
-	  prev="$cmd"
-	done
-
-	if test "$prev" != 'sed 50q "[$]0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-	[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-  ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$5], , :, [$5])
-else
-    ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                          [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$4], , :, [$4])
-else
-    ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ 	]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}]
-EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-   ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-    	  lt_cv_dlopen_self_static, [dnl
-	  _LT_AC_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_AC_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         AC_MSG_RESULT([yes])
-       else
-  AC_MSG_RESULT([no])
-fi
-       ;;
-   *)
-  AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  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'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  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
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-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
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  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'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-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'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # 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;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  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
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  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=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  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=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  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
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  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
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
-    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
-        [include additional configurations @<:@automatic@:>@])],
-    [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    AC_MSG_WARN([output file `$ofile' does not exist])
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
-    else
-      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
-    "") ;;
-    *)  AC_MSG_ERROR([invalid tag name: $tagname])
-	;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      AC_MSG_ERROR([tag name \"$tagname\" already exists])
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" != "Xg++"))) ; then
-	  AC_LIBTOOL_LANG_CXX_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-	  AC_LIBTOOL_LANG_F77_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-	  AC_LIBTOOL_LANG_GCJ_CONFIG
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-	AC_LIBTOOL_LANG_RC_CONFIG
-	;;
-
-      *)
-	AC_MSG_ERROR([Unsupported tag name: $tagname])
-	;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    AC_MSG_ERROR([unable to update list of available tagged configurations.])
-  fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
-    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
-    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
-    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="ifelse([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-    [AC_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  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
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!).  If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, lt_dlinit,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    LTDLINCL=
-  fi
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
-    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
-      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
-	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
-	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-  AC_PROG_LD
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  aix[[4-9]]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    _LT_AC_TAGVAR(archive_cmds, $1)=''
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[[012]]|aix4.[[012]].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-	collect2name=`${CC} -print-prog-name=collect2`
-	if test -f "$collect2name" && \
-	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	then
-	  # We have reworked collect2
-	  :
-	else
-	  # We have old collect2
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      _LT_AC_SYS_LIBPATH_AIX
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	_LT_AC_SYS_LIBPATH_AIX
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-    # as there is no search path for DLLs.
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-    _LT_AC_TAGVAR(always_export_symbols, $1)=no
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  freebsd[[12]]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  freebsd-elf*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    aCC*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-    *)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
-	    case $host_cpu in
-	    hppa*64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  interix[[3-9]]*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	# Archives containing C++ object files must be created using
-	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-	;;
-    esac
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-	# Compaq C++
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	runpath_var=LD_RUN_PATH
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  netbsd* | netbsdelf*-gnu)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	_LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
-	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      cxx*)
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	 _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-	else
-	  # FIXME: insert proper C++ library support
-	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
-	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	    ;;
-	esac
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-	output_verbose_link_cmd='echo'
-
-	# Archives containing C++ object files must be created using
-	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	# The C++ compiler must be used to create the archive.
-	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
-
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	  *)
-	    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	    ;;
-	  esac
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-	# NonStop-UX NCC 3.20
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-	  || test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
-	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
-	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_AC_TAGVAR(predep_objects,$1)=
-  _LT_AC_TAGVAR(postdep_objects,$1)=
-  _LT_AC_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars.  Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    _LT_AC_TAGVAR(compiler, $1) \
-    _LT_AC_TAGVAR(CC, $1) \
-    _LT_AC_TAGVAR(LD, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
-    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
-    _LT_AC_TAGVAR(old_archive_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
-    _LT_AC_TAGVAR(predep_objects, $1) \
-    _LT_AC_TAGVAR(postdep_objects, $1) \
-    _LT_AC_TAGVAR(predeps, $1) \
-    _LT_AC_TAGVAR(postdeps, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
-    _LT_AC_TAGVAR(archive_cmds, $1) \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(postinstall_cmds, $1) \
-    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
-    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
-    _LT_AC_TAGVAR(no_undefined_flag, $1) \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
-    _LT_AC_TAGVAR(hardcode_automatic, $1) \
-    _LT_AC_TAGVAR(module_cmds, $1) \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
-    _LT_AC_TAGVAR(exclude_expsyms, $1) \
-    _LT_AC_TAGVAR(include_expsyms, $1); do
-
-    case $var in
-    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(module_cmds, $1) | \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\[$]0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
-    ;;
-  esac
-
-ifelse([$1], [],
-  [cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  AC_MSG_NOTICE([creating $ofile])],
-  [cfgfile="$ofile"])
-
-  cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# 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
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-])
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDGIRSTW]]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-	if grep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-	  cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  icpc* | ecpc*)
-	    # Intel C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler.
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd* | netbsdelf*-gnu)
-	;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-  ;;
-  *)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
-  runpath_var=
-  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_AC_TAGVAR(archive_cmds, $1)=
-  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
-  _LT_AC_TAGVAR(module_cmds, $1)=
-  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(always_export_symbols, $1)=no
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_AC_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  _LT_CC_BASENAME([$compiler])
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=no
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	tmp_addflag=
-	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-	if test $supports_anon_versioning = yes; then
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-	_LT_AC_TAGVAR(link_all_deplibs, $1)=no
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_AC_TAGVAR(archive_cmds, $1)=''
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	  then
-  	  # We have reworked collect2
-  	  :
-	  else
-  	  # We have old collect2
-  	  _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  	  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 _LT_AC_SYS_LIBPATH_AIX
-	 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      # see comment about different semantics on the GNU ld section
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    bsdi[[45]]*)
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
-      else
-	_LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
-  fi
-  ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
-  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-  AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
 # pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
 # 
 # Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
@@ -7714,4 +1062,10 @@ AC_SUBST([am__untar])
 m4_include([m4/ac_attribute.m4])
 m4_include([m4/check_x_extension.m4])
 m4_include([m4/ecore_check_module.m4])
+m4_include([m4/ecore_check_options.m4])
 m4_include([m4/efl_doxygen.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff --git a/config.guess b/config.guess
index f32079a..278f9e9 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2008-01-23'
+timestamp='2007-07-22'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -532,7 +532,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[45])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -799,9 +799,6 @@ EOF
 	    EM64T | authenticamd)
 		echo x86_64-unknown-interix${UNAME_RELEASE}
 		exit ;;
-	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
-		exit ;;
 	esac ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
 	echo i${UNAME_MACHINE}-pc-mks
@@ -836,14 +833,7 @@ EOF
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     arm*:Linux:*:*)
-	eval $set_cc_for_build
-	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-	    | grep -q __ARM_EABI__
-	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
-	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-	fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -964,8 +954,8 @@ EOF
     x86_64:Linux:*:*)
 	echo x86_64-unknown-linux-gnu
 	exit ;;
-    xtensa*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    xtensa:Linux:*:*)
+    	echo xtensa-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	# The BFD linker knows what the default object file format is, so
@@ -1484,9 +1474,9 @@ This script, last modified $timestamp, has failed to recognize
 the operating system you are using. It is advised that you
 download the most up to date version of the config scripts from
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
 
 If the version you run ($0) is already up to date, please
 send the following data and any information you think might be
diff --git a/config.h.in b/config.h.in
index aeabcc4..3216b84 100644
--- a/config.h.in
+++ b/config.h.in
@@ -12,16 +12,13 @@
 /* Build Ecore_Evas Module */
 #undef BUILD_ECORE_EVAS
 
-/* Support for Buffers in Ecore_Evas */
-#undef BUILD_ECORE_EVAS_BUFFER
-
 /* Support for Direct3d Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_DIRECT3D
 
-/* Support for DirectFB in Ecore_Evas */
+/* Support for DirectFB Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_DIRECTFB
 
-/* Support for Linux FB in Ecore_Evas */
+/* Support for Linux Framebuffer Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_FB
 
 /* Support for Glew OpenGL Engine in Ecore_Evas */
@@ -30,12 +27,9 @@
 /* Support for OpenGL Xlib Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_OPENGL_X11
 
-/* Support for Quartz in Ecore_Evas */
+/* Support for Quartz Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_QUARTZ
 
-/* Support for SDL in Ecore_Evas */
-#undef BUILD_ECORE_EVAS_SDL
-
 /* Support for SVN SDL */
 #undef BUILD_ECORE_EVAS_SDL_130
 
@@ -45,12 +39,18 @@
 /* Support for 16 bpp Software Windows CE Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
 
-/* Support for X11 16bpp Engine in Ecore_Evas */
+/* Support for Software Xlib 16 bits Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_SOFTWARE_16_X11
 
+/* Support for Software Buffer Engine in Ecore_Evas */
+#undef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
+
 /* Support for Software DirectDraw Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
 
+/* Support for Software SDL Engine in Ecore_Evas */
+#undef BUILD_ECORE_EVAS_SOFTWARE_SDL
+
 /* Support for Software Xlib Engine in Ecore_Evas */
 #undef BUILD_ECORE_EVAS_SOFTWARE_X11
 
@@ -81,6 +81,9 @@
 /* Build Ecore_IMF_EVAS Module */
 #undef BUILD_ECORE_IMF_EVAS
 
+/* Build Ecore_Input Module */
+#undef BUILD_ECORE_INPUT
+
 /* Build Ecore_Ipc Module */
 #undef BUILD_ECORE_IPC
 
@@ -167,6 +170,9 @@
 /* Build support for Xinerama */
 #undef ECORE_XINERAMA
 
+/* Build support for Xkb */
+#undef ECORE_XKB
+
 /* Build support for Xprint */
 #undef ECORE_XPRINT
 
@@ -182,36 +188,6 @@
 /* Build support for Xtest */
 #undef ECORE_XTEST
 
-/* Define to mention that ecore is built. */
-#undef EFL_ECORE_BUILD
-
-/* Define to mention that ecore evas is built. */
-#undef EFL_ECORE_EVAS_BUILD
-
-/* Define to mention that ecore file is built. */
-#undef EFL_ECORE_FILE_BUILD
-
-/* Define to mention that ecore imf is built. */
-#undef EFL_ECORE_IMF_BUILD
-
-/* Define to mention that ecore job is built. */
-#undef EFL_ECORE_JOB_BUILD
-
-/* Define to mention that ecore Quartz is built. */
-#undef EFL_ECORE_QUARTZ_BUILD
-
-/* Define to mention that ecore SDL is built. */
-#undef EFL_ECORE_SDL_BUILD
-
-/* Define to mention that ecore txt is built. */
-#undef EFL_ECORE_TXT_BUILD
-
-/* Define to mention that ecore Win32 is built. */
-#undef EFL_ECORE_WIN32_BUILD
-
-/* Define to mention that ecore WinCE is built. */
-#undef EFL_ECORE_WINCE_BUILD
-
 /* Have abstract sockets namespace */
 #undef HAVE_ABSTRACT_SOCKETS
 
@@ -222,6 +198,9 @@
    */
 #undef HAVE_ALLOCA_H
 
+/* mkdirat exists */
+#undef HAVE_ATFILE_SOURCE
+
 /* Downloading with CURL */
 #undef HAVE_CURL
 
@@ -234,7 +213,7 @@
 /* Defined to 1 if Xlib is enabled. */
 #undef HAVE_ECORE_X_XLIB
 
-/* Set to 1 if evil package is installed. */
+/* Set to 1 if Evil library is installed */
 #undef HAVE_EVIL
 
 /* Define to 1 if you have the <features.h> header file. */
@@ -258,6 +237,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define to 1 if you have the `mkdirat' function. */
+#undef HAVE_MKDIRAT
+
 /* Define to 1 if you have the <netdb.h> header file. */
 #undef HAVE_NETDB_H
 
@@ -315,6 +297,10 @@
 /* Define to 1 if your compiler has __attribute__ */
 #undef HAVE___ATTRIBUTE__
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* Name of package */
 #undef PACKAGE
 
@@ -372,6 +358,11 @@
 /* Define to 1 if the X Window System is missing or not being used. */
 #undef X_DISPLAY_MISSING
 
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+
 /* Macro declaring a function argument to be unused */
 #undef __UNUSED__
 
diff --git a/config.sub b/config.sub
index 6759825..1761d8b 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
 
-timestamp='2008-01-16'
+timestamp='2007-06-28'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -72,8 +72,8 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -369,14 +369,10 @@ case $basic_machine in
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa*-* \
+	| xstormy16-* | xtensa-* \
 	| ymp-* \
 	| z8k-*)
 		;;
-	# Recognize the basic CPU types without company name, with glob match.
-	xtensa*)
-		basic_machine=$basic_machine-unknown
-		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
 	386bsd)
@@ -447,14 +443,6 @@ case $basic_machine in
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
-	blackfin)
-		basic_machine=bfin-unknown
-		os=-linux
-		;;
-	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -680,14 +668,6 @@ case $basic_machine in
 		basic_machine=m68k-isi
 		os=-sysv
 		;;
-	m68knommu)
-		basic_machine=m68k-unknown
-		os=-linux
-		;;
-	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
 	m88k-omron*)
 		basic_machine=m88k-omron
 		;;
@@ -833,14 +813,6 @@ case $basic_machine in
 		basic_machine=i860-intel
 		os=-osf
 		;;
-	parisc)
-		basic_machine=hppa-unknown
-		os=-linux
-		;;
-	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
 	pbd)
 		basic_machine=sparc-tti
 		;;
@@ -1049,10 +1021,6 @@ case $basic_machine in
 		basic_machine=tic6x-unknown
 		os=-coff
 		;;
-	tile*)
-		basic_machine=tile-unknown
-		os=-linux-gnu
-		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
diff --git a/configure b/configure
index e14fca7..bbe374c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for ecore 0.9.9.050.
+# Generated by GNU Autoconf 2.61 for ecore 0.9.9.060.
 #
 # Report bugs to <enlightenment-devel at lists.sourceforge.net>.
 #
@@ -555,22 +555,22 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 # Check that we are running under the correct shell.
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-case X$ECHO in
+case X$lt_ECHO in
 X*--fallback-echo)
   # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
   ;;
 esac
 
-echo=${ECHO-echo}
+ECHO=${lt_ECHO-echo}
 if test "X$1" = X--no-reexec; then
   # Discard the --no-reexec flag, and continue.
   shift
 elif test "X$1" = X--fallback-echo; then
   # Avoid inline document here, it may be left over
   :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
   :
 else
   # Restart under the correct shell.
@@ -580,9 +580,9 @@ fi
 if test "X$1" = X--fallback-echo; then
   # used as fallback echo
   shift
-  cat <<EOF
+  cat <<_LT_EOF
 $*
-EOF
+_LT_EOF
   exit 0
 fi
 
@@ -590,119 +590,116 @@ fi
 # if CDPATH is set.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
 
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
 
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
     IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
 
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-	 test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-	 test "X$echo_testing_string" = "X$echo_test_string"; then
-	# Cool, printf works
-	:
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	export CONFIG_SHELL
-	SHELL="$CONFIG_SHELL"
-	export SHELL
-	echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-	   test "X$echo_testing_string" = 'X\t' &&
-	   echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	echo="$CONFIG_SHELL $0 --fallback-echo"
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+	   test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
       else
-	# maybe with a smaller string...
-	prev=:
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	  # Cool, printf works
+	  :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	  export CONFIG_SHELL
+	  SHELL="$CONFIG_SHELL"
+	  export SHELL
+	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        else
+	  # maybe with a smaller string...
+	  prev=:
 
-	for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-	  then
-	    break
-	  fi
-	  prev="$cmd"
-	done
+	  for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+	    then
+	      break
+	    fi
+	    prev="$cmd"
+	  done
 
-	if test "$prev" != 'sed 50q "$0"'; then
-	  echo_test_string=`eval $prev`
-	  export echo_test_string
-	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-	else
-	  # Oops.  We lost completely, so just stick with echo.
-	  echo=echo
-	fi
+	  if test "$prev" != 'sed 50q "$0"'; then
+	    echo_test_string=`eval $prev`
+	    export echo_test_string
+	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+	  else
+	    # Oops.  We lost completely, so just stick with echo.
+	    ECHO=echo
+	  fi
+        fi
       fi
     fi
   fi
 fi
-fi
 
 # Copy echo and quote the copy suitably for passing to libtool from
 # the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
 fi
 
 
 
 
-tagnames=${tagnames+${tagnames},}CXX
-
 exec 7<&0 </dev/null 6>&1
 
 # Name of the host.
@@ -726,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='ecore'
 PACKAGE_TARNAME='ecore'
-PACKAGE_VERSION='0.9.9.050'
-PACKAGE_STRING='ecore 0.9.9.050'
+PACKAGE_VERSION='0.9.9.060'
+PACKAGE_STRING='ecore 0.9.9.060'
 PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
 
 ac_unique_file="configure.ac"
@@ -850,83 +847,94 @@ AMDEPBACKSLASH
 CCDEPMODE
 am__fastdepCC_TRUE
 am__fastdepCC_FALSE
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CPP
+AS
+DLLTOOL
+OBJDUMP
+LIBTOOL
+SED
 GREP
 EGREP
+FGREP
+LD
+DUMPBIN
+ac_ct_DUMPBIN
+NM
+LN_S
+AR
+RANLIB
+lt_ECHO
+DSYMUTIL
+NMEDIT
+LIPO
+OTOOL
+OTOOL64
+CPP
+version_info
+ecore_config_release_info
+ecore_con_release_info
+ecore_directfb_release_info
+ecore_evas_release_info
+ecore_fb_release_info
+ecore_file_release_info
+ecore_imf_evas_release_info
+ecore_imf_release_info
+ecore_input_release_info
+ecore_ipc_release_info
+ecore_job_release_info
+ecore_quartz_release_info
+ecore_release_info
+ecore_sdl_release_info
+ecore_txt_release_info
+ecore_win32_release_info
+ecore_wince_release_info
+ecore_x_release_info
 OBJC
 OBJCFLAGS
 ac_ct_OBJC
 OBJCDEPMODE
 am__fastdepOBJC_TRUE
 am__fastdepOBJC_FALSE
-SED
-LN_S
-ECHO
-AR
-RANLIB
-DSYMUTIL
-NMEDIT
-DLLTOOL
-AS
-OBJDUMP
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
 CXXCPP
-LIBTOOL
-version_info
+efl_have_doxygen
+efl_doxygen
+EFL_BUILD_DOC_TRUE
+EFL_BUILD_DOC_FALSE
 PKG_CONFIG
-EINA_CFLAGS
-EINA_LIBS
 EVIL_CFLAGS
 EVIL_LIBS
-dlopen_libs
-WIN32_CPPFLAGS
-WIN32_CFLAGS
+EFL_ECORE_BUILD
+EFL_ECORE_JOB_BUILD
+EFL_ECORE_TXT_BUILD
+EFL_ECORE_FILE_BUILD
+EFL_ECORE_EVAS_BUILD
+EFL_ECORE_IMF_BUILD
+EFL_ECORE_INPUT_BUILD
+EFL_ECORE_WINCE_BUILD
+EFL_ECORE_WIN32_BUILD
+EFL_ECORE_SDL_BUILD
+ECORE_HAVE_WINCE_TRUE
+ECORE_HAVE_WINCE_FALSE
+ECORE_HAVE_WIN32_TRUE
+ECORE_HAVE_WIN32_FALSE
 WIN32_LIBS
-lt_enable_auto_import
-ALLOCA
-TLS2_CFLAGS
-TLS2_LIBS
-TLS_CFLAGS
-TLS_LIBS
-SSL_CFLAGS
-SSL_LIBS
-CURL_CFLAGS
-CURL_LIBS
-BUILD_ECORE_JOB_TRUE
-BUILD_ECORE_JOB_FALSE
-ecore_job_cflags
-ecore_job_libs
-BUILD_ECORE_CON_TRUE
-BUILD_ECORE_CON_FALSE
-ecore_con_cflags
-ecore_con_libs
-BUILD_ECORE_IPC_TRUE
-BUILD_ECORE_IPC_FALSE
-ecore_ipc_cflags
-ecore_ipc_libs
-EET_CFLAGS
-EET_LIBS
-BUILD_ECORE_CONFIG_TRUE
-BUILD_ECORE_CONFIG_FALSE
-ecore_config_cflags
-ecore_config_libs
+dlopen_libs
+EINA_CFLAGS
+EINA_LIBS
 iconv_cflags
 iconv_libs
-BUILD_ECORE_TXT_TRUE
-BUILD_ECORE_TXT_FALSE
-ecore_txt_cflags
-ecore_txt_libs
-EVAS_CFLAGS
-EVAS_LIBS
-BUILD_ECORE_EVAS_TRUE
-BUILD_ECORE_EVAS_FALSE
-ecore_evas_cflags
-ecore_evas_libs
+SDL_CONFIG
+SDL_CFLAGS
+SDL_LIBS
+DIRECTFB_CFLAGS
+DIRECTFB_LIBS
+EET_CFLAGS
+EET_LIBS
 XCB_CFLAGS
 XCB_LIBS
 XCB_COMPOSITE_CFLAGS
@@ -961,6 +969,8 @@ X_LIBS
 X_EXTRA_LIBS
 Xcursor_cflags
 Xcursor_libs
+XKB_CFLAGS
+XKB_LIBS
 XCOMPOSITE_CFLAGS
 XCOMPOSITE_LIBS
 XDAMAGE_CFLAGS
@@ -984,78 +994,50 @@ XSS_LIBS
 x_cflags
 x_includes
 x_libs
-BUILD_ECORE_X_TRUE
-BUILD_ECORE_X_FALSE
-ecore_x_cflags
-ecore_x_libs
-EVAS_SOFTWARE_X11_CFLAGS
-EVAS_SOFTWARE_X11_LIBS
-EVAS_OPENGL_X11_CFLAGS
-EVAS_OPENGL_X11_LIBS
-EVAS_XRENDER_X11_CFLAGS
-EVAS_XRENDER_X11_LIBS
-EVAS_SOFTWARE_16_X11_CFLAGS
-EVAS_SOFTWARE_16_X11_LIBS
-EVAS_SOFTWARE_XCB_CFLAGS
-EVAS_SOFTWARE_XCB_LIBS
-EVAS_XRENDER_XCB_CFLAGS
-EVAS_XRENDER_XCB_LIBS
-BUILD_ECORE_WIN32_TRUE
-BUILD_ECORE_WIN32_FALSE
-ecore_win32_cflags
-ecore_win32_libs
-EVAS_SOFTWARE_DDRAW_CFLAGS
-EVAS_SOFTWARE_DDRAW_LIBS
-EVAS_DIRECT3D_CFLAGS
-EVAS_DIRECT3D_LIBS
-EVAS_OPENGL_GLEW_CFLAGS
-EVAS_OPENGL_GLEW_LIBS
-EVAS_SOFTWARE_16_DDRAW_CFLAGS
-EVAS_SOFTWARE_16_DDRAW_LIBS
-BUILD_ECORE_WINCE_TRUE
-BUILD_ECORE_WINCE_FALSE
-ecore_wince_cflags
-ecore_wince_libs
-EVAS_SOFTWARE_16_WINCE_CFLAGS
-EVAS_SOFTWARE_16_WINCE_LIBS
-DIRECTFB_CFLAGS
-DIRECTFB_LIBS
-BUILD_ECORE_DIRECTFB_TRUE
-BUILD_ECORE_DIRECTFB_FALSE
-ecore_directfb_cflags
-ecore_directfb_libs
-EVAS_DIRECTFB_CFLAGS
-EVAS_DIRECTFB_LIBS
-BUILD_ECORE_FB_TRUE
-BUILD_ECORE_FB_FALSE
-ecore_fb_cflags
-ecore_fb_libs
-tslib_libs
-EVAS_FB_CFLAGS
-EVAS_FB_LIBS
-SDL_CONFIG
-BUILD_ECORE_SDL_TRUE
-BUILD_ECORE_SDL_FALSE
-ecore_sdl_cflags
-ecore_sdl_libs
-SDL_CFLAGS
-SDL_LIBS
-EVAS_SOFTWARE_SDL_CFLAGS
-EVAS_SOFTWARE_SDL_LIBS
-BUILD_ECORE_QUARTZ_TRUE
-BUILD_ECORE_QUARTZ_FALSE
-ecore_quartz_cflags
-ecore_quartz_libs
-QUARTZ_CFLAGS
-QUARTZ_LIBS
-EVAS_QUARTZ_CFLAGS
-EVAS_QUARTZ_LIBS
-EVAS_SOFTWARE_BUFFER_CFLAGS
-EVAS_SOFTWARE_BUFFER_LIBS
+BUILD_ECORE_X_XLIB_TRUE
+BUILD_ECORE_X_XLIB_FALSE
+BUILD_ECORE_X_XCB_TRUE
+BUILD_ECORE_X_XCB_FALSE
+EVAS_CFLAGS
+EVAS_LIBS
+OBJCPP
+quartz_ldflags
+WIN32_CPPFLAGS
+WIN32_CFLAGS
+lt_enable_auto_import
+ALLOCA
+BUILD_ECORE_JOB_TRUE
+BUILD_ECORE_JOB_FALSE
+ecore_job_cflags
+ecore_job_libs
+BUILD_ECORE_TXT_TRUE
+BUILD_ECORE_TXT_FALSE
+ecore_txt_cflags
+ecore_txt_libs
+BUILD_ECORE_CON_TRUE
+BUILD_ECORE_CON_FALSE
+ecore_con_cflags
+ecore_con_libs
+CURL_CFLAGS
+CURL_LIBS
+TLS_CFLAGS
+TLS_LIBS
+TLS2_CFLAGS
+TLS2_LIBS
+SSL_CFLAGS
+SSL_LIBS
+BUILD_ECORE_IPC_TRUE
+BUILD_ECORE_IPC_FALSE
+ecore_ipc_cflags
+ecore_ipc_libs
 BUILD_ECORE_FILE_TRUE
 BUILD_ECORE_FILE_FALSE
 ecore_file_cflags
 ecore_file_libs
+BUILD_ECORE_CONFIG_TRUE
+BUILD_ECORE_CONFIG_FALSE
+ecore_config_cflags
+ecore_config_libs
 BUILD_ECORE_IMF_TRUE
 BUILD_ECORE_IMF_FALSE
 ecore_imf_cflags
@@ -1064,26 +1046,62 @@ BUILD_ECORE_IMF_EVAS_TRUE
 BUILD_ECORE_IMF_EVAS_FALSE
 ecore_imf_evas_cflags
 ecore_imf_evas_libs
-efl_have_doxygen
-efl_doxygen
-EFL_BUILD_DOC_TRUE
-EFL_BUILD_DOC_FALSE
+BUILD_ECORE_INPUT_TRUE
+BUILD_ECORE_INPUT_FALSE
+ecore_input_cflags
+ecore_input_libs
+BUILD_ECORE_X_TRUE
+BUILD_ECORE_X_FALSE
+ecore_x_cflags
+ecore_x_libs
+BUILD_ECORE_WIN32_TRUE
+BUILD_ECORE_WIN32_FALSE
+ecore_win32_cflags
+ecore_win32_libs
+BUILD_ECORE_QUARTZ_TRUE
+BUILD_ECORE_QUARTZ_FALSE
+ecore_quartz_cflags
+ecore_quartz_libs
+BUILD_ECORE_SDL_TRUE
+BUILD_ECORE_SDL_FALSE
+ecore_sdl_cflags
+ecore_sdl_libs
+BUILD_ECORE_FB_TRUE
+BUILD_ECORE_FB_FALSE
+ecore_fb_cflags
+ecore_fb_libs
+TSLIB_CFLAGS
+TSLIB_LIBS
+BUILD_ECORE_DIRECTFB_TRUE
+BUILD_ECORE_DIRECTFB_FALSE
+ecore_directfb_cflags
+ecore_directfb_libs
+BUILD_ECORE_WINCE_TRUE
+BUILD_ECORE_WINCE_FALSE
+ecore_wince_cflags
+ecore_wince_libs
+BUILD_ECORE_EVAS_TRUE
+BUILD_ECORE_EVAS_FALSE
+ecore_evas_cflags
+ecore_evas_libs
+requirements_ecore
 requirements_ecore_con
 requirements_ecore_config
 requirements_ecore_directfb
 requirements_ecore_evas
 requirements_ecore_fb
 requirements_ecore_file
+requirements_ecore_imf
+requirements_ecore_imf_evas
+requirements_ecore_input
 requirements_ecore_ipc
 requirements_ecore_job
+requirements_ecore_quartz
+requirements_ecore_sdl
 requirements_ecore_txt
 requirements_ecore_x
-requirements_ecore_sdl
-requirements_ecore_quartz
-BUILD_ECORE_X_XLIB_TRUE
-BUILD_ECORE_X_XLIB_FALSE
-BUILD_ECORE_X_XCB_TRUE
-BUILD_ECORE_X_XCB_FALSE
+requirements_ecore_win32
+requirements_ecore_wince
 LIBOBJS
 LTLIBOBJS'
 ac_subst_files=''
@@ -1095,30 +1113,24 @@ CFLAGS
 LDFLAGS
 LIBS
 CPPFLAGS
-CXX
-CXXFLAGS
-CCC
 CPP
 OBJC
 OBJCFLAGS
+CXX
+CXXFLAGS
+CCC
 CXXCPP
 PKG_CONFIG
-EINA_CFLAGS
-EINA_LIBS
 EVIL_CFLAGS
 EVIL_LIBS
-TLS2_CFLAGS
-TLS2_LIBS
-TLS_CFLAGS
-TLS_LIBS
-SSL_CFLAGS
-SSL_LIBS
-CURL_CFLAGS
-CURL_LIBS
+EINA_CFLAGS
+EINA_LIBS
+SDL_CFLAGS
+SDL_LIBS
+DIRECTFB_CFLAGS
+DIRECTFB_LIBS
 EET_CFLAGS
 EET_LIBS
-EVAS_CFLAGS
-EVAS_LIBS
 XCB_CFLAGS
 XCB_LIBS
 XCB_COMPOSITE_CFLAGS
@@ -1146,42 +1158,19 @@ XCB_XPRINT_LIBS
 XCB_XTEST_CFLAGS
 XCB_XTEST_LIBS
 XMKMF
-EVAS_SOFTWARE_X11_CFLAGS
-EVAS_SOFTWARE_X11_LIBS
-EVAS_OPENGL_X11_CFLAGS
-EVAS_OPENGL_X11_LIBS
-EVAS_XRENDER_X11_CFLAGS
-EVAS_XRENDER_X11_LIBS
-EVAS_SOFTWARE_16_X11_CFLAGS
-EVAS_SOFTWARE_16_X11_LIBS
-EVAS_SOFTWARE_XCB_CFLAGS
-EVAS_SOFTWARE_XCB_LIBS
-EVAS_XRENDER_XCB_CFLAGS
-EVAS_XRENDER_XCB_LIBS
-EVAS_SOFTWARE_DDRAW_CFLAGS
-EVAS_SOFTWARE_DDRAW_LIBS
-EVAS_DIRECT3D_CFLAGS
-EVAS_DIRECT3D_LIBS
-EVAS_OPENGL_GLEW_CFLAGS
-EVAS_OPENGL_GLEW_LIBS
-EVAS_SOFTWARE_16_DDRAW_CFLAGS
-EVAS_SOFTWARE_16_DDRAW_LIBS
-EVAS_SOFTWARE_16_WINCE_CFLAGS
-EVAS_SOFTWARE_16_WINCE_LIBS
-DIRECTFB_CFLAGS
-DIRECTFB_LIBS
-EVAS_DIRECTFB_CFLAGS
-EVAS_DIRECTFB_LIBS
-EVAS_FB_CFLAGS
-EVAS_FB_LIBS
-EVAS_SOFTWARE_SDL_CFLAGS
-EVAS_SOFTWARE_SDL_LIBS
-SDL_CFLAGS
-SDL_LIBS
-EVAS_QUARTZ_CFLAGS
-EVAS_QUARTZ_LIBS
-EVAS_SOFTWARE_BUFFER_CFLAGS
-EVAS_SOFTWARE_BUFFER_LIBS'
+EVAS_CFLAGS
+EVAS_LIBS
+OBJCPP
+CURL_CFLAGS
+CURL_LIBS
+TLS_CFLAGS
+TLS_LIBS
+TLS2_CFLAGS
+TLS2_LIBS
+SSL_CFLAGS
+SSL_LIBS
+TSLIB_CFLAGS
+TSLIB_LIBS'
 
 
 # Initialize some variables set by options.
@@ -1684,7 +1673,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 0.9.9.050 to adapt to many kinds of systems.
+\`configure' configures ecore 0.9.9.060 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1758,7 +1747,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ecore 0.9.9.050:";;
+     short | recursive ) echo "Configuration of ecore 0.9.9.060:";;
    esac
   cat <<\_ACEOF
 
@@ -1772,83 +1761,118 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
-  --disable-gnutls        disable gnutls support
-  --disable-openssl       disable openssl support
-  --disable-curl          disable curl support
   --disable-abstract-sockets
                           disable abstract sockets.
-  --disable-ecore-job     disable the ecore_job module. [default=enabled]
-  --disable-ecore-con     disable the ecore_con module. [default=enabled]
-  --disable-ecore-ipc     disable the ecore_ipc module. [default=enabled]
-  --disable-ecore-config  disable the ecore_config module. [default=enabled]
-  --disable-ecore-txt     disable the ecore_txt module. [default=enabled]
-  --disable-ecore-evas    disable the ecore_evas module. [default=enabled]
   --enable-simple-x11     enable simple x11 linking
+  --disable-doc           Disable documentation build [default=enabled]
   --enable-ecore-x-xcb    enable the ecore_x module with XCB backend.
-                          [default=disabled]
-  --disable-ecore-x       disable the ecore_x module. [default=enabled]
-  --enable-ecore-evas-opengl-x11
-                          enable OpenGL Xlib support in the ecore_evas module.
+                          [[default=disabled]]
+  --disable-atfile-source disable use of atfile source functions as openat and
+                          mkdirat [default=detect]
+  --enable-ecore-job      enable the ecore_job module. [[default=disabled]]
+  --disable-ecore-job     disable the ecore_job module. [[default=enabled]]
+  --disable-curl          disable curl support
+  --disable-gnutls        disable gnutls support
+  --disable-openssl       disable openssl support
+  --disable-poll          disable poll in the ecore_file module
+  --disable-inotify       disable inotify in the ecore_file module
+  --enable-ecore-evas-software-buffer
+                          enable Software Buffer support in the ecore_evas
+                          module.
+  --disable-ecore-evas-software-buffer
+                          disable Software Buffer support in the ecore_evas
+                          module.
+  --enable-ecore-evas-software-x11
+                          enable Software Xlib support in the ecore_evas
+                          module.
+  --disable-ecore-evas-software-x11
+                          disable Software Xlib support in the ecore_evas
+                          module.
+  --enable-ecore-evas-xrender-x11
+                          enable XRender Xlib support in the ecore_evas
+                          module.
   --disable-ecore-evas-xrender-x11
                           disable XRender Xlib support in the ecore_evas
-                          module. [default=enabled]
+                          module.
+  --enable-ecore-evas-opengl-x11
+                          enable OpenGL Xlib support in the ecore_evas module.
+  --disable-ecore-evas-opengl-x11
+                          disable OpenGL Xlib support in the ecore_evas
+                          module.
   --enable-ecore-evas-software-16-x11
-                          enable 16bpp optimized mode support in the
-                          ecore_evas module. [default=disabled]
+                          enable Software Xlib 16 bits support in the
+                          ecore_evas module.
+  --disable-ecore-evas-software-16-x11
+                          disable Software Xlib 16 bits support in the
+                          ecore_evas module.
   --enable-ecore-evas-software-xcb
                           enable Software XCB support in the ecore_evas
                           module.
+  --disable-ecore-evas-software-xcb
+                          disable Software XCB support in the ecore_evas
+                          module.
   --enable-ecore-evas-xrender-xcb
                           enable XRender XCB support in the ecore_evas module.
-  --enable-ecore-win32    enable the ecore_win32 module. [default=disabled]
+  --disable-ecore-evas-xrender-xcb
+                          disable XRender XCB support in the ecore_evas
+                          module.
   --enable-ecore-evas-software-ddraw
                           enable Software DirectDraw support in the ecore_evas
                           module.
+  --disable-ecore-evas-software-ddraw
+                          disable Software DirectDraw support in the
+                          ecore_evas module.
   --enable-ecore-evas-direct3d
                           enable Direct3d support in the ecore_evas module.
+  --disable-ecore-evas-direct3d
+                          disable Direct3d support in the ecore_evas module.
   --enable-ecore-evas-opengl-glew
                           enable Glew OpenGL support in the ecore_evas module.
+  --disable-ecore-evas-opengl-glew
+                          disable Glew OpenGL support in the ecore_evas
+                          module.
   --enable-ecore-evas-software-16-ddraw
                           enable 16 bpp Software DirectDraw support in the
                           ecore_evas module.
-  --enable-ecore-wince    enable the ecore_wince module. [default=disabled]
+  --disable-ecore-evas-software-16-ddraw
+                          disable 16 bpp Software DirectDraw support in the
+                          ecore_evas module.
+  --enable-ecore-evas-quartz
+                          enable Quartz support in the ecore_evas module.
+  --disable-ecore-evas-quartz
+                          disable Quartz support in the ecore_evas module.
+  --enable-ecore-evas-software-sdl
+                          enable Software SDL support in the ecore_evas
+                          module.
+  --disable-ecore-evas-software-sdl
+                          disable Software SDL support in the ecore_evas
+                          module.
+  --enable-ecore-evas-directfb
+                          enable DirectFB support in the ecore_evas module.
+  --disable-ecore-evas-directfb
+                          disable DirectFB support in the ecore_evas module.
+  --enable-ecore-evas-fb  enable Linux Framebuffer support in the ecore_evas
+                          module.
+  --disable-ecore-evas-fb disable Linux Framebuffer support in the ecore_evas
+                          module.
   --enable-ecore-evas-software-16-wince
                           enable 16 bpp Software Windows CE support in the
                           ecore_evas module.
-  --enable-ecore-directfb
-                          enable the ecore_directfb module. [default=disabled]
-  --disable-ecore-evas-dfb
-                          disable DirectFB in the ecore_evas module
-  --enable-ecore-fb       enable the ecore_fb module. [default=disabled]
-  --disable-ecore-evas-fb disable fb in the ecore_evas module
-  --enable-ecore-sdl      enable the ecore_sdl module. [default=disabled]
-  --disable-ecore-evas-sdl
-                          disable SDL in the ecore_evas module
-  --enable-ecore-quartz   enable the ecore_quartz module. [default=disabled]
-  --disable-ecore-evas-quartz
-                          disable Quartz in the ecore_evas module
-  --disable-ecore-evas-buffer
-                          disable buffer in the ecore_evas module
-  --disable-ecore-file    disable the ecore_file module. [default=enabled]
-  --disable-inotify       disable inotify in the ecore_file module
-  --disable-poll          disable poll in the ecore_file module
-  --disable-ecore-imf     disable the ecore_imf module. [default=enabled]
-  --disable-ecore-imf_evas
-                          disable the ecore_imf_evas module. [default=enabled]
-  --disable-doc           Disable documentation build [default=enabled]
+  --disable-ecore-evas-software-16-wince
+                          disable 16 bpp Software Windows CE support in the
+                          ecore_evas module.
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
-  --with-tags[=TAGS]      include additional configurations [automatic]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-doxygen=FILE     doxygen program to use [default=doxygen]
   --with-iconv-link=ICONV_LINK
                           explicitly specify an iconv link option
-  --with-x                use the X Window System
   --with-sdl-config=PATH  use sdl-config specified
-  --with-doxygen=FILE     doxygen program to use [default=doxygen]
+  --with-x                use the X Window System
 
 Some influential environment variables:
   CC          C compiler command
@@ -1858,29 +1882,25 @@ Some influential environment variables:
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
   CPP         C preprocessor
   OBJC        Objective C compiler command
   OBJCFLAGS   Objective C compiler flags
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
   CXXCPP      C++ preprocessor
   PKG_CONFIG  path to pkg-config utility
-  EINA_CFLAGS C compiler flags for EINA, overriding pkg-config
-  EINA_LIBS   linker flags for EINA, overriding pkg-config
   EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config
   EVIL_LIBS   linker flags for EVIL, overriding pkg-config
-  TLS2_CFLAGS C compiler flags for TLS2, overriding pkg-config
-  TLS2_LIBS   linker flags for TLS2, overriding pkg-config
-  TLS_CFLAGS  C compiler flags for TLS, overriding pkg-config
-  TLS_LIBS    linker flags for TLS, overriding pkg-config
-  SSL_CFLAGS  C compiler flags for SSL, overriding pkg-config
-  SSL_LIBS    linker flags for SSL, overriding pkg-config
-  CURL_CFLAGS C compiler flags for CURL, overriding pkg-config
-  CURL_LIBS   linker flags for CURL, overriding pkg-config
+  EINA_CFLAGS C compiler flags for EINA, overriding pkg-config
+  EINA_LIBS   linker flags for EINA, overriding pkg-config
+  SDL_CFLAGS  C compiler flags for SDL, overriding pkg-config
+  SDL_LIBS    linker flags for SDL, overriding pkg-config
+  DIRECTFB_CFLAGS
+              C compiler flags for DIRECTFB, overriding pkg-config
+  DIRECTFB_LIBS
+              linker flags for DIRECTFB, overriding pkg-config
   EET_CFLAGS  C compiler flags for EET, overriding pkg-config
   EET_LIBS    linker flags for EET, overriding pkg-config
-  EVAS_CFLAGS C compiler flags for EVAS, overriding pkg-config
-  EVAS_LIBS   linker flags for EVAS, overriding pkg-config
   XCB_CFLAGS  C compiler flags for XCB, overriding pkg-config
   XCB_LIBS    linker flags for XCB, overriding pkg-config
   XCB_COMPOSITE_CFLAGS
@@ -1932,78 +1952,20 @@ Some influential environment variables:
   XCB_XTEST_LIBS
               linker flags for XCB_XTEST, overriding pkg-config
   XMKMF       Path to xmkmf, Makefile generator for X Window System
-  EVAS_SOFTWARE_X11_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_X11, overriding pkg-config
-  EVAS_SOFTWARE_X11_LIBS
-              linker flags for EVAS_SOFTWARE_X11, overriding pkg-config
-  EVAS_OPENGL_X11_CFLAGS
-              C compiler flags for EVAS_OPENGL_X11, overriding pkg-config
-  EVAS_OPENGL_X11_LIBS
-              linker flags for EVAS_OPENGL_X11, overriding pkg-config
-  EVAS_XRENDER_X11_CFLAGS
-              C compiler flags for EVAS_XRENDER_X11, overriding pkg-config
-  EVAS_XRENDER_X11_LIBS
-              linker flags for EVAS_XRENDER_X11, overriding pkg-config
-  EVAS_SOFTWARE_16_X11_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_16_X11, overriding pkg-config
-  EVAS_SOFTWARE_16_X11_LIBS
-              linker flags for EVAS_SOFTWARE_16_X11, overriding pkg-config
-  EVAS_SOFTWARE_XCB_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_XCB, overriding pkg-config
-  EVAS_SOFTWARE_XCB_LIBS
-              linker flags for EVAS_SOFTWARE_XCB, overriding pkg-config
-  EVAS_XRENDER_XCB_CFLAGS
-              C compiler flags for EVAS_XRENDER_XCB, overriding pkg-config
-  EVAS_XRENDER_XCB_LIBS
-              linker flags for EVAS_XRENDER_XCB, overriding pkg-config
-  EVAS_SOFTWARE_DDRAW_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_DDRAW, overriding pkg-config
-  EVAS_SOFTWARE_DDRAW_LIBS
-              linker flags for EVAS_SOFTWARE_DDRAW, overriding pkg-config
-  EVAS_DIRECT3D_CFLAGS
-              C compiler flags for EVAS_DIRECT3D, overriding pkg-config
-  EVAS_DIRECT3D_LIBS
-              linker flags for EVAS_DIRECT3D, overriding pkg-config
-  EVAS_OPENGL_GLEW_CFLAGS
-              C compiler flags for EVAS_OPENGL_GLEW, overriding pkg-config
-  EVAS_OPENGL_GLEW_LIBS
-              linker flags for EVAS_OPENGL_GLEW, overriding pkg-config
-  EVAS_SOFTWARE_16_DDRAW_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_16_DDRAW, overriding
-              pkg-config
-  EVAS_SOFTWARE_16_DDRAW_LIBS
-              linker flags for EVAS_SOFTWARE_16_DDRAW, overriding pkg-config
-  EVAS_SOFTWARE_16_WINCE_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_16_WINCE, overriding
-              pkg-config
-  EVAS_SOFTWARE_16_WINCE_LIBS
-              linker flags for EVAS_SOFTWARE_16_WINCE, overriding pkg-config
-  DIRECTFB_CFLAGS
-              C compiler flags for DIRECTFB, overriding pkg-config
-  DIRECTFB_LIBS
-              linker flags for DIRECTFB, overriding pkg-config
-  EVAS_DIRECTFB_CFLAGS
-              C compiler flags for EVAS_DIRECTFB, overriding pkg-config
-  EVAS_DIRECTFB_LIBS
-              linker flags for EVAS_DIRECTFB, overriding pkg-config
-  EVAS_FB_CFLAGS
-              C compiler flags for EVAS_FB, overriding pkg-config
-  EVAS_FB_LIBS
-              linker flags for EVAS_FB, overriding pkg-config
-  EVAS_SOFTWARE_SDL_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_SDL, overriding pkg-config
-  EVAS_SOFTWARE_SDL_LIBS
-              linker flags for EVAS_SOFTWARE_SDL, overriding pkg-config
-  SDL_CFLAGS  C compiler flags for SDL, overriding pkg-config
-  SDL_LIBS    linker flags for SDL, overriding pkg-config
-  EVAS_QUARTZ_CFLAGS
-              C compiler flags for EVAS_QUARTZ, overriding pkg-config
-  EVAS_QUARTZ_LIBS
-              linker flags for EVAS_QUARTZ, overriding pkg-config
-  EVAS_SOFTWARE_BUFFER_CFLAGS
-              C compiler flags for EVAS_SOFTWARE_BUFFER, overriding pkg-config
-  EVAS_SOFTWARE_BUFFER_LIBS
-              linker flags for EVAS_SOFTWARE_BUFFER, overriding pkg-config
+  EVAS_CFLAGS C compiler flags for EVAS, overriding pkg-config
+  EVAS_LIBS   linker flags for EVAS, overriding pkg-config
+  OBJCPP      Objective C preprocessor
+  CURL_CFLAGS C compiler flags for CURL, overriding pkg-config
+  CURL_LIBS   linker flags for CURL, overriding pkg-config
+  TLS_CFLAGS  C compiler flags for TLS, overriding pkg-config
+  TLS_LIBS    linker flags for TLS, overriding pkg-config
+  TLS2_CFLAGS C compiler flags for TLS2, overriding pkg-config
+  TLS2_LIBS   linker flags for TLS2, overriding pkg-config
+  SSL_CFLAGS  C compiler flags for SSL, overriding pkg-config
+  SSL_LIBS    linker flags for SSL, overriding pkg-config
+  TSLIB_CFLAGS
+              C compiler flags for TSLIB, overriding pkg-config
+  TSLIB_LIBS  linker flags for TSLIB, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -2069,7 +2031,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ecore configure 0.9.9.050
+ecore configure 0.9.9.060
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -2083,7 +2045,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 0.9.9.050, which was
+It was created by ecore $as_me 0.9.9.060, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2438,6 +2400,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
   if test -f "$ac_dir/install-sh"; then
@@ -3924,7 +3887,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ecore'
- VERSION='0.9.9.050'
+ VERSION='0.9.9.060'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4181,27 +4144,26 @@ fi
 ac_config_headers="$ac_config_headers config.h"
 
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+cat >>confdefs.h <<\_ACEOF
+#define _GNU_SOURCE 1
+_ACEOF
+
+
+
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
+if test "${ac_cv_prog_AS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+  if test -n "$AS"; then
+  ac_cv_prog_AS="$AS" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -4210,7 +4172,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    ac_cv_prog_AS="${ac_tool_prefix}as"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4220,32 +4182,28 @@ IFS=$as_save_IFS
 
 fi
 fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+  { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-    test -n "$CXX" && break
-  done
 fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -z "$ac_cv_prog_AS"; then
+  ac_ct_AS=$AS
+  # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+  if test -n "$ac_ct_AS"; then
+  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -4254,7 +4212,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    ac_cv_prog_ac_ct_AS="as"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4264,21 +4222,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
+echo "${ECHO_T}$ac_ct_AS" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
+  if test "x$ac_ct_AS" = x; then
+    AS="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -4290,598 +4244,347 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    CXX=$ac_ct_CXX
+    AS=$ac_ct_AS
   fi
+else
+  AS="$ac_cv_prog_AS"
 fi
 
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_DLLTOOL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
+echo "${ECHO_T}$DLLTOOL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
 
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
+echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-	ac_compiler_gnu=no
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
+echo "${ECHO_T}$OBJDUMP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-int
-main ()
-{
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
+echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
 
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  ;;
+esac
 
-int
-main ()
-{
+test -z "$AS" && AS=as
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+case `pwd` in
+  *\ * | *\	*)
+    { echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+macro_version='2.2.4'
+macro_revision='1.2976'
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-depcc="$CXX"  am_compiler_list=
 
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
 
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
 
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
 
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
+if test "${ac_cv_path_SED+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" | sed 99q >conftest.sed
+     $as_unset ac_script || ac_script=
+     # Extract the first word of "sed gsed" to use in msg output
+if test -z "$SED"; then
+set dummy sed gsed; ac_prog_name=$2
+if test "${ac_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_SED_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in sed gsed; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+    # Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    $ac_path_SED_found && break 3
+  done
+done
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
+done
+IFS=$as_save_IFS
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
 fi
 
-    done
-    ac_cv_prog_CPP=$CPP
-
+SED="$ac_cv_path_SED"
+if test -z "$SED"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in \$PATH" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
 fi
-  CPP=$ac_cv_prog_CPP
+
 else
-  ac_cv_prog_CPP=$CPP
+  ac_cv_path_SED=$SED
 fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Broken: fails on valid input.
-continue
 fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
+echo "${ECHO_T}$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
 
-rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
 
-rm -f conftest.err conftest.$ac_ext
 
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
@@ -5046,181 +4749,91 @@ echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for fgrep" >&5
+echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     # Extract the first word of "fgrep" to use in msg output
+if test -z "$FGREP"; then
+set dummy fgrep; ac_prog_name=$2
+if test "${ac_cv_path_FGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_path_FGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in fgrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+    # Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
 
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
+    $ac_path_FGREP_found && break 3
+  done
+done
 
-fi
+done
+IFS=$as_save_IFS
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
 fi
-rm -f conftest*
 
+FGREP="$ac_cv_path_FGREP"
+if test -z "$FGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+  ac_cv_path_FGREP=$FGREP
 fi
 
 
+   fi
 fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
+{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
 
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
 
-fi
+test -z "$GREP" && GREP=grep
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
 
 
 
@@ -5230,512 +4843,195 @@ fi
 
 
 
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
 
-done
-
-
-{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/param.h>
 
-int
-main ()
-{
-#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
-	&& BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
- bogus endian macros
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/param.h>
 
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_c_bigendian=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_c_bigendian=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
-  # try to guess the endianness by grepping values into an object file
-  ac_cv_c_bigendian=unknown
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
-  ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-  if test "$ac_cv_c_bigendian" = unknown; then
-    ac_cv_c_bigendian=no
-  else
-    # finding both strings is unlikely to happen, but who knows?
-    ac_cv_c_bigendian=unknown
-  fi
-fi
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+  with_gnu_ld=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-  /* Are we little or big endian?  From Harbison&Steele.  */
-  union
-  {
-    long int l;
-    char c[sizeof (long int)];
-  } u;
-  u.l = 1;
-  return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_c_bigendian=no
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
+echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
-case $ac_cv_c_bigendian in
-  yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
-  no)
-     ;;
-  *)
-    { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
-   { (exit 1); exit 1; }; } ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${lt_cv_path_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
 esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
 fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
 
 
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+
+
+
+
+
+{ echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5
+echo $ECHO_N "checking for BSD- or MS-compatible name lister (nm)... $ECHO_C" >&6; }
+if test "${lt_cv_path_NM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
 else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
   fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
 fi
 fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
+echo "${ECHO_T}$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
+  # Didn't find any BSD compatible name lister, look for dumpbin.
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -5744,7 +5040,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -5754,32 +5050,32 @@ IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { echo "$as_me:$LINENO: result: $DUMPBIN" >&5
+echo "${ECHO_T}$DUMPBIN" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-    test -n "$CC" && break
+    test -n "$DUMPBIN" && break
   done
 fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -5788,7 +5084,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -5798,21 +5094,21 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
+echo "${ECHO_T}$ac_ct_DUMPBIN" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-  test -n "$ac_ct_CC" && break
+  test -n "$ac_ct_DUMPBIN" && break
 done
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -5824,398 +5120,500 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    CC=$ac_ct_CC
+    DUMPBIN=$ac_ct_DUMPBIN
   fi
 fi
 
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
 fi
+test -z "$NM" && NM=nm
 
 
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
 
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
 
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
+
+
+{ echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5
+echo $ECHO_N "checking the name lister ($NM) interface... $ECHO_C" >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:5146: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:5149: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:5152: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
+echo "${ECHO_T}$lt_cv_nm_interface" >&6; }
 
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
+fi
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
+# find the maximum length of command line arguments
+{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+    i=0
+  teststring="ABCD"
 
-	ac_compiler_gnu=no
-fi
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
 else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+  { echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5
+echo $ECHO_N "checking whether the shell understands some XSI constructs... $ECHO_C" >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ echo "$as_me:$LINENO: result: $xsi_shell" >&5
+echo "${ECHO_T}$xsi_shell" >&6; }
+
+
+{ echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5
+echo $ECHO_N "checking whether the shell understands \"+=\"... $ECHO_C" >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ echo "$as_me:$LINENO: result: $lt_shell_append" >&5
+echo "${ECHO_T}$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  lt_unset=false
+fi
 
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+
+
+
+
+
+
+{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+
+{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
+echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
 
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-fi
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
   else
-    CFLAGS="-g"
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
   fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
   else
-    CFLAGS=
+    lt_cv_deplibs_check_method=pass_all
   fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
+  ;;
 
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
 
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-fi
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
+netbsd* | netbsdelf*-gnu)
+  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
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
 
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
 esac
 
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6224,7 +5622,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6234,10 +5632,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -6245,17 +5643,17 @@ fi
 
 
 fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6264,7 +5662,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
+    ac_cv_prog_ac_ct_AR="ar"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6274,17 +5672,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
+echo "${ECHO_T}$ac_ct_AR" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -6296,122 +5694,35 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    CC=$ac_ct_CC
+    AR=$ac_ct_AR
   fi
 else
-  CC="$ac_cv_prog_CC"
+  AR="$ac_cv_prog_AR"
 fi
 
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
 
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
 
 
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
 
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
 
 
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
+if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6420,7 +5731,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6430,32 +5741,28 @@ IFS=$as_save_IFS
 
 fi
 fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-    test -n "$CC" && break
-  done
 fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6464,7 +5771,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
+    ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6474,21 +5781,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -6500,403 +5803,29 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
+    STRIP=$ac_ct_STRIP
   fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
+test -z "$STRIP" && STRIP=:
 
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
 
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
 
-ac_ext=m
-ac_cpp='$OBJCPP $CPPFLAGS'
-ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_objc_compiler_gnu
 if test -n "$ac_tool_prefix"; then
-  for ac_prog in gcc objcc objc cc CC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_OBJC+set}" = set; then
+if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$OBJC"; then
-  ac_cv_prog_OBJC="$OBJC" # Let the user override the test.
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6905,7 +5834,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJC="$ac_tool_prefix$ac_prog"
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6915,32 +5844,28 @@ IFS=$as_save_IFS
 
 fi
 fi
-OBJC=$ac_cv_prog_OBJC
-if test -n "$OBJC"; then
-  { echo "$as_me:$LINENO: result: $OBJC" >&5
-echo "${ECHO_T}$OBJC" >&6; }
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
 
-    test -n "$OBJC" && break
-  done
 fi
-if test -z "$OBJC"; then
-  ac_ct_OBJC=$OBJC
-  for ac_prog in gcc objcc objc cc CC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_OBJC"; then
-  ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # Let the user override the test.
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -6949,7 +5874,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJC="$ac_prog"
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -6959,21 +5884,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_OBJC=$ac_cv_prog_ac_ct_OBJC
-if test -n "$ac_ct_OBJC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_OBJC" >&5
-echo "${ECHO_T}$ac_ct_OBJC" >&6; }
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-
-  test -n "$ac_ct_OBJC" && break
-done
-
-  if test "x$ac_ct_OBJC" = x; then
-    OBJC="gcc"
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -6985,2142 +5906,327 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    OBJC=$ac_ct_OBJC
+    RANLIB=$ac_ct_RANLIB
   fi
-fi
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Objective C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Objective C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Objective C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_objc_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_objc_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_objc_compiler_gnu=$ac_compiler_gnu
-
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objc_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_objc_compiler_gnu" >&6; }
-GOBJC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_OBJCFLAGS=${OBJCFLAGS+set}
-ac_save_OBJCFLAGS=$OBJCFLAGS
-{ echo "$as_me:$LINENO: checking whether $OBJC accepts -g" >&5
-echo $ECHO_N "checking whether $OBJC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_objc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_objc_werror_flag=$ac_objc_werror_flag
-   ac_objc_werror_flag=yes
-   ac_cv_prog_objc_g=no
-   OBJCFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_objc_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_objc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	OBJCFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+test -z "$RANLIB" && RANLIB=:
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_objc_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_objc_werror_flag=$ac_save_objc_werror_flag
-	 OBJCFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_objc_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_objc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
 
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_objc_werror_flag=$ac_save_objc_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_objc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_objc_g" >&6; }
-if test "$ac_test_OBJCFLAGS" = set; then
-  OBJCFLAGS=$ac_save_OBJCFLAGS
-elif test $ac_cv_prog_objc_g = yes; then
-  if test "$GOBJC" = yes; then
-    OBJCFLAGS="-g -O2"
-  else
-    OBJCFLAGS="-g"
-  fi
-else
-  if test "$GOBJC" = yes; then
-    OBJCFLAGS="-O2"
-  else
-    OBJCFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-depcc="$OBJC" am_compiler_list='gcc3 gcc'
 
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
 
-  am_cv_OBJC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_OBJC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
 
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_OBJC_dependencies_compiler_type=none
-fi
 
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_OBJC_dependencies_compiler_type" >&6; }
-OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
-  am__fastdepOBJC_TRUE=
-  am__fastdepOBJC_FALSE='#'
-else
-  am__fastdepOBJC_TRUE='#'
-  am__fastdepOBJC_FALSE=
-fi
 
 
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
 
-fi
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
 
-fi
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
 
 
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
 
-fi
 
-{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
-if test "${ac_cv_c_const+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
-  typedef int charset[2];
-  const charset cs;
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
 
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_c_const=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_c_const=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
 
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
 
-fi
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
 
-{ echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6; }
-if test "${ac_cv_type_int+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-typedef int ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
-  return 0;
-if (sizeof (ac__type_new_))
-  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_type_int=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 
-	ac_cv_type_int=no
-fi
+# Allow CC to be a program name with arguments.
+compiler=$CC
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6; }
 
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
+echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
 
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
-	ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef int ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
 
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
-	return 1;
-      fprintf (f, "%ld\n", i);
-    }
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
   else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
-	return 1;
-      fprintf (f, "%lu\n", i);
-    }
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_int=`cat conftest.val`
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_int" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_int=0
-   fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-{ echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6; }
-if test "${ac_cv_type_long+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-typedef long ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
-  return 0;
-if (sizeof (ac__type_new_))
-  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_type_long=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_long=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6; }
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr $ac_mid + 1`
-			if test $ac_lo -le $ac_mid; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_hi=`expr '(' $ac_mid ')' - 1`
-			if test $ac_mid -le $ac_hi; then
-			  ac_lo= ac_hi=
-			  break
-			fi
-			ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
-test_array [0] = 0
+  # Check to see that the pipe works correctly.
+  pipe_works=no
 
-  ;
-  return 0;
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-   typedef long ac__type_sizeof_;
-static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
-static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
-    {
-      long int i = longval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
-	return 1;
-      fprintf (f, "%ld\n", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != ((long int) (sizeof (ac__type_sizeof_))))
-	return 1;
-      fprintf (f, "%lu\n", i);
-    }
-  return ferror (f) || fclose (f) != 0;
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (exit $ac_status); }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_sizeof_long=`cat conftest.val`
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-if test "$ac_cv_type_long" = yes; then
-     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long)
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-   else
-     ac_cv_sizeof_long=0
-   fi
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-
+  (exit $ac_status); } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
 
-{ echo "$as_me:$LINENO: checking for __attribute__" >&5
-echo $ECHO_N "checking for __attribute__... $ECHO_C" >&6; }
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-if test "${ac_cv___attribute__+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
 
-#include <stdlib.h>
+	  cat <<_LT_EOF >> conftest.$ac_ext
 
-int func(int x);
-int foo(int x __attribute__ ((unused)))
-{
-   exit(1);
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
 }
-
-int
-main ()
+lt__PROGRAM__LTX_preloaded_symbols[] =
 {
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
 
-  ;
-  return 0;
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv___attribute__="yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv___attribute__="no"
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
-
-{ echo "$as_me:$LINENO: result: $ac_cv___attribute__" >&5
-echo "${ECHO_T}$ac_cv___attribute__" >&6; }
-
-if test "x${ac_cv___attribute__}" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE___ATTRIBUTE__ 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define __UNUSED__ __attribute__((unused))
-_ACEOF
-
-  else
-
-cat >>confdefs.h <<\_ACEOF
-#define __UNUSED__
-_ACEOF
-
-fi
-
-
-{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
-if test "${ac_cv_header_sys_wait_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
 #endif
 
-int
-main ()
-{
-  int s;
-  wait (&s);
-  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
-  ;
-  return 0;
+#ifdef __cplusplus
 }
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_sys_wait_h=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_sys_wait_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
-if test $ac_cv_header_sys_wait_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_WAIT_H 1
-_ACEOF
-
-fi
-
-
-
-
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
+  (exit $ac_status); } && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&5
 	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      else
+	echo "cannot find nm_test_var in $nlist" >&5
       fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
     break
+  else
+    lt_cv_sys_global_symbol_pipe=
   fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
 done
 
 fi
 
-SED=$lt_cv_path_SED
-
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
 fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
-
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
 else
-  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
 fi
 
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
 
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
 
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
 
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
 
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
 
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
 
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-netbsd* | netbsdelf*-gnu)
-  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
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
 
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
 
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
 
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
 
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
 
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
 
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
 
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
@@ -9141,55 +6247,55 @@ ia64-*-hpux*)
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
     case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
     esac
   fi
   rm -rf conftest*
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 9156 "configure"' > conftest.$ac_ext
+  echo '#line 6262 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
   fi
   rm -rf conftest*
   ;;
 
 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -9198,44 +6304,44 @@ s390*-*linux*|sparc*-*linux*)
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
     case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
     esac
   fi
   rm -rf conftest*
@@ -9326,7 +6432,7 @@ sparc*-*solaris*)
       case $lt_cv_prog_gnu_ld in
       yes*) LD="${LD-ld} -m elf64_sparc" ;;
       *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
 	fi
 	;;
@@ -9336,18 +6442,23 @@ sparc*-*solaris*)
   fi
   rm -rf conftest*
   ;;
+esac
 
-*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+need_locks="$enable_libtool_lock"
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DLLTOOL+set}" = set; then
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$DLLTOOL"; then
-  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9356,7 +6467,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9366,10 +6477,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-DLLTOOL=$ac_cv_prog_DLLTOOL
-if test -n "$DLLTOOL"; then
-  { echo "$as_me:$LINENO: result: $DLLTOOL" >&5
-echo "${ECHO_T}$DLLTOOL" >&6; }
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
+echo "${ECHO_T}$DSYMUTIL" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -9377,17 +6488,17 @@ fi
 
 
 fi
-if test -z "$ac_cv_prog_DLLTOOL"; then
-  ac_ct_DLLTOOL=$DLLTOOL
-  # Extract the first word of "dlltool", so it can be a program name with args.
-set dummy dlltool; ac_word=$2
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_DLLTOOL"; then
-  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9396,7 +6507,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9406,17 +6517,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
-if test -n "$ac_ct_DLLTOOL"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5
-echo "${ECHO_T}$ac_ct_DLLTOOL" >&6; }
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
+echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_ct_DLLTOOL" = x; then
-    DLLTOOL="false"
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -9428,22 +6539,22 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    DLLTOOL=$ac_ct_DLLTOOL
+    DSYMUTIL=$ac_ct_DSYMUTIL
   fi
 else
-  DLLTOOL="$ac_cv_prog_DLLTOOL"
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
 fi
 
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
-set dummy ${ac_tool_prefix}as; ac_word=$2
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AS+set}" = set; then
+if test "${ac_cv_prog_NMEDIT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$AS"; then
-  ac_cv_prog_AS="$AS" # Let the user override the test.
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9452,7 +6563,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AS="${ac_tool_prefix}as"
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9462,10 +6573,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-AS=$ac_cv_prog_AS
-if test -n "$AS"; then
-  { echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6; }
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { echo "$as_me:$LINENO: result: $NMEDIT" >&5
+echo "${ECHO_T}$NMEDIT" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -9473,17 +6584,17 @@ fi
 
 
 fi
-if test -z "$ac_cv_prog_AS"; then
-  ac_ct_AS=$AS
-  # Extract the first word of "as", so it can be a program name with args.
-set dummy as; ac_word=$2
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AS+set}" = set; then
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_AS"; then
-  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9492,7 +6603,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AS="as"
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9502,17 +6613,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_AS=$ac_cv_prog_ac_ct_AS
-if test -n "$ac_ct_AS"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_AS" >&5
-echo "${ECHO_T}$ac_ct_AS" >&6; }
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
+echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_ct_AS" = x; then
-    AS="false"
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -9524,22 +6635,22 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    AS=$ac_ct_AS
+    NMEDIT=$ac_ct_NMEDIT
   fi
 else
-  AS="$ac_cv_prog_AS"
+  NMEDIT="$ac_cv_prog_NMEDIT"
 fi
 
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then
+if test "${ac_cv_prog_LIPO+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9548,7 +6659,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9558,10 +6669,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { echo "$as_me:$LINENO: result: $OBJDUMP" >&5
-echo "${ECHO_T}$OBJDUMP" >&6; }
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { echo "$as_me:$LINENO: result: $LIPO" >&5
+echo "${ECHO_T}$LIPO" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -9569,17 +6680,17 @@ fi
 
 
 fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
 else
 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
@@ -9588,7 +6699,7 @@ do
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    ac_cv_prog_ac_ct_LIPO="lipo"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -9598,17 +6709,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5
-echo "${ECHO_T}$ac_ct_OBJDUMP" >&6; }
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5
+echo "${ECHO_T}$ac_ct_LIPO" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -9620,185 +6731,371 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    OBJDUMP=$ac_ct_OBJDUMP
+    LIPO=$ac_ct_LIPO
   fi
 else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
+  LIPO="$ac_cv_prog_LIPO"
 fi
 
-  ;;
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-esac
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { echo "$as_me:$LINENO: result: $OTOOL" >&5
+echo "${ECHO_T}$OTOOL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-need_locks="$enable_libtool_lock"
 
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5
+echo "${ECHO_T}$ac_ct_OTOOL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-for ac_header in dlfcn.h
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { echo "$as_me:$LINENO: result: $OTOOL64" >&5
+echo "${ECHO_T}$OTOOL64" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
 fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5
+echo "${ECHO_T}$ac_ct_OTOOL64" >&6; }
 else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
 esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+    OTOOL64=$ac_ct_OTOOL64
+  fi
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
+  OTOOL64="$ac_cv_prog_OTOOL64"
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
 
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
+echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&5
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
+echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
+    { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
+echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <$ac_header>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  lt_cv_ld_exported_symbols_list=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
+	lt_cv_ld_exported_symbols_list=no
 fi
 
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="$save_LDFLAGS"
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
+echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[012]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
     ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------------------------------- ##
-## Report this to enlightenment-devel at lists.sourceforge.net ##
-## -------------------------------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
     ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+  esac
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
 fi
-
-done
-
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
     do
       ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
@@ -9832,7 +7129,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then
   :
@@ -9869,7 +7166,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then
   # Broken: success on invalid input.
@@ -9893,17 +7190,17 @@ if $ac_preproc_ok; then
 fi
 
     done
-    ac_cv_prog_CXXCPP=$CXXCPP
+    ac_cv_prog_CPP=$CPP
 
 fi
-  CXXCPP=$ac_cv_prog_CXXCPP
+  CPP=$ac_cv_prog_CPP
 else
-  ac_cv_prog_CXXCPP=$CXXCPP
+  ac_cv_prog_CPP=$CPP
 fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
+for ac_c_preproc_warn_flag in '' yes
 do
   # Use a header file that comes with gcc, so configuring glibc
   # with a fresh cross-compiler works.
@@ -9937,7 +7234,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then
   :
@@ -9974,7 +7271,7 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then
   # Broken: success on invalid input.
@@ -9996,359 +7293,490 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-fi
 
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
+int
+main ()
+{
 
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_stdc=yes
 else
-    i=0
-  teststring="ABCD"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
+	ac_cv_header_stdc=no
+fi
 
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
 
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
+fi
 
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
 
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ 	]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
-	       = "XX$teststring") >/dev/null 2>&1 &&
-	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
-	      lt_cv_sys_max_cmd_len=$new_result &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
 fi
 
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
 else
-  { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
 
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
 
+fi
 
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
 
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
 
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
 
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
 
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
 
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDGIRSTW]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
 
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
 
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
 esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
+	eval "$as_ac_Header=no"
+fi
 
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+fi
 
-  # Check to see that the pipe works correctly.
-  pipe_works=no
+done
 
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
 
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-	if grep ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
+	eval "$as_ac_Header=no"
+fi
 
-EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
-	  cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
+fi
 
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
+done
 
-#ifdef __cplusplus
-}
-#endif
-EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
 	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
 
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
 
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
 fi
 
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then
+  withval=$with_pic; pic_mode="$withval"
+else
+  pic_mode=default
 fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
-  { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
 fi
 
 { echo "$as_me:$LINENO: checking for objdir" >&5
@@ -10374,6 +7802,26 @@ objdir=$lt_cv_objdir
 
 
 
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 case $host_os in
 aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some
@@ -10388,360 +7836,41 @@ esac
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 
 # Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
 # Sed substitution to delay expansion of an escaped shell variable in a
 # double_quote_subst'ed string.
 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
 
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
 # Sed substitution to avoid accidental globbing in evaled expressions
 no_glob_subst='s/\*/\\\*/g'
 
-# Constants:
-rm="rm -f"
-
 # Global variables:
-default_ofile=libtool
+ofile=libtool
 can_build_shared=yes
 
 # All known linkers require a `.a' archive for static linking (except MSVC,
 # which needs '.lib').
 libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
 
+with_gnu_ld="$lt_cv_prog_gnu_ld"
 
 old_CC="$CC"
 old_CFLAGS="$CFLAGS"
 
 # Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
 test -z "$CC" && CC=cc
 test -z "$LTCC" && LTCC=$CC
 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
 test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
 test -z "$ac_objext" && ac_objext=o
 
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
 for cc_temp in $compiler""; do
   case $cc_temp in
     compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
@@ -10750,10 +7879,11 @@ for cc_temp in $compiler""; do
     *) break;;
   esac
 done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
 # Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
 case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
@@ -10784,7 +7914,7 @@ else
 	    $EGREP "$file_magic_regex" > /dev/null; then
 	    :
 	  else
-	    cat <<EOF 1>&2
+	    cat <<_LT_EOF 1>&2
 
 *** Warning: the command libtool uses to detect shared libraries,
 *** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -10795,7 +7925,7 @@ else
 *** may want to report the problem to your system manager and/or to
 *** bug-libtool at gnu.org
 
-EOF
+_LT_EOF
 	  fi ;;
 	esac
       fi
@@ -10817,6 +7947,10 @@ else
 echo "${ECHO_T}no" >&6; }
 fi
 
+
+
+
+
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { echo "$as_me:$LINENO: checking for file" >&5
@@ -10846,7 +7980,7 @@ else
 	    $EGREP "$file_magic_regex" > /dev/null; then
 	    :
 	  else
-	    cat <<EOF 1>&2
+	    cat <<_LT_EOF 1>&2
 
 *** Warning: the command libtool uses to detect shared libraries,
 *** $file_magic_cmd, produces output that libtool cannot recognize.
@@ -10857,7 +7991,7 @@ else
 *** may want to report the problem to your system manager and/or to
 *** bug-libtool at gnu.org
 
-EOF
+_LT_EOF
 	  fi ;;
 	esac
       fi
@@ -10879,6 +8013,7 @@ else
 echo "${ECHO_T}no" >&6; }
 fi
 
+
   else
     MAGIC_CMD=:
   fi
@@ -10888,340 +8023,8 @@ fi
   ;;
 esac
 
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-
-    { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
-    { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  lt_cv_ld_exported_symbols_list=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	lt_cv_ld_exported_symbols_list=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[0123])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[012]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-
-enable_dlopen=no
-enable_win32_dll=yes
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
 # Use C for the default configuration in the libtool script
-tagname=
+
 lt_save_CC="$CC"
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -11244,6 +8047,11 @@ lt_simple_compile_test_code="int some_variable = 0;"
 lt_simple_link_test_code='int main(){return(0);}'
 
 
+
+
+
+
+
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
 
@@ -11253,35 +8061,42 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
 
 # save warnings/boilerplate of simple test code
 ac_outfile=conftest.$ac_objext
 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
 
 ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
+$RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
 
 if test "$GCC" = yes; then
   lt_prog_compiler_no_builtin_flag=' -fno-builtin'
 
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
+   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="-fno-rtti -fno-exceptions"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -11293,21 +8108,21 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11296: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8111: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11300: \$? = $ac_status" >&5
+   echo "$as_me:8115: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_rtti_exceptions=yes
      fi
    fi
-   $rm conftest*
+   $RM conftest*
 
 fi
 { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
@@ -11321,7 +8136,12 @@ fi
 
 fi
 
-lt_prog_compiler_wl=
+
+
+
+
+
+  lt_prog_compiler_wl=
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
@@ -11342,10 +8162,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       ;;
 
     amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
       ;;
 
     beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
@@ -11366,6 +8194,19 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       lt_prog_compiler_pic='-fno-common'
       ;;
 
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	lt_prog_compiler_pic='-fPIC'
+	;;
+      esac
+      ;;
+
     interix[3-9]*)
       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
       # Instead, we relocate shared libraries at runtime.
@@ -11378,25 +8219,18 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       enable_shared=no
       ;;
 
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
     sysv4*MP*)
       if test -d /usr/nec; then
 	lt_prog_compiler_pic=-Kconform_pic
       fi
       ;;
 
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='-fPIC'
-	;;
-      esac
-      ;;
-
     *)
       lt_prog_compiler_pic='-fPIC'
       ;;
@@ -11413,16 +8247,6 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic='-qnocommon'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
 
     mingw* | cygwin* | pw32* | os2*)
       # This hack is so that the source file can tell whether it is being
@@ -11452,14 +8276,9 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       lt_prog_compiler_static='-non_shared'
       ;;
 
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
     linux* | k*bsd*-gnu)
       case $cc_basename in
-      icc* | ecc*)
+      icc* | ecc* | ifort*)
 	lt_prog_compiler_wl='-Wl,'
 	lt_prog_compiler_pic='-KPIC'
 	lt_prog_compiler_static='-static'
@@ -11476,8 +8295,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
         # All Alpha code is PIC.
         lt_prog_compiler_static='-non_shared'
         ;;
+      xl*)
+	# IBM XL C 8.0/Fortran 10.1 on PPC
+	lt_prog_compiler_wl='-Wl,'
+	lt_prog_compiler_pic='-qpic'
+	lt_prog_compiler_static='-qstaticlink'
+	;;
       *)
-        case `$CC -V 2>&1 | sed 5q` in
+	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)
 	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
@@ -11495,6 +8320,17 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
       esac
       ;;
 
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
     osf3* | osf4* | osf5*)
       lt_prog_compiler_wl='-Wl,'
       # All OSF/1 code is PIC.
@@ -11557,21 +8393,34 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
     esac
   fi
 
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
 { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
 
+
+
+
+
+
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+  { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_pic_works=no
-  ac_outfile=conftest.$ac_objext
+   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -11583,21 +8432,21 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11586: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8435: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11590: \$? = $ac_status" >&5
+   echo "$as_me:8439: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works=yes
      fi
    fi
-   $rm conftest*
+   $RM conftest*
 
 fi
 { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
@@ -11614,15 +8463,11 @@ else
 fi
 
 fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
+
+
+
+
+
 
 #
 # Check to make sure the static flag actually works.
@@ -11643,7 +8488,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works=yes
@@ -11652,7 +8497,7 @@ else
        lt_cv_prog_compiler_static_works=yes
      fi
    fi
-   $rm -r conftest*
+   $RM -r conftest*
    LDFLAGS="$save_LDFLAGS"
 
 fi
@@ -11666,13 +8511,73 @@ else
 fi
 
 
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+
+
+
+
+
+  { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:8540: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:8544: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_c_o=no
-   $rm -r conftest 2>/dev/null
+   $RM -r conftest 2>/dev/null
    mkdir conftest
    cd conftest
    mkdir out
@@ -11687,43 +8592,45 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11690: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8595: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11694: \$? = $ac_status" >&5
+   echo "$as_me:8599: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o=yes
      fi
    fi
    chmod u+w . 2>&5
-   $rm conftest*
+   $RM conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
    cd ..
-   rmdir conftest
-   $rm conftest*
+   $RM -r conftest
+   $RM conftest*
 
 fi
 { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
 
 
+
+
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
   { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
-  $rm conftest*
+  $RM conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
@@ -11739,31 +8646,39 @@ else
   need_locks=no
 fi
 
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+
+
+
+
+
+  { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   runpath_var=
   allow_undefined_flag=
-  enable_shared_with_static_runtimes=no
+  always_export_symbols=no
   archive_cmds=
   archive_expsym_cmds=
-  old_archive_From_new_cmds=
-  old_archive_from_expsyms_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
   export_dynamic_flag_spec=
-  whole_archive_flag_spec=
-  thread_safe_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
   hardcode_libdir_flag_spec=
   hardcode_libdir_flag_spec_ld=
   hardcode_libdir_separator=
-  hardcode_direct=no
   hardcode_minus_L=no
   hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
   link_all_deplibs=unknown
-  hardcode_automatic=no
   module_cmds=
   module_expsym_cmds=
-  always_export_symbols=no
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
   # include_expsyms should be a list of space-separated symbols to be *always*
   # included in the symbol list
   include_expsyms=
@@ -11779,16 +8694,6 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   # preloaded symbol tables.
   # Exclude shared library initialization/finalization symbols.
   extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
   case $host_os in
   cygwin* | mingw* | pw32*)
@@ -11817,16 +8722,16 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
     # are reset later if shared libraries are not supported. Putting them
     # here allows them to be overridden if necessary.
     runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     export_dynamic_flag_spec='${wl}--export-dynamic'
     # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	whole_archive_flag_spec=
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
     fi
     supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
+    case `$LD -v 2>&1` in
       *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
@@ -11840,7 +8745,7 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
       # On AIX/PPC, the GNU linker is very broken
       if test "$host_cpu" != ia64; then
 	ld_shlibs=no
-	cat <<EOF 1>&2
+	cat <<_LT_EOF 1>&2
 
 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
 *** to be unable to reliably create shared libraries on AIX.
@@ -11848,26 +8753,27 @@ cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 *** really care for shared libraries, you may want to modify your PATH
 *** so that a non-GNU linker is found, and then restart.
 
-EOF
+_LT_EOF
       fi
       ;;
 
     amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs=no
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
       ;;
 
     beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
 	allow_undefined_flag=unsupported
 	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
 	# support --undefined.  This deserves some investigation.  FIXME
@@ -11878,15 +8784,15 @@ EOF
       ;;
 
     cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
       # as there is no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
 
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
 	# If the export-symbols file already is a .def file (1st line
 	# is EXPORTS), use it as is; otherwise, prepend...
@@ -11917,49 +8823,75 @@ EOF
       archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
       ;;
 
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+    gnu* | linux* | tpf* | k*bsd*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
 	tmp_addflag=
+	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        pgcc*)				# Portland Group C compiler
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag'
 	  ;;
 	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
 	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
 	  tmp_addflag=' -i_dynamic' ;;
 	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
 	  tmp_addflag=' -i_dynamic -nofor_main' ;;
 	ifc* | ifort*)			# Intel Fortran compiler
 	  tmp_addflag=' -nofor_main' ;;
+	xl[cC]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
 	esac
 	case `$CC -V 2>&1 | sed 5q` in
 	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  compiler_needs_object=yes
 	  tmp_sharedflag='-G' ;;
 	*Sun\ F*)			# Sun Fortran 8.3
 	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
 	esac
 	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
-	if test $supports_anon_versioning = yes; then
-	  archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-	link_all_deplibs=no
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+	  hardcode_libdir_flag_spec=
+	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
       else
-	ld_shlibs=no
+        ld_shlibs=no
       fi
       ;;
 
     netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
@@ -11969,9 +8901,9 @@ EOF
       ;;
 
     solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
 	ld_shlibs=no
-	cat <<EOF 1>&2
+	cat <<_LT_EOF 1>&2
 
 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
 *** create shared libraries on Solaris systems.  Therefore, libtool
@@ -11980,8 +8912,8 @@ EOF
 *** your PATH or compiler configuration so that the native linker is
 *** used, and then restart.
 
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
@@ -12005,10 +8937,14 @@ EOF
 _LT_EOF
 	;;
 	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 	  else
 	    ld_shlibs=no
 	  fi
@@ -12024,7 +8960,7 @@ _LT_EOF
       ;;
 
     *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
@@ -12066,10 +9002,10 @@ _LT_EOF
       else
 	# If we're using GNU nm, then we don't want the "-C" option.
 	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
 	fi
 	aix_use_runtimelinking=no
 
@@ -12078,10 +9014,10 @@ _LT_EOF
 	# need to do runtime linking.
 	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
 	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
 	  done
 	  ;;
 	esac
@@ -12098,28 +9034,30 @@ _LT_EOF
 
       archive_cmds=''
       hardcode_direct=yes
+      hardcode_direct_absolute=yes
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
 
       if test "$GCC" = yes; then
 	case $host_os in aix4.[012]|aix4.[012].*)
 	# We only want to do this on AIX 4.2 and lower, the check
 	# below for broken collect2 doesn't work under 4.3+
 	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
 	  then
-  	  # We have reworked collect2
-  	  :
+	  # We have reworked collect2
+	  :
 	  else
-  	  # We have old collect2
-  	  hardcode_direct=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  hardcode_minus_L=yes
-  	  hardcode_libdir_flag_spec='-L$libdir'
-  	  hardcode_libdir_separator=
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
 	  fi
 	  ;;
 	esac
@@ -12127,11 +9065,12 @@ _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
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
 	  shared_flag='-G'
 	else
 	  if test "$aix_use_runtimelinking" = yes; then
@@ -12149,8 +9088,9 @@ _LT_EOF
 	# Warning - without using the other runtime loading flags (-brtl),
 	# -berok will link without error, but may produce a broken library.
 	allow_undefined_flag='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12207,15 +9147,16 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-	archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
 	if test "$host_cpu" = ia64; then
 	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
 	  allow_undefined_flag="-z nodefs"
 	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
 	else
-	 # Determine the default libpath from the value encoded in an empty executable.
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
 	 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12288,11 +9229,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
       ;;
 
     bsdi[45]*)
@@ -12311,9 +9259,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       # Tell ltmain to make .dll files, not .so files.
       shrext_cmds=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
       # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds='true'
+      old_archive_from_new_cmds='true'
       # FIXME: Should let the user specify the lib program.
       old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
       fix_srcfile_path='`cygpath -w "$srcfile"`'
@@ -12321,52 +9269,26 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc=no
-      hardcode_direct=no
-      hardcode_automatic=yes
-      hardcode_shlibpath_var=unsupported
-      whole_archive_flag_spec=''
-      link_all_deplibs=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs=no
-          ;;
-      esac
-    fi
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  whole_archive_flag_spec=''
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  if test "$GCC" = "yes"; then
+    output_verbose_link_cmd=echo
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+  else
+  ld_shlibs=no
+  fi
+
       ;;
 
     dgux*)
@@ -12408,9 +9330,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux9*)
       if test "$GCC" = yes; then
-	archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
-	archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
       hardcode_libdir_separator=:
@@ -12430,11 +9352,11 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       fi
       if test "$with_gnu_ld" = no; then
 	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+	hardcode_libdir_flag_spec_ld='+b $libdir'
 	hardcode_libdir_separator=:
-
 	hardcode_direct=yes
+	hardcode_direct_absolute=yes
 	export_dynamic_flag_spec='${wl}-E'
-
 	# hardcode_minus_L: Not really in the search PATH,
 	# but as the default location of the library.
 	hardcode_minus_L=yes
@@ -12473,12 +9395,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
 	case $host_cpu in
 	hppa*64*|ia64*)
-	  hardcode_libdir_flag_spec_ld='+b $libdir'
 	  hardcode_direct=no
 	  hardcode_shlibpath_var=no
 	  ;;
 	*)
 	  hardcode_direct=yes
+	  hardcode_direct_absolute=yes
 	  export_dynamic_flag_spec='${wl}-E'
 
 	  # hardcode_minus_L: Not really in the search PATH,
@@ -12491,18 +9413,58 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat >conftest.$ac_ext <<_ACEOF
+int foo(void) {}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
       else
-	archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
       fi
+      archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       hardcode_libdir_separator=:
+      inherit_rpath=yes
       link_all_deplibs=yes
       ;;
 
     netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
 	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
@@ -12520,11 +9482,15 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var=no
       ;;
 
+    *nto* | *qnx*)
+      ;;
+
     openbsd*)
       if test -f /usr/libexec/ld.so; then
 	hardcode_direct=yes
 	hardcode_shlibpath_var=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	hardcode_direct_absolute=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
 	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
 	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
 	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
@@ -12540,7 +9506,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
 	     ;;
 	  esac
-        fi
+	fi
       else
 	ld_shlibs=no
       fi
@@ -12550,18 +9516,19 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_libdir_flag_spec='-L$libdir'
       hardcode_minus_L=yes
       allow_undefined_flag=unsupported
-      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
     osf3*)
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
       fi
+      archive_cmds_need_lc='no'
       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       hardcode_libdir_separator=:
       ;;
@@ -12569,32 +9536,43 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
 
 	# Both c and cxx compiler support -rpath directly
 	hardcode_libdir_flag_spec='-rpath $libdir'
       fi
+      archive_cmds_need_lc='no'
       hardcode_libdir_separator=:
       ;;
 
     solaris*)
-      no_undefined_flag=' -z text'
+      no_undefined_flag=' -z defs'
       if test "$GCC" = yes; then
 	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
-	wlarc=''
-	archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
       fi
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_shlibpath_var=no
@@ -12604,7 +9582,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	# The compiler driver will combine and reorder linker options,
 	# but understands `-z linker_flag'.  GCC discards it without `$wl',
 	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
 	if test "$GCC" = yes; then
 	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
 	else
@@ -12693,18 +9671,18 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       allow_undefined_flag='${wl}-z,nodefs'
       archive_cmds_need_lc=no
       hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
       hardcode_libdir_separator=':'
       link_all_deplibs=yes
       export_dynamic_flag_spec='${wl}-Bexport'
       runpath_var='LD_RUN_PATH'
 
       if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       else
-	archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
       fi
       ;;
 
@@ -12718,12 +9696,36 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ld_shlibs=no
       ;;
     esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	export_dynamic_flag_spec='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
   fi
 
 { echo "$as_me:$LINENO: result: $ld_shlibs" >&5
 echo "${ECHO_T}$ld_shlibs" >&6; }
 test "$ld_shlibs" = no && can_build_shared=no
 
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 #
 # Do we need to explicitly link libc?
 #
@@ -12743,7 +9745,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
+      $RM conftest*
       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -12764,8 +9766,8 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
         libname=conftest
         lt_save_allow_undefined_flag=$allow_undefined_flag
         allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -12778,7 +9780,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
       else
         cat conftest.err 1>&5
       fi
-      $rm conftest*
+      $RM conftest*
       { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
 echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
       ;;
@@ -12787,21 +9789,164 @@ echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
   ;;
 esac
 
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
 
 if test "$GCC" = yes; then
   case $host_os in
@@ -12809,14 +9954,14 @@ if test "$GCC" = yes; then
     *) lt_awk_arg="/^libraries:/" ;;
   esac
   lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
     # if the path contains ";" then we assume it to be the separator
     # otherwise default to the standard path separator (i.e. ":") - it is
     # assumed that no part of a normal pathname contains ";" but that should
     # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
   else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
   fi
   # Ok, now we have the path, separated by spaces, we can step through it
   # and add multilib dir if necessary.
@@ -12830,7 +9975,7 @@ if test "$GCC" = yes; then
 	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
     fi
   done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
 BEGIN {RS=" "; FS="/|\n";} {
   lt_foo="";
   lt_count=0;
@@ -12850,10 +9995,23 @@ BEGIN {RS=" "; FS="/|\n";} {
   if (lt_foo != "") { lt_freq[lt_foo]++; }
   if (lt_freq[lt_foo] == 1) { print lt_foo; }
 }'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
 else
   sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
 fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -12890,7 +10048,7 @@ aix[4-9]*)
       aix4 | aix4.[01] | aix4.[01].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
 	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
 	:
       else
 	can_build_shared=no
@@ -12916,9 +10074,18 @@ aix[4-9]*)
   ;;
 
 amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
   ;;
 
 beos*)
@@ -12952,14 +10119,17 @@ cygwin* | mingw* | pw32*)
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
-       $rm \$dlpath'
+       $RM \$dlpath'
     shlibpath_overrides_runpath=yes
 
     case $host_os in
@@ -12971,17 +10141,17 @@ cygwin* | mingw* | pw32*)
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
         # It is most probably a Windows format PATH printed by
         # mingw gcc, but we are running on Cygwin. Gcc prints its search
         # path with ; separators, and with drive letters. We can handle the
         # drive letters (cygwin fileutils understands them), so leave them,
         # especially as we might pass files found there to a mingw objdump,
         # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
       else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
       fi
       ;;
     pw32*)
@@ -13005,7 +10175,7 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
@@ -13104,18 +10274,18 @@ hpux9* | hpux10* | hpux11*)
     fi
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
     shrext_cmds='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
@@ -13192,6 +10362,60 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+  shlibpath_overrides_runpath=yes
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
   # before this can be enabled.
@@ -13199,7 +10423,7 @@ linux* | k*bsd*-gnu)
 
   # 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;/^$/d' | tr '\n' ' '`
+    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;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -13228,7 +10452,7 @@ netbsd*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
@@ -13249,14 +10473,16 @@ newsos6)
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
-  version_type=linux
+*nto* | *qnx*)
+  version_type=qnx
   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=yes
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
   ;;
 
 openbsd*)
@@ -13265,13 +10491,13 @@ openbsd*)
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
     case $host_os in
       openbsd2.[89] | openbsd2.[89].*)
 	shlibpath_overrides_runpath=no
@@ -13343,7 +10569,6 @@ sysv4 | sysv4.3*)
     sni)
       shlibpath_overrides_runpath=no
       need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
       runpath_var=LD_RUN_PATH
       ;;
     siemens)
@@ -13374,13 +10599,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
   if test "$with_gnu_ld" = yes; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
     case $host_os in
       sco3.2v5*)
         sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -13390,6 +10614,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   sys_lib_dlsearch_path_spec='/usr/lib'
   ;;
 
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -13405,39 +10640,117 @@ esac
 echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
 fi
 
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
 
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
 
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
 hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var" || \
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
    test "X$hardcode_automatic" = "Xyes" ; then
 
-  # We can hardcode non-existant directories.
+  # We can hardcode non-existent directories.
   if test "$hardcode_direct" != no &&
      # If the only mechanism to avoid hardcoding is shlibpath_var, we
      # have to relink, otherwise we might link with an installed library
      # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
      test "$hardcode_minus_L" != no; then
     # Linking always hardcodes the temporary library directory.
     hardcode_action=relink
@@ -13453,7 +10766,8 @@ fi
 { echo "$as_me:$LINENO: result: $hardcode_action" >&5
 echo "${ECHO_T}$hardcode_action" >&6; }
 
-if test "$hardcode_action" = relink; then
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
   # Fast installation is not supported
   enable_fast_install=no
 elif test "$shlibpath_overrides_runpath" = yes ||
@@ -13462,37 +10776,12 @@ elif test "$shlibpath_overrides_runpath" = yes ||
   enable_fast_install=needless
 fi
 
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-       else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-       ;;
-   *)
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-    ;;
-  esac
-fi
 
-if test "x$enable_dlopen" != xyes; then
+
+
+
+
+  if test "x$enable_dlopen" != xyes; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
   enable_dlopen_self_static=unknown
@@ -13510,12 +10799,12 @@ else
   mingw* | pw32*)
     lt_cv_dlopen="LoadLibrary"
     lt_cv_dlopen_libs=
-   ;;
+    ;;
 
   cygwin*)
     lt_cv_dlopen="dlopen"
     lt_cv_dlopen_libs=
-   ;;
+    ;;
 
   darwin*)
   # if libdl is installed we need to link against it
@@ -13590,7 +10879,7 @@ else
 
 fi
 
-   ;;
+    ;;
 
   *)
     { echo "$as_me:$LINENO: checking for shl_load" >&5
@@ -14063,8 +11352,8 @@ else
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 14067 "configure"
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 11356 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14126,7 +11415,7 @@ int main ()
 
     exit (status);
 }
-EOF
+_LT_EOF
   if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
@@ -14163,8 +11452,8 @@ else
 else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 14167 "configure"
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 11456 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14226,7 +11515,7 @@ int main ()
 
     exit (status);
 }
-EOF
+_LT_EOF
   if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   (eval $ac_link) 2>&5
   ac_status=$?
@@ -14270,618 +11559,2120 @@ echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
 fi
 
 
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+    else
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    fi
+    ;;
+  *)
+    { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
+  { echo "$as_me:$LINENO: result: $can_build_shared" >&5
 echo "${ECHO_T}$can_build_shared" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+  { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
+  test "$can_build_shared" = "no" && enable_shared=no
 
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[4-9]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
     test "$enable_shared" = yes && enable_static=no
-  fi
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
     ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
+
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { echo "$as_me:$LINENO: result: $enable_shared" >&5
 echo "${ECHO_T}$enable_shared" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+  { echo "$as_me:$LINENO: checking whether to build static libraries" >&5
 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { echo "$as_me:$LINENO: result: $enable_static" >&5
 echo "${ECHO_T}$enable_static" >&6; }
 
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler \
-    CC \
-    LD \
-    lt_prog_compiler_wl \
-    lt_prog_compiler_pic \
-    lt_prog_compiler_static \
-    lt_prog_compiler_no_builtin_flag \
-    export_dynamic_flag_spec \
-    thread_safe_flag_spec \
-    whole_archive_flag_spec \
-    enable_shared_with_static_runtimes \
-    old_archive_cmds \
-    old_archive_from_new_cmds \
-    predep_objects \
-    postdep_objects \
-    predeps \
-    postdeps \
-    compiler_lib_search_path \
-    compiler_lib_search_dirs \
-    archive_cmds \
-    archive_expsym_cmds \
-    postinstall_cmds \
-    postuninstall_cmds \
-    old_archive_from_expsyms_cmds \
-    allow_undefined_flag \
-    no_undefined_flag \
-    export_symbols_cmds \
-    hardcode_libdir_flag_spec \
-    hardcode_libdir_flag_spec_ld \
-    hardcode_libdir_separator \
-    hardcode_automatic \
-    module_cmds \
-    module_expsym_cmds \
-    lt_cv_prog_compiler_c_o \
-    fix_srcfile_path \
-    exclude_expsyms \
-    include_expsyms; do
-
-    case $var in
-    old_archive_cmds | \
-    old_archive_from_new_cmds | \
-    archive_cmds | \
-    archive_expsym_cmds | \
-    module_cmds | \
-    module_expsym_cmds | \
-    old_archive_from_expsyms_cmds | \
-    export_symbols_cmds | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
 
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
 
-cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
 
-  cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# 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
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+CC="$lt_save_CC"
 
-# A sed program that does not truncate output.
-SED=$lt_SED
 
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
 
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
-# The names of the tagged configurations supported by this script.
-available_tags=
 
-# ### BEGIN LIBTOOL CONFIG
 
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
 
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
 
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
 
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
 
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
 
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
 
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
+        ac_config_commands="$ac_config_commands libtool"
 
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
 
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
 
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
 
-# A C compiler.
-LTCC=$lt_LTCC
+# Only expand once:
 
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
 
-# A language-specific compiler.
-CC=$lt_compiler
 
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
+VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
+VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
+VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
+SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
+version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
+release="ver-pre-01"
+ecore_config_release_info="-release $release"
+ecore_con_release_info="-release $release"
+ecore_directfb_release_info="-release $release"
+ecore_evas_release_info="-release $release"
+ecore_fb_release_info="-release $release"
+ecore_file_release_info="-release $release"
+ecore_imf_evas_release_info="-release $release"
+ecore_imf_release_info="-release $release"
+ecore_input_release_info="-release $release"
+ecore_ipc_release_info="-release $release"
+ecore_job_release_info="-release $release"
+ecore_quartz_release_info="-release $release"
+ecore_release_info="-release $release"
+ecore_sdl_release_info="-release $release"
+ecore_txt_release_info="-release $release"
+ecore_win32_release_info="-release $release"
+ecore_wince_release_info="-release $release"
+ecore_x_release_info="-release $release"
 
-# An ERE matcher.
-EGREP=$lt_EGREP
 
-# The linker used to build libraries.
-LD=$lt_LD
 
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
 
-# A BSD-compatible nm program.
-NM=$lt_NM
 
-# A symbol stripping program
-STRIP=$lt_STRIP
 
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
 
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
 
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
 
-# Used on cygwin: assembler.
-AS="$AS"
 
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
 
-# Object file suffix (normally "o").
-objext="$ac_objext"
 
-# Old archive suffix (normally "a").
-libext="$libext"
 
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
 
-# Executable file suffix (normally "").
-exeext="$exeext"
 
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
 
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
 
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
 
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
 
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
+cat >>confdefs.h <<_ACEOF
+#define SHARED_LIB_SUFFIX "$shrext_cmds"
+_ACEOF
 
-# Do we need a version for libraries?
-need_version=$need_version
 
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
 
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
+### Default options with respect to host
+
+# dependencies and options
+want_curl="no"
+want_abstract_sockets="no"
+want_gnutls="no"
+want_openssl="no"
+want_cipher="no"
+want_signature="no"
+want_poll="yes"
+want_inotify="no"
+want_tslib="no"
+
+# core modules
+want_ecore_job="yes"
+want_ecore_txt="yes"
+want_ecore_con="no"
+want_ecore_ipc="no"
+want_ecore_file="yes"
+want_ecore_config="no"
+want_ecore_imf="no"
+want_ecore_input="yes"
+
+# graphic system modules
+want_evas_simple_x11="no"
+want_ecore_x_xcb="no"
+want_ecore_x="no"
+want_ecore_win32="no"
+want_ecore_quartz="no"
+want_ecore_sdl="no"
+want_ecore_fb="no"
+want_ecore_directfb="no"
+want_ecore_wince="no"
+
+# ecore_evas modules
+want_ecore_evas="yes"
+want_ecore_evas_software_buffer="yes"
+want_ecore_evas_software_x11="no"
+want_ecore_evas_xrender_x11="no"
+want_ecore_evas_opengl_x11="no"
+want_ecore_evas_software_16_x11="no"
+want_ecore_evas_software_xcb="no"
+want_ecore_evas_xrender_xcb="no"
+want_ecore_evas_software_ddraw="no"
+want_ecore_evas_direct3d="no"
+want_ecore_evas_opengl_glew="no"
+want_ecore_evas_software_16_ddraw="no"
+want_ecore_evas_quartz="no"
+want_ecore_evas_software_sdl="no"
+want_ecore_evas_directfb="no"
+want_ecore_evas_fb="no"
+want_ecore_evas_software_16_wince="no"
 
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      want_ecore_wince="yes"
+      want_ecore_evas_software_16_wince="yes"
+      ;;
+   mingw*)
+      want_curl="yes"
+      want_ecore_imf="yes"
+      want_ecore_win32="yes"
+      want_ecore_evas_software_ddraw="yes"
+      want_ecore_evas_direct3d="yes"
+      want_ecore_evas_opengl_glew="yes"
+      want_ecore_evas_software_16_ddraw="auto"
+      want_ecore_evas_software_sdl="yes"
+      ;;
+   darwin*)
+      want_curl="yes"
+      want_gnutls="auto"
+      want_openssl="auto"
+      want_ecore_con="yes"
+      want_ecore_ipc="yes"
+      want_ecore_config="yes"
+      want_ecore_imf="yes"
+      want_ecore_quartz="yes"
+      want_ecore_evas_quartz="yes"
+      want_ecore_evas_software_sdl="yes"
+      ;;
+   *)
+      want_curl="yes"
+      want_abstract_sockets="yes"
+      want_gnutls="auto"
+      want_openssl="auto"
+      want_cipher="yes"
+      want_signature="yes"
+      want_inotify="yes"
+      want_tslib="yes"
+      want_ecore_con="yes"
+      want_ecore_ipc="yes"
+      want_ecore_config="yes"
+      want_ecore_imf="yes"
+      want_ecore_x="yes"
+      want_ecore_evas_software_x11="yes"
+      want_ecore_evas_xrender_x11="yes"
+      want_ecore_evas_opengl_x11="yes"
+      want_ecore_evas_software_16_x11="yes"
+      want_ecore_evas_software_xcb="yes"
+      want_ecore_evas_xrender_xcb="yes"
+      want_ecore_evas_software_sdl="yes"
+      want_ecore_evas_directfb="yes"
+      want_ecore_evas_fb="yes"
+      ;;
+esac
 
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
+requirements_ecore=""
+requirements_ecore_con=""
+requirements_ecore_config=""
+requirements_ecore_directfb=""
+requirements_ecore_evas=""
+requirements_ecore_fb=""
+requirements_ecore_file=""
+requirements_ecore_imf=""
+requirements_ecore_imf_evas=""
+requirements_ecore_input=""
+requirements_ecore_ipc=""
+requirements_ecore_job=""
+requirements_ecore_quartz=""
+requirements_ecore_sdl=""
+requirements_ecore_txt=""
+requirements_ecore_x=""
+requirements_ecore_win32=""
+requirements_ecore_wince=""
 
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
 
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+### Additional options to configure
 
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
+# abstract sockets (ecore_con.c)
+# Check whether --enable-abstract-sockets was given.
+if test "${enable_abstract_sockets+set}" = set; then
+  enableval=$enable_abstract_sockets;
+    if test "x${enableval}" = "xyes" ; then
+       want_abstract_sockets="yes"
+    else
+       want_abstract_sockets="no"
+    fi
 
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
+else
+  want_abstract_sockets="yes"
+fi
 
-# Library versioning type.
-version_type=$version_type
 
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
+if test "x${want_abstract_sockets}" = "xyes" ; then
 
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ABSTRACT_SOCKETS 1
+_ACEOF
 
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
+fi
 
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
+# Simple X11 build/link
 
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+# Check whether --enable-simple-x11 was given.
+if test "${enable_simple_x11+set}" = set; then
+  enableval=$enable_simple_x11; want_evas_simple_x11=$enableval
+fi
 
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
 
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
 
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
+### Checks for programs
 
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
 
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
+    ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in gcc objcc objc cc CC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_OBJC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$OBJC"; then
+  ac_cv_prog_OBJC="$OBJC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
+fi
+fi
+OBJC=$ac_cv_prog_OBJC
+if test -n "$OBJC"; then
+  { echo "$as_me:$LINENO: result: $OBJC" >&5
+echo "${ECHO_T}$OBJC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
 
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
+    test -n "$OBJC" && break
+  done
+fi
+if test -z "$OBJC"; then
+  ac_ct_OBJC=$OBJC
+  for ac_prog in gcc objcc objc cc CC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_OBJC"; then
+  ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+fi
+fi
+ac_ct_OBJC=$ac_cv_prog_ac_ct_OBJC
+if test -n "$ac_ct_OBJC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_OBJC" >&5
+echo "${ECHO_T}$ac_ct_OBJC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
 
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
+  test -n "$ac_ct_OBJC" && break
+done
 
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
+  if test "x$ac_ct_OBJC" = x; then
+    OBJC="gcc"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJC=$ac_ct_OBJC
+  fi
+fi
 
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for Objective C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
 
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
+{ echo "$as_me:$LINENO: checking whether we are using the GNU Objective C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU Objective C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_objc_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
 
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+	ac_compiler_gnu=no
+fi
 
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_objc_compiler_gnu=$ac_compiler_gnu
 
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objc_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_objc_compiler_gnu" >&6; }
+GOBJC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_OBJCFLAGS=${OBJCFLAGS+set}
+ac_save_OBJCFLAGS=$OBJCFLAGS
+{ echo "$as_me:$LINENO: checking whether $OBJC accepts -g" >&5
+echo $ECHO_N "checking whether $OBJC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_objc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_objc_werror_flag=$ac_objc_werror_flag
+   ac_objc_werror_flag=yes
+   ac_cv_prog_objc_g=no
+   OBJCFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
+int
+main ()
+{
 
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_objc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+	OBJCFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
+int
+main ()
+{
 
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+	ac_objc_werror_flag=$ac_save_objc_werror_flag
+	 OBJCFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+int
+main ()
+{
 
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_objc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
 
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
+fi
 
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_objc_werror_flag=$ac_save_objc_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_objc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_objc_g" >&6; }
+if test "$ac_test_OBJCFLAGS" = set; then
+  OBJCFLAGS=$ac_save_OBJCFLAGS
+elif test $ac_cv_prog_objc_g = yes; then
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-g -O2"
+  else
+    OBJCFLAGS="-g"
+  fi
+else
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-O2"
+  else
+    OBJCFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
+depcc="$OBJC" am_compiler_list='gcc3 gcc'
 
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+  am_cv_OBJC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_OBJC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_OBJC_dependencies_compiler_type=none
+fi
 
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_OBJC_dependencies_compiler_type" >&6; }
+OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
 
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
+  am__fastdepOBJC_TRUE=
+  am__fastdepOBJC_FALSE='#'
+else
+  am__fastdepOBJC_TRUE='#'
+  am__fastdepOBJC_FALSE=
+fi
 
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
 
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
 
-# ### END LIBTOOL CONFIG
+depcc="$OBJC" am_compiler_list='gcc3 gcc'
 
-__EOF__
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
+  am_cv_OBJC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_OBJC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_OBJC_dependencies_compiler_type=none
 fi
-EOF
-    ;;
-  esac
 
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_OBJC_dependencies_compiler_type" >&6; }
+OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
 
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
+  am__fastdepOBJC_TRUE=
+  am__fastdepOBJC_FALSE='#'
+else
+  am__fastdepOBJC_TRUE='#'
+  am__fastdepOBJC_FALSE=
+fi
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
 else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
   fi
 fi
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CXXFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-CC="$lt_save_CC"
+depcc="$CXX"  am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
 
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
 
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
-  withval=$with_tags; tagnames="$withval"
 fi
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
 
 
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
+done
+done
+IFS=$as_save_IFS
 
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
-    else
-      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
-    fi
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { echo "$as_me:$LINENO: result: $CXX" >&5
+echo "${ECHO_T}$CXX" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
+echo "${ECHO_T}$ac_ct_CXX" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
   fi
+fi
 
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+  fi
+fi
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C++ compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
 
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
-    "") ;;
-    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-    esac
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
-   { (exit 1); exit 1; }; }
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
+GXX=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
+echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CXXFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cxx_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX"  am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
     fi
+  done
 
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
 
-      case $tagname in
-      CXX)
-	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-	    (test "X$CXX" != "Xg++"))) ; then
-	  ac_ext=cpp
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
+echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
 
+rm -f conftest.err conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
 
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
+echo "${ECHO_T}$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  _lt_caught_CXX_error=yes
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+  _lt_caught_CXX_error=yes
+fi
+
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 archive_cmds_need_lc_CXX=no
 allow_undefined_flag_CXX=
 always_export_symbols_CXX=no
 archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
 export_dynamic_flag_spec_CXX=
 hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
 hardcode_libdir_flag_spec_CXX=
 hardcode_libdir_flag_spec_ld_CXX=
 hardcode_libdir_separator_CXX=
 hardcode_minus_L_CXX=no
 hardcode_shlibpath_var_CXX=unsupported
 hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
 module_cmds_CXX=
 module_expsym_cmds_CXX=
 link_all_deplibs_CXX=unknown
@@ -14890,14 +13681,6 @@ no_undefined_flag_CXX=
 whole_archive_flag_spec_CXX=
 enable_shared_with_static_runtimes_CXX=no
 
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-compiler_lib_search_dirs_CXX=
-
 # Source file extension for C++ test sources.
 ac_ext=cpp
 
@@ -14905,13 +13688,23 @@ ac_ext=cpp
 objext=o
 objext_CXX=$objext
 
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
 
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
 
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
 
 # If no C compiler was specified, use CC.
 LTCC=${LTCC-"$CC"}
@@ -14923,42 +13716,42 @@ LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
 compiler=$CC
 
 
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
+  # save warnings/boilerplate of simple test code
+  ac_outfile=conftest.$ac_objext
 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
+$RM conftest*
 
-ac_outfile=conftest.$ac_objext
+  ac_outfile=conftest.$ac_objext
 echo "$lt_simple_link_test_code" >conftest.$ac_ext
 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
 _lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
+$RM -r conftest*
+
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  compiler_CXX=$CC
+  for cc_temp in $compiler""; do
   case $cc_temp in
     compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
     distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
@@ -14966,19 +13759,21 @@ for cc_temp in $compiler""; do
     *) break;;
   esac
 done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
 
 
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
-  lt_prog_compiler_no_builtin_flag_CXX=
-fi
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+    else
+      lt_prog_compiler_no_builtin_flag_CXX=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
 
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
 
 
 # Check whether --with-gnu-ld was given.
@@ -15005,9 +13800,9 @@ echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
     [\\/]* | ?:[\\/]*)
       re_direlt='/[^/][^/]*/\.\./'
       # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
       done
       test -z "$LD" && LD="$ac_prog"
       ;;
@@ -15088,149 +13883,156 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
-    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
 
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
 
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-	grep 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec_CXX=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
 
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
 
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  aix[4-9]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	for ld_flag in $LDFLAGS; do
-	  case $ld_flag in
-	  *-brtl*)
-	    aix_use_runtimelinking=yes
-	    break
-	    ;;
-	  esac
-	done
-	;;
-      esac
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
 
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          whole_archive_flag_spec_CXX=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
 
-    archive_cmds_CXX=''
-    hardcode_direct_CXX=yes
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=yes
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
 
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[012]|aix4.[012].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-	collect2name=`${CC} -print-prog-name=collect2`
-	if test -f "$collect2name" && \
-	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	then
-	  # We have reworked collect2
-	  :
-	else
-	  # We have old collect2
-	  hardcode_direct_CXX=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  hardcode_minus_L_CXX=yes
-	  hardcode_libdir_flag_spec_CXX='-L$libdir'
-	  hardcode_libdir_separator_CXX=
-	fi
-	;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-	shared_flag="$shared_flag "'${wl}-G'
-      fi
     else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	shared_flag='-G'
-      else
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag='${wl}-G'
-	else
-	  shared_flag='${wl}-bM:SRE'
-	fi
-      fi
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
     fi
 
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    always_export_symbols_CXX=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      allow_undefined_flag_CXX='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      cat >conftest.$ac_ext <<_ACEOF
+    # PORTME: fill in a description of your system's C++ link characteristics
+    { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
+    ld_shlibs_CXX=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+      aix[4-9]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        archive_cmds_CXX=''
+        hardcode_direct_CXX=yes
+        hardcode_direct_absolute_CXX=yes
+        hardcode_libdir_separator_CXX=':'
+        link_all_deplibs_CXX=yes
+        file_list_spec_CXX='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[012]|aix4.[012].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    hardcode_direct_CXX=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    hardcode_minus_L_CXX=yes
+	    hardcode_libdir_flag_spec_CXX='-L$libdir'
+	    hardcode_libdir_separator_CXX=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
+
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        always_export_symbols_CXX=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          allow_undefined_flag_CXX='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -15287,17 +14089,18 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
-      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-	hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-	allow_undefined_flag_CXX="-z nodefs"
-	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-	# Determine the default libpath from the value encoded in an empty executable.
-	cat >conftest.$ac_ext <<_ACEOF
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+	    allow_undefined_flag_CXX="-z nodefs"
+	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -15354,739 +14157,762 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-	hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-	# Warning - without using the other run time loading flags,
-	# -berok will link without error, but may produce a broken library.
-	no_undefined_flag_CXX=' ${wl}-bernotok'
-	allow_undefined_flag_CXX=' ${wl}-berok'
-	# Exported symbols can be pulled into shared objects from archives
-	whole_archive_flag_spec_CXX='$convenience'
-	archive_cmds_need_lc_CXX=yes
-	# This is similar to how AIX traditionally builds its shared libraries.
-	archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
+	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    no_undefined_flag_CXX=' ${wl}-bernotok'
+	    allow_undefined_flag_CXX=' ${wl}-berok'
+	    # Exported symbols can be pulled into shared objects from archives
+	    whole_archive_flag_spec_CXX='$convenience'
+	    archive_cmds_need_lc_CXX=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
 
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag_CXX=unsupported
-      # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs_CXX=no
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  allow_undefined_flag_CXX=unsupported
+	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  ld_shlibs_CXX=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  ld_shlibs_CXX=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+        # as there is no search path for DLLs.
+        hardcode_libdir_flag_spec_CXX='-L$libdir'
+        allow_undefined_flag_CXX=unsupported
+        always_export_symbols_CXX=no
+        enable_shared_with_static_runtimes_CXX=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    cp $export_symbols $output_objdir/$soname.def;
+          else
+	    echo EXPORTS > $output_objdir/$soname.def;
+	    cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          ld_shlibs_CXX=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc_CXX=no
+  hardcode_direct_CXX=no
+  hardcode_automatic_CXX=yes
+  hardcode_shlibpath_var_CXX=unsupported
+  whole_archive_flag_spec_CXX=''
+  link_all_deplibs_CXX=yes
+  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+  if test "$GCC" = "yes"; then
+    output_verbose_link_cmd=echo
+    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
     fi
-    ;;
 
-  chorus*)
-    case $cc_basename in
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
+  else
+  ld_shlibs_CXX=no
+  fi
+
 	;;
-    esac
-    ;;
 
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-    # as there is no search path for DLLs.
-    hardcode_libdir_flag_spec_CXX='-L$libdir'
-    allow_undefined_flag_CXX=unsupported
-    always_export_symbols_CXX=no
-    enable_shared_with_static_runtimes_CXX=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	cp $export_symbols $output_objdir/$soname.def;
-      else
-	echo EXPORTS > $output_objdir/$soname.def;
-	cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      ld_shlibs_CXX=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      archive_cmds_need_lc_CXX=no
-      hardcode_direct_CXX=no
-      hardcode_automatic_CXX=yes
-      hardcode_shlibpath_var_CXX=unsupported
-      whole_archive_flag_spec_CXX=''
-      link_all_deplibs_CXX=yes
-      allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs_CXX=no
-          ;;
-      esac
-      fi
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
         ;;
 
-  dgux*)
-    case $cc_basename in
-      ec++*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      ghcx*)
-	# Green Hills C++ Compiler
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  freebsd[12]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    ld_shlibs_CXX=no
-    ;;
-  freebsd-elf*)
-    archive_cmds_need_lc_CXX=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    ld_shlibs_CXX=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    hardcode_direct_CXX=yes
-    hardcode_minus_L_CXX=yes # Not in the search PATH,
-				# but as the default
-				# location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      ld_shlibs_CXX=no
-      ;;
-    aCC*)
-      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
+      freebsd[12]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
         ld_shlibs_CXX=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_CXX=:
+        ;;
 
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-	export_dynamic_flag_spec_CXX='${wl}-E'
+      freebsd-elf*)
+        archive_cmds_need_lc_CXX=no
         ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      hardcode_direct_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      ;;
-    *)
-      hardcode_direct_CXX=yes
-      hardcode_minus_L_CXX=yes # Not in the search PATH,
-					      # but as the default
-					      # location of the library.
-      ;;
-    esac
 
-    case $cc_basename in
-      CC*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      aCC*)
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  ;;
-	esac
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test $with_gnu_ld = no; then
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        ld_shlibs_CXX=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        export_dynamic_flag_spec_CXX='${wl}-E'
+        hardcode_direct_CXX=yes
+        hardcode_minus_L_CXX=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            ld_shlibs_CXX=no
+            ;;
+          aCC*)
+            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              ld_shlibs_CXX=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+	  hardcode_libdir_separator_CXX=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      export_dynamic_flag_spec_CXX='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct_CXX=no
+            hardcode_shlibpath_var_CXX=no
+            ;;
+          *)
+            hardcode_direct_CXX=yes
+            hardcode_direct_absolute_CXX=yes
+            hardcode_minus_L_CXX=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          aCC*)
 	    case $host_cpu in
-	    hppa*64*)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    ia64*)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
-	    *)
-	      archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      ;;
+	      hppa*64*)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
 	    esac
-	  fi
-	else
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	fi
-	;;
-    esac
-    ;;
-  interix[3-9]*)
-    hardcode_direct_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-	# SGI C++
-	archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	# Archives containing C++ object files must be created using
-	# "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	;;
-      *)
-	if test "$GXX" = yes; then
-	  if test "$with_gnu_ld" = no; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	  else
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-	  fi
-	fi
-	link_all_deplibs_CXX=yes
-	;;
-    esac
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-	hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	;;
-      icpc*)
-	# Intel C++
-	with_gnu_ld=yes
-	# version 8.0 and above of icpc choke on multiply defined symbols
-	# if we add $predep_objects and $postdep_objects, however 7.1 and
-	# earlier do not add the objects themselves.
-	case `$CC -V 2>&1` in
-	*"Version 7."*)
-  	  archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-  	  archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	*)  # Version 8.0 or newer
-	  tmp_idyn=
-	  case $host_cpu in
-	    ia64*) tmp_idyn=' -i_dynamic';;
-	  esac
-  	  archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	  archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  ;;
-	esac
-	archive_cmds_need_lc_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-	archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-  	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-	export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
         ;;
-      cxx*)
-	# Compaq C++
-	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
 
-	runpath_var=LD_RUN_PATH
-	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C++ 5.9
-	  no_undefined_flag_CXX=' -zdefs'
-	  archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	  hardcode_libdir_flag_spec_CXX='-R$libdir'
-	  whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-	  # Not sure whether something based on
-	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	  # would be better.
-	  output_verbose_link_cmd='echo'
-
-	  # Archives containing C++ object files must be created using
-	  # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	  # necessary to make sure instantiated templates are included
-	  # in the archive.
-	  old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	  ;;
-	esac
-	;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  netbsd* | netbsdelf*-gnu)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      hardcode_libdir_flag_spec_CXX='-R$libdir'
-      hardcode_direct_CXX=yes
-      hardcode_shlibpath_var_CXX=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    ld_shlibs_CXX=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      hardcode_direct_CXX=yes
-      hardcode_shlibpath_var_CXX=no
-      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+      interix[3-9]*)
+	hardcode_direct_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
 	export_dynamic_flag_spec_CXX='${wl}-E'
-	whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      ld_shlibs_CXX=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	      fi
+	    fi
+	    link_all_deplibs_CXX=yes
+	    ;;
+        esac
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        inherit_rpath_CXX=yes
+        ;;
 
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+      linux* | k*bsd*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    archive_cmds_need_lc_CXX=no
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+	      prelink_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+	      old_archive_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$RANLIB $oldlib'
+	      archive_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      archive_expsym_cmds_CXX='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 will use weak symbols
+	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
 
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	hardcode_libdir_separator_CXX=:
+	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
 
-	# Archives containing C++ object files must be created using
-	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+	    runpath_var=LD_RUN_PATH
+	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+	    hardcode_libdir_separator_CXX=:
 
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  xl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      no_undefined_flag_CXX=' -zdefs'
+	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      hardcode_libdir_flag_spec_CXX='-R$libdir'
+	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      compiler_needs_object_CXX=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='echo'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
 	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
 	ld_shlibs_CXX=no
 	;;
-      cxx*)
-	allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	  archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
+      m88k*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+	;;
 
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+	esac
+	;;
 
-	else
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  hardcode_libdir_flag_spec_CXX='-R$libdir'
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
 	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
 	;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-	# Kuck and Associates, Inc. (KAI) C++ Compiler
 
-	# KCC will only create a shared library if the output file
-	# ends with ".so" (or ".sl" for HP-UX), so rename the library
-	# to its proper name (with version) after linking.
-	archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Archives containing C++ object files must be created using
-	# the KAI C++ compiler.
-	old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
+      *nto* | *qnx*)
+        ld_shlibs_CXX=yes
 	;;
-      RCC*)
-	# Rational C++ 2.4.1
-	# FIXME: insert proper C++ library support
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
 	ld_shlibs_CXX=no
 	;;
-      cxx*)
-	allow_undefined_flag_CXX=' -expect_unresolved \*'
-	archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	  echo "-hidden">> $lib.exp~
-	  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version	$verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-	  $rm $lib.exp'
-
-	hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	hardcode_libdir_separator_CXX=:
-
-	# Commands to make compiler produce verbose output that lists
-	# what "hidden" libraries, object files and flags are used when
-	# linking a shared library.
-	#
-	# There doesn't appear to be a way to prevent this compiler from
-	# explicitly linking system object files so we need to strip them
-	# from the output so that they don't get included in the library
-	# dependencies.
-	output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-	;;
-      *)
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-	  # Commands to make compiler produce verbose output that lists
-	  # what "hidden" libraries, object files and flags are used when
-	  # linking a shared library.
-	  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
 
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  hardcode_direct_CXX=yes
+	  hardcode_shlibpath_var_CXX=no
+	  hardcode_direct_absolute_CXX=yes
+	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    export_dynamic_flag_spec_CXX='${wl}-E'
+	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=echo
 	else
-	  # FIXME: insert proper C++ library support
 	  ld_shlibs_CXX=no
 	fi
 	;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.x
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      lcc*)
-	# Lucid
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-      *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-	# Sun C++ 4.2, 5.x and Centerline C++
-        archive_cmds_need_lc_CXX=yes
-	no_undefined_flag_CXX=' -zdefs'
-	archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	$CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-	hardcode_libdir_flag_spec_CXX='-R$libdir'
-	hardcode_shlibpath_var_CXX=no
-	case $host_os in
-	  solaris2.[0-5] | solaris2.[0-5].*) ;;
-	  *)
-	    # The compiler driver will combine and reorder linker options,
-	    # but understands `-z linker_flag'.
-	    # Supported since Solaris 2.6 (maybe 2.5.1?)
-	    whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-	    ;;
-	esac
-	link_all_deplibs_CXX=yes
 
-	output_verbose_link_cmd='echo'
-
-	# Archives containing C++ object files must be created using
-	# "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	# necessary to make sure instantiated templates are included
-	# in the archive.
-	old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	;;
-      gcx*)
-	# Green Hills C++ Compiler
-	archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+	    hardcode_libdir_separator_CXX=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        allow_undefined_flag_CXX=' -expect_unresolved \*'
+	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+		;;
+	    esac
 
-	# The C++ compiler must be used to create the archive.
-	old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	;;
-      *)
-	# GNU C++ compiler with Solaris linker
-	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	  no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-	  if $CC --version | grep -v '^2\.7' > /dev/null; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+	    hardcode_libdir_separator_CXX=:
 
 	    # Commands to make compiler produce verbose output that lists
 	    # what "hidden" libraries, object files and flags are used when
 	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  else
-	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	    # platform.
-	    archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+	      hardcode_libdir_separator_CXX=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      ld_shlibs_CXX=no
+	    fi
+	    ;;
+        esac
+        ;;
 
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-	  fi
+      psos*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
 
-	  hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-	  case $host_os in
-	  solaris2.[0-5] | solaris2.[0-5].*) ;;
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            archive_cmds_need_lc_CXX=yes
+	    no_undefined_flag_CXX=' -zdefs'
+	    archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    hardcode_libdir_flag_spec_CXX='-R$libdir'
+	    hardcode_shlibpath_var_CXX=no
+	    case $host_os in
+	      solaris2.[0-5] | solaris2.[0-5].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    link_all_deplibs_CXX=yes
+
+	    output_verbose_link_cmd='echo'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      fi
+
+	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[0-5] | solaris2.[0-5].*) ;;
+		*)
+		  whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag_CXX='${wl}-z,text'
+      archive_cmds_need_lc_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	no_undefined_flag_CXX='${wl}-z,text'
+	allow_undefined_flag_CXX='${wl}-z,nodefs'
+	archive_cmds_need_lc_CXX=no
+	hardcode_shlibpath_var_CXX=no
+	hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+	hardcode_libdir_separator_CXX=':'
+	link_all_deplibs_CXX=yes
+	export_dynamic_flag_spec_CXX='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
 	  *)
-	    whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
 	    ;;
-	  esac
-	fi
-	;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-    no_undefined_flag_CXX='${wl}-z,text'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    no_undefined_flag_CXX='${wl}-z,text'
-    allow_undefined_flag_CXX='${wl}-z,nodefs'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=yes
-    export_dynamic_flag_spec_CXX='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-	archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      *)
-	archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-	# NonStop-UX NCC 3.20
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    ld_shlibs_CXX=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+
       *)
-	# FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
     esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
+
+    { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
 echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
+    test "$ld_shlibs_CXX" = no && can_build_shared=no
 
-GCC_CXX="$GXX"
-LD_CXX="$LD"
+    GCC_CXX="$GXX"
+    LD_CXX="$LD"
 
-cat > conftest.$ac_ext <<EOF
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
 class Foo
 {
 public:
@@ -16094,7 +14920,7 @@ public:
 private:
   int a;
 };
-EOF
+_LT_EOF
 
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
@@ -16108,19 +14934,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   # the conftest object file.
   pre_test_object_deps_done=no
 
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
+  for p in `eval "$output_verbose_link_cmd"`; do
     case $p in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
        # Remove the space.
-       if test $p = "-L" \
-	  || test $p = "-R"; then
+       if test $p = "-L" ||
+          test $p = "-R"; then
 	 prev=$p
 	 continue
        else
@@ -16185,12 +15006,7 @@ else
   echo "libtool.m4: error: problem compiling CXX test program"
 fi
 
-$rm -f confest.$objext
-
-compiler_lib_search_dirs_CXX=
-if test -n "$compiler_lib_search_path_CXX"; then
-  compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
+$RM -f confest.$objext
 
 # PORTME: override above test on systems where it is broken
 case $host_os in
@@ -16206,7 +15022,7 @@ linux*)
   case `$CC -V 2>&1 | sed 5q` in
   *Sun\ C*)
     # Sun C++ 5.9
-    #
+
     # The more standards-conforming stlport4 library is
     # incompatible with the Cstd library. Avoid specifying
     # it if it's in CXXFLAGS. Ignore libCrun as
@@ -16216,6 +15032,7 @@ linux*)
       solaris_use_stlport4=yes
       ;;
     esac
+
     if test "$solaris_use_stlport4" != yes; then
       postdeps_CXX='-library=Cstd -library=Crun'
     fi
@@ -16247,11 +15064,46 @@ solaris*)
   ;;
 esac
 
+
 case " $postdeps_CXX " in
 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
 esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
 
-lt_prog_compiler_wl_CXX=
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    lt_prog_compiler_wl_CXX=
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
@@ -16271,12 +15123,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	lt_prog_compiler_static_CXX='-Bstatic'
       fi
       ;;
+
     amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic_CXX='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
       ;;
+
     beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
@@ -16316,6 +15178,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	;;
       esac
       ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic_CXX='-fPIC -shared'
+      ;;
     *)
       lt_prog_compiler_pic_CXX='-fPIC'
       ;;
@@ -16335,20 +15202,10 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	case $cc_basename in
 	cxch68*)
 	  # Green Hills C++ Compiler
-	  # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
 	  ;;
 	esac
 	;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           lt_prog_compiler_pic_CXX='-qnocommon'
-           lt_prog_compiler_wl_CXX='-Wl,'
-           ;;
-         esac
-       ;;
       dgux*)
 	case $cc_basename in
 	  ec++*)
@@ -16412,14 +15269,14 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	    lt_prog_compiler_wl_CXX='--backend -Wl,'
 	    lt_prog_compiler_pic_CXX='-fPIC'
 	    ;;
-	  icpc* | ecpc*)
+	  icpc* | ecpc* )
 	    # Intel C++
 	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-KPIC'
 	    lt_prog_compiler_static_CXX='-static'
 	    ;;
 	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler.
+	    # Portland Group C++ compiler
 	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-fpic'
 	    lt_prog_compiler_static_CXX='-Bstatic'
@@ -16431,6 +15288,12 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	    lt_prog_compiler_pic_CXX=
 	    lt_prog_compiler_static_CXX='-non_shared'
 	    ;;
+	  xlc* | xlC*)
+	    # IBM XL 8.0 on PPC
+	    lt_prog_compiler_wl_CXX='-Wl,'
+	    lt_prog_compiler_pic_CXX='-qpic'
+	    lt_prog_compiler_static_CXX='-qstaticlink'
+	    ;;
 	  *)
 	    case `$CC -V 2>&1 | sed 5q` in
 	    *Sun\ C*)
@@ -16458,6 +15321,11 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	;;
       netbsd* | netbsdelf*-gnu)
 	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        lt_prog_compiler_pic_CXX='-fPIC -shared'
+        ;;
       osf3* | osf4* | osf5*)
 	case $cc_basename in
 	  KCC*)
@@ -16512,22 +15380,22 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
 	    ;;
 	esac
 	;;
-      tandem*)
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
 	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
+	  CC*)
+	    lt_prog_compiler_wl_CXX='-Wl,'
 	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
+	    lt_prog_compiler_static_CXX='-Bstatic'
 	    ;;
 	esac
 	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      tandem*)
 	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
+	  NCC*)
+	    # NonStop-UX NCC 3.20
 	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
+	    ;;
+	  *)
 	    ;;
 	esac
 	;;
@@ -16539,21 +15407,31 @@ echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
     esac
   fi
 
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
 { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
 
+
+
 #
 # Check to make sure the PIC flag actually works.
 #
 if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+  { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_pic_works_CXX=no
-  ac_outfile=conftest.$ac_objext
+   ac_outfile=conftest.$ac_objext
    echo "$lt_simple_compile_test_code" > conftest.$ac_ext
    lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
    # Insert the option either (1) after the last *FLAGS variable, or
@@ -16565,21 +15443,21 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16568: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15446: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16572: \$? = $ac_status" >&5
+   echo "$as_me:15450: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
      $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
      if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_pic_works_CXX=yes
      fi
    fi
-   $rm conftest*
+   $RM conftest*
 
 fi
 { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
@@ -16596,15 +15474,8 @@ else
 fi
 
 fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
+
+
 
 #
 # Check to make sure the static flag actually works.
@@ -16625,7 +15496,7 @@ else
      if test -s conftest.err; then
        # Append any errors to the config.log.
        cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
        $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
        if diff conftest.exp conftest.er2 >/dev/null; then
          lt_cv_prog_compiler_static_works_CXX=yes
@@ -16634,7 +15505,7 @@ else
        lt_cv_prog_compiler_static_works_CXX=yes
      fi
    fi
-   $rm -r conftest*
+   $RM -r conftest*
    LDFLAGS="$save_LDFLAGS"
 
 fi
@@ -16648,13 +15519,15 @@ else
 fi
 
 
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+
+
+    { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
-   $rm -r conftest 2>/dev/null
+   $RM -r conftest 2>/dev/null
    mkdir conftest
    cd conftest
    mkdir out
@@ -16669,43 +15542,97 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16672: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15545: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16676: \$? = $ac_status" >&5
+   echo "$as_me:15549: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
      $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
      if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
        lt_cv_prog_compiler_c_o_CXX=yes
      fi
    fi
    chmod u+w . 2>&5
-   $rm conftest*
+   $RM conftest*
    # SGI C++ compiler will create directory out/ii_files/ for
    # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
    cd ..
-   rmdir conftest
-   $rm conftest*
+   $RM -r conftest
+   $RM conftest*
 
 fi
 { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
 
+
+    { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15597: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:15601: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
 hard_links="nottested"
 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
   { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
   hard_links=yes
-  $rm conftest*
+  $RM conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
@@ -16721,7 +15648,9 @@ else
   need_locks=no
 fi
 
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+
+
+    { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
@@ -16729,17 +15658,17 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
   aix[4-9]*)
     # If we're using GNU nm, then we don't want the "-C" option.
     # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
     fi
     ;;
   pw32*)
     export_symbols_cmds_CXX="$ltdll_cmds"
   ;;
   cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
   ;;
   linux* | k*bsd*-gnu)
     link_all_deplibs_CXX=no
@@ -16754,6 +15683,13 @@ echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared librar
 echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
 test "$ld_shlibs_CXX" = no && can_build_shared=no
 
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
 #
 # Do we need to explicitly link libc?
 #
@@ -16773,7 +15709,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
+      $RM conftest*
       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
 
       if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@@ -16794,8 +15730,8 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
         libname=conftest
         lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
         allow_undefined_flag_CXX=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -16808,7 +15744,7 @@ echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&
       else
         cat conftest.err 1>&5
       fi
-      $rm conftest*
+      $RM conftest*
       { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
       ;;
@@ -16817,2659 +15753,72 @@ echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
   ;;
 esac
 
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  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'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  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
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-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
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  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'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-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'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # 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;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  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
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  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=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  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=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  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
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  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
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
-   test -n "$runpath_var_CXX" || \
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_CXX \
-    CC_CXX \
-    LD_CXX \
-    lt_prog_compiler_wl_CXX \
-    lt_prog_compiler_pic_CXX \
-    lt_prog_compiler_static_CXX \
-    lt_prog_compiler_no_builtin_flag_CXX \
-    export_dynamic_flag_spec_CXX \
-    thread_safe_flag_spec_CXX \
-    whole_archive_flag_spec_CXX \
-    enable_shared_with_static_runtimes_CXX \
-    old_archive_cmds_CXX \
-    old_archive_from_new_cmds_CXX \
-    predep_objects_CXX \
-    postdep_objects_CXX \
-    predeps_CXX \
-    postdeps_CXX \
-    compiler_lib_search_path_CXX \
-    compiler_lib_search_dirs_CXX \
-    archive_cmds_CXX \
-    archive_expsym_cmds_CXX \
-    postinstall_cmds_CXX \
-    postuninstall_cmds_CXX \
-    old_archive_from_expsyms_cmds_CXX \
-    allow_undefined_flag_CXX \
-    no_undefined_flag_CXX \
-    export_symbols_cmds_CXX \
-    hardcode_libdir_flag_spec_CXX \
-    hardcode_libdir_flag_spec_ld_CXX \
-    hardcode_libdir_separator_CXX \
-    hardcode_automatic_CXX \
-    module_cmds_CXX \
-    module_expsym_cmds_CXX \
-    lt_cv_prog_compiler_c_o_CXX \
-    fix_srcfile_path_CXX \
-    exclude_expsyms_CXX \
-    include_expsyms_CXX; do
-
-    case $var in
-    old_archive_cmds_CXX | \
-    old_archive_from_new_cmds_CXX | \
-    archive_cmds_CXX | \
-    archive_expsym_cmds_CXX | \
-    module_cmds_CXX | \
-    module_expsym_cmds_CXX | \
-    old_archive_from_expsyms_cmds_CXX | \
-    export_symbols_cmds_CXX | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
-	else
-	  tagname=""
-	fi
-	;;
-
-      F77)
-	if test -n "$F77" && test "X$F77" != "Xno"; then
-	  :
-	else
-	  tagname=""
-	fi
-	;;
-
-      GCJ)
-	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17977: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:17981: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_GCJ='-Wl,'
-    lt_prog_compiler_static_GCJ='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_GCJ='-fno-common'
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_GCJ=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_GCJ=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic_GCJ='-fPIC'
-	;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic_GCJ='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_GCJ='-Bstatic'
-      else
-	lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic_GCJ='-qnocommon'
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic_GCJ='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-	lt_prog_compiler_wl_GCJ='-Wl,'
-	lt_prog_compiler_pic_GCJ='-KPIC'
-	lt_prog_compiler_static_GCJ='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl_GCJ='-Wl,'
-	lt_prog_compiler_pic_GCJ='-fpic'
-	lt_prog_compiler_static_GCJ='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_GCJ='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_GCJ='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  lt_prog_compiler_pic_GCJ='-KPIC'
-	  lt_prog_compiler_static_GCJ='-Bstatic'
-	  lt_prog_compiler_wl_GCJ='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  lt_prog_compiler_pic_GCJ='-KPIC'
-	  lt_prog_compiler_static_GCJ='-Bstatic'
-	  lt_prog_compiler_wl_GCJ=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	lt_prog_compiler_wl_GCJ='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl_GCJ='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl_GCJ='-Qoption ld '
-      lt_prog_compiler_pic_GCJ='-PIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic_GCJ='-Kconform_pic'
-	lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic_GCJ='-pic'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_pic_works_GCJ=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18267: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:18271: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_GCJ=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
-    case $lt_prog_compiler_pic_GCJ in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
-     esac
-else
-    lt_prog_compiler_pic_GCJ=
-     lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_GCJ=
-    ;;
-  *)
-    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_static_works_GCJ=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_GCJ=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_GCJ=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
 
-if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
-    :
-else
-    lt_prog_compiler_static_GCJ=
-fi
 
 
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_GCJ=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18371: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:18375: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_GCJ=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
 
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
 
 
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
 
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
 
-  runpath_var=
-  allow_undefined_flag_GCJ=
-  enable_shared_with_static_runtimes_GCJ=no
-  archive_cmds_GCJ=
-  archive_expsym_cmds_GCJ=
-  old_archive_From_new_cmds_GCJ=
-  old_archive_from_expsyms_cmds_GCJ=
-  export_dynamic_flag_spec_GCJ=
-  whole_archive_flag_spec_GCJ=
-  thread_safe_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_ld_GCJ=
-  hardcode_libdir_separator_GCJ=
-  hardcode_direct_GCJ=no
-  hardcode_minus_L_GCJ=no
-  hardcode_shlibpath_var_GCJ=unsupported
-  link_all_deplibs_GCJ=unknown
-  hardcode_automatic_GCJ=no
-  module_cmds_GCJ=
-  module_expsym_cmds_GCJ=
-  always_export_symbols_GCJ=no
-  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms_GCJ=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs_GCJ=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-	whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-  	whole_archive_flag_spec_GCJ=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs_GCJ=no
-	cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs_GCJ=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag_GCJ=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=no
-      enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    interix[3-9]*)
-      hardcode_direct_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
 
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	tmp_addflag=
-	case $cc_basename,$host_cpu in
-	pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)		# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	*)
-	  tmp_sharedflag='-shared' ;;
-	esac
-	archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
 
-	if test $supports_anon_versioning = yes; then
-	  archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-	  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	fi
-	link_all_deplibs_GCJ=no
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
 
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-	ld_shlibs_GCJ=no
-	cat <<EOF 1>&2
 
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
 
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs_GCJ=no
-	cat <<_LT_EOF 1>&2
 
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
 
-_LT_EOF
-	;;
-	*)
-	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-	    archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-	    archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-	  else
-	    ld_shlibs_GCJ=no
-	  fi
-	;;
-      esac
-      ;;
 
-    sunos4*)
-      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-    esac
 
-    if test "$ld_shlibs_GCJ" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_GCJ=
-      export_dynamic_flag_spec_GCJ=
-      whole_archive_flag_spec_GCJ=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=yes
-      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_GCJ=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct_GCJ=unsupported
-      fi
-      ;;
 
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-	  export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
 
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	  for ld_flag in $LDFLAGS; do
-  	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-  	    aix_use_runtimelinking=yes
-  	    break
-  	  fi
-	  done
-	  ;;
-	esac
 
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
 
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
-      archive_cmds_GCJ=''
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
 
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[012]|aix4.[012].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" && \
-  	   strings "$collect2name" | grep resolve_lib_name >/dev/null
-	  then
-  	  # We have reworked collect2
-  	  :
-	  else
-  	  # We have old collect2
-  	  hardcode_direct_GCJ=unsupported
-  	  # It fails to find uninstalled libraries when the uninstalled
-  	  # path is not listed in the libpath.  Setting hardcode_minus_L
-  	  # to unsupported forces relinking
-  	  hardcode_minus_L_GCJ=yes
-  	  hardcode_libdir_flag_spec_GCJ='-L$libdir'
-  	  hardcode_libdir_separator_GCJ=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-  	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-  	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
 
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols_GCJ=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag_GCJ='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-	archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-	if test "$host_cpu" = ia64; then
-	  hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag_GCJ="-z nodefs"
-	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an empty executable.
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-int
-main ()
-{
 
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
-	 hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag_GCJ=' ${wl}-bernotok'
-	  allow_undefined_flag_GCJ=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  whole_archive_flag_spec_GCJ='$convenience'
-	  archive_cmds_need_lc_GCJ=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
 
-    amigaos*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs_GCJ=no
-      ;;
 
-    bsdi[45]*)
-      export_dynamic_flag_spec_GCJ=-rdynamic
-      ;;
 
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ=' '
-      allow_undefined_flag_GCJ=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds_GCJ='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes_GCJ=yes
-      ;;
 
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc_GCJ=no
-      hardcode_direct_GCJ=no
-      hardcode_automatic_GCJ=yes
-      hardcode_shlibpath_var_GCJ=unsupported
-      whole_archive_flag_spec_GCJ=''
-      link_all_deplibs_GCJ=yes
-    if test "$GCC" = yes ; then
-    	output_verbose_link_cmd='echo'
-        archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs_GCJ=no
-          ;;
-      esac
-    fi
-      ;;
 
-    dgux*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    freebsd1*)
-      ld_shlibs_GCJ=no
-      ;;
 
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_direct_GCJ=yes
 
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      ;;
 
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_GCJ=:
 
-	hardcode_direct_GCJ=yes
-	export_dynamic_flag_spec_GCJ='${wl}-E'
 
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L_GCJ=yes
-      fi
-      ;;
 
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator_GCJ=:
 
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
-	  hardcode_direct_GCJ=no
-	  hardcode_shlibpath_var_GCJ=no
-	  ;;
-	*)
-	  hardcode_direct_GCJ=yes
-	  export_dynamic_flag_spec_GCJ='${wl}-E'
 
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L_GCJ=yes
-	  ;;
-	esac
-      fi
-      ;;
 
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      link_all_deplibs_GCJ=yes
-      ;;
 
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-	archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    newsos6)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_shlibpath_var_GCJ=no
-      ;;
 
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	hardcode_direct_GCJ=yes
-	hardcode_shlibpath_var_GCJ=no
-	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	  export_dynamic_flag_spec_GCJ='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	     archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     hardcode_libdir_flag_spec_GCJ='-R$libdir'
-	     ;;
-	   *)
-	     archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-        fi
-      else
-	ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      allow_undefined_flag_GCJ=unsupported
-      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	allow_undefined_flag_GCJ=' -expect_unresolved \*'
-	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag_GCJ=' -expect_unresolved \*'
-	archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    solaris*)
-      no_undefined_flag_GCJ=' -z text'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-	wlarc=''
-	archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-  	$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
- 	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      link_all_deplibs_GCJ=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_GCJ=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds_GCJ='$CC -r -o $output$reload_objs'
-	  hardcode_direct_GCJ=no
-        ;;
-	motorola)
-	  archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_GCJ=no
-      export_dynamic_flag_spec_GCJ='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var_GCJ=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs_GCJ=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_GCJ='${wl}-z,text'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_GCJ='${wl}-z,text'
-      allow_undefined_flag_GCJ='${wl}-z,nodefs'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    *)
-      ld_shlibs_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_GCJ=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_GCJ in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_GCJ
-	pic_flag=$lt_prog_compiler_pic_GCJ
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
-        allow_undefined_flag_GCJ=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-	  archive_cmds_need_lc_GCJ=no
-        else
-	  archive_cmds_need_lc_GCJ=yes
-        fi
-        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+    { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
+
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -19483,7 +15832,6 @@ shlibpath_overrides_runpath=unknown
 version_type=none
 dynamic_linker="$host_os ld.so"
 sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
 need_lib_prefix=unknown
 hardcode_into_libs=no
 
@@ -19520,7 +15868,7 @@ aix[4-9]*)
       aix4 | aix4.[01] | aix4.[01].*)
       if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
 	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
 	:
       else
 	can_build_shared=no
@@ -19546,9 +15894,18 @@ aix[4-9]*)
   ;;
 
 amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
   ;;
 
 beos*)
@@ -19582,14 +15939,17 @@ cygwin* | mingw* | pw32*)
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
       $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
     postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
       dlpath=$dir/\$dldll~
-       $rm \$dlpath'
+       $RM \$dlpath'
     shlibpath_overrides_runpath=yes
 
     case $host_os in
@@ -19601,17 +15961,17 @@ cygwin* | mingw* | pw32*)
     mingw*)
       # MinGW DLLs use traditional 'lib' prefix
       soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
         # It is most probably a Windows format PATH printed by
         # mingw gcc, but we are running on Cygwin. Gcc prints its search
         # path with ; separators, and with drive letters. We can handle the
         # drive letters (cygwin fileutils understands them), so leave them,
         # especially as we might pass files found there to a mingw objdump,
         # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
       else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
       fi
       ;;
     pw32*)
@@ -19635,7 +15995,7 @@ darwin* | rhapsody*)
   version_type=darwin
   need_lib_prefix=no
   need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
   soname_spec='${libname}${release}${major}$shared_ext'
   shlibpath_overrides_runpath=yes
   shlibpath_var=DYLD_LIBRARY_PATH
@@ -19733,18 +16093,18 @@ hpux9* | hpux10* | hpux11*)
     fi
     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
     ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
     shrext_cmds='.sl'
     dynamic_linker="$host_os dld.sl"
     shlibpath_var=SHLIB_PATH
@@ -19821,6 +16181,60 @@ linux* | k*bsd*-gnu)
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
+  shlibpath_overrides_runpath=yes
+fi
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
   # This implies no fast_install, which is unacceptable.
   # Some rework will be needed to allow for fast_install
   # before this can be enabled.
@@ -19828,7 +16242,7 @@ linux* | k*bsd*-gnu)
 
   # 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;/^$/d' | tr '\n' ' '`
+    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;/^$/d' | tr '\n' ' '`
     sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
   fi
 
@@ -19857,7 +16271,7 @@ netbsd*)
   version_type=sunos
   need_lib_prefix=no
   need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
     finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
     dynamic_linker='NetBSD (a.out) ld.so'
@@ -19878,14 +16292,16 @@ newsos6)
   shlibpath_overrides_runpath=yes
   ;;
 
-nto-qnx*)
-  version_type=linux
+*nto* | *qnx*)
+  version_type=qnx
   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=yes
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
   ;;
 
 openbsd*)
@@ -19894,13 +16310,13 @@ openbsd*)
   need_lib_prefix=no
   # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
   case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
   esac
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
   shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
     case $host_os in
       openbsd2.[89] | openbsd2.[89].*)
 	shlibpath_overrides_runpath=no
@@ -19972,7 +16388,6 @@ sysv4 | sysv4.3*)
     sni)
       shlibpath_overrides_runpath=no
       need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
       runpath_var=LD_RUN_PATH
       ;;
     siemens)
@@ -20003,13 +16418,12 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
   hardcode_into_libs=yes
   if test "$with_gnu_ld" = yes; then
     sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
   else
     sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
     case $host_os in
       sco3.2v5*)
         sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
@@ -20019,6 +16433,17 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
   sys_lib_dlsearch_path_spec='/usr/lib'
   ;;
 
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
 uts4*)
   version_type=linux
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -20034,477 +16459,109 @@ esac
 echo "${ECHO_T}$dynamic_linker" >&6; }
 test "$dynamic_linker" = no && can_build_shared=no
 
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
 if test "$GCC" = yes; then
   variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
 fi
 
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var_GCJ" || \
-   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_GCJ" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
 fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
 fi
 
 
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_GCJ \
-    CC_GCJ \
-    LD_GCJ \
-    lt_prog_compiler_wl_GCJ \
-    lt_prog_compiler_pic_GCJ \
-    lt_prog_compiler_static_GCJ \
-    lt_prog_compiler_no_builtin_flag_GCJ \
-    export_dynamic_flag_spec_GCJ \
-    thread_safe_flag_spec_GCJ \
-    whole_archive_flag_spec_GCJ \
-    enable_shared_with_static_runtimes_GCJ \
-    old_archive_cmds_GCJ \
-    old_archive_from_new_cmds_GCJ \
-    predep_objects_GCJ \
-    postdep_objects_GCJ \
-    predeps_GCJ \
-    postdeps_GCJ \
-    compiler_lib_search_path_GCJ \
-    compiler_lib_search_dirs_GCJ \
-    archive_cmds_GCJ \
-    archive_expsym_cmds_GCJ \
-    postinstall_cmds_GCJ \
-    postuninstall_cmds_GCJ \
-    old_archive_from_expsyms_cmds_GCJ \
-    allow_undefined_flag_GCJ \
-    no_undefined_flag_GCJ \
-    export_symbols_cmds_GCJ \
-    hardcode_libdir_flag_spec_GCJ \
-    hardcode_libdir_flag_spec_ld_GCJ \
-    hardcode_libdir_separator_GCJ \
-    hardcode_automatic_GCJ \
-    module_cmds_GCJ \
-    module_expsym_cmds_GCJ \
-    lt_cv_prog_compiler_c_o_GCJ \
-    fix_srcfile_path_GCJ \
-    exclude_expsyms_GCJ \
-    include_expsyms_GCJ; do
-
-    case $var in
-    old_archive_cmds_GCJ | \
-    old_archive_from_new_cmds_GCJ | \
-    archive_cmds_GCJ | \
-    archive_expsym_cmds_GCJ | \
-    module_cmds_GCJ | \
-    module_expsym_cmds_GCJ | \
-    old_archive_from_expsyms_cmds_GCJ | \
-    export_symbols_cmds_GCJ | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
 
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
 
-cfgfile="$ofile"
 
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
 
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
 
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
 
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
 
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
 
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
 
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
 
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
 
-# A C compiler.
-LTCC=$lt_LTCC
 
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
 
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
 
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
 
-# An ERE matcher.
-EGREP=$lt_EGREP
 
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
 
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
 
-# A BSD-compatible nm program.
-NM=$lt_NM
 
-# A symbol stripping program
-STRIP=$lt_STRIP
 
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
 
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
 
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
 
-# Used on cygwin: assembler.
-AS="$AS"
 
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
 
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
 
-# Object file suffix (normally "o").
-objext="$ac_objext"
 
-# Old archive suffix (normally "a").
-libext="$libext"
 
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
 
-# Executable file suffix (normally "").
-exeext="$exeext"
 
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
 
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
 
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
+    { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+   test -n "$runpath_var_CXX" ||
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
 
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
+echo "${ECHO_T}$hardcode_action_CXX" >&6; }
 
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
+if test "$hardcode_action_CXX" = relink ||
+   test "$inherit_rpath_CXX" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
 
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
 
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
 
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
 
-# ### END LIBTOOL TAG CONFIG: $tagname
 
-__EOF__
 
 
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
+  fi # test -n "$compiler"
 
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -20512,601 +16569,31 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-CC="$lt_save_CC"
-
-	else
-	  tagname=""
-	fi
-	;;
-
-      RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_RC \
-    CC_RC \
-    LD_RC \
-    lt_prog_compiler_wl_RC \
-    lt_prog_compiler_pic_RC \
-    lt_prog_compiler_static_RC \
-    lt_prog_compiler_no_builtin_flag_RC \
-    export_dynamic_flag_spec_RC \
-    thread_safe_flag_spec_RC \
-    whole_archive_flag_spec_RC \
-    enable_shared_with_static_runtimes_RC \
-    old_archive_cmds_RC \
-    old_archive_from_new_cmds_RC \
-    predep_objects_RC \
-    postdep_objects_RC \
-    predeps_RC \
-    postdeps_RC \
-    compiler_lib_search_path_RC \
-    compiler_lib_search_dirs_RC \
-    archive_cmds_RC \
-    archive_expsym_cmds_RC \
-    postinstall_cmds_RC \
-    postuninstall_cmds_RC \
-    old_archive_from_expsyms_cmds_RC \
-    allow_undefined_flag_RC \
-    no_undefined_flag_RC \
-    export_symbols_cmds_RC \
-    hardcode_libdir_flag_spec_RC \
-    hardcode_libdir_flag_spec_ld_RC \
-    hardcode_libdir_separator_RC \
-    hardcode_automatic_RC \
-    module_cmds_RC \
-    module_expsym_cmds_RC \
-    lt_cv_prog_compiler_c_o_RC \
-    fix_srcfile_path_RC \
-    exclude_expsyms_RC \
-    include_expsyms_RC; do
-
-    case $var in
-    old_archive_cmds_RC | \
-    old_archive_from_new_cmds_RC | \
-    archive_cmds_RC | \
-    archive_expsym_cmds_RC | \
-    module_cmds_RC | \
-    module_expsym_cmds_RC | \
-    old_archive_from_expsyms_cmds_RC | \
-    export_symbols_cmds_RC | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-	;;
-
-      *)
-	{ { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-	;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SHARED_LIB_SUFFIX "$shrext_cmds"
-_ACEOF
-
-
-VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
-VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
-VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
-SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
-version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-
-
-# define pkg-config requirements for all our submodules.
-# only the trivial requirements go here.
-requirements_ecore_con=""
-requirements_ecore_config=""
-requirements_ecore_directfb=""
-requirements_ecore_evas="evas"
-requirements_ecore_fb=""
-requirements_ecore_file=""
-requirements_ecore_ipc=""
-requirements_ecore_job=""
-requirements_ecore_txt=""
-requirements_ecore_x=""
-requirements_ecore_win32=""
-requirements_ecore_wince=""
-requirements_ecore_sdl=""
-requirements_ecore_quartz=""
-
-
-
-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.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -21114,13 +16601,12 @@ done
 done
 IFS=$as_save_IFS
 
-  ;;
-esac
 fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
@@ -21128,28 +16614,26 @@ fi
 
 
 fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
 { echo "$as_me:$LINENO: checking for $ac_word" >&5
 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -21157,20 +16641,19 @@ done
 done
 IFS=$as_save_IFS
 
-  ;;
-esac
 fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
+  if test "x$ac_ct_CC" = x; then
+    CC=""
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -21182,582 +16665,260 @@ whose name does not start with the host triplet.  If you think this
 configuration is useful to you, please write to autoconf at gnu.org." >&2;}
 ac_tool_warned=yes ;;
 esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
+    CC=$ac_ct_CC
   fi
 else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+  CC="$ac_cv_prog_CC"
 fi
 
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
 fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	else
-		{ echo "$as_me:$LINENO: result: no" >&5
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-		PKG_CONFIG=""
-	fi
-
 fi
 
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EINA" >&5
-echo $ECHO_N "checking for EINA... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EINA_CFLAGS"; then
-        pkg_cv_EINA_CFLAGS="$EINA_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eina-0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eina-0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina-0" 2>/dev/null`
-else
-  pkg_failed=yes
+  fi
 fi
-    fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EINA_LIBS"; then
-        pkg_cv_EINA_LIBS="$EINA_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eina-0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eina-0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina-0" 2>/dev/null`
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  pkg_failed=yes
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
 fi
-    fi
-else
-	pkg_failed=untried
 fi
-
-
-
-if test $pkg_failed = yes; then
-
-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
-	        EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina-0"`
-        else
-	        EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina-0"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EINA_PKG_ERRORS" >&5
-
-	{ { echo "$as_me:$LINENO: error: Package requirements (eina-0) were not met:
-
-$EINA_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-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.
-" >&5
-echo "$as_me: error: Package requirements (eina-0) were not met:
-
-$EINA_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-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.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-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.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-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.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-	EINA_CFLAGS=$pkg_cv_EINA_CFLAGS
-	EINA_LIBS=$pkg_cv_EINA_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	:
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-WIN32_CPPFLAGS=""
-WIN32_CFLAGS=""
-WIN32_LIBS=""
-lt_enable_auto_import=""
-case "$host_os" in
-	mingw* | cegcc*)
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVIL" >&5
-echo $ECHO_N "checking for EVIL... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVIL_CFLAGS"; then
-        pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evil\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVIL_CFLAGS=`$PKG_CONFIG --cflags "evil" 2>/dev/null`
-else
-  pkg_failed=yes
 fi
-    fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVIL_LIBS"; then
-        pkg_cv_EVIL_LIBS="$EVIL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evil\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVIL_LIBS=`$PKG_CONFIG --libs "evil" 2>/dev/null`
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  pkg_failed=yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
 fi
-    fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-	pkg_failed=untried
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-        _pkg_short_errors_supported=no
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil"`
-        else
-	        EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVIL_PKG_ERRORS" >&5
-
-	{ { echo "$as_me:$LINENO: error: Package requirements (evil) were not met:
-
-$EVIL_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-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.
-" >&5
-echo "$as_me: error: Package requirements (evil) were not met:
 
-$EVIL_PKG_ERRORS
+  test -n "$ac_ct_CC" && break
+done
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
 
-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.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+fi
 
-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.
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-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.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
-else
-	EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS
-	EVIL_LIBS=$pkg_cv_EVIL_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	:
-fi
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_EVIL 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_EVAS_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_FILE_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_IMF_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_JOB_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_SDL_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_QUARTZ_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_TXT_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_WIN32_BUILD 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_MMAN_H 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_TIME_H 1
-_ACEOF
-
-                if test "$host_os" = "cegcc" ; then
 
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_WINCE_BUILD 1
-_ACEOF
-
-			WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-			WIN32_CFLAGS="-mwin32"
-			WIN32_LIBS="-lws2"
-                else
-			if test "$host_os" = "mingw32ce" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_ECORE_WINCE_BUILD 1
-_ACEOF
-
-				WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-				WIN32_LIBS="-lws2"
-			else
-				WIN32_LIBS="-lws2_32"
-			fi
-                fi
-                lt_enable_auto_import="-Wl,--enable-auto-import"
-                dlopen_libs=-ldl
-		;;
-	*)
-
-
-
-
-
-
-
-
-
-
-for ac_header in dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h signal.h sys/resource.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------------------------------- ##
-## Report this to enlightenment-devel at lists.sourceforge.net ##
-## -------------------------------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-		{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  dlopen_libs=-ldl
-fi
-
-		;;
-esac
-
-
-
-
-
-
+  (exit $ac_status); }
 
-for ac_func in gettimeofday
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -21766,53 +16927,26 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
 
 int
 main ()
 {
-return $ac_func ();
+#ifndef __GNUC__
+       choke me
+#endif
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -21821,92 +16955,56 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	eval "$as_ac_var=no"
+	ac_compiler_gnu=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-done
-
-
-for ac_func in strlcpy
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
 
 int
 main ()
 {
-return $ac_func ();
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -21915,61 +17013,36 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-{ echo "$as_me:$LINENO: checking for working alloca.h" >&5
-echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; }
-if test "${ac_cv_working_alloca_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <alloca.h>
+
 int
 main ()
 {
-char *p = (char *) alloca (2 * sizeof (int));
-			  if (p) return 0;
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -21978,78 +17051,37 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_working_alloca_h=yes
+       } && test -s conftest.$ac_objext; then
+  :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_working_alloca_h=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
-echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA_H 1
-_ACEOF
-
-fi
-
-{ echo "$as_me:$LINENO: checking for alloca" >&5
-echo $ECHO_N "checking for alloca... $ECHO_C" >&6; }
-if test "${ac_cv_func_alloca_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  ifdef HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
 
 int
 main ()
 {
-char *p = (char *) alloca (1);
-				    if (p) return 0;
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -22058,131 +17090,117 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func_alloca_works=yes
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_func_alloca_works=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
-echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA 1
-_ACEOF
-
-else
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble.  Some versions do not even contain alloca or
-# contain a buggy version.  If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
 
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-cat >>confdefs.h <<\_ACEOF
-#define C_ALLOCA 1
-_ACEOF
-
-
-{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
-echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; }
-if test "${ac_cv_os_cray+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then
-  ac_cv_os_cray=yes
-else
-  ac_cv_os_cray=no
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest*
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
-echo "${ECHO_T}$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
-  for ac_func in _getb67 GETB67 getb67; do
-    as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
 
-#undef $ac_func
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
 
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
 int
 main ()
 {
-return $ac_func ();
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -22191,416 +17209,348 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	eval "$as_ac_var=no"
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
 fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
 
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
 
-    break
 fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
 
-  done
-fi
 
-{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
-echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; }
-if test "${ac_cv_c_stack_direction+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_c_stack_direction=0
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-int
-main ()
-{
-  return find_stack_direction () < 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_c_stack_direction=1
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+have_gnu_objc=${ac_cv_objc_compiler_gnu}
 
+# doxygen program for documentation building
 
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
-echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
 
+# Check whether --enable-doc was given.
+if test "${enable_doc+set}" = set; then
+  enableval=$enable_doc;
+    if test "x${enableval}" = "xyes" ; then
+       efl_enable_doc="yes"
+    else
+       efl_enable_doc="no"
+    fi
 
-fi
+else
+  efl_enable_doc="yes"
 
+fi
 
-want_gnutls="yes"
-have_gnutls="no"
-# Check whether --enable-gnutls was given.
-if test "${enable_gnutls+set}" = set; then
-  enableval=$enable_gnutls;  want_gnutls=$enableval
 
-fi
+if test "x${efl_enable_doc}" = "xyes" ; then
 
 
-if test "x$want_gnutls" = "xyes"; then
+   efl_doxygen="doxygen"
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for TLS2" >&5
-echo $ECHO_N "checking for TLS2... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$TLS2_CFLAGS"; then
-        pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.0.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.0.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_TLS2_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.0.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
+# Check whether --with-doxygen was given.
+if test "${with_doxygen+set}" = set; then
+  withval=$with_doxygen;       efl_doxygen=${withval}
+       # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
+set dummy ${efl_doxygen}; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$TLS2_LIBS"; then
-        pkg_cv_TLS2_LIBS="$TLS2_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.0.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.0.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_TLS2_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.0.0" 2>/dev/null`
+  if test -n "$efl_have_doxygen"; then
+  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
 else
-  pkg_failed=yes
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_efl_have_doxygen="yes"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
 fi
-    fi
-else
-	pkg_failed=untried
 fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
+if test -n "$efl_have_doxygen"; then
+  { echo "$as_me:$LINENO: result: $efl_have_doxygen" >&5
+echo "${ECHO_T}$efl_have_doxygen" >&6; }
 else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.0.0"`
-        else
-	        TLS2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.0.0"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$TLS2_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
+  { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
+fi
 
-	have_gnutls2="no"
-
-elif test $pkg_failed = untried; then
 
-	have_gnutls2="no"
+       if test "x${efl_have_doxygen}" = "xno" ; then
+          echo "WARNING:"
+          echo "The doxygen program you specified:"
+          echo "$efl_doxygen"
+          echo "was not found.  Please check the path and make sure "
+          echo "the program exists and is executable."
+          { echo "$as_me:$LINENO: WARNING: Warning: no doxygen detected. Documentation will not be built" >&5
+echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
+       fi
 
 else
-	TLS2_CFLAGS=$pkg_cv_TLS2_CFLAGS
-	TLS2_LIBS=$pkg_cv_TLS2_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_GNUTLS2 1
-_ACEOF
-
-	have_gnutls2="yes"
-
-fi
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for TLS" >&5
-echo $ECHO_N "checking for TLS... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$TLS_CFLAGS"; then
-        pkg_cv_TLS_CFLAGS="$TLS_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_TLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls" 2>/dev/null`
+  # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
+set dummy ${efl_doxygen}; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  pkg_failed=yes
-fi
-    fi
+  if test -n "$efl_have_doxygen"; then
+  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
 else
-	pkg_failed=untried
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_efl_have_doxygen="yes"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$TLS_LIBS"; then
-        pkg_cv_TLS_LIBS="$TLS_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls\"") >&5
-  ($PKG_CONFIG --exists --print-errors "gnutls") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_TLS_LIBS=`$PKG_CONFIG --libs "gnutls" 2>/dev/null`
-else
-  pkg_failed=yes
 fi
-    fi
+efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
+if test -n "$efl_have_doxygen"; then
+  { echo "$as_me:$LINENO: result: $efl_have_doxygen" >&5
+echo "${ECHO_T}$efl_have_doxygen" >&6; }
 else
-	pkg_failed=untried
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
+       if test "x${efl_have_doxygen}" = "xno" ; then
+          echo "WARNING:"
+          echo "The doxygen program was not found in your execute"
+          echo "You may have doxygen installed somewhere not covered by your path."
+          echo ""
+          echo "If this is the case make sure you have the packages installed, AND"
+          echo "that the doxygen program is in your execute path (see your"
+          echo "shell manual page on setting the \$PATH environment variable), OR"
+          echo "alternatively, specify the program to use with --with-doxygen."
+          { echo "$as_me:$LINENO: WARNING: Warning: no doxygen detected. Documentation will not be built" >&5
+echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
+       fi
 
-if test $pkg_failed = yes; then
 
-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
-	        TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls"`
-        else
-	        TLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$TLS_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+fi
 
-        have_gnutls="no"
 
-elif test $pkg_failed = untried; then
 
-        have_gnutls="no"
+if ! test "x${efl_have_doxygen}" = "xyes" ; then
+   efl_enable_doc="no"
+fi
 
+ if test "x${efl_enable_doc}" = "xyes"; then
+  EFL_BUILD_DOC_TRUE=
+  EFL_BUILD_DOC_FALSE='#'
 else
-	TLS_CFLAGS=$pkg_cv_TLS_CFLAGS
-	TLS_LIBS=$pkg_cv_TLS_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_GNUTLS 1
-_ACEOF
+  EFL_BUILD_DOC_TRUE='#'
+  EFL_BUILD_DOC_FALSE=
+fi
 
-        requirements_ecore_con="$requirements_ecore_con gnutls"
-        # no need to add it to req_ecore_ipc, since they
-        # depends on ecore_con anyway.
-        have_gnutls="yes"
 
-fi
+if test "x${efl_enable_doc}" = "xyes" ; then
+  build_doc="yes"
+else
+  build_doc="no"
 fi
 
-want_openssl="yes"
-have_openssl="no"
-# Check whether --enable-openssl was given.
-if test "${enable_openssl+set}" = set; then
-  enableval=$enable_openssl;  want_openssl=$enableval
 
-fi
 
+# The first call to PKG_CHECK_MODULES is done conditionally,
+# so we should include this here:
 
-if test "x$want_openssl" = "xyes"; then
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for SSL" >&5
-echo $ECHO_N "checking for SSL... $ECHO_C" >&6; }
+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.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
 if test -n "$PKG_CONFIG"; then
-    if test -n "$SSL_CFLAGS"; then
-        pkg_cv_SSL_CFLAGS="$SSL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"openssl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "openssl") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_SSL_CFLAGS=`$PKG_CONFIG --cflags "openssl" 2>/dev/null`
+  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
 else
-  pkg_failed=yes
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-    fi
-else
-	pkg_failed=untried
+
+
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$SSL_LIBS"; then
-        pkg_cv_SSL_LIBS="$SSL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"openssl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "openssl") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_SSL_LIBS=`$PKG_CONFIG --libs "openssl" 2>/dev/null`
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  pkg_failed=yes
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
 fi
-    fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
 else
-	pkg_failed=untried
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
 else
-        _pkg_short_errors_supported=no
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "openssl"`
-        else
-	        SSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SSL_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-        have_openssl="no"
 
-elif test $pkg_failed = untried; then
-
-        have_openssl="no"
-
-else
-	SSL_CFLAGS=$pkg_cv_SSL_CFLAGS
-	SSL_LIBS=$pkg_cv_SSL_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
+	else
+		{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+		PKG_CONFIG=""
+	fi
 
-
-cat >>confdefs.h <<\_ACEOF
-#define USE_OPENSSL 1
-_ACEOF
-
-        requirements_ecore_con="$requirements_ecore_con openssl"
-        # no need to add it to req_ecore_ipc, since they
-        # depends on ecore_con anyway.
-        have_openssl="yes"
-
-fi
 fi
 
-want_curl="yes"
-have_curl="no"
-# Check whether --enable-curl was given.
-if test "${enable_curl+set}" = set; then
-  enableval=$enable_curl;  want_curl=$enableval
 
-fi
+### Checks for libraries
 
+# Evil library for compilation on Windows
 
-if test "x$want_curl" = "xyes"; then
+case "$host_os" in
+   mingw* | cegcc*)
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for CURL" >&5
-echo $ECHO_N "checking for CURL... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for EVIL" >&5
+echo $ECHO_N "checking for EVIL... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$CURL_CFLAGS"; then
-        pkg_cv_CURL_CFLAGS="$CURL_CFLAGS"
+    if test -n "$EVIL_CFLAGS"; then
+        pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evil\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl" 2>/dev/null`
+  pkg_cv_EVIL_CFLAGS=`$PKG_CONFIG --cflags "evil" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22609,16 +17559,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$CURL_LIBS"; then
-        pkg_cv_CURL_LIBS="$CURL_LIBS"
+    if test -n "$EVIL_LIBS"; then
+        pkg_cv_EVIL_LIBS="$EVIL_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evil\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl" 2>/dev/null`
+  pkg_cv_EVIL_LIBS=`$PKG_CONFIG --libs "evil" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22637,251 +17587,231 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"`
+	        EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil"`
         else
-	        CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"`
+	        EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$CURL_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                 have_curl="no"
-
-elif test $pkg_failed = untried; then
-	 have_curl="no"
-
-else
-	CURL_CFLAGS=$pkg_cv_CURL_CFLAGS
-	CURL_LIBS=$pkg_cv_CURL_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CURL 1
-_ACEOF
-
-      requirements_ecore_con="$requirements_ecore_con libcurl"
-      have_curl="yes"
+	echo "$EVIL_PKG_ERRORS" >&5
 
-fi
-fi
+	{ { echo "$as_me:$LINENO: error: Package requirements (evil) were not met:
 
-want_abstract_sockets="yes"
-# Check whether --enable-abstract-sockets was given.
-if test "${enable_abstract_sockets+set}" = set; then
-  enableval=$enable_abstract_sockets;  want_abstract_sockets=$enableval
+$EVIL_PKG_ERRORS
 
-fi
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
 
-if test "x$want_abstract_sockets" = "xyes"; then
+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.
+" >&5
+echo "$as_me: error: Package requirements (evil) were not met:
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ABSTRACT_SOCKETS 1
-_ACEOF
+$EVIL_PKG_ERRORS
 
-fi
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+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.
+" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
 
+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.
 
-have_ecore_job="no"
-ecore_job_cflags=""
-ecore_job_libs=""
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
 
+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.
 
-  # Check whether --enable-ecore-job was given.
-if test "${enable_ecore_job+set}" = set; then
-  enableval=$enable_ecore_job;  want_ecore_job=$enableval
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 else
-   want_ecore_job=yes
+	EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS
+	EVIL_LIBS=$pkg_cv_EVIL_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	:
 fi
 
-
-
-{ echo "$as_me:$LINENO: checking whether ecore_job module is to be built" >&5
-echo $ECHO_N "checking whether ecore_job module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_job" = "xyes" ; then
-  if test "x" = "x" -o "x" = "xyes" ; then
-
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_JOB 1
+#define HAVE_EVIL 1
 _ACEOF
 
-    have_ecore_job="yes"
-    ecore_job_libs="-lecore_job"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$have_ecore_job" = "xyes"; then
-  BUILD_ECORE_JOB_TRUE=
-  BUILD_ECORE_JOB_FALSE='#'
-else
-  BUILD_ECORE_JOB_TRUE='#'
-  BUILD_ECORE_JOB_FALSE=
-fi
-
-
-if test "x$have_ecore_job" = "xyes" ; then
-  :
-else
-  :
-fi
-
-
-
-
-
-
+      requirements_ecore="evil ${requirements_ecore}"
+      requirements_ecore_evas="evil ${requirements_ecore_evas}"
+      requirements_ecore_file="evil ${requirements_ecore_file}"
+      requirements_ecore_imf="evil ${requirements_ecore_imf}"
+      requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
+      requirements_ecore_job="evil ${requirements_ecore_job}"
+      requirements_ecore_txt="evil ${requirements_ecore_txt}"
+      EFL_ECORE_BUILD="-DEFL_ECORE_BUILD"
+      EFL_ECORE_JOB_BUILD="-DEFL_ECORE_JOB_BUILD"
+      EFL_ECORE_TXT_BUILD="-DEFL_ECORE_TXT_BUILD"
+      EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
+      EFL_ECORE_EVAS_BUILD="-DEFL_ECORE_EVAS_BUILD"
+      EFL_ECORE_IMF_BUILD="-DEFL_ECORE_IMF_BUILD"
+      EFL_ECORE_INPUT_BUILD="-DEFL_ECORE_INPUT_BUILD"
+      ;;
+esac
 
+have_win32=""
+have_wince=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      EFL_ECORE_WINCE_BUILD="-DEFL_ECORE_WINCE_BUILD"
+      requirements_ecore_wince="evil ${requirements_ecore_wince}"
+      have_wince="yes"
+      ;;
+   mingw*)
+      EFL_ECORE_WIN32_BUILD="-DEFL_ECORE_WIN32_BUILD"
+      EFL_ECORE_SDL_BUILD="-DEFL_ECORE_SDL_BUILD"
+      requirements_ecore_win32="evil ${requirements_ecore_win32}"
+      requirements_ecore_sdl="evil ${requirements_ecore_sdl}"
+      have_win32="yes"
+      ;;
+esac
 
 
 
-have_ecore_con="no"
-ecore_con_cflags=""
-ecore_con_libs=""
 
 
-  # Check whether --enable-ecore-con was given.
-if test "${enable_ecore_con+set}" = set; then
-  enableval=$enable_ecore_con;  want_ecore_con=$enableval
-else
-   want_ecore_con=yes
-fi
 
 
 
-{ echo "$as_me:$LINENO: checking whether ecore_con module is to be built" >&5
-echo $ECHO_N "checking whether ecore_con module is to be built... $ECHO_C" >&6; }
 
-if test "x$want_ecore_con" = "xyes" ; then
-  if test "x" = "x" -o "x" = "xyes" ; then
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_CON 1
-_ACEOF
 
-    have_ecore_con="yes"
-    ecore_con_libs="-lecore_con"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
 
- if test "x$have_ecore_con" = "xyes"; then
-  BUILD_ECORE_CON_TRUE=
-  BUILD_ECORE_CON_FALSE='#'
+ if test "x${have_wince}" = "xyes"; then
+  ECORE_HAVE_WINCE_TRUE=
+  ECORE_HAVE_WINCE_FALSE='#'
 else
-  BUILD_ECORE_CON_TRUE='#'
-  BUILD_ECORE_CON_FALSE=
+  ECORE_HAVE_WINCE_TRUE='#'
+  ECORE_HAVE_WINCE_FALSE=
 fi
 
-
-if test "x$have_ecore_con" = "xyes" ; then
-  :
+ if test "x${have_win32}" = "xyes"; then
+  ECORE_HAVE_WIN32_TRUE=
+  ECORE_HAVE_WIN32_FALSE='#'
 else
-  :
+  ECORE_HAVE_WIN32_TRUE='#'
+  ECORE_HAVE_WIN32_FALSE=
 fi
 
 
-
-
-
-
-
-
-
-
-have_ecore_ipc="no"
-ecore_ipc_cflags=""
-ecore_ipc_libs=""
-
-
-  # Check whether --enable-ecore-ipc was given.
-if test "${enable_ecore_ipc+set}" = set; then
-  enableval=$enable_ecore_ipc;  want_ecore_ipc=$enableval
+WIN32_LIBS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_LIBS="-lws2"
+      dlopen_libs="-ldl"
+      ;;
+   mingw*)
+      WIN32_LIBS="-lws2_32"
+      dlopen_libs="-ldl"
+      ;;
+   *)
+      { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-   want_ecore_ipc=yes
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether ecore_ipc module is to be built" >&5
-echo $ECHO_N "checking whether ecore_ipc module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_ipc" = "xyes" ; then
-  if test "x$have_ecore_con" = "x" -o "x$have_ecore_con" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_IPC 1
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-    have_ecore_ipc="yes"
-    ecore_ipc_libs="-lecore_ipc"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_dl_dlopen=yes
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
- if test "x$have_ecore_ipc" = "xyes"; then
-  BUILD_ECORE_IPC_TRUE=
-  BUILD_ECORE_IPC_FALSE='#'
-else
-  BUILD_ECORE_IPC_TRUE='#'
-  BUILD_ECORE_IPC_FALSE=
+	ac_cv_lib_dl_dlopen=no
 fi
 
-
-if test "x$have_ecore_ipc" = "xyes" ; then
-  :
-else
-  :
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
+if test $ac_cv_lib_dl_dlopen = yes; then
+  dlopen_libs=-ldl
 fi
 
+      ;;
+esac
 
 
 
-
-
-
+# Eina library
 
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EET" >&5
-echo $ECHO_N "checking for EET... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for EINA" >&5
+echo $ECHO_N "checking for EINA... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EET_CFLAGS"; then
-        pkg_cv_EET_CFLAGS="$EET_CFLAGS"
+    if test -n "$EINA_CFLAGS"; then
+        pkg_cv_EINA_CFLAGS="$EINA_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eina-0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eina-0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.0.0" 2>/dev/null`
+  pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina-0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22890,16 +17820,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EET_LIBS"; then
-        pkg_cv_EET_LIBS="$EET_LIBS"
+    if test -n "$EINA_LIBS"; then
+        pkg_cv_EINA_LIBS="$EINA_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eina-0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eina-0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.0.0" 2>/dev/null`
+  pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina-0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -22918,91 +17848,86 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.0.0"`
+	        EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eina-0"`
         else
-	        EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.0.0"`
+	        EINA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eina-0"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EET_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                 have_eet="no"
-
-elif test $pkg_failed = untried; then
-	 have_eet="no"
-
-else
-	EET_CFLAGS=$pkg_cv_EET_CFLAGS
-	EET_LIBS=$pkg_cv_EET_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	 have_eet="yes"
-fi
-ecore_config_deps="no"
-if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" ; then
-  ecore_config_deps="yes"
-fi
-
-
-have_ecore_config="no"
-ecore_config_cflags=""
-ecore_config_libs=""
+	echo "$EINA_PKG_ERRORS" >&5
 
+	{ { echo "$as_me:$LINENO: error: Package requirements (eina-0) were not met:
 
-  # Check whether --enable-ecore-config was given.
-if test "${enable_ecore_config+set}" = set; then
-  enableval=$enable_ecore_config;  want_ecore_config=$enableval
-else
-   want_ecore_config=yes
-fi
+$EINA_PKG_ERRORS
 
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+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.
+" >&5
+echo "$as_me: error: Package requirements (eina-0) were not met:
 
-{ echo "$as_me:$LINENO: checking whether ecore_config module is to be built" >&5
-echo $ECHO_N "checking whether ecore_config module is to be built... $ECHO_C" >&6; }
+$EINA_PKG_ERRORS
 
-if test "x$want_ecore_config" = "xyes" ; then
-  if test "x$ecore_config_deps" = "x" -o "x$ecore_config_deps" = "xyes" ; then
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_CONFIG 1
-_ACEOF
+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.
+" >&2;}
+   { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
 
-    have_ecore_config="yes"
-    ecore_config_libs="-lecore_config"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+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.
 
- if test "x$have_ecore_config" = "xyes"; then
-  BUILD_ECORE_CONFIG_TRUE=
-  BUILD_ECORE_CONFIG_FALSE='#'
-else
-  BUILD_ECORE_CONFIG_TRUE='#'
-  BUILD_ECORE_CONFIG_FALSE=
-fi
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
 
+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.
 
-if test "x$have_ecore_config" = "xyes" ; then
-  requirements_ecore_config="$requirements_ecore_config ecore-ipc eet"
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 else
-  :
+	EINA_CFLAGS=$pkg_cv_EINA_CFLAGS
+	EINA_LIBS=$pkg_cv_EINA_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	:
 fi
-
-
-
-
-
-
-
+#FIXME check all the requirements when the eina move will be finished
+requirements_ecore="eina-0 ${requirements_ecore}"
+requirements_ecore_con="ecore eina-0 ${requirements_ecore_con}"
+requirements_ecore_config="ecore eina-0 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore eina-0 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore eina-0 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore eina-0 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore eina-0 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore eina-0 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore eina-0 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore eina-0 ${requirements_ecore_input}"
+requirements_ecore_ipc="ecore eina-0 ${requirements_ecore_ipc}"
+requirements_ecore_job="ecore eina-0 ${requirements_ecore_job}"
+requirements_ecore_quartz="ecore eina-0 ${requirements_ecore_quartz}"
+requirements_ecore_sdl="ecore eina-0 ${requirements_ecore_sdl}"
+requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
+requirements_ecore_win32="ecore eina-0 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"
+
+
+# iconv library (ecore_txt)
 
 iconv_cflags=""
 iconv_libs=""
@@ -23018,8 +17943,8 @@ if test "${with_iconv_link+set}" = set; then
 fi
 
 
-if test "x$have_iconv" = "xno" ; then
-  { echo "$as_me:$LINENO: checking for iconv in -lc" >&5
+if test "x${have_iconv}" = "xno" ; then
+   { echo "$as_me:$LINENO: checking for iconv in -lc" >&5
 echo $ECHO_N "checking for iconv in -lc... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_iconv+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23081,13 +18006,12 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_lib_c_iconv" >&5
 echo "${ECHO_T}$ac_cv_lib_c_iconv" >&6; }
 if test $ac_cv_lib_c_iconv = yes; then
-   have_iconv="yes"
-
+  have_iconv="yes"
 fi
 
 
-  if test "x$have_iconv" != "xyes"; then
-    { echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
+   if ! test "x${have_iconv}" = "xyes" ; then
+      { echo "$as_me:$LINENO: checking for iconv in -liconv" >&5
 echo $ECHO_N "checking for iconv in -liconv... $ECHO_C" >&6; }
 if test "${ac_cv_lib_iconv_iconv+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23150,16 +18074,15 @@ fi
 echo "${ECHO_T}$ac_cv_lib_iconv_iconv" >&6; }
 if test $ac_cv_lib_iconv_iconv = yes; then
 
-       iconv_libs="-liconv"
-       have_iconv="yes"
-
+          iconv_libs="-liconv"
+          have_iconv="yes"
 
 fi
 
-  fi
+   fi
 
-  if test "x$have_iconv" != "xyes"; then
-    { echo "$as_me:$LINENO: checking for iconv in -liconv_plug" >&5
+   if test "x$have_iconv" != "xyes"; then
+      { echo "$as_me:$LINENO: checking for iconv in -liconv_plug" >&5
 echo $ECHO_N "checking for iconv in -liconv_plug... $ECHO_C" >&6; }
 if test "${ac_cv_lib_iconv_plug_iconv+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -23222,13 +18145,20 @@ fi
 echo "${ECHO_T}$ac_cv_lib_iconv_plug_iconv" >&6; }
 if test $ac_cv_lib_iconv_plug_iconv = yes; then
 
-       iconv_libs="-liconv -liconv_plug"
-       have_iconv="yes"
-
+          iconv_libs="-liconv -liconv_plug"
+          have_iconv="yes"
 
 fi
 
-  fi
+   fi
+
+# force the iconv library on mac os x
+   case "$host_os" in
+      darwin*)
+         iconv_libs="/usr/lib/libiconv.la"
+         have_iconv="yes"
+      ;;
+   esac
 fi
 { echo "$as_me:$LINENO: checking for explicit iconv link options" >&5
 echo $ECHO_N "checking for explicit iconv link options... $ECHO_C" >&6; }
@@ -23239,82 +18169,86 @@ echo "${ECHO_T}$iconv_libs" >&6; }
 
 
 
+# SDL library (ecore_sdl)
 
-have_ecore_txt="no"
-ecore_txt_cflags=""
-ecore_txt_libs=""
+have_sdl="no"
+SDL_CONFIG="sdl-config"
 
+# Check whether --with-sdl-config was given.
+if test "${with_sdl_config+set}" = set; then
+  withval=$with_sdl_config;
+    SDL_CONFIG=$withval
+    { echo "$as_me:$LINENO: using ${SDL_CONFIG} for sdl-config" >&5
+echo "$as_me: using ${SDL_CONFIG} for sdl-config" >&6;}
 
-  # Check whether --enable-ecore-txt was given.
-if test "${enable_ecore_txt+set}" = set; then
-  enableval=$enable_ecore_txt;  want_ecore_txt=$enableval
-else
-   want_ecore_txt=yes
 fi
 
 
-
-{ echo "$as_me:$LINENO: checking whether ecore_txt module is to be built" >&5
-echo $ECHO_N "checking whether ecore_txt module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_txt" = "xyes" ; then
-  if test "x$have_iconv" = "x" -o "x$have_iconv" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_TXT 1
-_ACEOF
-
-    have_ecore_txt="yes"
-    ecore_txt_libs="-lecore_txt"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+# Extract the first word of ""sdl-config"", so it can be a program name with args.
+set dummy "sdl-config"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_SDL_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+  case $SDL_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
 
- if test "x$have_ecore_txt" = "xyes"; then
-  BUILD_ECORE_TXT_TRUE=
-  BUILD_ECORE_TXT_FALSE='#'
-else
-  BUILD_ECORE_TXT_TRUE='#'
-  BUILD_ECORE_TXT_FALSE=
+  test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG=""""
+  ;;
+esac
 fi
-
-
-if test "x$have_ecore_txt" = "xyes" ; then
-  ecore_txt_libs="$ecore_txt_libs $iconv_libs"
+SDL_CONFIG=$ac_cv_path_SDL_CONFIG
+if test -n "$SDL_CONFIG"; then
+  { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5
+echo "${ECHO_T}$SDL_CONFIG" >&6; }
 else
-  :
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
 
+if test -z "$SDL_CONFIG" ; then
+   SDL_CFLAGS=`$SDL_CONFIG --cflags`
+   SDL_LIBS=`$SDL_CONFIG --libs`
 
 
-
-
-
+   have_sdl="no"
+else
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS" >&5
-echo $ECHO_N "checking for EVAS... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for SDL" >&5
+echo $ECHO_N "checking for SDL... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_CFLAGS"; then
-        pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS"
+    if test -n "$SDL_CFLAGS"; then
+        pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas >= 0.9.9\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas >= 0.9.9") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 0.9.9" 2>/dev/null`
+  pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -23323,16 +18257,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_LIBS"; then
-        pkg_cv_EVAS_LIBS="$EVAS_LIBS"
+    if test -n "$SDL_LIBS"; then
+        pkg_cv_SDL_LIBS="$SDL_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas >= 0.9.9\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas >= 0.9.9") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 0.9.9" 2>/dev/null`
+  pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -23351,99 +18285,198 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas >= 0.9.9"`
+	        SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.2.0"`
         else
-	        EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas >= 0.9.9"`
+	        SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.2.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_PKG_ERRORS" >&5
+	echo "$SDL_PKG_ERRORS" >&5
 
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-                 have_evas="no"
-
+                have_sdl="no"
 elif test $pkg_failed = untried; then
-	 have_evas="no"
-
+	have_sdl="no"
 else
-	EVAS_CFLAGS=$pkg_cv_EVAS_CFLAGS
-	EVAS_LIBS=$pkg_cv_EVAS_LIBS
+	SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
+	SDL_LIBS=$pkg_cv_SDL_LIBS
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-	 have_evas="yes"
+	have_sdl="yes"
+fi
 fi
 
+if test "x${have_sdl}" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.3.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.3.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SDL_130 1
+_ACEOF
 
-have_ecore_evas="no"
-ecore_evas_cflags=""
-ecore_evas_libs=""
+fi
+fi
 
 
-  # Check whether --enable-ecore-evas was given.
-if test "${enable_ecore_evas+set}" = set; then
-  enableval=$enable_ecore_evas;  want_ecore_evas=$enableval
-else
-   want_ecore_evas=yes
-fi
+# DirectFB library (ecore_directfb)
 
 
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for DIRECTFB" >&5
+echo $ECHO_N "checking for DIRECTFB... $ECHO_C" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas module is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas module is to be built... $ECHO_C" >&6; }
+if test -n "$PKG_CONFIG"; then
+    if test -n "$DIRECTFB_CFLAGS"; then
+        pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\"") >&5
+  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "directfb >= 0.9.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$DIRECTFB_LIBS"; then
+        pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\"") >&5
+  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_DIRECTFB_LIBS=`$PKG_CONFIG --libs "directfb >= 0.9.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
 
-if test "x$want_ecore_evas" = "xyes" ; then
-  if test "x$have_evas" = "x" -o "x$have_evas" = "xyes" ; then
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS 1
-_ACEOF
 
-    have_ecore_evas="yes"
-    ecore_evas_libs="-lecore_evas"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+        _pkg_short_errors_supported=no
 fi
+        if test $_pkg_short_errors_supported = yes; then
+	        DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "directfb >= 0.9.16"`
+        else
+	        DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb >= 0.9.16"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$DIRECTFB_PKG_ERRORS" >&5
 
- if test "x$have_ecore_evas" = "xyes"; then
-  BUILD_ECORE_EVAS_TRUE=
-  BUILD_ECORE_EVAS_FALSE='#'
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                have_directfb="no"
+elif test $pkg_failed = untried; then
+	have_directfb="no"
 else
-  BUILD_ECORE_EVAS_TRUE='#'
-  BUILD_ECORE_EVAS_FALSE=
-fi
+	DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS
+	DIRECTFB_LIBS=$pkg_cv_DIRECTFB_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
+    have_directfb="yes"
+    requirements_ecore_directfb="evas ${requirements_ecore_directfb}"
 
-if test "x$have_ecore_evas" = "xyes" ; then
-  :
-else
-  :
 fi
 
 
+# Eet library (ecore_config)
 
 
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for EET" >&5
+echo $ECHO_N "checking for EET... $ECHO_C" >&6; }
 
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EET_CFLAGS"; then
+        pkg_cv_EET_CFLAGS="$EET_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$EET_LIBS"; then
+        pkg_cv_EET_LIBS="$EET_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"eet >= 1.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.0.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
 
 
 
-#######################################
-## Simple X11 build/link
+if test $pkg_failed = yes; then
 
-# Check whether --enable-simple-x11 was given.
-if test "${enable_simple_x11+set}" = set; then
-  enableval=$enable_simple_x11;  want_evas_simple_x11=$enableval
+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
+	        EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "eet >= 1.0.0"`
+        else
+	        EET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "eet >= 1.0.0"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$EET_PKG_ERRORS" >&5
 
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                 have_eet="no"
+elif test $pkg_failed = untried; then
+	 have_eet="no"
+else
+	EET_CFLAGS=$pkg_cv_EET_CFLAGS
+	EET_LIBS=$pkg_cv_EET_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	 have_eet="yes"
 fi
 
 
+# Xlib and XCB (ecore_x)
+
 have_x="no"
 have_ecore_x="no"
 have_ecore_x_xlib="no"
@@ -23454,12 +18487,11 @@ x_includes="";
 x_cflags="";
 x_libs="";
 
-
 # Check whether --enable-ecore-x-xcb was given.
 if test "${enable_ecore_x_xcb+set}" = set; then
-  enableval=$enable_ecore_x_xcb;  want_ecore_x_xcb=$enableval
+  enableval=$enable_ecore_x_xcb; want_ecore_x_xcb=$enableval
 else
-   want_ecore_x_xcb="no"
+  want_ecore_x_xcb="no"
 fi
 
 
@@ -26097,6 +21129,151 @@ fi
 
 
 
+XKB_CFLAGS=""
+XKB_LIBS=""
+use_xkb="no"
+
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="$x_cflags $x_includes"
+{ echo "$as_me:$LINENO: checking for X11/extensions/XKB.h" >&5
+echo $ECHO_N "checking for X11/extensions/XKB.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_extensions_XKB_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+ #include <X11/Xlib.h>
+
+
+#include <X11/extensions/XKB.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_X11_extensions_XKB_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_header_X11_extensions_XKB_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_XKB_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_extensions_XKB_h" >&6; }
+if test $ac_cv_header_X11_extensions_XKB_h = yes; then
+
+   { echo "$as_me:$LINENO: checking for XkbSetDetectableAutoRepeat in -lX11" >&5
+echo $ECHO_N "checking for XkbSetDetectableAutoRepeat in -lX11... $ECHO_C" >&6; }
+if test "${ac_cv_lib_X11_XkbSetDetectableAutoRepeat+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11  $x_libs
+    $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XkbSetDetectableAutoRepeat ();
+int
+main ()
+{
+return XkbSetDetectableAutoRepeat ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_X11_XkbSetDetectableAutoRepeat=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_X11_XkbSetDetectableAutoRepeat=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_X11_XkbSetDetectableAutoRepeat" >&5
+echo "${ECHO_T}$ac_cv_lib_X11_XkbSetDetectableAutoRepeat" >&6; }
+if test $ac_cv_lib_X11_XkbSetDetectableAutoRepeat = yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define ECORE_XKB 1
+_ACEOF
+
+      XKB_LIBS="-lX11"
+      use_xkb="yes"
+
+else
+   use_xkb="no"
+fi
+
+
+else
+   use_xkb="no"
+fi
+
+
+CFLAGS=$SAVE_CFLAGS
+
+
+
+
+
+
+
+
+
 XCOMPOSITE_CFLAGS=""
 XCOMPOSITE_LIBS=""
 use_xcomposite="no"
@@ -27708,106 +22885,42 @@ fi
 
 
 
-
-
-have_ecore_x="no"
-ecore_x_cflags=""
-ecore_x_libs=""
-
-
-  # Check whether --enable-ecore-x was given.
-if test "${enable_ecore_x+set}" = set; then
-  enableval=$enable_ecore_x;  want_ecore_x=$enableval
-else
-   want_ecore_x=yes
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether ecore_x module is to be built" >&5
-echo $ECHO_N "checking whether ecore_x module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_x" = "xyes" ; then
-  if test "x$have_x" = "x" -o "x$have_x" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_X 1
-_ACEOF
-
-    have_ecore_x="yes"
-    ecore_x_libs="-lecore_x"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$have_ecore_x" = "xyes"; then
-  BUILD_ECORE_X_TRUE=
-  BUILD_ECORE_X_FALSE='#'
+ if test $have_ecore_x_xlib = yes; then
+  BUILD_ECORE_X_XLIB_TRUE=
+  BUILD_ECORE_X_XLIB_FALSE='#'
 else
-  BUILD_ECORE_X_TRUE='#'
-  BUILD_ECORE_X_FALSE=
+  BUILD_ECORE_X_XLIB_TRUE='#'
+  BUILD_ECORE_X_XLIB_FALSE=
 fi
 
-
-if test "x$have_ecore_x" = "xyes" ; then
-  ecore_x_libs="$ecore_x_libs $x_libs"
+ if test $have_ecore_x_xcb = yes; then
+  BUILD_ECORE_X_XCB_TRUE=
+  BUILD_ECORE_X_XCB_FALSE='#'
 else
-  :
+  BUILD_ECORE_X_XCB_TRUE='#'
+  BUILD_ECORE_X_XCB_FALSE=
 fi
 
 
 
+# Evas library (ecore_evas and ecore_imf_evas)
 
 
-
-
-
-have_ecore_evas_software_x11="no"
-have_ecore_evas_xrender_x11="no";
-have_ecore_evas_opengl_x11="no";
-have_ecore_evas_software_xcb="no"
-have_ecore_evas_xrender_xcb="no";
-have_ecore_evas_software_16_x11="no";
-if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-
-    if test "x$have_ecore_x_xlib" = "xyes"; then
-    want_ecore_evas_software_x11="yes"
-        #AC_ARG_ENABLE(ecore-evas-x11,
-    #  AC_HELP_STRING(
-    #    [--enable-ecore-evas-x11],
-    #    [enable X11 support in the ecore_evas module.]
-    #  ),
-    #  [ want_ecore_evas_x11=$enableval ]
-    #)
-    { echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Software Xlib support is to be built... $ECHO_C" >&6; }
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_software_x11" >&5
-echo "${ECHO_T}$want_ecore_evas_software_x11" >&6; }
-
-    if test "x$want_ecore_evas_software_x11" = "xyes"; then
-
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_X11" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_X11... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for EVAS" >&5
+echo $ECHO_N "checking for EVAS... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_X11_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_X11_CFLAGS="$EVAS_SOFTWARE_X11_CFLAGS"
+    if test -n "$EVAS_CFLAGS"; then
+        pkg_cv_EVAS_CFLAGS="$EVAS_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas >= 0.9.9\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas >= 0.9.9") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-software-x11" 2>/dev/null`
+  pkg_cv_EVAS_CFLAGS=`$PKG_CONFIG --cflags "evas >= 0.9.9" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27816,16 +22929,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_X11_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_X11_LIBS="$EVAS_SOFTWARE_X11_LIBS"
+    if test -n "$EVAS_LIBS"; then
+        pkg_cv_EVAS_LIBS="$EVAS_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas >= 0.9.9\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas >= 0.9.9") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_X11_LIBS=`$PKG_CONFIG --libs "evas-software-x11" 2>/dev/null`
+  pkg_cv_EVAS_LIBS=`$PKG_CONFIG --libs "evas >= 0.9.9" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -27844,740 +22957,3782 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-x11"`
+	        EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas >= 0.9.9"`
         else
-	        EVAS_SOFTWARE_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-x11"`
+	        EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas >= 0.9.9"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_X11_PKG_ERRORS" >&5
+	echo "$EVAS_PKG_ERRORS" >&5
 
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
+                have_evas="no"
+elif test $pkg_failed = untried; then
+	have_evas="no"
+else
+	EVAS_CFLAGS=$pkg_cv_EVAS_CFLAGS
+	EVAS_LIBS=$pkg_cv_EVAS_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
-          have_ecore_evas_software_x11="no";
+    have_evas="yes"
+    requirements_ecore_evas="evas ${requirements_ecore_evas}"
+
+fi
 
-elif test $pkg_failed = untried; then
 
-          have_ecore_evas_software_x11="no";
+### Checks for header files
 
+{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
+if test "${ac_cv_header_sys_wait_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	EVAS_SOFTWARE_X11_CFLAGS=$pkg_cv_EVAS_SOFTWARE_X11_CFLAGS
-	EVAS_SOFTWARE_X11_LIBS=$pkg_cv_EVAS_SOFTWARE_X11_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
 
+int
+main ()
+{
+  int s;
+  wait (&s);
+  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_sys_wait_h=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_header_sys_wait_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
+if test $ac_cv_header_sys_wait_h = yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_X11 1
+#define HAVE_SYS_WAIT_H 1
+_ACEOF
+
+fi
+
+
+case "$host_os" in
+   mingw* | cegcc*)
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_DLFCN_H 1
 _ACEOF
 
-          have_ecore_evas_software_x11="yes";
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_MMAN_H 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_TIME_H 1
+_ACEOF
+
+      ;;
+   *)
+
+
+
+
+
+
+
+
+
+
+for ac_header in dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h signal.h sys/resource.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-    fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-        want_ecore_evas_opengl_x11=yes
-    # Check whether --enable-ecore-evas-opengl-x11 was given.
-if test "${enable_ecore_evas_opengl_x11+set}" = set; then
-  enableval=$enable_ecore_evas_opengl_x11;  want_ecore_evas_opengl_x11=$enableval
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  ac_header_preproc=no
 fi
 
-    { echo "$as_me:$LINENO: checking whether ecore_evas OpenGL Xlib support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas OpenGL Xlib support is to be built... $ECHO_C" >&6; }
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_opengl_x11" >&5
-echo "${ECHO_T}$want_ecore_evas_opengl_x11" >&6; }
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
-    if test "x$want_ecore_evas_opengl_x11" = "xyes"; then
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------------------------------- ##
+## Report this to enlightenment-devel at lists.sourceforge.net ##
+## -------------------------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_OPENGL_X11" >&5
-echo $ECHO_N "checking for EVAS_OPENGL_X11... $ECHO_C" >&6; }
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_OPENGL_X11_CFLAGS"; then
-        pkg_cv_EVAS_OPENGL_X11_CFLAGS="$EVAS_OPENGL_X11_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5
+fi
+
+done
+
+      ;;
+esac
+
+# Framebuffer (ecore_fb)
+have_fb="no"
+if test "${ac_cv_header_linux_fb_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/fb.h" >&5
+echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_linux_fb_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
+echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <linux/fb.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_OPENGL_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-opengl-x11" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
+echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/fb.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
 else
-	pkg_failed=untried
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_OPENGL_X11_LIBS"; then
-        pkg_cv_EVAS_OPENGL_X11_LIBS="$EVAS_OPENGL_X11_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: linux/fb.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: linux/fb.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------------------------------- ##
+## Report this to enlightenment-devel at lists.sourceforge.net ##
+## -------------------------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for linux/fb.h" >&5
+echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_linux_fb_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_linux_fb_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+
+fi
+if test $ac_cv_header_linux_fb_h = yes; then
+  if test "${ac_cv_header_linux_input_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/input.h" >&5
+echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_linux_input_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
+echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <linux/input.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_OPENGL_X11_LIBS=`$PKG_CONFIG --libs "evas-opengl-x11" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
+echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/input.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
 else
-	pkg_failed=untried
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
 fi
 
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: linux/input.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: linux/input.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------------------------------- ##
+## Report this to enlightenment-devel at lists.sourceforge.net ##
+## -------------------------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
+echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_linux_input_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_linux_input_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
+
+fi
+if test $ac_cv_header_linux_input_h = yes; then
+  have_fb="yes"
+fi
 
-if test $pkg_failed = yes; then
 
-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
-	        EVAS_OPENGL_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-opengl-x11"`
-        else
-	        EVAS_OPENGL_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-opengl-x11"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_OPENGL_X11_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
 
-          have_ecore_evas_opengl_x11="no"
 
-elif test $pkg_failed = untried; then
+# Quartz header files (ecore_quartz)
 
-          have_ecore_evas_opengl_x11="no"
+quartz_ldflags="";
+have_quartz="no"
 
-else
-	EVAS_OPENGL_X11_CFLAGS=$pkg_cv_EVAS_OPENGL_X11_CFLAGS
-	EVAS_OPENGL_X11_LIBS=$pkg_cv_EVAS_OPENGL_X11_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+if test "x${have_gnu_objc}" = "xyes" ; then
+   ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
 
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_OPENGL_X11 1
+ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the Objective C preprocessor" >&5
+echo $ECHO_N "checking how to run the Objective C preprocessor... $ECHO_C" >&6; }
+if test -z "$OBJCPP"; then
+  if test "${ac_cv_prog_OBJCPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because OBJCPP needs to be expanded
+    for OBJCPP in "$OBJC -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_objc_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
 
-          have_ecore_evas_opengl_x11="yes";
+rm -f conftest.err conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-    fi
 
-        want_ecore_evas_xrender_x11="yes"
-    # Check whether --enable-ecore-evas-xrender-x11 was given.
-if test "${enable_ecore_evas_xrender_x11+set}" = set; then
-  enableval=$enable_ecore_evas_xrender_x11;  want_ecore_evas_xrender_x11=$enableval
+rm -f conftest.err conftest.$ac_ext
 
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
 fi
 
+    done
+    ac_cv_prog_OBJCPP=$OBJCPP
 
-    { echo "$as_me:$LINENO: checking whether ecore_evas XRender Xlib support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas XRender Xlib support is to be built... $ECHO_C" >&6; }
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_xrender_x11" >&5
-echo "${ECHO_T}$want_ecore_evas_xrender_x11" >&6; }
+fi
+  OBJCPP=$ac_cv_prog_OBJCPP
+else
+  ac_cv_prog_OBJCPP=$OBJCPP
+fi
+{ echo "$as_me:$LINENO: result: $OBJCPP" >&5
+echo "${ECHO_T}$OBJCPP" >&6; }
+ac_preproc_ok=false
+for ac_objc_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-    if test "x$want_ecore_evas_xrender_x11" = "xyes"; then
+  # Broken: fails on valid input.
+continue
+fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_XRENDER_X11" >&5
-echo $ECHO_N "checking for EVAS_XRENDER_X11... $ECHO_C" >&6; }
+rm -f conftest.err conftest.$ac_ext
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_XRENDER_X11_CFLAGS"; then
-        pkg_cv_EVAS_XRENDER_X11_CFLAGS="$EVAS_XRENDER_X11_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-xrender-x11") 2>&5
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_XRENDER_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-xrender-x11" 2>/dev/null`
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
-    fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
 else
-	pkg_failed=untried
+  { { echo "$as_me:$LINENO: error: Objective C preprocessor \"$OBJCPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: Objective C preprocessor \"$OBJCPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_XRENDER_X11_LIBS"; then
-        pkg_cv_EVAS_XRENDER_X11_LIBS="$EVAS_XRENDER_X11_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-xrender-x11") 2>&5
+
+ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+
+if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Cocoa/Cocoa.h" >&5
+echo $ECHO_N "checking for Cocoa/Cocoa.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Cocoa_Cocoa_h" >&5
+echo "${ECHO_T}$ac_cv_header_Cocoa_Cocoa_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Cocoa/Cocoa.h usability" >&5
+echo $ECHO_N "checking Cocoa/Cocoa.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Cocoa/Cocoa.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_XRENDER_X11_LIBS=`$PKG_CONFIG --libs "evas-xrender-x11" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Cocoa/Cocoa.h presence" >&5
+echo $ECHO_N "checking Cocoa/Cocoa.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Cocoa/Cocoa.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
 else
-	pkg_failed=untried
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
 fi
 
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_objc_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Cocoa/Cocoa.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## -------------------------------------------------------- ##
+## Report this to enlightenment-devel at lists.sourceforge.net ##
+## -------------------------------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Cocoa/Cocoa.h" >&5
+echo $ECHO_N "checking for Cocoa/Cocoa.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Cocoa_Cocoa_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Cocoa_Cocoa_h" >&5
+echo "${ECHO_T}$ac_cv_header_Cocoa_Cocoa_h" >&6; }
 
-if test $pkg_failed = yes; then
+fi
+if test $ac_cv_header_Cocoa_Cocoa_h = yes; then
+
+       have_quartz="yes"
+       quartz_ldflags="-framework Cocoa"
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
 else
-        _pkg_short_errors_supported=no
+  have_quartz="no"
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_XRENDER_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-xrender-x11"`
-        else
-	        EVAS_XRENDER_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-xrender-x11"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_XRENDER_X11_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
 
-          have_ecore_evas_xrender_x11="no"
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
 
-elif test $pkg_failed = untried; then
 
-          have_ecore_evas_xrender_x11="no"
 
+### Checks for types
+{ echo "$as_me:$LINENO: checking for int" >&5
+echo $ECHO_N "checking for int... $ECHO_C" >&6; }
+if test "${ac_cv_type_int+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	EVAS_XRENDER_X11_CFLAGS=$pkg_cv_EVAS_XRENDER_X11_CFLAGS
-	EVAS_XRENDER_X11_LIBS=$pkg_cv_EVAS_XRENDER_X11_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+typedef int ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+  return 0;
+if (sizeof (ac__type_new_))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_int=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	ac_cv_type_int=no
+fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_XRENDER_X11 1
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
+echo "${ECHO_T}$ac_cv_type_int" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of int" >&5
+echo $ECHO_N "checking size of int... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_int+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "$cross_compiling" = yes; then
+  # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 0
 
-          have_ecore_evas_xrender_x11="yes"
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 0
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-    fi
 
-        want_ecore_evas_software_16_x11=no
-    # Check whether --enable-ecore-evas-software-16-x11 was given.
-if test "${enable_ecore_evas_software_16_x11+set}" = set; then
-  enableval=$enable_ecore_evas_software_16_x11;  want_ecore_evas_software_16_x11=$enableval
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-    { echo "$as_me:$LINENO: checking whether ecore_evas x11-16 support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas x11-16 support is to be built... $ECHO_C" >&6; }
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_software_16_x11" >&5
-echo "${ECHO_T}$want_ecore_evas_software_16_x11" >&6; }
+	ac_lo= ac_hi=
+fi
 
-    if test "x$want_ecore_evas_software_16_x11" = "xyes"; then
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_16_X11" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_16_X11... $ECHO_C" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 0
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_X11_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS="$EVAS_SOFTWARE_16_X11_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS=`$PKG_CONFIG --cflags "evas-software-16-x11" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_int=$ac_lo;;
+'') if test "$ac_cv_type_int" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int=0
+   fi ;;
+esac
 else
-	pkg_failed=untried
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef int ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+    {
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
+      fprintf (f, "%ld\n", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
+      fprintf (f, "%lu\n", i);
+    }
+  return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sizeof_int=`cat conftest.val`
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_int" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_int=0
+   fi
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_X11_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_16_X11_LIBS="$EVAS_SOFTWARE_16_X11_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+echo "${ECHO_T}$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
+if test "${ac_cv_type_long+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+typedef long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+  return 0;
+if (sizeof (ac__type_new_))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_X11_LIBS=`$PKG_CONFIG --libs "evas-software-16-x11" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_long=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_type_long=no
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
+  if test "$cross_compiling" = yes; then
+  # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_lo=`expr $ac_mid + 1`
+			if test $ac_lo -le $ac_mid; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 0
 
-if test $pkg_failed = yes; then
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 0
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=$ac_mid; break
 else
-        _pkg_short_errors_supported=no
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_hi=`expr '(' $ac_mid ')' - 1`
+			if test $ac_mid -le $ac_hi; then
+			  ac_lo= ac_hi=
+			  break
+			fi
+			ac_mid=`expr 2 '*' $ac_mid`
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_16_X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-16-x11"`
-        else
-	        EVAS_SOFTWARE_16_X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-16-x11"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_16_X11_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-16-x11) were not met:
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-$EVAS_SOFTWARE_16_X11_PKG_ERRORS
+	ac_lo= ac_hi=
+fi
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
-and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-software-16-x11) were not met:
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 0
 
-$EVAS_SOFTWARE_16_X11_PKG_ERRORS
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+	ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
-and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long=$ac_lo;;
+'') if test "$ac_cv_type_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long=0
+   fi ;;
+esac
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+   typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
-and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+    {
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
+      fprintf (f, "%ld\n", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+	return 1;
+      fprintf (f, "%lu\n", i);
+    }
+  return ferror (f) || fclose (f) != 0;
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_sizeof_long=`cat conftest.val`
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long" = yes; then
+     { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+   else
+     ac_cv_sizeof_long=0
+   fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_X11_CFLAGS
-and EVAS_SOFTWARE_16_X11_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	EVAS_SOFTWARE_16_X11_CFLAGS=$pkg_cv_EVAS_SOFTWARE_16_X11_CFLAGS
-	EVAS_SOFTWARE_16_X11_LIBS=$pkg_cv_EVAS_SOFTWARE_16_X11_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_16_X11 1
+  ;
+  return 0;
+}
 _ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-          have_ecore_evas_software_16_x11="yes";
+	ac_compiler_gnu=no
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-    fi
-  else
-    want_ecore_evas_software_xcb="yes"
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+int
+main ()
+{
 
-have_ecore_evas_software_xcb="no"
-want_module="$want_ecore_evas_software_xcb"
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Check whether --enable-ecore-software-xcb was given.
-if test "${enable_ecore_software_xcb+set}" = set; then
-  enableval=$enable_ecore_software_xcb;  want_module=$enableval
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-fi
+int
+main ()
+{
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software XCB support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Software XCB support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-if test "x$have_ecore_x_xcb" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_XCB" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_XCB... $ECHO_C" >&6; }
+int
+main ()
+{
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_XCB_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_XCB_CFLAGS="$EVAS_SOFTWARE_XCB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-xcb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-xcb") 2>&5
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_XCB_CFLAGS=`$PKG_CONFIG --cflags "evas-software-xcb" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
 else
-	pkg_failed=untried
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_XCB_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_XCB_LIBS="$EVAS_SOFTWARE_XCB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-xcb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-xcb") 2>&5
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_XCB_LIBS=`$PKG_CONFIG --libs "evas-software-xcb" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
 fi
-    fi
-else
-	pkg_failed=untried
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
 fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-if test $pkg_failed = yes; then
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+
+{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; }
+if test "${ac_cv_c_const+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-        _pkg_short_errors_supported=no
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_const=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_c_const=no
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-xcb"`
-        else
-	        EVAS_SOFTWARE_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-xcb"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_XCB_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-xcb) were not met:
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+echo "${ECHO_T}$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
 
-$EVAS_SOFTWARE_XCB_PKG_ERRORS
+cat >>confdefs.h <<\_ACEOF
+#define const
+_ACEOF
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_XCB_CFLAGS
-and EVAS_SOFTWARE_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-software-xcb) were not met:
+{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # See if sys/param.h defines the BYTE_ORDER macro.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/param.h>
 
-$EVAS_SOFTWARE_XCB_PKG_ERRORS
+int
+main ()
+{
+#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
+	&& BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
+ bogus endian macros
+#endif
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/param.h>
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_XCB_CFLAGS
-and EVAS_SOFTWARE_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_XCB_CFLAGS
-and EVAS_SOFTWARE_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_bigendian=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+	ac_cv_c_bigendian=no
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_XCB_CFLAGS
-and EVAS_SOFTWARE_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+	# It does not; compile a test program.
+if test "$cross_compiling" = yes; then
+  # try to guess the endianness by grepping values into an object file
+  ac_cv_c_bigendian=unknown
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
+short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+int
+main ()
+{
+ _ascii (); _ebcdic ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+  ac_cv_c_bigendian=yes
+fi
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+  if test "$ac_cv_c_bigendian" = unknown; then
+    ac_cv_c_bigendian=no
+  else
+    # finding both strings is unlikely to happen, but who knows?
+    ac_cv_c_bigendian=unknown
+  fi
+fi
 else
-	EVAS_SOFTWARE_XCB_CFLAGS=$pkg_cv_EVAS_SOFTWARE_XCB_CFLAGS
-	EVAS_SOFTWARE_XCB_LIBS=$pkg_cv_EVAS_SOFTWARE_XCB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long int l;
+    char c[sizeof (long int)];
+  } u;
+  u.l = 1;
+  return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_bigendian=no
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
 
 
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
+case $ac_cv_c_bigendian in
+  yes)
+
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_XCB 1
+#define WORDS_BIGENDIAN 1
+_ACEOF
+ ;;
+  no)
+     ;;
+  *)
+    { { echo "$as_me:$LINENO: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+echo "$as_me: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
-     have_ecore_evas_software_xcb="yes";
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	ac_cv_header_stdc=no
 fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
 fi
+rm -f conftest*
 
-if test "x$have_ecore_evas_software_xcb" = "xyes" ; then
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
   :
 else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
   :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
 
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
 
+fi
 
-    want_ecore_evas_xrender_xcb="auto"
 
 
-have_ecore_evas_xrender_xcb="no"
-want_module="$want_ecore_evas_xrender_xcb"
+{ echo "$as_me:$LINENO: checking for __attribute__" >&5
+echo $ECHO_N "checking for __attribute__... $ECHO_C" >&6; }
+
+if test "${ac_cv___attribute__+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+
+int func(int x);
+int foo(int x __attribute__ ((unused)))
+{
+   exit(1);
+}
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv___attribute__="yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-# Check whether --enable-ecore-xrender-xcb was given.
-if test "${enable_ecore_xrender_xcb+set}" = set; then
-  enableval=$enable_ecore_xrender_xcb;  want_module=$enableval
+	ac_cv___attribute__="no"
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas XRender XCB support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas XRender XCB support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-if test "x$have_ecore_x_xcb" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_XRENDER_XCB" >&5
-echo $ECHO_N "checking for EVAS_XRENDER_XCB... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_XRENDER_XCB_CFLAGS"; then
-        pkg_cv_EVAS_XRENDER_XCB_CFLAGS="$EVAS_XRENDER_XCB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-xcb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-xrender-xcb") 2>&5
+{ echo "$as_me:$LINENO: result: $ac_cv___attribute__" >&5
+echo "${ECHO_T}$ac_cv___attribute__" >&6; }
+
+if test "x${ac_cv___attribute__}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE___ATTRIBUTE__ 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define __UNUSED__ __attribute__((unused))
+_ACEOF
+
+  else
+
+cat >>confdefs.h <<\_ACEOF
+#define __UNUSED__
+_ACEOF
+
+fi
+
+
+
+WIN32_CPPFLAGS=""
+WIN32_CFLAGS=""
+case "$host_os" in
+   mingw32ce*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      WIN32_CFLAGS="-mwin32"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+
+
+
+
+### Checks for linker characteristics
+
+# use --enable-auto-import on Windows
+
+lt_enable_auto_import=""
+case "$host_os" in
+   mingw* | cegcc*)
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+      ;;
+esac
+
+
+
+### Checks for library functions
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+{ echo "$as_me:$LINENO: checking for working alloca.h" >&5
+echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+			  if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_XRENDER_XCB_CFLAGS=`$PKG_CONFIG --cflags "evas-xrender-xcb" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_working_alloca_h=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_working_alloca_h=no
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA_H 1
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for alloca" >&5
+echo $ECHO_N "checking for alloca... $ECHO_C" >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  ifdef HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+				    if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_func_alloca_works=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_func_alloca_works=no
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_XRENDER_XCB_LIBS"; then
-        pkg_cv_EVAS_XRENDER_XCB_LIBS="$EVAS_XRENDER_XCB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-xcb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-xrender-xcb") 2>&5
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ALLOCA 1
+_ACEOF
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+cat >>confdefs.h <<\_ACEOF
+#define C_ALLOCA 1
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; }
+if test "${ac_cv_os_cray+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "webecray" >/dev/null 2>&1; then
+  ac_cv_os_cray=yes
+else
+  ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+echo "${ECHO_T}$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_XRENDER_XCB_LIBS=`$PKG_CONFIG --libs "evas-xrender-xcb" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_var=no"
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+    break
+fi
+
+  done
+fi
+
+{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
+  if test "$cross_compiling" = yes; then
+  ac_cv_c_stack_direction=0
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+find_stack_direction ()
+{
+  static char *addr = 0;
+  auto char dummy;
+  if (addr == 0)
+    {
+      addr = &dummy;
+      return find_stack_direction ();
+    }
+  else
+    return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+  return find_stack_direction () < 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_stack_direction=1
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; }
 
-if test $pkg_failed = yes; then
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+
+fi
+
+
+
+for ac_func in gettimeofday strlcpy
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-        _pkg_short_errors_supported=no
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_var=no"
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_XRENDER_XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-xrender-xcb"`
-        else
-	        EVAS_XRENDER_XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-xrender-xcb"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_XRENDER_XCB_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-xrender-xcb) were not met:
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
-$EVAS_XRENDER_XCB_PKG_ERRORS
+fi
+done
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
 
-Alternatively, you may set the environment variables EVAS_XRENDER_XCB_CFLAGS
-and EVAS_XRENDER_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-xrender-xcb) were not met:
+have_atfile_source=auto
+# Check whether --enable-atfile-source was given.
+if test "${enable_atfile_source+set}" = set; then
+  enableval=$enable_atfile_source; have_atfile_source=$enableval
+else
+  have_atfile_source=auto
+fi
 
-$EVAS_XRENDER_XCB_PKG_ERRORS
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+if test "x$have_atfile_source" != "xno"; then
 
-Alternatively, you may set the environment variables EVAS_XRENDER_XCB_CFLAGS
-and EVAS_XRENDER_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+for ac_func in mkdirat
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
 
-Alternatively, you may set the environment variables EVAS_XRENDER_XCB_CFLAGS
-and EVAS_XRENDER_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
 
-Alternatively, you may set the environment variables EVAS_XRENDER_XCB_CFLAGS
-and EVAS_XRENDER_XCB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+#undef $ac_func
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
 else
-	EVAS_XRENDER_XCB_CFLAGS=$pkg_cv_EVAS_XRENDER_XCB_CFLAGS
-	EVAS_XRENDER_XCB_LIBS=$pkg_cv_EVAS_XRENDER_XCB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+                have_atfile_source=yes
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_XRENDER_XCB 1
+#define HAVE_ATFILE_SOURCE 1
 _ACEOF
 
-     have_ecore_evas_xrender_xcb="yes";
 
+else
+
+                if test "x$have_atfile_source" = "xyes"; then
+                        { { echo "$as_me:$LINENO: error: required atfile-source but no mkdirat()" >&5
+echo "$as_me: error: required atfile-source but no mkdirat()" >&2;}
+   { (exit 1); exit 1; }; }
+                fi
+                have_atfile_source=no
 
 fi
+done
+
 fi
 
-if test "x$have_ecore_evas_xrender_xcb" = "xyes" ; then
-  :
+### Ecore modules
+
+## Core modules
+
+# ecore_job
+
+
+have_ecore_job=no
+ecore_job_cflags=
+ecore_job_libs=
+want_module=${want_ecore_job}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-job was given.
+if test "${enable_ecore_job+set}" = set; then
+  enableval=$enable_ecore_job; want_module=$enableval
 else
-  :
+  want_module=no
 fi
 
+else
+   # Check whether --enable-ecore-job was given.
+if test "${enable_ecore_job+set}" = set; then
+  enableval=$enable_ecore_job; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_job module is to be built" >&5
+echo $ECHO_N "checking whether ecore_job module is to be built... $ECHO_C" >&6; }
 
-  fi
-
-  if test "x$have_ecore_evas_software_x11" = "xyes" -o \
-	  "x$have_ecore_evas_opengl_x11" = "xyes" -o \
-	  "x$have_ecore_evas_xrender_x11" = "xyes" -o \
-	  "x$have_ecore_evas_software_16_x11" = "xyes" -o \
-          "x$have_ecore_evas_software_xcb" = "xyes" -o \
-	  "x$have_ecore_evas_xrender_xcb" = "xyes"; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x" = "x" -o "x" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_X11 1
+#define BUILD_ECORE_JOB 1
 _ACEOF
 
-    requirements_ecore_evas="$requirements_ecore_evas ecore-x"
-  fi
+      have_ecore_job="yes"
+      ecore_job_libs="-lecore_job"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$have_ecore_job" = "xyes"; then
+  BUILD_ECORE_JOB_TRUE=
+  BUILD_ECORE_JOB_FALSE='#'
+else
+  BUILD_ECORE_JOB_TRUE='#'
+  BUILD_ECORE_JOB_FALSE=
+fi
 
+
+if test "x$have_ecore_job" = "xyes" ; then
+   :
+else
+   :
 fi
 
 
 
 
-have_ecore_win32="no"
-ecore_win32_cflags=""
-ecore_win32_libs=""
 
 
-  # Check whether --enable-ecore-win32 was given.
-if test "${enable_ecore_win32+set}" = set; then
-  enableval=$enable_ecore_win32;  want_ecore_win32=$enableval
+
+
+# ecore_txt
+
+
+have_ecore_txt=no
+ecore_txt_cflags=
+ecore_txt_libs=
+want_module=${want_ecore_txt}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-txt was given.
+if test "${enable_ecore_txt+set}" = set; then
+  enableval=$enable_ecore_txt; want_module=$enableval
 else
-   want_ecore_win32=no
+  want_module=no
 fi
 
+else
+   # Check whether --enable-ecore-txt was given.
+if test "${enable_ecore_txt+set}" = set; then
+  enableval=$enable_ecore_txt; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_win32 module is to be built" >&5
-echo $ECHO_N "checking whether ecore_win32 module is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_txt module is to be built" >&5
+echo $ECHO_N "checking whether ecore_txt module is to be built... $ECHO_C" >&6; }
 
-if test "x$want_ecore_win32" = "xyes" ; then
-  if test "xyes" = "x" -o "xyes" = "xyes" ; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x$have_iconv" = "x" -o "x$have_iconv" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_WIN32 1
+#define BUILD_ECORE_TXT 1
 _ACEOF
 
-    have_ecore_win32="yes"
-    ecore_win32_libs="-lecore_win32"
-    { echo "$as_me:$LINENO: result: yes" >&5
+      have_ecore_txt="yes"
+      ecore_txt_libs="-lecore_txt"
+      { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-  { echo "$as_me:$LINENO: result: no" >&5
+   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
- if test "x$have_ecore_win32" = "xyes"; then
-  BUILD_ECORE_WIN32_TRUE=
-  BUILD_ECORE_WIN32_FALSE='#'
+ if test "x$have_ecore_txt" = "xyes"; then
+  BUILD_ECORE_TXT_TRUE=
+  BUILD_ECORE_TXT_FALSE='#'
 else
-  BUILD_ECORE_WIN32_TRUE='#'
-  BUILD_ECORE_WIN32_FALSE=
+  BUILD_ECORE_TXT_TRUE='#'
+  BUILD_ECORE_TXT_FALSE=
 fi
 
 
-if test "x$have_ecore_win32" = "xyes" ; then
-  ecore_win32_libs="-lole32 -lgdi32"
+if test "x$have_ecore_txt" = "xyes" ; then
+   ecore_txt_libs="$ecore_txt_libs $iconv_libs"
 else
-  :
+   :
 fi
 
 
@@ -28587,43 +26742,116 @@ fi
 
 
 
+# ecore_con
 
-want_ecore_evas_software_ddraw="yes"
 
+have_ecore_con=no
+ecore_con_cflags=
+ecore_con_libs=
+want_module=${want_ecore_con}
 
-have_ecore_evas_software_ddraw="no"
-want_module="$want_ecore_evas_software_ddraw"
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-con was given.
+if test "${enable_ecore_con+set}" = set; then
+  enableval=$enable_ecore_con; want_module=$enableval
+else
+  want_module=no
+fi
 
-# Check whether --enable-ecore-software-ddraw was given.
-if test "${enable_ecore_software_ddraw+set}" = set; then
-  enableval=$enable_ecore_software_ddraw;  want_module=$enableval
+else
+   # Check whether --enable-ecore-con was given.
+if test "${enable_ecore_con+set}" = set; then
+  enableval=$enable_ecore_con; want_module=$enableval
+else
+  want_module=yes
+fi
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas Software DirectDraw support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Software DirectDraw support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_con module is to be built" >&5
+echo $ECHO_N "checking whether ecore_con module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x" = "x" -o "x" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_CON 1
+_ACEOF
+
+      have_ecore_con="yes"
+      ecore_con_libs="-lecore_con"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$have_ecore_con" = "xyes"; then
+  BUILD_ECORE_CON_TRUE=
+  BUILD_ECORE_CON_FALSE='#'
+else
+  BUILD_ECORE_CON_TRUE='#'
+  BUILD_ECORE_CON_FALSE=
+fi
+
+
+if test "x$have_ecore_con" = "xyes" ; then
+   :
+else
+   :
+fi
+
+
+
+
+
+
 
-if test "x$have_ecore_win32" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+
+have_curl="no"
+have_gnutls="no"
+have_openssl="no"
+if test "x${have_ecore_con}" = "xyes" ; then
+   requirements_ecore_con="ecore ${requirements_ecore_con}"
+
+
+_ecore_want_curl=${want_curl}
+_ecore_have_curl="no"
+
+# Check whether --enable-curl was given.
+if test "${enable_curl+set}" = set; then
+  enableval=$enable_curl;
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_curl="yes"
+    else
+       _ecore_want_curl="no"
+    fi
+
+fi
+
+
+if test "x${_ecore_want_curl}" = "xyes" ; then
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_DDRAW" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_DDRAW... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for CURL" >&5
+echo $ECHO_N "checking for CURL... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_DDRAW_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS="$EVAS_SOFTWARE_DDRAW_CFLAGS"
+    if test -n "$CURL_CFLAGS"; then
+        pkg_cv_CURL_CFLAGS="$CURL_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS=`$PKG_CONFIG --cflags "evas-software-ddraw" 2>/dev/null`
+  pkg_cv_CURL_CFLAGS=`$PKG_CONFIG --cflags "libcurl" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28632,16 +26860,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_DDRAW_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS="$EVAS_SOFTWARE_DDRAW_LIBS"
+    if test -n "$CURL_LIBS"; then
+        pkg_cv_CURL_LIBS="$CURL_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libcurl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "libcurl") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS=`$PKG_CONFIG --libs "evas-software-ddraw" 2>/dev/null`
+  pkg_cv_CURL_LIBS=`$PKG_CONFIG --libs "libcurl" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28660,121 +26888,77 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_DDRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-ddraw"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libcurl"`
         else
-	        EVAS_SOFTWARE_DDRAW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-ddraw"`
+	        CURL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libcurl"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_DDRAW_PKG_ERRORS" >&5
-
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-ddraw) were not met:
-
-$EVAS_SOFTWARE_DDRAW_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables EVAS_SOFTWARE_DDRAW_CFLAGS
-and EVAS_SOFTWARE_DDRAW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-software-ddraw) were not met:
-
-$EVAS_SOFTWARE_DDRAW_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+	echo "$CURL_PKG_ERRORS" >&5
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_DDRAW_CFLAGS
-and EVAS_SOFTWARE_DDRAW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                _ecore_have_curl="no"
 elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables EVAS_SOFTWARE_DDRAW_CFLAGS
-and EVAS_SOFTWARE_DDRAW_LIBS to avoid the need to call pkg-config.
-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." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables EVAS_SOFTWARE_DDRAW_CFLAGS
-and EVAS_SOFTWARE_DDRAW_LIBS to avoid the need to call pkg-config.
-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." >&2;}
-   { (exit 1); exit 1; }; }
+	_ecore_have_curl="no"
 else
-	EVAS_SOFTWARE_DDRAW_CFLAGS=$pkg_cv_EVAS_SOFTWARE_DDRAW_CFLAGS
-	EVAS_SOFTWARE_DDRAW_LIBS=$pkg_cv_EVAS_SOFTWARE_DDRAW_LIBS
+	CURL_CFLAGS=$pkg_cv_CURL_CFLAGS
+	CURL_LIBS=$pkg_cv_CURL_LIBS
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
 
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_DDRAW 1
+#define HAVE_CURL 1
 _ACEOF
 
-     have_ecore_evas_software_ddraw="yes";
-
+       _ecore_have_curl="yes"
 
 fi
 fi
 
-if test "x$have_ecore_evas_software_ddraw" = "xyes" ; then
-  :
-else
-  :
-fi
-
-
+if test "x$_ecore_have_curl" = "xyes" ; then
 
+       requirements_ecore_con="libcurl ${requirements_ecore_con}"
+       have_curl="yes"
 
+else
+   have_curl="no"
+fi
 
-want_ecore_evas_direct3d="yes"
 
 
-have_ecore_evas_direct3d="no"
-want_module="$want_ecore_evas_direct3d"
+_ecore_want_gnutls=${want_gnutls}
+_ecore_have_gnutls="no"
 
-# Check whether --enable-ecore-direct3d was given.
-if test "${enable_ecore_direct3d+set}" = set; then
-  enableval=$enable_ecore_direct3d;  want_module=$enableval
+# Check whether --enable-gnutls was given.
+if test "${enable_gnutls+set}" = set; then
+  enableval=$enable_gnutls;
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_gnutls="yes"
+    else
+       _ecore_want_gnutls="no"
+    fi
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas Direct3d support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Direct3d support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
 
-if test "x$have_ecore_win32" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+if test "x${_ecore_want_gnutls}" = "xyes" -o "x${_ecore_want_gnutls}" = "xauto" ; then
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_DIRECT3D" >&5
-echo $ECHO_N "checking for EVAS_DIRECT3D... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for TLS" >&5
+echo $ECHO_N "checking for TLS... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_DIRECT3D_CFLAGS"; then
-        pkg_cv_EVAS_DIRECT3D_CFLAGS="$EVAS_DIRECT3D_CFLAGS"
+    if test -n "$TLS_CFLAGS"; then
+        pkg_cv_TLS_CFLAGS="$TLS_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_DIRECT3D_CFLAGS=`$PKG_CONFIG --cflags "evas-direct3d" 2>/dev/null`
+  pkg_cv_TLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28783,16 +26967,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_DIRECT3D_LIBS"; then
-        pkg_cv_EVAS_DIRECT3D_LIBS="$EVAS_DIRECT3D_LIBS"
+    if test -n "$TLS_LIBS"; then
+        pkg_cv_TLS_LIBS="$TLS_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_DIRECT3D_LIBS=`$PKG_CONFIG --libs "evas-direct3d" 2>/dev/null`
+  pkg_cv_TLS_LIBS=`$PKG_CONFIG --libs "gnutls" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28811,121 +26995,150 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_DIRECT3D_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-direct3d"`
+	        TLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls"`
         else
-	        EVAS_DIRECT3D_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-direct3d"`
+	        TLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_DIRECT3D_PKG_ERRORS" >&5
+	echo "$TLS_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-direct3d) were not met:
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                _ecore_have_gnutls="no"
+elif test $pkg_failed = untried; then
+	_ecore_have_gnutls="no"
+else
+	TLS_CFLAGS=$pkg_cv_TLS_CFLAGS
+	TLS_LIBS=$pkg_cv_TLS_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
-$EVAS_DIRECT3D_PKG_ERRORS
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+cat >>confdefs.h <<\_ACEOF
+#define USE_GNUTLS 1
+_ACEOF
 
-Alternatively, you may set the environment variables EVAS_DIRECT3D_CFLAGS
-and EVAS_DIRECT3D_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-direct3d) were not met:
+       _ecore_have_gnutls="yes"
 
-$EVAS_DIRECT3D_PKG_ERRORS
+fi
+   # for ecore_con_ssl.c
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for TLS2" >&5
+echo $ECHO_N "checking for TLS2... $ECHO_C" >&6; }
 
-Alternatively, you may set the environment variables EVAS_DIRECT3D_CFLAGS
-and EVAS_DIRECT3D_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+if test -n "$PKG_CONFIG"; then
+    if test -n "$TLS2_CFLAGS"; then
+        pkg_cv_TLS2_CFLAGS="$TLS2_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.0.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TLS2_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$TLS2_LIBS"; then
+        pkg_cv_TLS2_LIBS="$TLS2_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.0.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "gnutls >= 2.0.0") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TLS2_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
 
-Alternatively, you may set the environment variables EVAS_DIRECT3D_CFLAGS
-and EVAS_DIRECT3D_LIBS to avoid the need to call pkg-config.
-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." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
 
-Alternatively, you may set the environment variables EVAS_DIRECT3D_CFLAGS
-and EVAS_DIRECT3D_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+if test $pkg_failed = yes; then
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
 else
-	EVAS_DIRECT3D_CFLAGS=$pkg_cv_EVAS_DIRECT3D_CFLAGS
-	EVAS_DIRECT3D_LIBS=$pkg_cv_EVAS_DIRECT3D_LIBS
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        TLS2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnutls >= 2.0.0"`
+        else
+	        TLS2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnutls >= 2.0.0"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$TLS2_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                dummy="no"
+elif test $pkg_failed = untried; then
+	dummy="no"
+else
+	TLS2_CFLAGS=$pkg_cv_TLS2_CFLAGS
+	TLS2_LIBS=$pkg_cv_TLS2_LIBS
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
 
-
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_DIRECT3D 1
+#define USE_GNUTLS2 1
 _ACEOF
 
-     have_ecore_evas_direct3d="yes";
-
-
 fi
 fi
 
-if test "x$have_ecore_evas_direct3d" = "xyes" ; then
-  :
+if test "x$_ecore_have_gnutls" = "xyes" ; then
+  have_gnutls="yes"
 else
-  :
+  have_gnutls="no"
 fi
 
 
 
+_ecore_want_openssl=${want_openssl}
+_ecore_have_openssl="no"
 
-
-want_ecore_evas_opengl_glew="yes"
-
-
-have_ecore_evas_opengl_glew="no"
-want_module="$want_ecore_evas_opengl_glew"
-
-# Check whether --enable-ecore-opengl-glew was given.
-if test "${enable_ecore_opengl_glew+set}" = set; then
-  enableval=$enable_ecore_opengl_glew;  want_module=$enableval
+# Check whether --enable-openssl was given.
+if test "${enable_openssl+set}" = set; then
+  enableval=$enable_openssl;
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_openssl="yes"
+    else
+       _ecore_want_openssl="no"
+    fi
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas Glew OpenGL support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Glew OpenGL support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
 
-if test "x$have_ecore_win32" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+if test "x${_ecore_want_openssl}" = "xyes" -o "x${_ecore_want_openssl}" = "xauto"; then
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_OPENGL_GLEW" >&5
-echo $ECHO_N "checking for EVAS_OPENGL_GLEW... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for SSL" >&5
+echo $ECHO_N "checking for SSL... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_OPENGL_GLEW_CFLAGS"; then
-        pkg_cv_EVAS_OPENGL_GLEW_CFLAGS="$EVAS_OPENGL_GLEW_CFLAGS"
+    if test -n "$SSL_CFLAGS"; then
+        pkg_cv_SSL_CFLAGS="$SSL_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"openssl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "openssl") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_OPENGL_GLEW_CFLAGS=`$PKG_CONFIG --cflags "evas-opengl-glew" 2>/dev/null`
+  pkg_cv_SSL_CFLAGS=`$PKG_CONFIG --cflags "openssl" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28934,16 +27147,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_OPENGL_GLEW_LIBS"; then
-        pkg_cv_EVAS_OPENGL_GLEW_LIBS="$EVAS_OPENGL_GLEW_LIBS"
+    if test -n "$SSL_LIBS"; then
+        pkg_cv_SSL_LIBS="$SSL_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"openssl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "openssl") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_OPENGL_GLEW_LIBS=`$PKG_CONFIG --libs "evas-opengl-glew" 2>/dev/null`
+  pkg_cv_SSL_LIBS=`$PKG_CONFIG --libs "openssl" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28962,301 +27175,691 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_OPENGL_GLEW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-opengl-glew"`
+	        SSL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "openssl"`
         else
-	        EVAS_OPENGL_GLEW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-opengl-glew"`
+	        SSL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "openssl"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_OPENGL_GLEW_PKG_ERRORS" >&5
+	echo "$SSL_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-opengl-glew) were not met:
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                _ecore_have_openssl="no"
+elif test $pkg_failed = untried; then
+	_ecore_have_openssl="no"
+else
+	SSL_CFLAGS=$pkg_cv_SSL_CFLAGS
+	SSL_LIBS=$pkg_cv_SSL_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
-$EVAS_OPENGL_GLEW_PKG_ERRORS
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+cat >>confdefs.h <<\_ACEOF
+#define USE_OPENSSL 1
+_ACEOF
 
-Alternatively, you may set the environment variables EVAS_OPENGL_GLEW_CFLAGS
-and EVAS_OPENGL_GLEW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-opengl-glew) were not met:
+       _ecore_have_openssl="yes"
 
-$EVAS_OPENGL_GLEW_PKG_ERRORS
+fi
+fi
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+if test "x$_ecore_have_openssl" = "xyes" ; then
+   have_openssl="yes"
+else
+   have_openssl="no"
+fi
 
-Alternatively, you may set the environment variables EVAS_OPENGL_GLEW_CFLAGS
-and EVAS_OPENGL_GLEW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
 
-Alternatively, you may set the environment variables EVAS_OPENGL_GLEW_CFLAGS
-and EVAS_OPENGL_GLEW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+   if test "x${have_gnutls}" = "xyes" ; then
+      requirements_ecore_con="gnutls ${requirements_ecore_con}"
+      # no need to add it to req_ecore_ipc, since they
+      # depends on ecore_con anyway.
+   else
+      if test "x${have_openssl}" = "xyes" ; then
+         requirements_ecore_con="openssl ${requirements_ecore_con}"
+         # no need to add it to req_ecore_ipc, since they
+         # depends on ecore_con anyway.
+      fi
+   fi
+fi
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+# ecore_ipc
 
-Alternatively, you may set the environment variables EVAS_OPENGL_GLEW_CFLAGS
-and EVAS_OPENGL_GLEW_LIBS to avoid the need to call pkg-config.
-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." >&2;}
-   { (exit 1); exit 1; }; }
+have_ecore_ipc=no
+ecore_ipc_cflags=
+ecore_ipc_libs=
+want_module=${want_ecore_ipc}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-ipc was given.
+if test "${enable_ecore_ipc+set}" = set; then
+  enableval=$enable_ecore_ipc; want_module=$enableval
 else
-	EVAS_OPENGL_GLEW_CFLAGS=$pkg_cv_EVAS_OPENGL_GLEW_CFLAGS
-	EVAS_OPENGL_GLEW_LIBS=$pkg_cv_EVAS_OPENGL_GLEW_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  want_module=no
+fi
 
+else
+   # Check whether --enable-ecore-ipc was given.
+if test "${enable_ecore_ipc+set}" = set; then
+  enableval=$enable_ecore_ipc; want_module=$enableval
+else
+  want_module=yes
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_ipc module is to be built" >&5
+echo $ECHO_N "checking whether ecore_ipc module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x$have_ecore_con" = "x" -o "x$have_ecore_con" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_OPENGL_GLEW 1
+#define BUILD_ECORE_IPC 1
 _ACEOF
 
-     have_ecore_evas_opengl_glew="yes";
+      have_ecore_ipc="yes"
+      ecore_ipc_libs="-lecore_ipc"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$have_ecore_ipc" = "xyes"; then
+  BUILD_ECORE_IPC_TRUE=
+  BUILD_ECORE_IPC_FALSE='#'
+else
+  BUILD_ECORE_IPC_TRUE='#'
+  BUILD_ECORE_IPC_FALSE=
+fi
+
+
+if test "x$have_ecore_ipc" = "xyes" ; then
+   requirements_ecore_ipc="ecore-con ${requirements_ecore_ipc}"
+else
+   :
+fi
+
+
+
+
+
 
 
+
+# ecore_file
+
+
+have_ecore_file=no
+ecore_file_cflags=
+ecore_file_libs=
+want_module=${want_ecore_file}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-file was given.
+if test "${enable_ecore_file+set}" = set; then
+  enableval=$enable_ecore_file; want_module=$enableval
+else
+  want_module=no
 fi
+
+else
+   # Check whether --enable-ecore-file was given.
+if test "${enable_ecore_file+set}" = set; then
+  enableval=$enable_ecore_file; want_module=$enableval
+else
+  want_module=yes
 fi
 
-if test "x$have_ecore_evas_opengl_glew" = "xyes" ; then
-  :
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_file module is to be built" >&5
+echo $ECHO_N "checking whether ecore_file module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x" = "x" -o "x" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_FILE 1
+_ACEOF
+
+      have_ecore_file="yes"
+      ecore_file_libs="-lecore_file"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-  :
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+ if test "x$have_ecore_file" = "xyes"; then
+  BUILD_ECORE_FILE_TRUE=
+  BUILD_ECORE_FILE_FALSE='#'
+else
+  BUILD_ECORE_FILE_TRUE='#'
+  BUILD_ECORE_FILE_FALSE=
+fi
 
 
+if test "x$have_ecore_file" = "xyes" ; then
+   :
+else
+   :
+fi
 
 
-want_ecore_evas_software_16_ddraw="auto"
 
 
-have_ecore_evas_software_16_ddraw="no"
-want_module="$want_ecore_evas_software_16_ddraw"
 
-# Check whether --enable-ecore-software-16-ddraw was given.
-if test "${enable_ecore_software_16_ddraw+set}" = set; then
-  enableval=$enable_ecore_software_16_ddraw;  want_module=$enableval
+
+
+
+have_poll="no"
+have_inotify="no"
+if test "x${have_ecore_file}" = "xyes" ; then
+
+_ecore_want_poll=${want_poll}
+_ecore_have_poll="no"
+
+# Check whether --enable-poll was given.
+if test "${enable_poll+set}" = set; then
+  enableval=$enable_poll;
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_poll="yes"
+    else
+       _ecore_want_poll="no"
+    fi
 
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software DirectDraw support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas 16 bpp Software DirectDraw support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
 
-if test "x$have_ecore_win32" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether polling is to be used for filemonitoring" >&5
+echo $ECHO_N "checking whether polling is to be used for filemonitoring... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_ecore_want_poll}" >&5
+echo "${ECHO_T}${_ecore_want_poll}" >&6; }
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_16_DDRAW" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_16_DDRAW... $ECHO_C" >&6; }
+if test "x${_ecore_want_poll}" = "xyes" ; then
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_DDRAW_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS="$EVAS_SOFTWARE_16_DDRAW_CFLAGS"
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_POLL 1
+_ACEOF
+
+   _ecore_have_poll="yes"
+fi
+
+if test "x${_ecore_have_poll}" = "xyes" ; then
+   have_poll="yes"
+else
+   have_poll="no"
+fi
+
+
+_ecore_want_inotify=${want_inotify}
+_ecore_have_inotify="no"
+
+_ecore_want_inotify="yes"
+# Check whether --enable-inotify was given.
+if test "${enable_inotify+set}" = set; then
+  enableval=$enable_inotify;
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_inotify="yes"
     else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5
+       _ecore_want_inotify="no"
+    fi
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether inotify is to be used for filemonitoring" >&5
+echo $ECHO_N "checking whether inotify is to be used for filemonitoring... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $_ecore_want_inotify" >&5
+echo "${ECHO_T}$_ecore_want_inotify" >&6; }
+
+
+if test "x${_ecore_want_inotify}" = "xyes" ; then
+   { echo "$as_me:$LINENO: checking for inotify_init in -lc" >&5
+echo $ECHO_N "checking for inotify_init in -lc... $ECHO_C" >&6; }
+if test "${ac_cv_lib_c_inotify_init+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inotify_init ();
+int
+main ()
+{
+return inotify_init ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS=`$PKG_CONFIG --cflags "evas-software-16-ddraw" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_c_inotify_init=yes
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_c_inotify_init=no
 fi
-    fi
-else
-	pkg_failed=untried
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_DDRAW_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS="$EVAS_SOFTWARE_16_DDRAW_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_inotify_init" >&5
+echo "${ECHO_T}$ac_cv_lib_c_inotify_init" >&6; }
+if test $ac_cv_lib_c_inotify_init = yes; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_INOTIFY 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_INOTIFY 1
+_ACEOF
+
+       _ecore_have_inotify="yes"
+
+else
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+           #include <asm/unistd.h>
+           #include <linux/inotify.h>
+
+int
+main ()
+{
+int a = __NR_inotify_init; int b = IN_MOVE_SELF;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS=`$PKG_CONFIG --libs "evas-software-16-ddraw" 2>/dev/null`
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_INOTIFY 1
+_ACEOF
+
+           _ecore_have_inotify="yes"
+
 else
-  pkg_failed=yes
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	_ecore_have_inotify="no"
 fi
-    fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+fi
+
+if test "x$_ecore_have_inotify" = "xyes" ; then
+   have_inotify="yes"
 else
-	pkg_failed=untried
+   have_inotify="no"
 fi
 
 
+   if test "x${have_ecore_con}" = "xyes" ; then
+      requirements_ecore_file="${requirements_ecore_con} ${requirements_ecore_file}"
+   fi
+fi
 
-if test $pkg_failed = yes; then
+# ecore_config
+ecore_config_deps="no"
+if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" ; then
+  ecore_config_deps="yes"
+fi
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+
+
+have_ecore_config=no
+ecore_config_cflags=
+ecore_config_libs=
+want_module=${want_ecore_config}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-config was given.
+if test "${enable_ecore_config+set}" = set; then
+  enableval=$enable_ecore_config; want_module=$enableval
 else
-        _pkg_short_errors_supported=no
+  want_module=no
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-16-ddraw"`
-        else
-	        EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-16-ddraw"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-16-ddraw) were not met:
+else
+   # Check whether --enable-ecore-config was given.
+if test "${enable_ecore_config+set}" = set; then
+  enableval=$enable_ecore_config; want_module=$enableval
+else
+  want_module=yes
+fi
 
-$EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS
+fi
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+{ echo "$as_me:$LINENO: checking whether ecore_config module is to be built" >&5
+echo $ECHO_N "checking whether ecore_config module is to be built... $ECHO_C" >&6; }
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_DDRAW_CFLAGS
-and EVAS_SOFTWARE_16_DDRAW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-software-16-ddraw) were not met:
+if test "x${want_module}" = "xyes" ; then
+   if test "x$ecore_config_deps" = "x" -o "x$ecore_config_deps" = "xyes" ; then
 
-$EVAS_SOFTWARE_16_DDRAW_PKG_ERRORS
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_CONFIG 1
+_ACEOF
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
+      have_ecore_config="yes"
+      ecore_config_libs="-lecore_config"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_DDRAW_CFLAGS
-and EVAS_SOFTWARE_16_DDRAW_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+ if test "x$have_ecore_config" = "xyes"; then
+  BUILD_ECORE_CONFIG_TRUE=
+  BUILD_ECORE_CONFIG_FALSE='#'
+else
+  BUILD_ECORE_CONFIG_TRUE='#'
+  BUILD_ECORE_CONFIG_FALSE=
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_DDRAW_CFLAGS
-and EVAS_SOFTWARE_16_DDRAW_LIBS to avoid the need to call pkg-config.
-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." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+if test "x$have_ecore_config" = "xyes" ; then
+   requirements_ecore_config="ecore-ipc eet ecore ${requirements_ecore_config}"
+else
+   :
+fi
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_DDRAW_CFLAGS
-and EVAS_SOFTWARE_16_DDRAW_LIBS to avoid the need to call pkg-config.
-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." >&2;}
-   { (exit 1); exit 1; }; }
+
+
+
+
+
+
+# ecore_imf
+
+
+
+have_ecore_imf=no
+ecore_imf_cflags=
+ecore_imf_libs=
+want_module=${want_ecore_imf}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-imf was given.
+if test "${enable_ecore_imf+set}" = set; then
+  enableval=$enable_ecore_imf; want_module=$enableval
 else
-	EVAS_SOFTWARE_16_DDRAW_CFLAGS=$pkg_cv_EVAS_SOFTWARE_16_DDRAW_CFLAGS
-	EVAS_SOFTWARE_16_DDRAW_LIBS=$pkg_cv_EVAS_SOFTWARE_16_DDRAW_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  want_module=no
+fi
 
+else
+   # Check whether --enable-ecore-imf was given.
+if test "${enable_ecore_imf+set}" = set; then
+  enableval=$enable_ecore_imf; want_module=$enableval
+else
+  want_module=yes
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_imf module is to be built" >&5
+echo $ECHO_N "checking whether ecore_imf module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x" = "x" -o "x" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW 1
+#define BUILD_ECORE_IMF 1
 _ACEOF
 
-     have_ecore_evas_software_16_ddraw="yes";
+      have_ecore_imf="yes"
+      ecore_imf_libs="-lecore_imf"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
+ if test "x$have_ecore_imf" = "xyes"; then
+  BUILD_ECORE_IMF_TRUE=
+  BUILD_ECORE_IMF_FALSE='#'
+else
+  BUILD_ECORE_IMF_TRUE='#'
+  BUILD_ECORE_IMF_FALSE=
+fi
 
+
+if test "x$have_ecore_imf" = "xyes" ; then
+   :
+else
+   :
 fi
+
+
+
+
+
+
+
+
+# ecore_imf_evas
+
+ecore_imf_evas_deps="no"
+if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
+   ecore_imf_evas_deps="yes"
 fi
 
-if test "x$have_ecore_evas_software_16_ddraw" = "xyes" ; then
-  :
+
+
+have_ecore_imf_evas=no
+ecore_imf_evas_cflags=
+ecore_imf_evas_libs=
+want_module=${want_ecore_imf}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-imf_evas was given.
+if test "${enable_ecore_imf_evas+set}" = set; then
+  enableval=$enable_ecore_imf_evas; want_module=$enableval
 else
-  :
+  want_module=no
 fi
 
+else
+   # Check whether --enable-ecore-imf_evas was given.
+if test "${enable_ecore_imf_evas+set}" = set; then
+  enableval=$enable_ecore_imf_evas; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_imf_evas module is to be built" >&5
+echo $ECHO_N "checking whether ecore_imf_evas module is to be built... $ECHO_C" >&6; }
 
-
-if test "x$have_ecore_evas_software_ddraw" = "xyes" -o \
-        "x$have_ecore_evas_direct3d" = "xyes" -o \
-        "x$have_ecore_evas_opengl_glew" = "xyes" -o \
-        "x$have_ecore_evas_software_16_ddraw" = "xyes"; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x${ecore_imf_evas_deps}" = "x" -o "x${ecore_imf_evas_deps}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_WIN32 1
+#define BUILD_ECORE_IMF_EVAS 1
 _ACEOF
 
-  requirements_ecore_evas="$requirements_ecore_evas ecore-win32"
+      have_ecore_imf_evas="yes"
+      ecore_imf_evas_libs="-lecore_imf_evas"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$have_ecore_imf_evas" = "xyes"; then
+  BUILD_ECORE_IMF_EVAS_TRUE=
+  BUILD_ECORE_IMF_EVAS_FALSE='#'
+else
+  BUILD_ECORE_IMF_EVAS_TRUE='#'
+  BUILD_ECORE_IMF_EVAS_FALSE=
+fi
+
+
+if test "x$have_ecore_imf_evas" = "xyes" ; then
+   requirements_ecore_imf_evas="ecore-imf evas ${requirements_ecore_imf_evas}"
+else
+   :
 fi
 
 
 
 
-have_ecore_wince="no"
-ecore_wince_cflags=""
-ecore_wince_libs=""
 
 
-  # Check whether --enable-ecore-wince was given.
-if test "${enable_ecore_wince+set}" = set; then
-  enableval=$enable_ecore_wince;  want_ecore_wince=$enableval
+
+
+# ecore_input
+
+
+have_ecore_input=no
+ecore_input_cflags=
+ecore_input_libs=
+want_module=${want_ecore_input}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-input was given.
+if test "${enable_ecore_input+set}" = set; then
+  enableval=$enable_ecore_input; want_module=$enableval
 else
-   want_ecore_wince=no
+  want_module=no
 fi
 
+else
+   # Check whether --enable-ecore-input was given.
+if test "${enable_ecore_input+set}" = set; then
+  enableval=$enable_ecore_input; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_wince module is to be built" >&5
-echo $ECHO_N "checking whether ecore_wince module is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_input module is to be built" >&5
+echo $ECHO_N "checking whether ecore_input module is to be built... $ECHO_C" >&6; }
 
-if test "x$want_ecore_wince" = "xyes" ; then
-  if test "x" = "x" -o "x" = "xyes" ; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x${have_evas}" = "x" -o "x${have_evas}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_WINCE 1
+#define BUILD_ECORE_INPUT 1
 _ACEOF
 
-    have_ecore_wince="yes"
-    ecore_wince_libs="-lecore_wince"
-    { echo "$as_me:$LINENO: result: yes" >&5
+      have_ecore_input="yes"
+      ecore_input_libs="-lecore_input"
+      { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-  { echo "$as_me:$LINENO: result: no" >&5
+   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
- if test "x$have_ecore_wince" = "xyes"; then
-  BUILD_ECORE_WINCE_TRUE=
-  BUILD_ECORE_WINCE_FALSE='#'
+ if test "x$have_ecore_input" = "xyes"; then
+  BUILD_ECORE_INPUT_TRUE=
+  BUILD_ECORE_INPUT_FALSE='#'
 else
-  BUILD_ECORE_WINCE_TRUE='#'
-  BUILD_ECORE_WINCE_FALSE=
+  BUILD_ECORE_INPUT_TRUE='#'
+  BUILD_ECORE_INPUT_FALSE=
 fi
 
 
-if test "x$have_ecore_wince" = "xyes" ; then
-  :
+if test "x$have_ecore_input" = "xyes" ; then
+   requirements_ecore_input="evas ${requirements_ecore_input}"
 else
-  :
+   :
 fi
 
 
@@ -29266,287 +27869,374 @@ fi
 
 
 
-want_ecore_evas_software_16_wince="yes"
-
+## Graphic systems
 
-have_ecore_evas_software_16_wince="no"
-want_module="$want_ecore_evas_software_16_wince"
-
-# Check whether --enable-ecore-software-16-wince was given.
-if test "${enable_ecore_software_16_wince+set}" = set; then
-  enableval=$enable_ecore_software_16_wince;  want_module=$enableval
+# ecore_x{cb}
 
+ecore_x_deps="no"
+if test "x${have_x}" = "xyes" -a \
+        "x${have_ecore_input}" = "xyes" -a \
+        "x${have_ecore_txt}" = "xyes" ; then
+   ecore_x_deps="yes"
 fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software Windows CE support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas 16 bpp Software Windows CE support is to be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $want_module" >&5
-echo "${ECHO_T}$want_module" >&6; }
 
-if test "x$have_ecore_wince" = "xyes" -a \
-        "x$have_ecore_evas" = "xyes" -a \
-        "x$want_module" = "xyes" ; then
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_16_WINCE" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_16_WINCE... $ECHO_C" >&6; }
+have_ecore_x=no
+ecore_x_cflags=
+ecore_x_libs=
+want_module=${want_ecore_x}
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_WINCE_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_16_WINCE_CFLAGS="$EVAS_SOFTWARE_16_WINCE_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_WINCE_CFLAGS=`$PKG_CONFIG --cflags "evas-software-16-wince" 2>/dev/null`
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-x was given.
+if test "${enable_ecore_x+set}" = set; then
+  enableval=$enable_ecore_x; want_module=$enableval
 else
-  pkg_failed=yes
+  want_module=no
 fi
-    fi
+
 else
-	pkg_failed=untried
+   # Check whether --enable-ecore-x was given.
+if test "${enable_ecore_x+set}" = set; then
+  enableval=$enable_ecore_x; want_module=$enableval
+else
+  want_module=yes
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_16_WINCE_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_16_WINCE_LIBS="$EVAS_SOFTWARE_16_WINCE_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_16_WINCE_LIBS=`$PKG_CONFIG --libs "evas-software-16-wince" 2>/dev/null`
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_x module is to be built" >&5
+echo $ECHO_N "checking whether ecore_x module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x${ecore_x_deps}" = "x" -o "x${ecore_x_deps}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_X 1
+_ACEOF
+
+      have_ecore_x="yes"
+      ecore_x_libs="-lecore_x"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-  pkg_failed=yes
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-    fi
+
+ if test "x$have_ecore_x" = "xyes"; then
+  BUILD_ECORE_X_TRUE=
+  BUILD_ECORE_X_FALSE='#'
 else
-	pkg_failed=untried
+  BUILD_ECORE_X_TRUE='#'
+  BUILD_ECORE_X_FALSE=
 fi
 
 
+if test "x$have_ecore_x" = "xyes" ; then
 
-if test $pkg_failed = yes; then
+   ecore_x_libs="$ecore_x_libs $x_libs"
+   requirements_ecore_x="ecore-input ecore-txt ${requirements_ecore_x}"
 
-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
-	        EVAS_SOFTWARE_16_WINCE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-16-wince"`
-        else
-	        EVAS_SOFTWARE_16_WINCE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-16-wince"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_16_WINCE_PKG_ERRORS" >&5
 
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-software-16-wince) were not met:
 
-$EVAS_SOFTWARE_16_WINCE_PKG_ERRORS
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_WINCE_CFLAGS
-and EVAS_SOFTWARE_16_WINCE_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-software-16-wince) were not met:
 
-$EVAS_SOFTWARE_16_WINCE_PKG_ERRORS
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_WINCE_CFLAGS
-and EVAS_SOFTWARE_16_WINCE_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_WINCE_CFLAGS
-and EVAS_SOFTWARE_16_WINCE_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+# ecore_win32
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
 
-Alternatively, you may set the environment variables EVAS_SOFTWARE_16_WINCE_CFLAGS
-and EVAS_SOFTWARE_16_WINCE_LIBS to avoid the need to call pkg-config.
-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." >&2;}
-   { (exit 1); exit 1; }; }
+have_ecore_win32=no
+ecore_win32_cflags=
+ecore_win32_libs=
+want_module=${want_ecore_win32}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-win32 was given.
+if test "${enable_ecore_win32+set}" = set; then
+  enableval=$enable_ecore_win32; want_module=$enableval
 else
-	EVAS_SOFTWARE_16_WINCE_CFLAGS=$pkg_cv_EVAS_SOFTWARE_16_WINCE_CFLAGS
-	EVAS_SOFTWARE_16_WINCE_LIBS=$pkg_cv_EVAS_SOFTWARE_16_WINCE_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  want_module=no
+fi
+
+else
+   # Check whether --enable-ecore-win32 was given.
+if test "${enable_ecore_win32+set}" = set; then
+  enableval=$enable_ecore_win32; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_win32 module is to be built" >&5
+echo $ECHO_N "checking whether ecore_win32 module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "xyes" = "x" -o "xyes" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SOFTWARE_16_WINCE 1
+#define BUILD_ECORE_WIN32 1
 _ACEOF
 
-     have_ecore_evas_software_16_wince="yes";
+      have_ecore_win32="yes"
+      ecore_win32_libs="-lecore_win32"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
+ if test "x$have_ecore_win32" = "xyes"; then
+  BUILD_ECORE_WIN32_TRUE=
+  BUILD_ECORE_WIN32_FALSE='#'
+else
+  BUILD_ECORE_WIN32_TRUE='#'
+  BUILD_ECORE_WIN32_FALSE=
+fi
 
+
+if test "x$have_ecore_win32" = "xyes" ; then
+   ecore_win32_libs="-lole32 -lgdi32"
+else
+   :
 fi
+
+
+
+
+
+
+
+
+
+# ecore_quartz
+
+
+
+have_ecore_quartz=no
+ecore_quartz_cflags=
+ecore_quartz_libs=
+want_module=${want_ecore_quartz}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-quartz was given.
+if test "${enable_ecore_quartz+set}" = set; then
+  enableval=$enable_ecore_quartz; want_module=$enableval
+else
+  want_module=no
 fi
 
-if test "x$have_ecore_evas_software_16_wince" = "xyes" ; then
-  :
 else
-  :
+   # Check whether --enable-ecore-quartz was given.
+if test "${enable_ecore_quartz+set}" = set; then
+  enableval=$enable_ecore_quartz; want_module=$enableval
+else
+  want_module=yes
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_quartz module is to be built" >&5
+echo $ECHO_N "checking whether ecore_quartz module is to be built... $ECHO_C" >&6; }
 
+if test "x${want_module}" = "xyes" ; then
+   if test "x$have_quartz" = "x" -o "x$have_quartz" = "xyes" ; then
 
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_QUARTZ 1
+_ACEOF
 
-if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
-  requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
+      have_ecore_quartz="yes"
+      ecore_quartz_libs="-lecore_quartz"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+ if test "x$have_ecore_quartz" = "xyes"; then
+  BUILD_ECORE_QUARTZ_TRUE=
+  BUILD_ECORE_QUARTZ_FALSE='#'
+else
+  BUILD_ECORE_QUARTZ_TRUE='#'
+  BUILD_ECORE_QUARTZ_FALSE=
+fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for DIRECTFB" >&5
-echo $ECHO_N "checking for DIRECTFB... $ECHO_C" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$DIRECTFB_CFLAGS"; then
-        pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\"") >&5
-  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "directfb >= 0.9.16" 2>/dev/null`
+if test "x$have_ecore_quartz" = "xyes" ; then
+   :
 else
-  pkg_failed=yes
+   :
 fi
-    fi
-else
-	pkg_failed=untried
+
+
+
+
+
+
+
+
+# ecore_sdl
+
+ecore_sdl_deps="no"
+if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_sdl_deps="yes"
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$DIRECTFB_LIBS"; then
-        pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\"") >&5
-  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_DIRECTFB_LIBS=`$PKG_CONFIG --libs "directfb >= 0.9.16" 2>/dev/null`
+
+
+
+have_ecore_sdl=no
+ecore_sdl_cflags=
+ecore_sdl_libs=
+want_module=${want_ecore_sdl}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-sdl was given.
+if test "${enable_ecore_sdl+set}" = set; then
+  enableval=$enable_ecore_sdl; want_module=$enableval
 else
-  pkg_failed=yes
+  want_module=no
 fi
-    fi
+
 else
-	pkg_failed=untried
+   # Check whether --enable-ecore-sdl was given.
+if test "${enable_ecore_sdl+set}" = set; then
+  enableval=$enable_ecore_sdl; want_module=$enableval
+else
+  want_module=yes
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_sdl module is to be built" >&5
+echo $ECHO_N "checking whether ecore_sdl module is to be built... $ECHO_C" >&6; }
 
-if test $pkg_failed = yes; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x${ecore_sdl_deps}" = "x" -o "x${ecore_sdl_deps}" = "xyes" ; then
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_SDL 1
+_ACEOF
+
+      have_ecore_sdl="yes"
+      ecore_sdl_libs="-lecore_sdl"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-        _pkg_short_errors_supported=no
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "directfb >= 0.9.16"`
-        else
-	        DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "directfb >= 0.9.16"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$DIRECTFB_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                 have_directfb="no"
+ if test "x$have_ecore_sdl" = "xyes"; then
+  BUILD_ECORE_SDL_TRUE=
+  BUILD_ECORE_SDL_FALSE='#'
+else
+  BUILD_ECORE_SDL_TRUE='#'
+  BUILD_ECORE_SDL_FALSE=
+fi
 
-elif test $pkg_failed = untried; then
-	 have_directfb="no"
 
+if test "x$have_ecore_sdl" = "xyes" ; then
+   requirements_ecore_sdl="ecore-input ${requirements_ecore_sdl}"
 else
-	DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS
-	DIRECTFB_LIBS=$pkg_cv_DIRECTFB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	 have_directfb="yes"
+   :
 fi
 
 
 
-have_ecore_directfb="no"
-ecore_directfb_cflags=""
-ecore_directfb_libs=""
 
 
-  # Check whether --enable-ecore-directfb was given.
-if test "${enable_ecore_directfb+set}" = set; then
-  enableval=$enable_ecore_directfb;  want_ecore_directfb=$enableval
+
+
+
+# ecore_fb
+
+
+have_ecore_fb=no
+ecore_fb_cflags=
+ecore_fb_libs=
+want_module=${want_ecore_fb}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-fb was given.
+if test "${enable_ecore_fb+set}" = set; then
+  enableval=$enable_ecore_fb; want_module=$enableval
 else
-   want_ecore_directfb=no
+  want_module=no
 fi
 
+else
+   # Check whether --enable-ecore-fb was given.
+if test "${enable_ecore_fb+set}" = set; then
+  enableval=$enable_ecore_fb; want_module=$enableval
+else
+  want_module=yes
+fi
 
+fi
 
-{ echo "$as_me:$LINENO: checking whether ecore_directfb module is to be built" >&5
-echo $ECHO_N "checking whether ecore_directfb module is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_fb module is to be built" >&5
+echo $ECHO_N "checking whether ecore_fb module is to be built... $ECHO_C" >&6; }
 
-if test "x$want_ecore_directfb" = "xyes" ; then
-  if test "x$have_directfb" = "x" -o "x$have_directfb" = "xyes" ; then
+if test "x${want_module}" = "xyes" ; then
+   if test "x$have_fb" = "x" -o "x$have_fb" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_DIRECTFB 1
+#define BUILD_ECORE_FB 1
 _ACEOF
 
-    have_ecore_directfb="yes"
-    ecore_directfb_libs="-lecore_directfb"
-    { echo "$as_me:$LINENO: result: yes" >&5
+      have_ecore_fb="yes"
+      ecore_fb_libs="-lecore_fb"
+      { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-  { echo "$as_me:$LINENO: result: no" >&5
+   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
 
- if test "x$have_ecore_directfb" = "xyes"; then
-  BUILD_ECORE_DIRECTFB_TRUE=
-  BUILD_ECORE_DIRECTFB_FALSE='#'
+ if test "x$have_ecore_fb" = "xyes"; then
+  BUILD_ECORE_FB_TRUE=
+  BUILD_ECORE_FB_FALSE='#'
 else
-  BUILD_ECORE_DIRECTFB_TRUE='#'
-  BUILD_ECORE_DIRECTFB_FALSE=
+  BUILD_ECORE_FB_TRUE='#'
+  BUILD_ECORE_FB_FALSE=
 fi
 
 
-if test "x$have_ecore_directfb" = "xyes" ; then
-  requirements_ecore_directfb="directfb"
+if test "x$have_ecore_fb" = "xyes" ; then
+   :
 else
-  :
+   :
 fi
 
 
@@ -29556,39 +28246,30 @@ fi
 
 
 
-have_ecore_evas_dfb="no"
-if test "x$have_ecore_directfb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_dfb="yes"
-  { echo "$as_me:$LINENO: checking whether ecore_evas DirectFB support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas DirectFB support is to be built... $ECHO_C" >&6; }
-  # Check whether --enable-ecore-evas-dfb was given.
-if test "${enable_ecore_evas_dfb+set}" = set; then
-  enableval=$enable_ecore_evas_dfb;  want_ecore_evas_dfb=$enableval
-
-fi
+if test "x${have_ecore_fb}" = "xyes" ; then
 
-  { echo "$as_me:$LINENO: result: $want_ecore_evas_dfb" >&5
-echo "${ECHO_T}$want_ecore_evas_dfb" >&6; }
+_ecore_want_tslib=${want_tslib}
+_ecore_have_tslib="no"
+TSLIB_LIBS=""
+TSLIB_CFLAGS=""
 
-  if test "x$want_ecore_evas_dfb" = "xyes" -a "x$have_ecore_directfb" = "xyes" ; then
-    save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $DIRECTFB_CFLAGS"
+if test "x${_ecore_want_tslib}" = "xyes" -o "x${_ecore_want_tslib}" = "xauto" ; then
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_DIRECTFB" >&5
-echo $ECHO_N "checking for EVAS_DIRECTFB... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for TSLIB" >&5
+echo $ECHO_N "checking for TSLIB... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_DIRECTFB_CFLAGS"; then
-        pkg_cv_EVAS_DIRECTFB_CFLAGS="$EVAS_DIRECTFB_CFLAGS"
+    if test -n "$TSLIB_CFLAGS"; then
+        pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-directfb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "evas-directfb" 2>/dev/null`
+  pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib-1.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -29597,16 +28278,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_DIRECTFB_LIBS"; then
-        pkg_cv_EVAS_DIRECTFB_LIBS="$EVAS_DIRECTFB_LIBS"
+    if test -n "$TSLIB_LIBS"; then
+        pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-directfb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib-1.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib-1.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_DIRECTFB_LIBS=`$PKG_CONFIG --libs "evas-directfb" 2>/dev/null`
+  pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib-1.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -29625,91 +28306,90 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-directfb"`
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib-1.0"`
         else
-	        EVAS_DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-directfb"`
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib-1.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_DIRECTFB_PKG_ERRORS" >&5
-
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-directfb) were not met:
-
-$EVAS_DIRECTFB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
-and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-directfb) were not met:
-
-$EVAS_DIRECTFB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
-and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
+	echo "$TSLIB_PKG_ERRORS" >&5
 
-Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
-and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
 
-Alternatively, you may set the environment variables EVAS_DIRECTFB_CFLAGS
-and EVAS_DIRECTFB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for TSLIB" >&5
+echo $ECHO_N "checking for TSLIB... $ECHO_C" >&6; }
 
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
+if test -n "$PKG_CONFIG"; then
+    if test -n "$TSLIB_CFLAGS"; then
+        pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib" 2>/dev/null`
 else
-	EVAS_DIRECTFB_CFLAGS=$pkg_cv_EVAS_DIRECTFB_CFLAGS
-	EVAS_DIRECTFB_LIBS=$pkg_cv_EVAS_DIRECTFB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$TSLIB_LIBS"; then
+        pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_DIRECTFB 1
-_ACEOF
 
-        have_ecore_evas_dfb="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-directfb"
 
+if test $pkg_failed = yes; then
 
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
 fi
-    CFLAGS="$save_CFLAGS"
-  fi
-fi
+        if test $_pkg_short_errors_supported = yes; then
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"`
+        else
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$TSLIB_PKG_ERRORS" >&5
 
-have_fb="no"
-if test "${ac_cv_header_linux_fb_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for linux/fb.h" >&5
-echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_fb_h+set}" = set; then
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+         if test "${ac_cv_header_tslib_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 else
   # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/fb.h usability" >&5
-echo $ECHO_N "checking linux/fb.h usability... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h usability" >&5
+echo $ECHO_N "checking tslib.h usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -29717,7 +28397,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-#include <linux/fb.h>
+#include <tslib.h>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -29749,15 +28429,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-{ echo "$as_me:$LINENO: checking linux/fb.h presence" >&5
-echo $ECHO_N "checking linux/fb.h presence... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h presence" >&5
+echo $ECHO_N "checking tslib.h presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/fb.h>
+#include <tslib.h>
 _ACEOF
 if { (ac_try="$ac_cpp conftest.$ac_ext"
 case "(($ac_try" in
@@ -29790,25 +28470,25 @@ echo "${ECHO_T}$ac_header_preproc" >&6; }
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/fb.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/fb.h: proceeding with the compiler's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/fb.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/fb.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/fb.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/fb.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/fb.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/fb.h: in the future, the compiler will take precedence" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: tslib.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: tslib.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: tslib.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: tslib.h: in the future, the compiler will take precedence" >&2;}
     ( cat <<\_ASBOX
 ## -------------------------------------------------------- ##
 ## Report this to enlightenment-devel at lists.sourceforge.net ##
@@ -29817,47 +28497,56 @@ _ASBOX
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-{ echo "$as_me:$LINENO: checking for linux/fb.h" >&5
-echo $ECHO_N "checking for linux/fb.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_fb_h+set}" = set; then
+{ echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_header_linux_fb_h=$ac_header_preproc
+  ac_cv_header_tslib_h=$ac_header_preproc
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_fb_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_fb_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 
 fi
-if test $ac_cv_header_linux_fb_h = yes; then
-   if test "${ac_cv_header_linux_input_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for linux/input.h" >&5
-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_input_h+set}" = set; then
+if test $ac_cv_header_tslib_h = yes; then
+
+            { echo "$as_me:$LINENO: checking for ts_open in -lts" >&5
+echo $ECHO_N "checking for ts_open in -lts... $ECHO_C" >&6; }
+if test "${ac_cv_lib_ts_ts_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
 else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking linux/input.h usability" >&5
-echo $ECHO_N "checking linux/input.h usability... $ECHO_C" >&6; }
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lts  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-#include <linux/input.h>
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -29866,172 +28555,124 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   (exit $ac_status); } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_ts_ts_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_header_compiler=no
+	ac_cv_lib_ts_ts_open=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ts_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_ts_ts_open" >&6; }
+if test $ac_cv_lib_ts_ts_open = yes; then
 
-# Is the header present?
-{ echo "$as_me:$LINENO: checking linux/input.h presence" >&5
-echo $ECHO_N "checking linux/input.h presence... $ECHO_C" >&6; }
+               TSLIB_LIBS="-lts"
+               TSLIB_CFLAGS=""
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
+
+               _ecore_have_ts="yes"
+
+else
+
+               { echo "$as_me:$LINENO: checking for ts_open in -ltslib" >&5
+echo $ECHO_N "checking for ts_open in -ltslib... $ECHO_C" >&6; }
+if test "${ac_cv_lib_tslib_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltslib  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/input.h>
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_tslib_ts_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
+	ac_cv_lib_tslib_ts_open=no
 fi
 
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/input.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/input.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/input.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/input.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/input.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/input.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/input.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: linux/input.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/input.h: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## -------------------------------------------------------- ##
-## Report this to enlightenment-devel at lists.sourceforge.net ##
-## -------------------------------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for linux/input.h" >&5
-echo $ECHO_N "checking for linux/input.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_linux_input_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_linux_input_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_input_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_input_h" >&6; }
-
-fi
-if test $ac_cv_header_linux_input_h = yes; then
-   have_fb="yes"
-fi
-
-
-
-fi
-
-
-
-
-have_ecore_fb="no"
-ecore_fb_cflags=""
-ecore_fb_libs=""
-
-
-  # Check whether --enable-ecore-fb was given.
-if test "${enable_ecore_fb+set}" = set; then
-  enableval=$enable_ecore_fb;  want_ecore_fb=$enableval
-else
-   want_ecore_fb=no
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_tslib_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_tslib_ts_open" >&6; }
+if test $ac_cv_lib_tslib_ts_open = yes; then
 
-
-
-{ echo "$as_me:$LINENO: checking whether ecore_fb module is to be built" >&5
-echo $ECHO_N "checking whether ecore_fb module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_fb" = "xyes" ; then
-  if test "x$have_fb" = "x" -o "x$have_fb" = "xyes" ; then
+                  TSLIB_LIBS="-ltslib"
+                  TSLIB_CFLAGS=""
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_FB 1
+#define HAVE_TSLIB 1
 _ACEOF
 
-    have_ecore_fb="yes"
-    ecore_fb_libs="-lecore_fb"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+                  _ecore_have_ts="yes"
 
- if test "x$have_ecore_fb" = "xyes"; then
-  BUILD_ECORE_FB_TRUE=
-  BUILD_ECORE_FB_FALSE='#'
 else
-  BUILD_ECORE_FB_TRUE='#'
-  BUILD_ECORE_FB_FALSE=
-fi
 
+                  _ecore_have_ts="no"
 
-if test "x$have_ecore_fb" = "xyes" ; then
-  :
-else
-  :
 fi
 
 
+fi
 
 
+fi
 
 
 
+elif test $pkg_failed = untried; then
 
-tslib_libs=""
-if test "x$have_ecore_fb" = "xyes" ; then
-if test "${ac_cv_header_tslib_h+set}" = set; then
+         if test "${ac_cv_header_tslib_h+set}" = set; then
   { echo "$as_me:$LINENO: checking for tslib.h" >&5
 echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_tslib_h+set}" = set; then
@@ -30163,7 +28804,7 @@ echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 fi
 if test $ac_cv_header_tslib_h = yes; then
 
-   { echo "$as_me:$LINENO: checking for ts_open in -lts" >&5
+            { echo "$as_me:$LINENO: checking for ts_open in -lts" >&5
 echo $ECHO_N "checking for ts_open in -lts... $ECHO_C" >&6; }
 if test "${ac_cv_lib_ts_ts_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -30225,17 +28866,93 @@ fi
 { echo "$as_me:$LINENO: result: $ac_cv_lib_ts_ts_open" >&5
 echo "${ECHO_T}$ac_cv_lib_ts_ts_open" >&6; }
 if test $ac_cv_lib_ts_ts_open = yes; then
-  tslib_libs="-lts"
+
+               TSLIB_LIBS="-lts"
+               TSLIB_CFLAGS=""
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
+
+               _ecore_have_ts="yes"
+
+else
+
+               { echo "$as_me:$LINENO: checking for ts_open in -ltslib" >&5
+echo $ECHO_N "checking for ts_open in -ltslib... $ECHO_C" >&6; }
+if test "${ac_cv_lib_tslib_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltslib  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_tslib_ts_open=yes
 else
-  tslib_libs="-ltslib"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_tslib_ts_open=no
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_tslib_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_tslib_ts_open" >&6; }
+if test $ac_cv_lib_tslib_ts_open = yes; then
+
+                  TSLIB_LIBS="-ltslib"
+                  TSLIB_CFLAGS=""
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_TSLIB 1
 _ACEOF
 
+                  _ecore_have_ts="yes"
+
+else
 
+                  _ecore_have_ts="no"
 
 fi
 
@@ -30243,37 +28960,43 @@ fi
 fi
 
 
-have_ecore_evas_fb="no";
-if test "x$have_ecore_fb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_fb="yes";
-  { echo "$as_me:$LINENO: checking whether ecore_evas fb support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas fb support is to be built... $ECHO_C" >&6; }
-  # Check whether --enable-ecore-evas-fb was given.
-if test "${enable_ecore_evas_fb+set}" = set; then
-  enableval=$enable_ecore_evas_fb;  want_ecore_evas_fb=$enableval
+fi
+
+
+
+else
+	TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
+	TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
+
+         _ecore_have_ts="yes"
 
 fi
 
-  { echo "$as_me:$LINENO: result: $want_ecore_evas_fb" >&5
-echo "${ECHO_T}$want_ecore_evas_fb" >&6; }
+elif test $pkg_failed = untried; then
 
-  if test "x$want_ecore_evas_fb" = "xyes"; then
 
 pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_FB" >&5
-echo $ECHO_N "checking for EVAS_FB... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking for TSLIB" >&5
+echo $ECHO_N "checking for TSLIB... $ECHO_C" >&6; }
 
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_FB_CFLAGS"; then
-        pkg_cv_EVAS_FB_CFLAGS="$EVAS_FB_CFLAGS"
+    if test -n "$TSLIB_CFLAGS"; then
+        pkg_cv_TSLIB_CFLAGS="$TSLIB_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-fb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_FB_CFLAGS=`$PKG_CONFIG --cflags "evas-fb" 2>/dev/null`
+  pkg_cv_TSLIB_CFLAGS=`$PKG_CONFIG --cflags "tslib" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -30282,16 +29005,16 @@ else
 	pkg_failed=untried
 fi
 if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_FB_LIBS"; then
-        pkg_cv_EVAS_FB_LIBS="$EVAS_FB_LIBS"
+    if test -n "$TSLIB_LIBS"; then
+        pkg_cv_TSLIB_LIBS="$TSLIB_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-fb\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"tslib\"") >&5
+  ($PKG_CONFIG --exists --print-errors "tslib") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_FB_LIBS=`$PKG_CONFIG --libs "evas-fb" 2>/dev/null`
+  pkg_cv_TSLIB_LIBS=`$PKG_CONFIG --libs "tslib" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -30310,149 +29033,28 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        EVAS_FB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-fb"`
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tslib"`
         else
-	        EVAS_FB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-fb"`
+	        TSLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tslib"`
         fi
 	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_FB_PKG_ERRORS" >&5
-
-	{ { echo "$as_me:$LINENO: error: Package requirements (evas-fb) were not met:
-
-$EVAS_FB_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables EVAS_FB_CFLAGS
-and EVAS_FB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&5
-echo "$as_me: error: Package requirements (evas-fb) were not met:
-
-$EVAS_FB_PKG_ERRORS
+	echo "$TSLIB_PKG_ERRORS" >&5
 
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables EVAS_FB_CFLAGS
-and EVAS_FB_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-" >&2;}
-   { (exit 1); exit 1; }; }
-elif test $pkg_failed = untried; then
-	{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables EVAS_FB_CFLAGS
-and EVAS_FB_LIBS to avoid the need to call pkg-config.
-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." >&5
-echo "$as_me: error: The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables EVAS_FB_CFLAGS
-and EVAS_FB_LIBS to avoid the need to call pkg-config.
-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." >&2;}
-   { (exit 1); exit 1; }; }
-else
-	EVAS_FB_CFLAGS=$pkg_cv_EVAS_FB_CFLAGS
-	EVAS_FB_LIBS=$pkg_cv_EVAS_FB_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_FB 1
-_ACEOF
-
-        have_ecore_evas_fb="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-fb"
-
-
-fi
-  fi
-fi
-
-
-# Check whether --with-sdl-config was given.
-if test "${with_sdl_config+set}" = set; then
-  withval=$with_sdl_config;
-    SDL_CONFIG=$withval;
-    echo "using "$SDL_CONFIG" for sdl-config";
-
-else
-
-    if test -z "$SDL_CONFIG"; then
-        # Extract the first word of ""sdl-config"", so it can be a program name with args.
-set dummy "sdl-config"; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_SDL_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $SDL_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG=""""
-  ;;
-esac
-fi
-SDL_CONFIG=$ac_cv_path_SDL_CONFIG
-if test -n "$SDL_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5
-echo "${ECHO_T}$SDL_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
+	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
-fi
-
-
-    fi
 
-fi
-
-if test -z "$SDL_CONFIG" ; then SDL_CONFIG="sdl-config"; fi
-
-sdl_cflags="";
-sdl_libs="";
-have_sdl="no"
-if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for SDL/SDL.h" >&5
-echo $ECHO_N "checking for SDL/SDL.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
+         if test "${ac_cv_header_tslib_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_SDL_SDL_h" >&5
-echo "${ECHO_T}$ac_cv_header_SDL_SDL_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 else
   # Is the header compilable?
-{ echo "$as_me:$LINENO: checking SDL/SDL.h usability" >&5
-echo $ECHO_N "checking SDL/SDL.h usability... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h usability" >&5
+echo $ECHO_N "checking tslib.h usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -30460,7 +29062,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-#include <SDL/SDL.h>
+#include <tslib.h>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -30492,15 +29094,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-{ echo "$as_me:$LINENO: checking SDL/SDL.h presence" >&5
-echo $ECHO_N "checking SDL/SDL.h presence... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h presence" >&5
+echo $ECHO_N "checking tslib.h presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <SDL/SDL.h>
+#include <tslib.h>
 _ACEOF
 if { (ac_try="$ac_cpp conftest.$ac_ext"
 case "(($ac_try" in
@@ -30533,25 +29135,25 @@ echo "${ECHO_T}$ac_header_preproc" >&6; }
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: SDL/SDL.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: SDL/SDL.h: proceeding with the compiler's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: SDL/SDL.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: SDL/SDL.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: SDL/SDL.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: SDL/SDL.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: SDL/SDL.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: SDL/SDL.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: SDL/SDL.h: in the future, the compiler will take precedence" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: tslib.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: tslib.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: tslib.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: tslib.h: in the future, the compiler will take precedence" >&2;}
     ( cat <<\_ASBOX
 ## -------------------------------------------------------- ##
 ## Report this to enlightenment-devel at lists.sourceforge.net ##
@@ -30560,292 +29162,193 @@ _ASBOX
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-{ echo "$as_me:$LINENO: checking for SDL/SDL.h" >&5
-echo $ECHO_N "checking for SDL/SDL.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_SDL_SDL_h+set}" = set; then
+{ echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_header_SDL_SDL_h=$ac_header_preproc
+  ac_cv_header_tslib_h=$ac_header_preproc
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_SDL_SDL_h" >&5
-echo "${ECHO_T}$ac_cv_header_SDL_SDL_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 
 fi
-if test $ac_cv_header_SDL_SDL_h = yes; then
-   have_sdl="yes"
-else
-   have_sdl="no"
-fi
-
-
-
-
-
-have_ecore_sdl="no"
-ecore_sdl_cflags=""
-ecore_sdl_libs=""
-
+if test $ac_cv_header_tslib_h = yes; then
 
-  # Check whether --enable-ecore-sdl was given.
-if test "${enable_ecore_sdl+set}" = set; then
-  enableval=$enable_ecore_sdl;  want_ecore_sdl=$enableval
+            { echo "$as_me:$LINENO: checking for ts_open in -lts" >&5
+echo $ECHO_N "checking for ts_open in -lts... $ECHO_C" >&6; }
+if test "${ac_cv_lib_ts_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-   want_ecore_sdl=no
-fi
-
-
-
-{ echo "$as_me:$LINENO: checking whether ecore_sdl module is to be built" >&5
-echo $ECHO_N "checking whether ecore_sdl module is to be built... $ECHO_C" >&6; }
-
-if test "x$want_ecore_sdl" = "xyes" ; then
-  if test "x$have_sdl" = "x" -o "x$have_sdl" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_SDL 1
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lts  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-    have_ecore_sdl="yes"
-    ecore_sdl_libs="-lecore_sdl"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
- if test "x$have_ecore_sdl" = "xyes"; then
-  BUILD_ECORE_SDL_TRUE=
-  BUILD_ECORE_SDL_FALSE='#'
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_ts_ts_open=yes
 else
-  BUILD_ECORE_SDL_TRUE='#'
-  BUILD_ECORE_SDL_FALSE=
-fi
-
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-if test "x$have_ecore_sdl" = "xyes" ; then
-  :
-else
-  :
+	ac_cv_lib_ts_ts_open=no
 fi
 
-
-
-
-
-
-
-
-have_ecore_evas_sdl="no";
-if test "x$have_ecore_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-    want_ecore_evas_sdl="yes";
-    { echo "$as_me:$LINENO: checking whether ecore_evas SDL support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas SDL support is to be built... $ECHO_C" >&6; }
-    # Check whether --enable-ecore-evas-sdl was given.
-if test "${enable_ecore_evas_sdl+set}" = set; then
-  enableval=$enable_ecore_evas_sdl;  want_ecore_evas_sdl=$enableval
-
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ts_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_ts_ts_open" >&6; }
+if test $ac_cv_lib_ts_ts_open = yes; then
 
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_sdl" >&5
-echo "${ECHO_T}$want_ecore_evas_sdl" >&6; }
-
-    if test "x$want_ecore_evas_sdl" = "xyes"; then
-        save_CFLAGS=$CFLAGS
-        SDL_CFLAGS=`$SDL_CONFIG --cflags`
-        SDL_LIBS=`$SDL_CONFIG --libs`
-        CFLAGS="$CFLAGS $SDL_CFLAGS"
-
-
+               TSLIB_LIBS="-lts"
+               TSLIB_CFLAGS=""
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_SDL" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_SDL... $ECHO_C" >&6; }
+               _ecore_have_ts="yes"
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_SDL_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS="$EVAS_SOFTWARE_SDL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS=`$PKG_CONFIG --cflags "evas-software-sdl" 2>/dev/null`
 else
-  pkg_failed=yes
-fi
-    fi
+
+               { echo "$as_me:$LINENO: checking for ts_open in -ltslib" >&5
+echo $ECHO_N "checking for ts_open in -ltslib... $ECHO_C" >&6; }
+if test "${ac_cv_lib_tslib_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_SDL_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_SDL_LIBS="$EVAS_SOFTWARE_SDL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltslib  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_SDL_LIBS=`$PKG_CONFIG --libs "evas-software-sdl" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_tslib_ts_open=yes
 else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
+	ac_cv_lib_tslib_ts_open=no
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_SOFTWARE_SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-sdl"`
-        else
-	        EVAS_SOFTWARE_SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-sdl"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_SDL_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
 
-            have_ecore_evas_sdl="no"
-
-elif test $pkg_failed = untried; then
-
-            have_ecore_evas_sdl="no"
-
-else
-	EVAS_SOFTWARE_SDL_CFLAGS=$pkg_cv_EVAS_SOFTWARE_SDL_CFLAGS
-	EVAS_SOFTWARE_SDL_LIBS=$pkg_cv_EVAS_SOFTWARE_SDL_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_tslib_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_tslib_ts_open" >&6; }
+if test $ac_cv_lib_tslib_ts_open = yes; then
 
+                  TSLIB_LIBS="-ltslib"
+                  TSLIB_CFLAGS=""
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SDL 1
+#define HAVE_TSLIB 1
 _ACEOF
 
-            have_ecore_evas_sdl="yes"
-            requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for SDL" >&5
-echo $ECHO_N "checking for SDL... $ECHO_C" >&6; }
+                  _ecore_have_ts="yes"
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$SDL_CFLAGS"; then
-        pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.3.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "sdl >= 1.3.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.3.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
 else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$SDL_LIBS"; then
-        pkg_cv_SDL_LIBS="$SDL_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.3.0\"") >&5
-  ($PKG_CONFIG --exists --print-errors "sdl >= 1.3.0") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.3.0" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
 
-if test $pkg_failed = yes; then
+                  _ecore_have_ts="no"
 
-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
-	        SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sdl >= 1.3.0"`
-        else
-	        SDL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sdl >= 1.3.0"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SDL_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
 
-                dummy="no"
-
-elif test $pkg_failed = untried; then
-
-                dummy="no"
-
-else
-	SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
-	SDL_LIBS=$pkg_cv_SDL_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_SDL_130 1
-_ACEOF
+fi
 
 
 fi
 
-fi
-    CFLAGS=$save_CFLAGS
-  fi
-fi
 
 
-quartz_cflags="";
-quartz_libs="";
-have_quartz="no"
-if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for Cocoa/Cocoa.h" >&5
-echo $ECHO_N "checking for Cocoa/Cocoa.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
+elif test $pkg_failed = untried; then
+
+         if test "${ac_cv_header_tslib_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_Cocoa_Cocoa_h" >&5
-echo "${ECHO_T}$ac_cv_header_Cocoa_Cocoa_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 else
   # Is the header compilable?
-{ echo "$as_me:$LINENO: checking Cocoa/Cocoa.h usability" >&5
-echo $ECHO_N "checking Cocoa/Cocoa.h usability... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h usability" >&5
+echo $ECHO_N "checking tslib.h usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -30853,7 +29356,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-#include <Cocoa/Cocoa.h>
+#include <tslib.h>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -30885,15 +29388,15 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-{ echo "$as_me:$LINENO: checking Cocoa/Cocoa.h presence" >&5
-echo $ECHO_N "checking Cocoa/Cocoa.h presence... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking tslib.h presence" >&5
+echo $ECHO_N "checking tslib.h presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <Cocoa/Cocoa.h>
+#include <tslib.h>
 _ACEOF
 if { (ac_try="$ac_cpp conftest.$ac_ext"
 case "(($ac_try" in
@@ -30926,25 +29429,25 @@ echo "${ECHO_T}$ac_header_preproc" >&6; }
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: proceeding with the compiler's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: tslib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Cocoa/Cocoa.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: Cocoa/Cocoa.h: in the future, the compiler will take precedence" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: tslib.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: tslib.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: tslib.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: tslib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: tslib.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: tslib.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: tslib.h: in the future, the compiler will take precedence" >&2;}
     ( cat <<\_ASBOX
 ## -------------------------------------------------------- ##
 ## Report this to enlightenment-devel at lists.sourceforge.net ##
@@ -30953,853 +29456,1471 @@ _ASBOX
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
-{ echo "$as_me:$LINENO: checking for Cocoa/Cocoa.h" >&5
-echo $ECHO_N "checking for Cocoa/Cocoa.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_Cocoa_Cocoa_h+set}" = set; then
+{ echo "$as_me:$LINENO: checking for tslib.h" >&5
+echo $ECHO_N "checking for tslib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_tslib_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_header_Cocoa_Cocoa_h=$ac_header_preproc
+  ac_cv_header_tslib_h=$ac_header_preproc
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_Cocoa_Cocoa_h" >&5
-echo "${ECHO_T}$ac_cv_header_Cocoa_Cocoa_h" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_header_tslib_h" >&5
+echo "${ECHO_T}$ac_cv_header_tslib_h" >&6; }
 
 fi
-if test $ac_cv_header_Cocoa_Cocoa_h = yes; then
-   have_quartz="yes";
-	         quartz_cflags="-framework Cocoa";
-		 quartz_libs="-framework Cocoa"
+if test $ac_cv_header_tslib_h = yes; then
+
+            { echo "$as_me:$LINENO: checking for ts_open in -lts" >&5
+echo $ECHO_N "checking for ts_open in -lts... $ECHO_C" >&6; }
+if test "${ac_cv_lib_ts_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-   have_quartz="no"
-fi
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lts  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_ts_ts_open=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+	ac_cv_lib_ts_ts_open=no
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_ts_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_ts_ts_open" >&6; }
+if test $ac_cv_lib_ts_ts_open = yes; then
 
+               TSLIB_LIBS="-lts"
+               TSLIB_CFLAGS=""
 
-have_ecore_quartz="no"
-ecore_quartz_cflags=""
-ecore_quartz_libs=""
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
 
+               _ecore_have_ts="yes"
 
-  # Check whether --enable-ecore-quartz was given.
-if test "${enable_ecore_quartz+set}" = set; then
-  enableval=$enable_ecore_quartz;  want_ecore_quartz=$enableval
 else
-   want_ecore_quartz=no
-fi
 
+               { echo "$as_me:$LINENO: checking for ts_open in -ltslib" >&5
+echo $ECHO_N "checking for ts_open in -ltslib... $ECHO_C" >&6; }
+if test "${ac_cv_lib_tslib_ts_open+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltslib  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ts_open ();
+int
+main ()
+{
+return ts_open ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_tslib_ts_open=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-{ echo "$as_me:$LINENO: checking whether ecore_quartz module is to be built" >&5
-echo $ECHO_N "checking whether ecore_quartz module is to be built... $ECHO_C" >&6; }
+	ac_cv_lib_tslib_ts_open=no
+fi
 
-if test "x$want_ecore_quartz" = "xyes" ; then
-  if test "x$have_quartz" = "x" -o "x$have_quartz" = "xyes" ; then
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_tslib_ts_open" >&5
+echo "${ECHO_T}$ac_cv_lib_tslib_ts_open" >&6; }
+if test $ac_cv_lib_tslib_ts_open = yes; then
+
+                  TSLIB_LIBS="-ltslib"
+                  TSLIB_CFLAGS=""
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_QUARTZ 1
+#define HAVE_TSLIB 1
 _ACEOF
 
-    have_ecore_quartz="yes"
-    ecore_quartz_libs="-lecore_quartz"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
+                  _ecore_have_ts="yes"
+
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+
+                  _ecore_have_ts="no"
+
 fi
 
- if test "x$have_ecore_quartz" = "xyes"; then
-  BUILD_ECORE_QUARTZ_TRUE=
-  BUILD_ECORE_QUARTZ_FALSE='#'
-else
-  BUILD_ECORE_QUARTZ_TRUE='#'
-  BUILD_ECORE_QUARTZ_FALSE=
+
 fi
 
 
-if test "x$have_ecore_quartz" = "xyes" ; then
-  :
+fi
+
+
+
 else
-  :
+	TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
+	TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
+
+         _ecore_have_ts="yes"
+
 fi
 
+else
+	TSLIB_CFLAGS=$pkg_cv_TSLIB_CFLAGS
+	TSLIB_LIBS=$pkg_cv_TSLIB_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_TSLIB 1
+_ACEOF
 
+      _ecore_have_ts="yes"
 
+fi
+fi
 
 
 
-have_ecore_evas_quartz="no";
-if test "x$have_ecore_quartz" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-    want_ecore_evas_quartz="yes";
-    { echo "$as_me:$LINENO: checking whether ecore_evas Quartz support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas Quartz support is to be built... $ECHO_C" >&6; }
-    # Check whether --enable-ecore-evas-quartz was given.
-if test "${enable_ecore_evas_quartz+set}" = set; then
-  enableval=$enable_ecore_evas_quartz;  want_ecore_evas_quartz=$enableval
 
+if test "x$_ecore_have_tslib" = "xyes" ; then
+   have_tslib="no"
+else
+   have_tslib="no"
 fi
 
-    { echo "$as_me:$LINENO: result: $want_ecore_evas_quartz" >&5
-echo "${ECHO_T}$want_ecore_evas_quartz" >&6; }
+fi
 
-    if test "x$want_ecore_evas_quartz" = "xyes"; then
-        save_CFLAGS=$CFLAGS
-        QUARTZ_CFLAGS=`-framework Cocoa`
-        QUARTZ_LIBS=`-framework Cocoa`
-        CFLAGS="$CFLAGS $QUARTZ_CFLAGS"
+# ecore_directfb
 
 
 
+have_ecore_directfb=no
+ecore_directfb_cflags=
+ecore_directfb_libs=
+want_module=${want_ecore_directfb}
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_QUARTZ" >&5
-echo $ECHO_N "checking for EVAS_QUARTZ... $ECHO_C" >&6; }
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-directfb was given.
+if test "${enable_ecore_directfb+set}" = set; then
+  enableval=$enable_ecore_directfb; want_module=$enableval
+else
+  want_module=no
+fi
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_QUARTZ_CFLAGS"; then
-        pkg_cv_EVAS_QUARTZ_CFLAGS="$EVAS_QUARTZ_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-quartz\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-quartz") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_QUARTZ_CFLAGS=`$PKG_CONFIG --cflags "evas-quartz" 2>/dev/null`
 else
-  pkg_failed=yes
+   # Check whether --enable-ecore-directfb was given.
+if test "${enable_ecore_directfb+set}" = set; then
+  enableval=$enable_ecore_directfb; want_module=$enableval
+else
+  want_module=yes
 fi
-    fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_directfb module is to be built" >&5
+echo $ECHO_N "checking whether ecore_directfb module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x${have_directfb}" = "x" -o "x${have_directfb}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_DIRECTFB 1
+_ACEOF
+
+      have_ecore_directfb="yes"
+      ecore_directfb_libs="-lecore_directfb"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
 else
-	pkg_failed=untried
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_QUARTZ_LIBS"; then
-        pkg_cv_EVAS_QUARTZ_LIBS="$EVAS_QUARTZ_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-quartz\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-quartz") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_EVAS_QUARTZ_LIBS=`$PKG_CONFIG --libs "evas-quartz" 2>/dev/null`
+
+ if test "x$have_ecore_directfb" = "xyes"; then
+  BUILD_ECORE_DIRECTFB_TRUE=
+  BUILD_ECORE_DIRECTFB_FALSE='#'
 else
-  pkg_failed=yes
+  BUILD_ECORE_DIRECTFB_TRUE='#'
+  BUILD_ECORE_DIRECTFB_FALSE=
 fi
-    fi
+
+
+if test "x$have_ecore_directfb" = "xyes" ; then
+   requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"
 else
-	pkg_failed=untried
+   :
 fi
 
 
 
-if test $pkg_failed = yes; then
 
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
+
+
+
+
+# ecore_wince
+
+
+
+have_ecore_wince=no
+ecore_wince_cflags=
+ecore_wince_libs=
+want_module=${want_ecore_wince}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-wince was given.
+if test "${enable_ecore_wince+set}" = set; then
+  enableval=$enable_ecore_wince; want_module=$enableval
 else
-        _pkg_short_errors_supported=no
+  want_module=no
 fi
-        if test $_pkg_short_errors_supported = yes; then
-	        EVAS_QUARTZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-quartz"`
-        else
-	        EVAS_QUARTZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-quartz"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_QUARTZ_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
+else
+   # Check whether --enable-ecore-wince was given.
+if test "${enable_ecore_wince+set}" = set; then
+  enableval=$enable_ecore_wince; want_module=$enableval
+else
+  want_module=yes
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_wince module is to be built" >&5
+echo $ECHO_N "checking whether ecore_wince module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x" = "x" -o "x" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_WINCE 1
+_ACEOF
+
+      have_ecore_wince="yes"
+      ecore_wince_libs="-lecore_wince"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$have_ecore_wince" = "xyes"; then
+  BUILD_ECORE_WINCE_TRUE=
+  BUILD_ECORE_WINCE_FALSE='#'
+else
+  BUILD_ECORE_WINCE_TRUE='#'
+  BUILD_ECORE_WINCE_FALSE=
+fi
+
+
+if test "x$have_ecore_wince" = "xyes" ; then
+   :
+else
+   :
+fi
+
+
+
+
+
 
-            have_ecore_evas_quartz="no"
 
-elif test $pkg_failed = untried; then
 
-            have_ecore_evas_quartz="no"
+## Ecore Evas
 
+# ecore_evas
+
+
+
+have_ecore_evas=no
+ecore_evas_cflags=
+ecore_evas_libs=
+want_module=${want_ecore_evas}
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas was given.
+if test "${enable_ecore_evas+set}" = set; then
+  enableval=$enable_ecore_evas; want_module=$enableval
 else
-	EVAS_QUARTZ_CFLAGS=$pkg_cv_EVAS_QUARTZ_CFLAGS
-	EVAS_QUARTZ_LIBS=$pkg_cv_EVAS_QUARTZ_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+  want_module=no
+fi
 
+else
+   # Check whether --enable-ecore-evas was given.
+if test "${enable_ecore_evas+set}" = set; then
+  enableval=$enable_ecore_evas; want_module=$enableval
+else
+  want_module=yes
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas module is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas module is to be built... $ECHO_C" >&6; }
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x$have_ecore_input" = "x" -o "x$have_ecore_input" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_QUARTZ 1
+#define BUILD_ECORE_EVAS 1
 _ACEOF
 
-            have_ecore_evas_quartz="yes"
-            requirements_ecore_evas="$requirements_ecore_evas ecore-quartz"
+      have_ecore_evas="yes"
+      ecore_evas_libs="-lecore_evas"
+      { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+   else
+      { echo "$as_me:$LINENO: result: no (dependency failed)" >&5
+echo "${ECHO_T}no (dependency failed)" >&6; }
+   fi
+else
+   { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
+ if test "x$have_ecore_evas" = "xyes"; then
+  BUILD_ECORE_EVAS_TRUE=
+  BUILD_ECORE_EVAS_FALSE='#'
+else
+  BUILD_ECORE_EVAS_TRUE='#'
+  BUILD_ECORE_EVAS_FALSE=
 fi
-    CFLAGS=$save_CFLAGS
-  fi
+
+
+if test "x$have_ecore_evas" = "xyes" ; then
+   requirements_ecore_evas="ecore-input ${requirements_ecore_evas}"
+else
+   :
 fi
 
-want_ecore_evas_buffer="yes";
-have_ecore_evas_buffer="no";
-{ echo "$as_me:$LINENO: checking whether ecore_evas buffer support is to be built" >&5
-echo $ECHO_N "checking whether ecore_evas buffer support is to be built... $ECHO_C" >&6; }
-# Check whether --enable-ecore-evas-buffer was given.
-if test "${enable_ecore_evas_buffer+set}" = set; then
-  enableval=$enable_ecore_evas_buffer;  want_ecore_evas_buffer=$enableval
 
+
+
+
+
+
+
+# ecore_evas_buffer
+
+
+
+have_ecore_evas_software_buffer="no"
+want_module="${want_ecore_evas_software_buffer}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-buffer was given.
+if test "${enable_ecore_evas_software_buffer+set}" = set; then
+  enableval=$enable_ecore_evas_software_buffer; want_module=$enableval
 fi
 
-{ echo "$as_me:$LINENO: result: $want_ecore_evas_buffer" >&5
-echo "${ECHO_T}$want_ecore_evas_buffer" >&6; }
+else
+   # Check whether --enable-ecore-evas-software-buffer was given.
+if test "${enable_ecore_evas_software_buffer+set}" = set; then
+  enableval=$enable_ecore_evas_software_buffer; want_module=$enableval
+fi
 
-if test "x$want_ecore_evas_buffer" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
+fi
 
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for EVAS_SOFTWARE_BUFFER" >&5
-echo $ECHO_N "checking for EVAS_SOFTWARE_BUFFER... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Buffer support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Buffer support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_BUFFER_CFLAGS"; then
-        pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS="$EVAS_SOFTWARE_BUFFER_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
+if test "xyes" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
     { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\"") >&5
   ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS=`$PKG_CONFIG --cflags "evas-software-buffer" 2>/dev/null`
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_BUFFER 1
+_ACEOF
+
+       have_ecore_evas_software_buffer="yes"
+
+fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Buffer support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Buffer support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_buffer" >&5
+echo "${ECHO_T}$have_ecore_evas_software_buffer" >&6; }
+
+if test "x$have_ecore_evas_software_buffer" = "xyes" ; then
+   :
 else
-  pkg_failed=yes
+   :
 fi
-    fi
+
+
+
+
+
+# ecore_evas_x11
+
+# ecore_evas_software_x11
+
+ecore_evas_xlib_deps="no"
+if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
+   ecore_evas_xlib_deps="yes"
+fi
+
+
+
+have_ecore_evas_software_x11="no"
+want_module="${want_ecore_evas_software_x11}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-x11 was given.
+if test "${enable_ecore_evas_software_x11+set}" = set; then
+  enableval=$enable_ecore_evas_software_x11; want_module=$enableval
+fi
+
 else
-	pkg_failed=untried
+   # Check whether --enable-ecore-evas-software-x11 was given.
+if test "${enable_ecore_evas_software_x11+set}" = set; then
+  enableval=$enable_ecore_evas_software_x11; want_module=$enableval
 fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$EVAS_SOFTWARE_BUFFER_LIBS"; then
-        pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS="$EVAS_SOFTWARE_BUFFER_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-buffer\"") >&5
-  ($PKG_CONFIG --exists --print-errors "evas-software-buffer") 2>&5
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Xlib support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-x11") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS=`$PKG_CONFIG --libs "evas-software-buffer" 2>/dev/null`
-else
-  pkg_failed=yes
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_X11 1
+_ACEOF
+
+       have_ecore_evas_software_x11="yes"
+
 fi
-    fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Xlib support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_x11" >&5
+echo "${ECHO_T}$have_ecore_evas_software_x11" >&6; }
+
+if test "x$have_ecore_evas_software_x11" = "xyes" ; then
+   :
 else
-	pkg_failed=untried
+   :
 fi
 
 
 
-if test $pkg_failed = yes; then
 
-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
-	        EVAS_SOFTWARE_BUFFER_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evas-software-buffer"`
-        else
-	        EVAS_SOFTWARE_BUFFER_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evas-software-buffer"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$EVAS_SOFTWARE_BUFFER_PKG_ERRORS" >&5
 
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+# ecore_evas_xrender_x11
 
-      have_ecore_evas_buffer="no"
 
-elif test $pkg_failed = untried; then
 
-      have_ecore_evas_buffer="no"
+have_ecore_evas_xrender_x11="no"
+want_module="${want_ecore_evas_xrender_x11}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-xrender-x11 was given.
+if test "${enable_ecore_evas_xrender_x11+set}" = set; then
+  enableval=$enable_ecore_evas_xrender_x11; want_module=$enableval
+fi
 
 else
-	EVAS_SOFTWARE_BUFFER_CFLAGS=$pkg_cv_EVAS_SOFTWARE_BUFFER_CFLAGS
-	EVAS_SOFTWARE_BUFFER_LIBS=$pkg_cv_EVAS_SOFTWARE_BUFFER_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+   # Check whether --enable-ecore-evas-xrender-x11 was given.
+if test "${enable_ecore_evas_xrender_x11+set}" = set; then
+  enableval=$enable_ecore_evas_xrender_x11; want_module=$enableval
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas XRender Xlib support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas XRender Xlib support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-xrender-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_EVAS_BUFFER 1
+#define BUILD_ECORE_EVAS_XRENDER_X11 1
 _ACEOF
 
-      have_ecore_evas_buffer="yes"
+       have_ecore_evas_xrender_x11="yes"
 
 fi
 fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas XRender Xlib support is built" >&5
+echo $ECHO_N "checking whether ecore_evas XRender Xlib support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_xrender_x11" >&5
+echo "${ECHO_T}$have_ecore_evas_xrender_x11" >&6; }
+
+if test "x$have_ecore_evas_xrender_x11" = "xyes" ; then
+   :
+else
+   :
+fi
+
 
 
-have_ecore_file="no"
-ecore_file_cflags=""
-ecore_file_libs=""
 
 
-  # Check whether --enable-ecore-file was given.
-if test "${enable_ecore_file+set}" = set; then
-  enableval=$enable_ecore_file;  want_ecore_file=$enableval
+# ecore_evas_opengl_x11
+
+
+
+have_ecore_evas_opengl_x11="no"
+want_module="${want_ecore_evas_opengl_x11}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-opengl-x11 was given.
+if test "${enable_ecore_evas_opengl_x11+set}" = set; then
+  enableval=$enable_ecore_evas_opengl_x11; want_module=$enableval
+fi
+
 else
-   want_ecore_file=yes
+   # Check whether --enable-ecore-evas-opengl-x11 was given.
+if test "${enable_ecore_evas_opengl_x11+set}" = set; then
+  enableval=$enable_ecore_evas_opengl_x11; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas OpenGL Xlib support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas OpenGL Xlib support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether ecore_file module is to be built" >&5
-echo $ECHO_N "checking whether ecore_file module is to be built... $ECHO_C" >&6; }
+if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-opengl-x11") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
-if test "x$want_ecore_file" = "xyes" ; then
-  if test "x" = "x" -o "x" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_FILE 1
+#define BUILD_ECORE_EVAS_OPENGL_X11 1
 _ACEOF
 
-    have_ecore_file="yes"
-    ecore_file_libs="-lecore_file"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
+       have_ecore_evas_opengl_x11="yes"
 
- if test "x$have_ecore_file" = "xyes"; then
-  BUILD_ECORE_FILE_TRUE=
-  BUILD_ECORE_FILE_FALSE='#'
-else
-  BUILD_ECORE_FILE_TRUE='#'
-  BUILD_ECORE_FILE_FALSE=
+fi
 fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas OpenGL Xlib support is built" >&5
+echo $ECHO_N "checking whether ecore_evas OpenGL Xlib support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_opengl_x11" >&5
+echo "${ECHO_T}$have_ecore_evas_opengl_x11" >&6; }
 
-if test "x$have_ecore_file" = "xyes" ; then
-  :
+if test "x$have_ecore_evas_opengl_x11" = "xyes" ; then
+   :
 else
-  :
+   :
 fi
 
 
 
 
 
+# ecore_evas_software_x11 16 bits
 
 
-have_inotify="no"
-have_poll="no"
-if test "x$have_ecore_file" = "xyes"; then
 
-    want_inotify="yes"
-  { echo "$as_me:$LINENO: checking whether inotify is to be used for filemonitoring" >&5
-echo $ECHO_N "checking whether inotify is to be used for filemonitoring... $ECHO_C" >&6; }
-  # Check whether --enable-inotify was given.
-if test "${enable_inotify+set}" = set; then
-  enableval=$enable_inotify;  want_inotify=$enableval
+have_ecore_evas_software_16_x11="no"
+want_module="${want_ecore_evas_software_16_x11}"
 
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-16-x11 was given.
+if test "${enable_ecore_evas_software_16_x11+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_x11; want_module=$enableval
 fi
 
-  { echo "$as_me:$LINENO: result: $want_inotify" >&5
-echo "${ECHO_T}$want_inotify" >&6; }
-
-            if test "x$want_inotify" = "xyes"; then
-    { echo "$as_me:$LINENO: checking for inotify_init in -lc" >&5
-echo $ECHO_N "checking for inotify_init in -lc... $ECHO_C" >&6; }
-if test "${ac_cv_lib_c_inotify_init+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lc  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+   # Check whether --enable-ecore-evas-software-16-x11 was given.
+if test "${enable_ecore_evas_software_16_x11+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_x11; want_module=$enableval
+fi
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inotify_init ();
-int
-main ()
-{
-return inotify_init ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib 16 bits support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Xlib 16 bits support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${ecore_evas_xlib_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-x11\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-16-x11") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_c_inotify_init=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+  (exit $ac_status); }; then
 
-	ac_cv_lib_c_inotify_init=no
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_16_X11 1
+_ACEOF
+
+       have_ecore_evas_software_16_x11="yes"
+
+fi
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software Xlib 16 bits support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software Xlib 16 bits support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_16_x11" >&5
+echo "${ECHO_T}$have_ecore_evas_software_16_x11" >&6; }
+
+if test "x$have_ecore_evas_software_16_x11" = "xyes" ; then
+   :
+else
+   :
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_inotify_init" >&5
-echo "${ECHO_T}$ac_cv_lib_c_inotify_init" >&6; }
-if test $ac_cv_lib_c_inotify_init = yes; then
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INOTIFY 1
-_ACEOF
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_INOTIFY 1
-_ACEOF
 
-	have_inotify="yes"
+# ecore_evas_software_xcb
+
+ecore_evas_xcb_deps="no"
+if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
+   ecore_evas_xcb_deps="yes"
+fi
+
+
+
+have_ecore_evas_software_xcb="no"
+want_module="${want_ecore_evas_software_xcb}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-xcb was given.
+if test "${enable_ecore_evas_software_xcb+set}" = set; then
+  enableval=$enable_ecore_evas_software_xcb; want_module=$enableval
+fi
 
 else
+   # Check whether --enable-ecore-evas-software-xcb was given.
+if test "${enable_ecore_evas_software_xcb+set}" = set; then
+  enableval=$enable_ecore_evas_software_xcb; want_module=$enableval
+fi
 
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+fi
 
-            #include <asm/unistd.h>
-            #include <linux/inotify.h>
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software XCB support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software XCB support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-int
-main ()
-{
- int a = __NR_inotify_init; int b = IN_MOVE_SELF;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
+if test "x${ecore_evas_xcb_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-xcb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-xcb") 2>&5
   ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
+  (exit $ac_status); }; then
 
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INOTIFY 1
+#define BUILD_ECORE_EVAS_SOFTWARE_XCB 1
 _ACEOF
 
-	    have_inotify="yes"
+       have_ecore_evas_software_xcb="yes"
 
+fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software XCB support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software XCB support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_xcb" >&5
+echo "${ECHO_T}$have_ecore_evas_software_xcb" >&6; }
+
+if test "x$have_ecore_evas_software_xcb" = "xyes" ; then
+   :
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+   :
+fi
 
 
-            have_inotify="no"
 
 
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# ecore_evas_xrender_xcb
 
 
+
+have_ecore_evas_xrender_xcb="no"
+want_module="${want_ecore_evas_xrender_xcb}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-xrender-xcb was given.
+if test "${enable_ecore_evas_xrender_xcb+set}" = set; then
+  enableval=$enable_ecore_evas_xrender_xcb; want_module=$enableval
 fi
 
-  fi
+else
+   # Check whether --enable-ecore-evas-xrender-xcb was given.
+if test "${enable_ecore_evas_xrender_xcb+set}" = set; then
+  enableval=$enable_ecore_evas_xrender_xcb; want_module=$enableval
+fi
 
-  want_poll="yes"
-  { echo "$as_me:$LINENO: checking whether polling is to be used for filemonitoring" >&5
-echo $ECHO_N "checking whether polling is to be used for filemonitoring... $ECHO_C" >&6; }
-  # Check whether --enable-poll was given.
-if test "${enable_poll+set}" = set; then
-  enableval=$enable_poll;  want_poll=$enableval
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas XRender XCB support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas XRender XCB support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${ecore_evas_xcb_deps}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-xrender-xcb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-xrender-xcb") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_XRENDER_XCB 1
+_ACEOF
+
+       have_ecore_evas_xrender_xcb="yes"
+
+fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas XRender XCB support is built" >&5
+echo $ECHO_N "checking whether ecore_evas XRender XCB support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_xrender_xcb" >&5
+echo "${ECHO_T}$have_ecore_evas_xrender_xcb" >&6; }
+
+if test "x$have_ecore_evas_xrender_xcb" = "xyes" ; then
+   :
+else
+   :
 fi
 
-  { echo "$as_me:$LINENO: result: $want_poll" >&5
-echo "${ECHO_T}$want_poll" >&6; }
 
-  if test "x$want_poll" = "xyes"; then
+
+
+
+if test "x$have_ecore_evas_software_x11" = "xyes" -o \
+        "x$have_ecore_evas_xrender_x11" = "xyes" -o \
+        "x$have_ecore_evas_opengl_x11" = "xyes" -o \
+        "x$have_ecore_evas_software_16_x11" = "xyes" -o \
+        "x$have_ecore_evas_software_xcb" = "xyes" -o \
+        "x$have_ecore_evas_xrender_xcb" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_POLL 1
+#define BUILD_ECORE_EVAS_X11 1
 _ACEOF
 
-    have_poll="yes"
-  fi
-  requirements_ecore_file="$requirements_ecore_file $requirements_ecore_con"
+   requirements_ecore_evas="ecore-x ${requirements_ecore_evas}"
 fi
 
+# ecore_evas_win32
 
 
-have_ecore_imf="no"
-ecore_imf_cflags=""
-ecore_imf_libs=""
 
+have_ecore_evas_software_ddraw="no"
+want_module="${want_ecore_evas_software_ddraw}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-ddraw was given.
+if test "${enable_ecore_evas_software_ddraw+set}" = set; then
+  enableval=$enable_ecore_evas_software_ddraw; want_module=$enableval
+fi
 
-  # Check whether --enable-ecore-imf was given.
-if test "${enable_ecore_imf+set}" = set; then
-  enableval=$enable_ecore_imf;  want_ecore_imf=$enableval
 else
-   want_ecore_imf=yes
+   # Check whether --enable-ecore-evas-software-ddraw was given.
+if test "${enable_ecore_evas_software_ddraw+set}" = set; then
+  enableval=$enable_ecore_evas_software_ddraw; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software DirectDraw support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software DirectDraw support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether ecore_imf module is to be built" >&5
-echo $ECHO_N "checking whether ecore_imf module is to be built... $ECHO_C" >&6; }
+if test "x${have_ecore_win32}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-ddraw\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-ddraw") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
-if test "x$want_ecore_imf" = "xyes" ; then
-  if test "x" = "x" -o "x" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_IMF 1
+#define BUILD_ECORE_EVAS_SOFTWARE_DDRAW 1
 _ACEOF
 
-    have_ecore_imf="yes"
-    ecore_imf_libs="-lecore_imf"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+       have_ecore_evas_software_ddraw="yes"
+
+fi
 fi
 
- if test "x$have_ecore_imf" = "xyes"; then
-  BUILD_ECORE_IMF_TRUE=
-  BUILD_ECORE_IMF_FALSE='#'
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software DirectDraw support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software DirectDraw support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_ddraw" >&5
+echo "${ECHO_T}$have_ecore_evas_software_ddraw" >&6; }
+
+if test "x$have_ecore_evas_software_ddraw" = "xyes" ; then
+   :
 else
-  BUILD_ECORE_IMF_TRUE='#'
-  BUILD_ECORE_IMF_FALSE=
+   :
 fi
 
 
-if test "x$have_ecore_imf" = "xyes" ; then
-  :
+
+
+
+
+
+have_ecore_evas_direct3d="no"
+want_module="${want_ecore_evas_direct3d}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-direct3d was given.
+if test "${enable_ecore_evas_direct3d+set}" = set; then
+  enableval=$enable_ecore_evas_direct3d; want_module=$enableval
+fi
+
 else
-  :
+   # Check whether --enable-ecore-evas-direct3d was given.
+if test "${enable_ecore_evas_direct3d+set}" = set; then
+  enableval=$enable_ecore_evas_direct3d; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Direct3d support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Direct3d support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
+if test "x${have_ecore_win32}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-direct3d\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-direct3d") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
 
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_DIRECT3D 1
+_ACEOF
+
+       have_ecore_evas_direct3d="yes"
 
+fi
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Direct3d support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Direct3d support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_direct3d" >&5
+echo "${ECHO_T}$have_ecore_evas_direct3d" >&6; }
 
-try_ecore_imf_evas=no
-if test "x$have_ecore_imf" = "xyes" -a "x$have_evas" = "xyes"; then
-  try_ecore_imf_evas=yes
+if test "x$have_ecore_evas_direct3d" = "xyes" ; then
+   :
+else
+   :
 fi
 
 
 
-have_ecore_imf_evas="no"
-ecore_imf_evas_cflags=""
-ecore_imf_evas_libs=""
 
 
-  # Check whether --enable-ecore-imf_evas was given.
-if test "${enable_ecore_imf_evas+set}" = set; then
-  enableval=$enable_ecore_imf_evas;  want_ecore_imf_evas=$enableval
+
+
+have_ecore_evas_opengl_glew="no"
+want_module="${want_ecore_evas_opengl_glew}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-opengl-glew was given.
+if test "${enable_ecore_evas_opengl_glew+set}" = set; then
+  enableval=$enable_ecore_evas_opengl_glew; want_module=$enableval
+fi
+
 else
-   want_ecore_imf_evas=yes
+   # Check whether --enable-ecore-evas-opengl-glew was given.
+if test "${enable_ecore_evas_opengl_glew+set}" = set; then
+  enableval=$enable_ecore_evas_opengl_glew; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Glew OpenGL support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Glew OpenGL support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-{ echo "$as_me:$LINENO: checking whether ecore_imf_evas module is to be built" >&5
-echo $ECHO_N "checking whether ecore_imf_evas module is to be built... $ECHO_C" >&6; }
+if test "x${have_ecore_win32}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-opengl-glew\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-opengl-glew") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
-if test "x$want_ecore_imf_evas" = "xyes" ; then
-  if test "x$try_ecore_imf_evas" = "x" -o "x$try_ecore_imf_evas" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ECORE_IMF_EVAS 1
+#define BUILD_ECORE_EVAS_OPENGL_GLEW 1
 _ACEOF
 
-    have_ecore_imf_evas="yes"
-    ecore_imf_evas_libs="-lecore_imf_evas"
-    { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  else
-    { echo "$as_me:$LINENO: result: no (dependancy failed)" >&5
-echo "${ECHO_T}no (dependancy failed)" >&6; }
-  fi
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+       have_ecore_evas_opengl_glew="yes"
+
+fi
 fi
 
- if test "x$have_ecore_imf_evas" = "xyes"; then
-  BUILD_ECORE_IMF_EVAS_TRUE=
-  BUILD_ECORE_IMF_EVAS_FALSE='#'
+{ echo "$as_me:$LINENO: checking whether ecore_evas Glew OpenGL support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Glew OpenGL support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_opengl_glew" >&5
+echo "${ECHO_T}$have_ecore_evas_opengl_glew" >&6; }
+
+if test "x$have_ecore_evas_opengl_glew" = "xyes" ; then
+   :
 else
-  BUILD_ECORE_IMF_EVAS_TRUE='#'
-  BUILD_ECORE_IMF_EVAS_FALSE=
+   :
 fi
 
 
-if test "x$have_ecore_imf_evas" = "xyes" ; then
-  :
+
+
+
+
+
+have_ecore_evas_software_16_ddraw="no"
+want_module="${want_ecore_evas_software_16_ddraw}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-16-ddraw was given.
+if test "${enable_ecore_evas_software_16_ddraw+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_ddraw; want_module=$enableval
+fi
+
 else
-  :
+   # Check whether --enable-ecore-evas-software-16-ddraw was given.
+if test "${enable_ecore_evas_software_16_ddraw+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_ddraw; want_module=$enableval
 fi
 
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software DirectDraw support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas 16 bpp Software DirectDraw support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${have_ecore_win32}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-ddraw\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-16-ddraw") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW 1
+_ACEOF
 
+       have_ecore_evas_software_16_ddraw="yes"
 
+fi
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software DirectDraw support is built" >&5
+echo $ECHO_N "checking whether ecore_evas 16 bpp Software DirectDraw support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_16_ddraw" >&5
+echo "${ECHO_T}$have_ecore_evas_software_16_ddraw" >&6; }
 
+if test "x$have_ecore_evas_software_16_ddraw" = "xyes" ; then
+   :
+else
+   :
+fi
 
 
 
 
 
-# Check whether --enable-doc was given.
-if test "${enable_doc+set}" = set; then
-  enableval=$enable_doc;
-    if test "x${enableval}" = "xyes" ; then
-       efl_enable_doc="yes"
-    else
-       efl_enable_doc="no"
-    fi
+if test "x${have_ecore_evas_software_ddraw}" = "xyes" -o \
+        "x${have_ecore_evas_direct3d}" = "xyes" -o \
+        "x${have_ecore_evas_opengl_glew}" = "xyes" -o \
+        "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then
 
-else
-  efl_enable_doc="yes"
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_WIN32 1
+_ACEOF
 
+   requirements_ecore_evas="ecore-win32 ${requirements_ecore_evas}"
 fi
 
+# ecore_evas_quartz
 
-if test "x${efl_enable_doc}" = "xyes" ; then
 
 
-   efl_doxygen="doxygen"
+have_ecore_evas_quartz="no"
+want_module="${want_ecore_evas_quartz}"
 
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-quartz was given.
+if test "${enable_ecore_evas_quartz+set}" = set; then
+  enableval=$enable_ecore_evas_quartz; want_module=$enableval
+fi
 
-# Check whether --with-doxygen was given.
-if test "${with_doxygen+set}" = set; then
-  withval=$with_doxygen;       efl_doxygen=${withval}
-       # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
-set dummy ${efl_doxygen}; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$efl_have_doxygen"; then
-  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
 else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_efl_have_doxygen="yes"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+   # Check whether --enable-ecore-evas-quartz was given.
+if test "${enable_ecore_evas_quartz+set}" = set; then
+  enableval=$enable_ecore_evas_quartz; want_module=$enableval
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Quartz support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Quartz support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${have_ecore_quartz}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-quartz\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-quartz") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_QUARTZ 1
+_ACEOF
+
+       have_ecore_evas_quartz="yes"
 
-  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
 fi
 fi
-efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
-if test -n "$efl_have_doxygen"; then
-  { echo "$as_me:$LINENO: result: $efl_have_doxygen" >&5
-echo "${ECHO_T}$efl_have_doxygen" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Quartz support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Quartz support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_quartz" >&5
+echo "${ECHO_T}$have_ecore_evas_quartz" >&6; }
+
+if test "x$have_ecore_evas_quartz" = "xyes" ; then
+   requirements_ecore_evas="ecore-quartz ${requirements_ecore_evas}"
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+   :
 fi
 
 
-       if test "x${efl_have_doxygen}" = "xno" ; then
-          echo "WARNING:"
-          echo "The doxygen program you specified:"
-          echo "$efl_doxygen"
-          echo "was not found.  Please check the path and make sure "
-          echo "the program exists and is executable."
-          { echo "$as_me:$LINENO: WARNING: Warning: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
-       fi
+
+
+
+# ecore_evas_software_sdl
+
+
+
+have_ecore_evas_software_sdl="no"
+want_module="${want_ecore_evas_software_sdl}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-sdl was given.
+if test "${enable_ecore_evas_software_sdl+set}" = set; then
+  enableval=$enable_ecore_evas_software_sdl; want_module=$enableval
+fi
 
 else
-  # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
-set dummy ${efl_doxygen}; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$efl_have_doxygen"; then
-  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_efl_have_doxygen="yes"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
+   # Check whether --enable-ecore-evas-software-sdl was given.
+if test "${enable_ecore_evas_software_sdl+set}" = set; then
+  enableval=$enable_ecore_evas_software_sdl; want_module=$enableval
+fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software SDL support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Software SDL support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${have_ecore_sdl}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-sdl\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-sdl") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_SDL 1
+_ACEOF
+
+       have_ecore_evas_software_sdl="yes"
 
-  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
 fi
 fi
-efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
-if test -n "$efl_have_doxygen"; then
-  { echo "$as_me:$LINENO: result: $efl_have_doxygen" >&5
-echo "${ECHO_T}$efl_have_doxygen" >&6; }
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas Software SDL support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Software SDL support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_sdl" >&5
+echo "${ECHO_T}$have_ecore_evas_software_sdl" >&6; }
+
+if test "x$have_ecore_evas_software_sdl" = "xyes" ; then
+   requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"
 else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
+   :
 fi
 
 
-       if test "x${efl_have_doxygen}" = "xno" ; then
-          echo "WARNING:"
-          echo "The doxygen program was not found in your execute"
-          echo "You may have doxygen installed somewhere not covered by your path."
-          echo ""
-          echo "If this is the case make sure you have the packages installed, AND"
-          echo "that the doxygen program is in your execute path (see your"
-          echo "shell manual page on setting the \$PATH environment variable), OR"
-          echo "alternatively, specify the program to use with --with-doxygen."
-          { echo "$as_me:$LINENO: WARNING: Warning: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
-       fi
 
 
+
+# ecore_evas_directfb
+
+
+
+have_ecore_evas_directfb="no"
+want_module="${want_ecore_evas_directfb}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-directfb was given.
+if test "${enable_ecore_evas_directfb+set}" = set; then
+  enableval=$enable_ecore_evas_directfb; want_module=$enableval
 fi
 
+else
+   # Check whether --enable-ecore-evas-directfb was given.
+if test "${enable_ecore_evas_directfb+set}" = set; then
+  enableval=$enable_ecore_evas_directfb; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas DirectFB support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas DirectFB support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
-if ! test "x${efl_have_doxygen}" = "xyes" ; then
-   efl_enable_doc="no"
+if test "x${have_ecore_directfb}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-directfb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-directfb") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_DIRECTFB 1
+_ACEOF
+
+       have_ecore_evas_directfb="yes"
+
+fi
 fi
 
- if test "x${efl_enable_doc}" = "xyes"; then
-  EFL_BUILD_DOC_TRUE=
-  EFL_BUILD_DOC_FALSE='#'
+{ echo "$as_me:$LINENO: checking whether ecore_evas DirectFB support is built" >&5
+echo $ECHO_N "checking whether ecore_evas DirectFB support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_directfb" >&5
+echo "${ECHO_T}$have_ecore_evas_directfb" >&6; }
+
+if test "x$have_ecore_evas_directfb" = "xyes" ; then
+   requirements_ecore_evas="ecore-directfb ${requirements_ecore_evas}"
 else
-  EFL_BUILD_DOC_TRUE='#'
-  EFL_BUILD_DOC_FALSE=
+   :
 fi
 
 
-if test "x${efl_enable_doc}" = "xyes" ; then
-  build_doc="yes"
+
+
+
+# ecore_evas_fb
+
+
+
+have_ecore_evas_fb="no"
+want_module="${want_ecore_evas_fb}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-fb was given.
+if test "${enable_ecore_evas_fb+set}" = set; then
+  enableval=$enable_ecore_evas_fb; want_module=$enableval
+fi
+
 else
-  build_doc="no"
+   # Check whether --enable-ecore-evas-fb was given.
+if test "${enable_ecore_evas_fb+set}" = set; then
+  enableval=$enable_ecore_evas_fb; want_module=$enableval
 fi
 
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Linux Framebuffer support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas Linux Framebuffer support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
 
+if test "x${have_ecore_fb}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-fb\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-fb") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
 
 
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_FB 1
+_ACEOF
 
+       have_ecore_evas_fb="yes"
 
+fi
+fi
 
+{ echo "$as_me:$LINENO: checking whether ecore_evas Linux Framebuffer support is built" >&5
+echo $ECHO_N "checking whether ecore_evas Linux Framebuffer support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_fb" >&5
+echo "${ECHO_T}$have_ecore_evas_fb" >&6; }
 
+if test "x$have_ecore_evas_fb" = "xyes" ; then
+   requirements_ecore_evas="ecore-fb ${requirements_ecore_evas}"
+else
+   :
+fi
 
 
 
 
 
+# ecore_evas_wince
 
 
-# set up conditionals
- if test $have_ecore_x = yes; then
-  BUILD_ECORE_X_TRUE=
-  BUILD_ECORE_X_FALSE='#'
-else
-  BUILD_ECORE_X_TRUE='#'
-  BUILD_ECORE_X_FALSE=
+
+have_ecore_evas_software_16_wince="no"
+want_module="${want_ecore_evas_software_16_wince}"
+
+if test "x${want_module}" = "xno" ; then
+   # Check whether --enable-ecore-evas-software-16-wince was given.
+if test "${enable_ecore_evas_software_16_wince+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_wince; want_module=$enableval
 fi
 
- if test $have_ecore_x_xlib = yes; then
-  BUILD_ECORE_X_XLIB_TRUE=
-  BUILD_ECORE_X_XLIB_FALSE='#'
 else
-  BUILD_ECORE_X_XLIB_TRUE='#'
-  BUILD_ECORE_X_XLIB_FALSE=
+   # Check whether --enable-ecore-evas-software-16-wince was given.
+if test "${enable_ecore_evas_software_16_wince+set}" = set; then
+  enableval=$enable_ecore_evas_software_16_wince; want_module=$enableval
 fi
 
- if test $have_ecore_x_xcb = yes; then
-  BUILD_ECORE_X_XCB_TRUE=
-  BUILD_ECORE_X_XCB_FALSE='#'
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software Windows CE support is to be built" >&5
+echo $ECHO_N "checking whether ecore_evas 16 bpp Software Windows CE support is to be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_module}" >&5
+echo "${ECHO_T}${want_module}" >&6; }
+
+if test "x${have_ecore_wince}" = "xyes" -a \
+        "x$have_ecore_evas" = "xyes" -a \
+        "x$want_module" = "xyes" ; then
+   if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"evas-software-16-wince\"") >&5
+  ($PKG_CONFIG --exists --print-errors "evas-software-16-wince") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ECORE_EVAS_SOFTWARE_16_WINCE 1
+_ACEOF
+
+       have_ecore_evas_software_16_wince="yes"
+
+fi
+fi
+
+{ echo "$as_me:$LINENO: checking whether ecore_evas 16 bpp Software Windows CE support is built" >&5
+echo $ECHO_N "checking whether ecore_evas 16 bpp Software Windows CE support is built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_ecore_evas_software_16_wince" >&5
+echo "${ECHO_T}$have_ecore_evas_software_16_wince" >&6; }
+
+if test "x$have_ecore_evas_software_16_wince" = "xyes" ; then
+   requirements_ecore_evas="ecore-wince ${requirements_ecore_evas}"
 else
-  BUILD_ECORE_X_XCB_TRUE='#'
-  BUILD_ECORE_X_XCB_FALSE=
+   :
 fi
 
 
-ac_config_files="$ac_config_files Makefile ecore-con.pc ecore-config.pc ecore-directfb.pc ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc ecore-imf-evas.pc ecore-ipc.pc ecore-job.pc ecore-txt.pc ecore-x.pc ecore-win32.pc ecore-sdl.pc ecore-quartz.pc ecore-wince.pc ecore.pc doc/ecore.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/ecore/Makefile src/lib/ecore_job/Makefile src/lib/ecore_x/Makefile src/lib/ecore_x/xlib/Makefile src/lib/ecore_x/xcb/Makefile src/lib/ecore_fb/Makefile src/lib/ecore_sdl/Makefile src/lib/ecore_quartz/Makefile src/lib/ecore_evas/Makefile src/lib/ecore_con/Makefile src/lib/ecore_imf/Makefile src/lib/ecore_imf_evas/Makefile src/lib/ecore_ipc/Makefile src/lib/ecore_txt/Makefile src/lib/ecore_config/Makefile src/lib/ecore_file/Makefile src/lib/ecore_directfb/Makefile src/lib/ecore_win32/Makefile src/lib/ecore_wince/Makefile README ecore.spec"
+
+
+
+
+
+### requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile ecore-con.pc ecore-config.pc ecore-directfb.pc ecore-evas.pc ecore-fb.pc ecore-file.pc ecore-imf.pc ecore-imf-evas.pc ecore-ipc.pc ecore-job.pc ecore-txt.pc ecore-x.pc ecore-input.pc ecore-win32.pc ecore-sdl.pc ecore-quartz.pc ecore-wince.pc ecore.pc doc/ecore.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/ecore/Makefile src/lib/ecore_job/Makefile src/lib/ecore_x/Makefile src/lib/ecore_x/xlib/Makefile src/lib/ecore_x/xcb/Makefile src/lib/ecore_fb/Makefile src/lib/ecore_sdl/Makefile src/lib/ecore_quartz/Makefile src/lib/ecore_evas/Makefile src/lib/ecore_con/Makefile src/lib/ecore_imf/Makefile src/lib/ecore_imf_evas/Makefile src/lib/ecore_input/Makefile src/lib/ecore_ipc/Makefile src/lib/ecore_txt/Makefile src/lib/ecore_config/Makefile src/lib/ecore_file/Makefile src/lib/ecore_directfb/Makefile src/lib/ecore_win32/Makefile src/lib/ecore_wince/Makefile README ecore.spec"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -31911,13 +31032,6 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"am__fastdepOBJC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -31925,101 +31039,101 @@ echo "$as_me: error: conditional \"am__fastdepOBJC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_JOB_TRUE}" && test -z "${BUILD_ECORE_JOB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_JOB\" was never defined.
+if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepOBJC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_JOB\" was never defined.
+echo "$as_me: error: conditional \"am__fastdepOBJC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_CON_TRUE}" && test -z "${BUILD_ECORE_CON_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_CON\" was never defined.
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_CON\" was never defined.
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_IPC_TRUE}" && test -z "${BUILD_ECORE_IPC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_IPC\" was never defined.
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_IPC\" was never defined.
+echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_CONFIG_TRUE}" && test -z "${BUILD_ECORE_CONFIG_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_CONFIG\" was never defined.
+if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EFL_BUILD_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_CONFIG\" was never defined.
+echo "$as_me: error: conditional \"EFL_BUILD_DOC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_TXT_TRUE}" && test -z "${BUILD_ECORE_TXT_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_TXT\" was never defined.
+if test -z "${ECORE_HAVE_WINCE_TRUE}" && test -z "${ECORE_HAVE_WINCE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ECORE_HAVE_WINCE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_TXT\" was never defined.
+echo "$as_me: error: conditional \"ECORE_HAVE_WINCE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_EVAS\" was never defined.
+if test -z "${ECORE_HAVE_WIN32_TRUE}" && test -z "${ECORE_HAVE_WIN32_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"ECORE_HAVE_WIN32\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_EVAS\" was never defined.
+echo "$as_me: error: conditional \"ECORE_HAVE_WIN32\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_X_TRUE}" && test -z "${BUILD_ECORE_X_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_X\" was never defined.
+if test -z "${BUILD_ECORE_X_XLIB_TRUE}" && test -z "${BUILD_ECORE_X_XLIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_X_XLIB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_X\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_X_XLIB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_WIN32_TRUE}" && test -z "${BUILD_ECORE_WIN32_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_WIN32\" was never defined.
+if test -z "${BUILD_ECORE_X_XCB_TRUE}" && test -z "${BUILD_ECORE_X_XCB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_X_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_WIN32\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_X_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_WINCE_TRUE}" && test -z "${BUILD_ECORE_WINCE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_WINCE\" was never defined.
+if test -z "${BUILD_ECORE_JOB_TRUE}" && test -z "${BUILD_ECORE_JOB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_JOB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_WINCE\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_JOB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_DIRECTFB_TRUE}" && test -z "${BUILD_ECORE_DIRECTFB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_DIRECTFB\" was never defined.
+if test -z "${BUILD_ECORE_TXT_TRUE}" && test -z "${BUILD_ECORE_TXT_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_TXT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_DIRECTFB\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_TXT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_FB_TRUE}" && test -z "${BUILD_ECORE_FB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_FB\" was never defined.
+if test -z "${BUILD_ECORE_CON_TRUE}" && test -z "${BUILD_ECORE_CON_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_CON\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_FB\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_CON\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_SDL_TRUE}" && test -z "${BUILD_ECORE_SDL_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_SDL\" was never defined.
+if test -z "${BUILD_ECORE_IPC_TRUE}" && test -z "${BUILD_ECORE_IPC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_IPC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_SDL\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_IPC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_QUARTZ_TRUE}" && test -z "${BUILD_ECORE_QUARTZ_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_QUARTZ\" was never defined.
+if test -z "${BUILD_ECORE_FILE_TRUE}" && test -z "${BUILD_ECORE_FILE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_FILE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_QUARTZ\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_FILE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_FILE_TRUE}" && test -z "${BUILD_ECORE_FILE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_FILE\" was never defined.
+if test -z "${BUILD_ECORE_CONFIG_TRUE}" && test -z "${BUILD_ECORE_CONFIG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_CONFIG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_FILE\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_CONFIG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -32037,10 +31151,10 @@ echo "$as_me: error: conditional \"BUILD_ECORE_IMF_EVAS\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"EFL_BUILD_DOC\" was never defined.
+if test -z "${BUILD_ECORE_INPUT_TRUE}" && test -z "${BUILD_ECORE_INPUT_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_INPUT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"EFL_BUILD_DOC\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_INPUT\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -32051,17 +31165,52 @@ echo "$as_me: error: conditional \"BUILD_ECORE_X\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_X_XLIB_TRUE}" && test -z "${BUILD_ECORE_X_XLIB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_X_XLIB\" was never defined.
+if test -z "${BUILD_ECORE_WIN32_TRUE}" && test -z "${BUILD_ECORE_WIN32_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_WIN32\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_X_XLIB\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_WIN32\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ECORE_X_XCB_TRUE}" && test -z "${BUILD_ECORE_X_XCB_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_X_XCB\" was never defined.
+if test -z "${BUILD_ECORE_QUARTZ_TRUE}" && test -z "${BUILD_ECORE_QUARTZ_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_QUARTZ\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ECORE_X_XCB\" was never defined.
+echo "$as_me: error: conditional \"BUILD_ECORE_QUARTZ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ECORE_SDL_TRUE}" && test -z "${BUILD_ECORE_SDL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ECORE_FB_TRUE}" && test -z "${BUILD_ECORE_FB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ECORE_DIRECTFB_TRUE}" && test -z "${BUILD_ECORE_DIRECTFB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ECORE_WINCE_TRUE}" && test -z "${BUILD_ECORE_WINCE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ECORE_EVAS_TRUE}" && test -z "${BUILD_ECORE_EVAS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECORE_EVAS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ECORE_EVAS\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -32365,7 +31514,7 @@ exec 6>&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 0.9.9.050, which was
+This file was extended by ecore $as_me 0.9.9.060, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32418,7 +31567,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-ecore config.status 0.9.9.050
+ecore config.status 0.9.9.060
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -32524,6 +31673,358 @@ cat >>$CONFIG_STATUS <<_ACEOF
 #
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+  ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+
+
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -32534,6 +32035,7 @@ do
   case $ac_config_target in
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "ecore-con.pc") CONFIG_FILES="$CONFIG_FILES ecore-con.pc" ;;
     "ecore-config.pc") CONFIG_FILES="$CONFIG_FILES ecore-config.pc" ;;
@@ -32547,6 +32049,7 @@ do
     "ecore-job.pc") CONFIG_FILES="$CONFIG_FILES ecore-job.pc" ;;
     "ecore-txt.pc") CONFIG_FILES="$CONFIG_FILES ecore-txt.pc" ;;
     "ecore-x.pc") CONFIG_FILES="$CONFIG_FILES ecore-x.pc" ;;
+    "ecore-input.pc") CONFIG_FILES="$CONFIG_FILES ecore-input.pc" ;;
     "ecore-win32.pc") CONFIG_FILES="$CONFIG_FILES ecore-win32.pc" ;;
     "ecore-sdl.pc") CONFIG_FILES="$CONFIG_FILES ecore-sdl.pc" ;;
     "ecore-quartz.pc") CONFIG_FILES="$CONFIG_FILES ecore-quartz.pc" ;;
@@ -32569,6 +32072,7 @@ do
     "src/lib/ecore_con/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_con/Makefile" ;;
     "src/lib/ecore_imf/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_imf/Makefile" ;;
     "src/lib/ecore_imf_evas/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_imf_evas/Makefile" ;;
+    "src/lib/ecore_input/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_input/Makefile" ;;
     "src/lib/ecore_ipc/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_ipc/Makefile" ;;
     "src/lib/ecore_txt/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_txt/Makefile" ;;
     "src/lib/ecore_config/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/ecore_config/Makefile" ;;
@@ -32723,20 +32227,20 @@ AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
 CCDEPMODE!$CCDEPMODE$ac_delim
 am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
 am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CPP!$CPP$ac_delim
+AS!$AS$ac_delim
+DLLTOOL!$DLLTOOL$ac_delim
+OBJDUMP!$OBJDUMP$ac_delim
+LIBTOOL!$LIBTOOL$ac_delim
+SED!$SED$ac_delim
 GREP!$GREP$ac_delim
 EGREP!$EGREP$ac_delim
-OBJC!$OBJC$ac_delim
-OBJCFLAGS!$OBJCFLAGS$ac_delim
-ac_ct_OBJC!$ac_ct_OBJC$ac_delim
-OBJCDEPMODE!$OBJCDEPMODE$ac_delim
-am__fastdepOBJC_TRUE!$am__fastdepOBJC_TRUE$ac_delim
+FGREP!$FGREP$ac_delim
+LD!$LD$ac_delim
+DUMPBIN!$DUMPBIN$ac_delim
+ac_ct_DUMPBIN!$ac_ct_DUMPBIN$ac_delim
+NM!$NM$ac_delim
+LN_S!$LN_S$ac_delim
+AR!$AR$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -32778,69 +32282,80 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-am__fastdepOBJC_FALSE!$am__fastdepOBJC_FALSE$ac_delim
-SED!$SED$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
 RANLIB!$RANLIB$ac_delim
+lt_ECHO!$lt_ECHO$ac_delim
 DSYMUTIL!$DSYMUTIL$ac_delim
 NMEDIT!$NMEDIT$ac_delim
-DLLTOOL!$DLLTOOL$ac_delim
-AS!$AS$ac_delim
-OBJDUMP!$OBJDUMP$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
+LIPO!$LIPO$ac_delim
+OTOOL!$OTOOL$ac_delim
+OTOOL64!$OTOOL64$ac_delim
+CPP!$CPP$ac_delim
 version_info!$version_info$ac_delim
+ecore_config_release_info!$ecore_config_release_info$ac_delim
+ecore_con_release_info!$ecore_con_release_info$ac_delim
+ecore_directfb_release_info!$ecore_directfb_release_info$ac_delim
+ecore_evas_release_info!$ecore_evas_release_info$ac_delim
+ecore_fb_release_info!$ecore_fb_release_info$ac_delim
+ecore_file_release_info!$ecore_file_release_info$ac_delim
+ecore_imf_evas_release_info!$ecore_imf_evas_release_info$ac_delim
+ecore_imf_release_info!$ecore_imf_release_info$ac_delim
+ecore_input_release_info!$ecore_input_release_info$ac_delim
+ecore_ipc_release_info!$ecore_ipc_release_info$ac_delim
+ecore_job_release_info!$ecore_job_release_info$ac_delim
+ecore_quartz_release_info!$ecore_quartz_release_info$ac_delim
+ecore_release_info!$ecore_release_info$ac_delim
+ecore_sdl_release_info!$ecore_sdl_release_info$ac_delim
+ecore_txt_release_info!$ecore_txt_release_info$ac_delim
+ecore_win32_release_info!$ecore_win32_release_info$ac_delim
+ecore_wince_release_info!$ecore_wince_release_info$ac_delim
+ecore_x_release_info!$ecore_x_release_info$ac_delim
+OBJC!$OBJC$ac_delim
+OBJCFLAGS!$OBJCFLAGS$ac_delim
+ac_ct_OBJC!$ac_ct_OBJC$ac_delim
+OBJCDEPMODE!$OBJCDEPMODE$ac_delim
+am__fastdepOBJC_TRUE!$am__fastdepOBJC_TRUE$ac_delim
+am__fastdepOBJC_FALSE!$am__fastdepOBJC_FALSE$ac_delim
+CXX!$CXX$ac_delim
+CXXFLAGS!$CXXFLAGS$ac_delim
+ac_ct_CXX!$ac_ct_CXX$ac_delim
+CXXDEPMODE!$CXXDEPMODE$ac_delim
+am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
+am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
+CXXCPP!$CXXCPP$ac_delim
+efl_have_doxygen!$efl_have_doxygen$ac_delim
+efl_doxygen!$efl_doxygen$ac_delim
+EFL_BUILD_DOC_TRUE!$EFL_BUILD_DOC_TRUE$ac_delim
+EFL_BUILD_DOC_FALSE!$EFL_BUILD_DOC_FALSE$ac_delim
 PKG_CONFIG!$PKG_CONFIG$ac_delim
-EINA_CFLAGS!$EINA_CFLAGS$ac_delim
-EINA_LIBS!$EINA_LIBS$ac_delim
 EVIL_CFLAGS!$EVIL_CFLAGS$ac_delim
 EVIL_LIBS!$EVIL_LIBS$ac_delim
-dlopen_libs!$dlopen_libs$ac_delim
-WIN32_CPPFLAGS!$WIN32_CPPFLAGS$ac_delim
-WIN32_CFLAGS!$WIN32_CFLAGS$ac_delim
+EFL_ECORE_BUILD!$EFL_ECORE_BUILD$ac_delim
+EFL_ECORE_JOB_BUILD!$EFL_ECORE_JOB_BUILD$ac_delim
+EFL_ECORE_TXT_BUILD!$EFL_ECORE_TXT_BUILD$ac_delim
+EFL_ECORE_FILE_BUILD!$EFL_ECORE_FILE_BUILD$ac_delim
+EFL_ECORE_EVAS_BUILD!$EFL_ECORE_EVAS_BUILD$ac_delim
+EFL_ECORE_IMF_BUILD!$EFL_ECORE_IMF_BUILD$ac_delim
+EFL_ECORE_INPUT_BUILD!$EFL_ECORE_INPUT_BUILD$ac_delim
+EFL_ECORE_WINCE_BUILD!$EFL_ECORE_WINCE_BUILD$ac_delim
+EFL_ECORE_WIN32_BUILD!$EFL_ECORE_WIN32_BUILD$ac_delim
+EFL_ECORE_SDL_BUILD!$EFL_ECORE_SDL_BUILD$ac_delim
+ECORE_HAVE_WINCE_TRUE!$ECORE_HAVE_WINCE_TRUE$ac_delim
+ECORE_HAVE_WINCE_FALSE!$ECORE_HAVE_WINCE_FALSE$ac_delim
+ECORE_HAVE_WIN32_TRUE!$ECORE_HAVE_WIN32_TRUE$ac_delim
+ECORE_HAVE_WIN32_FALSE!$ECORE_HAVE_WIN32_FALSE$ac_delim
 WIN32_LIBS!$WIN32_LIBS$ac_delim
-lt_enable_auto_import!$lt_enable_auto_import$ac_delim
-ALLOCA!$ALLOCA$ac_delim
-TLS2_CFLAGS!$TLS2_CFLAGS$ac_delim
-TLS2_LIBS!$TLS2_LIBS$ac_delim
-TLS_CFLAGS!$TLS_CFLAGS$ac_delim
-TLS_LIBS!$TLS_LIBS$ac_delim
-SSL_CFLAGS!$SSL_CFLAGS$ac_delim
-SSL_LIBS!$SSL_LIBS$ac_delim
-CURL_CFLAGS!$CURL_CFLAGS$ac_delim
-CURL_LIBS!$CURL_LIBS$ac_delim
-BUILD_ECORE_JOB_TRUE!$BUILD_ECORE_JOB_TRUE$ac_delim
-BUILD_ECORE_JOB_FALSE!$BUILD_ECORE_JOB_FALSE$ac_delim
-ecore_job_cflags!$ecore_job_cflags$ac_delim
-ecore_job_libs!$ecore_job_libs$ac_delim
-BUILD_ECORE_CON_TRUE!$BUILD_ECORE_CON_TRUE$ac_delim
-BUILD_ECORE_CON_FALSE!$BUILD_ECORE_CON_FALSE$ac_delim
-ecore_con_cflags!$ecore_con_cflags$ac_delim
-ecore_con_libs!$ecore_con_libs$ac_delim
-BUILD_ECORE_IPC_TRUE!$BUILD_ECORE_IPC_TRUE$ac_delim
-BUILD_ECORE_IPC_FALSE!$BUILD_ECORE_IPC_FALSE$ac_delim
-ecore_ipc_cflags!$ecore_ipc_cflags$ac_delim
-ecore_ipc_libs!$ecore_ipc_libs$ac_delim
-EET_CFLAGS!$EET_CFLAGS$ac_delim
-EET_LIBS!$EET_LIBS$ac_delim
-BUILD_ECORE_CONFIG_TRUE!$BUILD_ECORE_CONFIG_TRUE$ac_delim
-BUILD_ECORE_CONFIG_FALSE!$BUILD_ECORE_CONFIG_FALSE$ac_delim
-ecore_config_cflags!$ecore_config_cflags$ac_delim
-ecore_config_libs!$ecore_config_libs$ac_delim
+dlopen_libs!$dlopen_libs$ac_delim
+EINA_CFLAGS!$EINA_CFLAGS$ac_delim
+EINA_LIBS!$EINA_LIBS$ac_delim
 iconv_cflags!$iconv_cflags$ac_delim
 iconv_libs!$iconv_libs$ac_delim
-BUILD_ECORE_TXT_TRUE!$BUILD_ECORE_TXT_TRUE$ac_delim
-BUILD_ECORE_TXT_FALSE!$BUILD_ECORE_TXT_FALSE$ac_delim
-ecore_txt_cflags!$ecore_txt_cflags$ac_delim
-ecore_txt_libs!$ecore_txt_libs$ac_delim
-EVAS_CFLAGS!$EVAS_CFLAGS$ac_delim
-EVAS_LIBS!$EVAS_LIBS$ac_delim
-BUILD_ECORE_EVAS_TRUE!$BUILD_ECORE_EVAS_TRUE$ac_delim
-BUILD_ECORE_EVAS_FALSE!$BUILD_ECORE_EVAS_FALSE$ac_delim
-ecore_evas_cflags!$ecore_evas_cflags$ac_delim
-ecore_evas_libs!$ecore_evas_libs$ac_delim
+SDL_CONFIG!$SDL_CONFIG$ac_delim
+SDL_CFLAGS!$SDL_CFLAGS$ac_delim
+SDL_LIBS!$SDL_LIBS$ac_delim
+DIRECTFB_CFLAGS!$DIRECTFB_CFLAGS$ac_delim
+DIRECTFB_LIBS!$DIRECTFB_LIBS$ac_delim
+EET_CFLAGS!$EET_CFLAGS$ac_delim
+EET_LIBS!$EET_LIBS$ac_delim
 XCB_CFLAGS!$XCB_CFLAGS$ac_delim
 XCB_LIBS!$XCB_LIBS$ac_delim
 XCB_COMPOSITE_CFLAGS!$XCB_COMPOSITE_CFLAGS$ac_delim
@@ -32864,17 +32379,6 @@ XCB_XFIXES_LIBS!$XCB_XFIXES_LIBS$ac_delim
 XCB_XINERAMA_CFLAGS!$XCB_XINERAMA_CFLAGS$ac_delim
 XCB_XINERAMA_LIBS!$XCB_XINERAMA_LIBS$ac_delim
 XCB_XPRINT_CFLAGS!$XCB_XPRINT_CFLAGS$ac_delim
-XCB_XPRINT_LIBS!$XCB_XPRINT_LIBS$ac_delim
-XCB_XTEST_CFLAGS!$XCB_XTEST_CFLAGS$ac_delim
-XCB_XTEST_LIBS!$XCB_XTEST_LIBS$ac_delim
-have_ecore_x_xcb_define!$have_ecore_x_xcb_define$ac_delim
-XMKMF!$XMKMF$ac_delim
-X_CFLAGS!$X_CFLAGS$ac_delim
-X_PRE_LIBS!$X_PRE_LIBS$ac_delim
-X_LIBS!$X_LIBS$ac_delim
-X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim
-Xcursor_cflags!$Xcursor_cflags$ac_delim
-Xcursor_libs!$Xcursor_libs$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -32916,6 +32420,19 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+XCB_XPRINT_LIBS!$XCB_XPRINT_LIBS$ac_delim
+XCB_XTEST_CFLAGS!$XCB_XTEST_CFLAGS$ac_delim
+XCB_XTEST_LIBS!$XCB_XTEST_LIBS$ac_delim
+have_ecore_x_xcb_define!$have_ecore_x_xcb_define$ac_delim
+XMKMF!$XMKMF$ac_delim
+X_CFLAGS!$X_CFLAGS$ac_delim
+X_PRE_LIBS!$X_PRE_LIBS$ac_delim
+X_LIBS!$X_LIBS$ac_delim
+X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim
+Xcursor_cflags!$Xcursor_cflags$ac_delim
+Xcursor_libs!$Xcursor_libs$ac_delim
+XKB_CFLAGS!$XKB_CFLAGS$ac_delim
+XKB_LIBS!$XKB_LIBS$ac_delim
 XCOMPOSITE_CFLAGS!$XCOMPOSITE_CFLAGS$ac_delim
 XCOMPOSITE_LIBS!$XCOMPOSITE_LIBS$ac_delim
 XDAMAGE_CFLAGS!$XDAMAGE_CFLAGS$ac_delim
@@ -32939,80 +32456,67 @@ XSS_LIBS!$XSS_LIBS$ac_delim
 x_cflags!$x_cflags$ac_delim
 x_includes!$x_includes$ac_delim
 x_libs!$x_libs$ac_delim
-BUILD_ECORE_X_TRUE!$BUILD_ECORE_X_TRUE$ac_delim
-BUILD_ECORE_X_FALSE!$BUILD_ECORE_X_FALSE$ac_delim
-ecore_x_cflags!$ecore_x_cflags$ac_delim
-ecore_x_libs!$ecore_x_libs$ac_delim
-EVAS_SOFTWARE_X11_CFLAGS!$EVAS_SOFTWARE_X11_CFLAGS$ac_delim
-EVAS_SOFTWARE_X11_LIBS!$EVAS_SOFTWARE_X11_LIBS$ac_delim
-EVAS_OPENGL_X11_CFLAGS!$EVAS_OPENGL_X11_CFLAGS$ac_delim
-EVAS_OPENGL_X11_LIBS!$EVAS_OPENGL_X11_LIBS$ac_delim
-EVAS_XRENDER_X11_CFLAGS!$EVAS_XRENDER_X11_CFLAGS$ac_delim
-EVAS_XRENDER_X11_LIBS!$EVAS_XRENDER_X11_LIBS$ac_delim
-EVAS_SOFTWARE_16_X11_CFLAGS!$EVAS_SOFTWARE_16_X11_CFLAGS$ac_delim
-EVAS_SOFTWARE_16_X11_LIBS!$EVAS_SOFTWARE_16_X11_LIBS$ac_delim
-EVAS_SOFTWARE_XCB_CFLAGS!$EVAS_SOFTWARE_XCB_CFLAGS$ac_delim
-EVAS_SOFTWARE_XCB_LIBS!$EVAS_SOFTWARE_XCB_LIBS$ac_delim
-EVAS_XRENDER_XCB_CFLAGS!$EVAS_XRENDER_XCB_CFLAGS$ac_delim
-EVAS_XRENDER_XCB_LIBS!$EVAS_XRENDER_XCB_LIBS$ac_delim
-BUILD_ECORE_WIN32_TRUE!$BUILD_ECORE_WIN32_TRUE$ac_delim
-BUILD_ECORE_WIN32_FALSE!$BUILD_ECORE_WIN32_FALSE$ac_delim
-ecore_win32_cflags!$ecore_win32_cflags$ac_delim
-ecore_win32_libs!$ecore_win32_libs$ac_delim
-EVAS_SOFTWARE_DDRAW_CFLAGS!$EVAS_SOFTWARE_DDRAW_CFLAGS$ac_delim
-EVAS_SOFTWARE_DDRAW_LIBS!$EVAS_SOFTWARE_DDRAW_LIBS$ac_delim
-EVAS_DIRECT3D_CFLAGS!$EVAS_DIRECT3D_CFLAGS$ac_delim
-EVAS_DIRECT3D_LIBS!$EVAS_DIRECT3D_LIBS$ac_delim
-EVAS_OPENGL_GLEW_CFLAGS!$EVAS_OPENGL_GLEW_CFLAGS$ac_delim
-EVAS_OPENGL_GLEW_LIBS!$EVAS_OPENGL_GLEW_LIBS$ac_delim
-EVAS_SOFTWARE_16_DDRAW_CFLAGS!$EVAS_SOFTWARE_16_DDRAW_CFLAGS$ac_delim
-EVAS_SOFTWARE_16_DDRAW_LIBS!$EVAS_SOFTWARE_16_DDRAW_LIBS$ac_delim
-BUILD_ECORE_WINCE_TRUE!$BUILD_ECORE_WINCE_TRUE$ac_delim
-BUILD_ECORE_WINCE_FALSE!$BUILD_ECORE_WINCE_FALSE$ac_delim
-ecore_wince_cflags!$ecore_wince_cflags$ac_delim
-ecore_wince_libs!$ecore_wince_libs$ac_delim
-EVAS_SOFTWARE_16_WINCE_CFLAGS!$EVAS_SOFTWARE_16_WINCE_CFLAGS$ac_delim
-EVAS_SOFTWARE_16_WINCE_LIBS!$EVAS_SOFTWARE_16_WINCE_LIBS$ac_delim
-DIRECTFB_CFLAGS!$DIRECTFB_CFLAGS$ac_delim
-DIRECTFB_LIBS!$DIRECTFB_LIBS$ac_delim
-BUILD_ECORE_DIRECTFB_TRUE!$BUILD_ECORE_DIRECTFB_TRUE$ac_delim
-BUILD_ECORE_DIRECTFB_FALSE!$BUILD_ECORE_DIRECTFB_FALSE$ac_delim
-ecore_directfb_cflags!$ecore_directfb_cflags$ac_delim
-ecore_directfb_libs!$ecore_directfb_libs$ac_delim
-EVAS_DIRECTFB_CFLAGS!$EVAS_DIRECTFB_CFLAGS$ac_delim
-EVAS_DIRECTFB_LIBS!$EVAS_DIRECTFB_LIBS$ac_delim
-BUILD_ECORE_FB_TRUE!$BUILD_ECORE_FB_TRUE$ac_delim
-BUILD_ECORE_FB_FALSE!$BUILD_ECORE_FB_FALSE$ac_delim
-ecore_fb_cflags!$ecore_fb_cflags$ac_delim
-ecore_fb_libs!$ecore_fb_libs$ac_delim
-tslib_libs!$tslib_libs$ac_delim
-EVAS_FB_CFLAGS!$EVAS_FB_CFLAGS$ac_delim
-EVAS_FB_LIBS!$EVAS_FB_LIBS$ac_delim
-SDL_CONFIG!$SDL_CONFIG$ac_delim
-BUILD_ECORE_SDL_TRUE!$BUILD_ECORE_SDL_TRUE$ac_delim
-BUILD_ECORE_SDL_FALSE!$BUILD_ECORE_SDL_FALSE$ac_delim
-ecore_sdl_cflags!$ecore_sdl_cflags$ac_delim
-ecore_sdl_libs!$ecore_sdl_libs$ac_delim
-SDL_CFLAGS!$SDL_CFLAGS$ac_delim
-SDL_LIBS!$SDL_LIBS$ac_delim
-EVAS_SOFTWARE_SDL_CFLAGS!$EVAS_SOFTWARE_SDL_CFLAGS$ac_delim
-EVAS_SOFTWARE_SDL_LIBS!$EVAS_SOFTWARE_SDL_LIBS$ac_delim
-BUILD_ECORE_QUARTZ_TRUE!$BUILD_ECORE_QUARTZ_TRUE$ac_delim
-BUILD_ECORE_QUARTZ_FALSE!$BUILD_ECORE_QUARTZ_FALSE$ac_delim
-ecore_quartz_cflags!$ecore_quartz_cflags$ac_delim
-ecore_quartz_libs!$ecore_quartz_libs$ac_delim
-QUARTZ_CFLAGS!$QUARTZ_CFLAGS$ac_delim
-QUARTZ_LIBS!$QUARTZ_LIBS$ac_delim
-EVAS_QUARTZ_CFLAGS!$EVAS_QUARTZ_CFLAGS$ac_delim
-EVAS_QUARTZ_LIBS!$EVAS_QUARTZ_LIBS$ac_delim
-EVAS_SOFTWARE_BUFFER_CFLAGS!$EVAS_SOFTWARE_BUFFER_CFLAGS$ac_delim
-EVAS_SOFTWARE_BUFFER_LIBS!$EVAS_SOFTWARE_BUFFER_LIBS$ac_delim
+BUILD_ECORE_X_XLIB_TRUE!$BUILD_ECORE_X_XLIB_TRUE$ac_delim
+BUILD_ECORE_X_XLIB_FALSE!$BUILD_ECORE_X_XLIB_FALSE$ac_delim
+BUILD_ECORE_X_XCB_TRUE!$BUILD_ECORE_X_XCB_TRUE$ac_delim
+BUILD_ECORE_X_XCB_FALSE!$BUILD_ECORE_X_XCB_FALSE$ac_delim
+EVAS_CFLAGS!$EVAS_CFLAGS$ac_delim
+EVAS_LIBS!$EVAS_LIBS$ac_delim
+OBJCPP!$OBJCPP$ac_delim
+quartz_ldflags!$quartz_ldflags$ac_delim
+WIN32_CPPFLAGS!$WIN32_CPPFLAGS$ac_delim
+WIN32_CFLAGS!$WIN32_CFLAGS$ac_delim
+lt_enable_auto_import!$lt_enable_auto_import$ac_delim
+ALLOCA!$ALLOCA$ac_delim
+BUILD_ECORE_JOB_TRUE!$BUILD_ECORE_JOB_TRUE$ac_delim
+BUILD_ECORE_JOB_FALSE!$BUILD_ECORE_JOB_FALSE$ac_delim
+ecore_job_cflags!$ecore_job_cflags$ac_delim
+ecore_job_libs!$ecore_job_libs$ac_delim
+BUILD_ECORE_TXT_TRUE!$BUILD_ECORE_TXT_TRUE$ac_delim
+BUILD_ECORE_TXT_FALSE!$BUILD_ECORE_TXT_FALSE$ac_delim
+ecore_txt_cflags!$ecore_txt_cflags$ac_delim
+ecore_txt_libs!$ecore_txt_libs$ac_delim
+BUILD_ECORE_CON_TRUE!$BUILD_ECORE_CON_TRUE$ac_delim
+BUILD_ECORE_CON_FALSE!$BUILD_ECORE_CON_FALSE$ac_delim
+ecore_con_cflags!$ecore_con_cflags$ac_delim
+ecore_con_libs!$ecore_con_libs$ac_delim
+CURL_CFLAGS!$CURL_CFLAGS$ac_delim
+CURL_LIBS!$CURL_LIBS$ac_delim
+TLS_CFLAGS!$TLS_CFLAGS$ac_delim
+TLS_LIBS!$TLS_LIBS$ac_delim
+TLS2_CFLAGS!$TLS2_CFLAGS$ac_delim
+TLS2_LIBS!$TLS2_LIBS$ac_delim
+SSL_CFLAGS!$SSL_CFLAGS$ac_delim
+SSL_LIBS!$SSL_LIBS$ac_delim
+BUILD_ECORE_IPC_TRUE!$BUILD_ECORE_IPC_TRUE$ac_delim
+BUILD_ECORE_IPC_FALSE!$BUILD_ECORE_IPC_FALSE$ac_delim
+ecore_ipc_cflags!$ecore_ipc_cflags$ac_delim
+ecore_ipc_libs!$ecore_ipc_libs$ac_delim
 BUILD_ECORE_FILE_TRUE!$BUILD_ECORE_FILE_TRUE$ac_delim
 BUILD_ECORE_FILE_FALSE!$BUILD_ECORE_FILE_FALSE$ac_delim
 ecore_file_cflags!$ecore_file_cflags$ac_delim
 ecore_file_libs!$ecore_file_libs$ac_delim
+BUILD_ECORE_CONFIG_TRUE!$BUILD_ECORE_CONFIG_TRUE$ac_delim
+BUILD_ECORE_CONFIG_FALSE!$BUILD_ECORE_CONFIG_FALSE$ac_delim
+ecore_config_cflags!$ecore_config_cflags$ac_delim
+ecore_config_libs!$ecore_config_libs$ac_delim
 BUILD_ECORE_IMF_TRUE!$BUILD_ECORE_IMF_TRUE$ac_delim
 BUILD_ECORE_IMF_FALSE!$BUILD_ECORE_IMF_FALSE$ac_delim
+ecore_imf_cflags!$ecore_imf_cflags$ac_delim
+ecore_imf_libs!$ecore_imf_libs$ac_delim
+BUILD_ECORE_IMF_EVAS_TRUE!$BUILD_ECORE_IMF_EVAS_TRUE$ac_delim
+BUILD_ECORE_IMF_EVAS_FALSE!$BUILD_ECORE_IMF_EVAS_FALSE$ac_delim
+ecore_imf_evas_cflags!$ecore_imf_evas_cflags$ac_delim
+ecore_imf_evas_libs!$ecore_imf_evas_libs$ac_delim
+BUILD_ECORE_INPUT_TRUE!$BUILD_ECORE_INPUT_TRUE$ac_delim
+BUILD_ECORE_INPUT_FALSE!$BUILD_ECORE_INPUT_FALSE$ac_delim
+ecore_input_cflags!$ecore_input_cflags$ac_delim
+ecore_input_libs!$ecore_input_libs$ac_delim
+BUILD_ECORE_X_TRUE!$BUILD_ECORE_X_TRUE$ac_delim
+BUILD_ECORE_X_FALSE!$BUILD_ECORE_X_FALSE$ac_delim
+ecore_x_cflags!$ecore_x_cflags$ac_delim
+ecore_x_libs!$ecore_x_libs$ac_delim
+BUILD_ECORE_WIN32_TRUE!$BUILD_ECORE_WIN32_TRUE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -33054,37 +32558,58 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-ecore_imf_cflags!$ecore_imf_cflags$ac_delim
-ecore_imf_libs!$ecore_imf_libs$ac_delim
-BUILD_ECORE_IMF_EVAS_TRUE!$BUILD_ECORE_IMF_EVAS_TRUE$ac_delim
-BUILD_ECORE_IMF_EVAS_FALSE!$BUILD_ECORE_IMF_EVAS_FALSE$ac_delim
-ecore_imf_evas_cflags!$ecore_imf_evas_cflags$ac_delim
-ecore_imf_evas_libs!$ecore_imf_evas_libs$ac_delim
-efl_have_doxygen!$efl_have_doxygen$ac_delim
-efl_doxygen!$efl_doxygen$ac_delim
-EFL_BUILD_DOC_TRUE!$EFL_BUILD_DOC_TRUE$ac_delim
-EFL_BUILD_DOC_FALSE!$EFL_BUILD_DOC_FALSE$ac_delim
+BUILD_ECORE_WIN32_FALSE!$BUILD_ECORE_WIN32_FALSE$ac_delim
+ecore_win32_cflags!$ecore_win32_cflags$ac_delim
+ecore_win32_libs!$ecore_win32_libs$ac_delim
+BUILD_ECORE_QUARTZ_TRUE!$BUILD_ECORE_QUARTZ_TRUE$ac_delim
+BUILD_ECORE_QUARTZ_FALSE!$BUILD_ECORE_QUARTZ_FALSE$ac_delim
+ecore_quartz_cflags!$ecore_quartz_cflags$ac_delim
+ecore_quartz_libs!$ecore_quartz_libs$ac_delim
+BUILD_ECORE_SDL_TRUE!$BUILD_ECORE_SDL_TRUE$ac_delim
+BUILD_ECORE_SDL_FALSE!$BUILD_ECORE_SDL_FALSE$ac_delim
+ecore_sdl_cflags!$ecore_sdl_cflags$ac_delim
+ecore_sdl_libs!$ecore_sdl_libs$ac_delim
+BUILD_ECORE_FB_TRUE!$BUILD_ECORE_FB_TRUE$ac_delim
+BUILD_ECORE_FB_FALSE!$BUILD_ECORE_FB_FALSE$ac_delim
+ecore_fb_cflags!$ecore_fb_cflags$ac_delim
+ecore_fb_libs!$ecore_fb_libs$ac_delim
+TSLIB_CFLAGS!$TSLIB_CFLAGS$ac_delim
+TSLIB_LIBS!$TSLIB_LIBS$ac_delim
+BUILD_ECORE_DIRECTFB_TRUE!$BUILD_ECORE_DIRECTFB_TRUE$ac_delim
+BUILD_ECORE_DIRECTFB_FALSE!$BUILD_ECORE_DIRECTFB_FALSE$ac_delim
+ecore_directfb_cflags!$ecore_directfb_cflags$ac_delim
+ecore_directfb_libs!$ecore_directfb_libs$ac_delim
+BUILD_ECORE_WINCE_TRUE!$BUILD_ECORE_WINCE_TRUE$ac_delim
+BUILD_ECORE_WINCE_FALSE!$BUILD_ECORE_WINCE_FALSE$ac_delim
+ecore_wince_cflags!$ecore_wince_cflags$ac_delim
+ecore_wince_libs!$ecore_wince_libs$ac_delim
+BUILD_ECORE_EVAS_TRUE!$BUILD_ECORE_EVAS_TRUE$ac_delim
+BUILD_ECORE_EVAS_FALSE!$BUILD_ECORE_EVAS_FALSE$ac_delim
+ecore_evas_cflags!$ecore_evas_cflags$ac_delim
+ecore_evas_libs!$ecore_evas_libs$ac_delim
+requirements_ecore!$requirements_ecore$ac_delim
 requirements_ecore_con!$requirements_ecore_con$ac_delim
 requirements_ecore_config!$requirements_ecore_config$ac_delim
 requirements_ecore_directfb!$requirements_ecore_directfb$ac_delim
 requirements_ecore_evas!$requirements_ecore_evas$ac_delim
 requirements_ecore_fb!$requirements_ecore_fb$ac_delim
 requirements_ecore_file!$requirements_ecore_file$ac_delim
+requirements_ecore_imf!$requirements_ecore_imf$ac_delim
+requirements_ecore_imf_evas!$requirements_ecore_imf_evas$ac_delim
+requirements_ecore_input!$requirements_ecore_input$ac_delim
 requirements_ecore_ipc!$requirements_ecore_ipc$ac_delim
 requirements_ecore_job!$requirements_ecore_job$ac_delim
+requirements_ecore_quartz!$requirements_ecore_quartz$ac_delim
+requirements_ecore_sdl!$requirements_ecore_sdl$ac_delim
 requirements_ecore_txt!$requirements_ecore_txt$ac_delim
 requirements_ecore_x!$requirements_ecore_x$ac_delim
-requirements_ecore_sdl!$requirements_ecore_sdl$ac_delim
-requirements_ecore_quartz!$requirements_ecore_quartz$ac_delim
-BUILD_ECORE_X_XLIB_TRUE!$BUILD_ECORE_X_XLIB_TRUE$ac_delim
-BUILD_ECORE_X_XLIB_FALSE!$BUILD_ECORE_X_XLIB_FALSE$ac_delim
-BUILD_ECORE_X_XCB_TRUE!$BUILD_ECORE_X_XCB_TRUE$ac_delim
-BUILD_ECORE_X_XCB_FALSE!$BUILD_ECORE_X_XCB_FALSE$ac_delim
+requirements_ecore_win32!$requirements_ecore_win32$ac_delim
+requirements_ecore_wince!$requirements_ecore_wince$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 28; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 49; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -33651,6 +33176,814 @@ echo "$as_me: error: cannot create directory $as_dir" >&2;}
   done
 done
  ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Assembler program.
+AS=$AS
+
+# DLL creation program.
+DLLTOOL=$DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$OBJDUMP
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+
+    cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
 
   esac
 done # for ac_tag
@@ -33691,14 +34024,9 @@ echo "Optional Modules:"
 echo
 echo " Core:"
 echo
+echo "  Ecore........................: always"
 echo "  Ecore_Job....................: $have_ecore_job"
 echo "  Ecore_Txt....................: $have_ecore_txt"
-echo "  Ecore_File...................: $have_ecore_file"
-if test "x$have_ecore_file" = "xyes" ; then
-  echo "    Inotify....................: $have_inotify"
-  echo "    Poll.......................: $have_poll"
-  echo "    CURL.......................: $have_curl"
-fi
 echo "  Ecore_Con....................: $have_ecore_con"
 if test "x$have_ecore_con" = "xyes" ; then
   echo -n "    OpenSSL....................: $have_openssl"
@@ -33712,7 +34040,7 @@ fi
   echo "    Abstract Sockets...........: $want_abstract_sockets"
 fi
 echo "  Ecore_Ipc....................: $have_ecore_ipc"
-if test "x$have_ecore_con" = "xyes" ; then
+if test "x$have_ecore_ipc" = "xyes" ; then
   echo -n "    OpenSSL....................: $have_openssl"
 if test "x$have_gnutls" = "xyes" ; then
   echo " (disabled)"
@@ -33721,9 +34049,16 @@ else
 fi
   echo "    GnuTLS.....................: $have_gnutls"
 fi
+echo "  Ecore_File...................: $have_ecore_file"
+if test "x$have_ecore_file" = "xyes" ; then
+  echo "    Inotify....................: $have_inotify"
+  echo "    Poll.......................: $have_poll"
+  echo "    CURL.......................: $have_curl"
+fi
 echo "  Ecore_Config.................: $have_ecore_config"
 echo "  Ecore_IMF....................: $have_ecore_imf"
 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
+echo "  Ecore_Input..................: $have_ecore_input"
 
 echo
 echo " Graphic systems:"
@@ -33747,6 +34082,7 @@ if test "x$have_ecore_x" = "xyes" ; then
   else
     echo "  Ecore_X (Xlib backend).......: $have_ecore_x"
     echo "    Xcursor....................: $use_Xcursor"
+    echo "    Xkb........................: $use_xkb"
     echo "    Xprint.....................: $use_xprint"
     echo "    Xinerama...................: $use_xinerama"
     echo "    Xrandr.....................: $use_xrandr"
@@ -33762,10 +34098,13 @@ else
   echo "  Ecore_X......................: $have_ecore_x"
 fi
 echo "  Ecore_Win32..................: $have_ecore_win32"
-echo "  Ecore_SDL....................: $have_ecore_sdl"
 echo "  Ecore_Quartz.................: $have_ecore_quartz"
+echo "  Ecore_SDL....................: $have_ecore_sdl"
 echo "  Ecore_FB.....................: $have_ecore_fb"
-echo "  Ecore_DFB....................: $have_ecore_directfb"
+if test "x${have_ecore_fb}" = "xyes" ; then
+  echo "    Touchscreen................: $have_tslib"
+fi
+echo "  Ecore_DirectFB...............: $have_ecore_directfb"
 echo "  Ecore_WinCE..................: $have_ecore_wince"
 
 echo
@@ -33773,8 +34112,8 @@ echo " Ecore Evas:"
 echo
 
 echo "  Ecore_Evas...................: $have_ecore_evas"
-if test "x$have_ecore_evas" = "xyes" ; then
-  echo "    Software Memory Buffer.....: $have_ecore_evas_buffer"
+if test "x${have_ecore_evas}" = "xyes" ; then
+  echo "    Software Memory Buffer.....: $have_ecore_evas_software_buffer"
   echo "    Software X11...............: $have_ecore_evas_software_x11"
   echo "    XRender X11................: $have_ecore_evas_xrender_x11"
   echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
@@ -33783,9 +34122,9 @@ if test "x$have_ecore_evas" = "xyes" ; then
   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
   echo "    Direct3D...................: $have_ecore_evas_direct3d"
   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
-  echo "    Software SDL...............: $have_ecore_evas_sdl"
   echo "    Quartz.....................: $have_ecore_evas_quartz"
-  echo "    DirectFB...................: $have_ecore_evas_dfb"
+  echo "    Software SDL...............: $have_ecore_evas_software_sdl"
+  echo "    DirectFB...................: $have_ecore_evas_directfb"
   echo "    Software Framebuffer.......: $have_ecore_evas_fb"
   echo "    Software 16bit X11.........: $have_ecore_evas_software_16_x11"
   echo "    Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
@@ -33794,5 +34133,12 @@ fi
 echo
 echo " Documentation.................: ${build_doc}"
 echo
-echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE."
+echo " Compilation...................: make (gmake on some systems)"
+if test "x${build_doc}" = "xyes" ; then
+   echo " Build of the documentation....: make doc"
+fi
+echo
+echo " Installation..................: make install"
+echo
+echo "    prefix.....................: $prefix"
 echo
diff --git a/configure.ac b/configure.ac
index fc2e4c5..ed27758 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,265 +1,382 @@
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT(ecore, 0.9.9.050, enlightenment-devel at lists.sourceforge.net)
-AC_PREREQ(2.52)
-AC_CONFIG_SRCDIR(configure.ac)
+AC_INIT([ecore], 0.9.9.060, [enlightenment-devel at lists.sourceforge.net])
+AC_PREREQ([2.52])
+AC_CONFIG_SRCDIR([configure.ac])
+AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
 AC_ISC_POSIX
 
 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
 AM_CONFIG_HEADER(config.h)
-
-AC_PROG_CXX
-AC_C_BIGENDIAN
-AC_PROG_CC
-AM_PROG_CC_STDC
-m4_ifdef([AC_PROG_OBJC],
-         [AC_PROG_OBJC],
-         [AC_CHECK_TOOL([OBJC], [gcc])
-          AC_SUBST([OBJC])
-          AC_SUBST([OBJCFLAGS])
-         ])
-AC_HEADER_STDC
-AC_C_CONST
-AC_CHECK_SIZEOF(int, 4)
-AC_CHECK_SIZEOF(long, 4)
-AC_C___ATTRIBUTE__
-AC_HEADER_SYS_WAIT
+AC_GNU_SOURCE
 
 AC_LIBTOOL_WIN32_DLL
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 AC_PROG_LIBTOOL
-AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
 
 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
+release="ver-pre-01"
+ecore_config_release_info="-release $release"
+ecore_con_release_info="-release $release"
+ecore_directfb_release_info="-release $release"
+ecore_evas_release_info="-release $release"
+ecore_fb_release_info="-release $release"
+ecore_file_release_info="-release $release"
+ecore_imf_evas_release_info="-release $release"
+ecore_imf_release_info="-release $release"
+ecore_input_release_info="-release $release"
+ecore_ipc_release_info="-release $release"
+ecore_job_release_info="-release $release"
+ecore_quartz_release_info="-release $release"
+ecore_release_info="-release $release"
+ecore_sdl_release_info="-release $release"
+ecore_txt_release_info="-release $release"
+ecore_win32_release_info="-release $release"
+ecore_wince_release_info="-release $release"
+ecore_x_release_info="-release $release"
 AC_SUBST(version_info)
+AC_SUBST(ecore_config_release_info)
+AC_SUBST(ecore_con_release_info)
+AC_SUBST(ecore_directfb_release_info)
+AC_SUBST(ecore_evas_release_info)
+AC_SUBST(ecore_fb_release_info)
+AC_SUBST(ecore_file_release_info)
+AC_SUBST(ecore_imf_evas_release_info)
+AC_SUBST(ecore_imf_release_info)
+AC_SUBST(ecore_input_release_info)
+AC_SUBST(ecore_ipc_release_info)
+AC_SUBST(ecore_job_release_info)
+AC_SUBST(ecore_quartz_release_info)
+AC_SUBST(ecore_release_info)
+AC_SUBST(ecore_sdl_release_info)
+AC_SUBST(ecore_txt_release_info)
+AC_SUBST(ecore_win32_release_info)
+AC_SUBST(ecore_wince_release_info)
+AC_SUBST(ecore_x_release_info)
+
+AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
+
+
+### Default options with respect to host
+
+# dependencies and options
+want_curl="no"
+want_abstract_sockets="no"
+want_gnutls="no"
+want_openssl="no"
+want_cipher="no"
+want_signature="no"
+want_poll="yes"
+want_inotify="no"
+want_tslib="no"
+
+# core modules
+want_ecore_job="yes"
+want_ecore_txt="yes"
+want_ecore_con="no"
+want_ecore_ipc="no"
+want_ecore_file="yes"
+want_ecore_config="no"
+want_ecore_imf="no"
+want_ecore_input="yes"
+
+# graphic system modules
+want_evas_simple_x11="no"
+want_ecore_x_xcb="no"
+want_ecore_x="no"
+want_ecore_win32="no"
+want_ecore_quartz="no"
+want_ecore_sdl="no"
+want_ecore_fb="no"
+want_ecore_directfb="no"
+want_ecore_wince="no"
+
+# ecore_evas modules
+want_ecore_evas="yes"
+want_ecore_evas_software_buffer="yes"
+want_ecore_evas_software_x11="no"
+want_ecore_evas_xrender_x11="no"
+want_ecore_evas_opengl_x11="no"
+want_ecore_evas_software_16_x11="no"
+want_ecore_evas_software_xcb="no"
+want_ecore_evas_xrender_xcb="no"
+want_ecore_evas_software_ddraw="no"
+want_ecore_evas_direct3d="no"
+want_ecore_evas_opengl_glew="no"
+want_ecore_evas_software_16_ddraw="no"
+want_ecore_evas_quartz="no"
+want_ecore_evas_software_sdl="no"
+want_ecore_evas_directfb="no"
+want_ecore_evas_fb="no"
+want_ecore_evas_software_16_wince="no"
 
-# define pkg-config requirements for all our submodules.
-# only the trivial requirements go here.
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      want_ecore_wince="yes"
+      want_ecore_evas_software_16_wince="yes"
+      ;;
+   mingw*)
+      want_curl="yes"
+      want_ecore_imf="yes"
+      want_ecore_win32="yes"
+      want_ecore_evas_software_ddraw="yes"
+      want_ecore_evas_direct3d="yes"
+      want_ecore_evas_opengl_glew="yes"
+      want_ecore_evas_software_16_ddraw="auto"
+      want_ecore_evas_software_sdl="yes"
+      ;;
+   darwin*)
+      want_curl="yes"
+      want_gnutls="auto"
+      want_openssl="auto"
+      want_ecore_con="yes"
+      want_ecore_ipc="yes"
+      want_ecore_config="yes"
+      want_ecore_imf="yes"
+      want_ecore_quartz="yes"
+      want_ecore_evas_quartz="yes"
+      want_ecore_evas_software_sdl="yes"
+      ;;
+   *)
+      want_curl="yes"
+      want_abstract_sockets="yes"
+      want_gnutls="auto"
+      want_openssl="auto"
+      want_cipher="yes"
+      want_signature="yes"
+      want_inotify="yes"
+      want_tslib="yes"
+      want_ecore_con="yes"
+      want_ecore_ipc="yes"
+      want_ecore_config="yes"
+      want_ecore_imf="yes"
+      want_ecore_x="yes"
+      want_ecore_evas_software_x11="yes"
+      want_ecore_evas_xrender_x11="yes"
+      want_ecore_evas_opengl_x11="yes"
+      want_ecore_evas_software_16_x11="yes"
+      want_ecore_evas_software_xcb="yes"
+      want_ecore_evas_xrender_xcb="yes"
+      want_ecore_evas_software_sdl="yes"
+      want_ecore_evas_directfb="yes"
+      want_ecore_evas_fb="yes"
+      ;;
+esac
+
+requirements_ecore=""
 requirements_ecore_con=""
 requirements_ecore_config=""
 requirements_ecore_directfb=""
-requirements_ecore_evas="evas"
+requirements_ecore_evas=""
 requirements_ecore_fb=""
 requirements_ecore_file=""
+requirements_ecore_imf=""
+requirements_ecore_imf_evas=""
+requirements_ecore_input=""
 requirements_ecore_ipc=""
 requirements_ecore_job=""
+requirements_ecore_quartz=""
+requirements_ecore_sdl=""
 requirements_ecore_txt=""
 requirements_ecore_x=""
 requirements_ecore_win32=""
 requirements_ecore_wince=""
-requirements_ecore_sdl=""
-requirements_ecore_quartz=""
 
-dnl The first call to PKG_CHECK_MODULES is done conditionally,
-dnl so we should include this here:
-PKG_PROG_PKG_CONFIG
 
-PKG_CHECK_MODULES([EINA], [eina-0])
+### Additional options to configure
 
-dnl add windows requirements
-WIN32_CPPFLAGS=""
-WIN32_CFLAGS=""
-WIN32_LIBS=""
-lt_enable_auto_import=""
-case "$host_os" in
-	mingw* | cegcc*)
-		PKG_CHECK_MODULES([EVIL], [evil])
-		AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
-		dnl needed for correct definition of EAPI
-		AC_DEFINE(EFL_ECORE_BUILD, 1, [Define to mention that ecore is built.])
-		AC_DEFINE(EFL_ECORE_EVAS_BUILD, 1, [Define to mention that ecore evas is built.])
-		AC_DEFINE(EFL_ECORE_FILE_BUILD, 1, [Define to mention that ecore file is built.])
-		AC_DEFINE(EFL_ECORE_IMF_BUILD, 1, [Define to mention that ecore imf is built.])
-		AC_DEFINE(EFL_ECORE_JOB_BUILD, 1, [Define to mention that ecore job is built.])
-		AC_DEFINE(EFL_ECORE_SDL_BUILD, 1, [Define to mention that ecore SDL is built.])
-		AC_DEFINE(EFL_ECORE_QUARTZ_BUILD, 1, [Define to mention that ecore Quartz is built.])
-		AC_DEFINE(EFL_ECORE_TXT_BUILD, 1, [Define to mention that ecore txt is built.])
-		AC_DEFINE(EFL_ECORE_WIN32_BUILD, 1, [Define to mention that ecore Win32 is built.])
-		AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
-		AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
-		AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
-                if test "$host_os" = "cegcc" ; then
-			AC_DEFINE(EFL_ECORE_WINCE_BUILD, 1, [Define to mention that ecore WinCE is built.])
-			WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-			WIN32_CFLAGS="-mwin32"
-			WIN32_LIBS="-lws2"
-                else
-			if test "$host_os" = "mingw32ce" ; then
-				AC_DEFINE(EFL_ECORE_WINCE_BUILD, 1, [Define to mention that ecore WinCE is built.])
-				WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-				WIN32_LIBS="-lws2"
-			else
-				WIN32_LIBS="-lws2_32"
-			fi
-                fi
-                lt_enable_auto_import="-Wl,--enable-auto-import"
-                dlopen_libs=-ldl
-		;;
-	*)
-		AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h signal.h sys/resource.h])
-		AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
-		;;
-esac
-AC_SUBST(dlopen_libs)
-AC_SUBST(WIN32_CPPFLAGS)
-AC_SUBST(WIN32_CFLAGS)
-AC_SUBST(WIN32_LIBS)
-AC_SUBST(lt_enable_auto_import)
+# abstract sockets (ecore_con.c)
+AC_ARG_ENABLE([abstract-sockets],
+   [AC_HELP_STRING([--disable-abstract-sockets], [disable abstract sockets.])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_abstract_sockets="yes"
+    else
+       want_abstract_sockets="no"
+    fi
+   ],
+   [want_abstract_sockets="yes"])
 
-dnl check common functions and headers
-AC_CHECK_FUNCS(gettimeofday)
-AC_CHECK_FUNCS(strlcpy)
-AC_FUNC_ALLOCA
+if test "x${want_abstract_sockets}" = "xyes" ; then
+   AC_DEFINE([HAVE_ABSTRACT_SOCKETS], [1], [Have abstract sockets namespace])
+fi
 
-dnl gnutls
-want_gnutls="yes"
-have_gnutls="no"
-AC_ARG_ENABLE(gnutls,
-  AC_HELP_STRING(
-    [--disable-gnutls],
-    [disable gnutls support]
-  ),
-  [ want_gnutls=$enableval ]
-)
+# Simple X11 build/link
 
-if test "x$want_gnutls" = "xyes"; then
-    PKG_CHECK_MODULES([TLS2], [gnutls >= 2.0.0], [
-        AC_DEFINE(USE_GNUTLS2, 1, [Use GnuTLS 2 or higher])
-	have_gnutls2="yes"
-	], [
-	have_gnutls2="no"
-	])
-    PKG_CHECK_MODULES([TLS], [gnutls], [
-        AC_DEFINE(USE_GNUTLS, 1, [Use GnuTLS])
-        requirements_ecore_con="$requirements_ecore_con gnutls"
-        # no need to add it to req_ecore_ipc, since they
-        # depends on ecore_con anyway.
-        have_gnutls="yes"
-    ], [
-        have_gnutls="no"
-    ])
-fi
+AC_ARG_ENABLE(simple-x11,
+  AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
+  [want_evas_simple_x11=$enableval])
 
-dnl openssl
-want_openssl="yes"
-have_openssl="no"
-AC_ARG_ENABLE(openssl,
-  AC_HELP_STRING(
-    [--disable-openssl],
-    [disable openssl support]
-  ),
-  [ want_openssl=$enableval ]
-)
 
-if test "x$want_openssl" = "xyes"; then
-    PKG_CHECK_MODULES([SSL], [openssl], [
-        AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
-        requirements_ecore_con="$requirements_ecore_con openssl"
-        # no need to add it to req_ecore_ipc, since they
-        # depends on ecore_con anyway.
-        have_openssl="yes"
-    ], [
-        have_openssl="no"
-    ])
-fi
+### Checks for programs
 
-dnl curl
-want_curl="yes"
-have_curl="no"
-AC_ARG_ENABLE(curl,
-  AC_HELP_STRING(
-    [--disable-curl],
-    [disable curl support]
-  ),
-  [ want_curl=$enableval ]
-)
+m4_ifdef([AC_PROG_OBJC],
+   [
+    AC_PROG_OBJC
+    _AM_DEPENDENCIES(OBJC)
+   ],
+   [
+    AC_CHECK_TOOL([OBJC], [gcc])
+    AC_SUBST([OBJC])
+    AC_SUBST([OBJCFLAGS])
+   ])
+AC_PROG_CXX
+AC_PROG_CC
 
-if test "x$want_curl" = "xyes"; then
-  PKG_CHECK_MODULES(CURL, libcurl,
-    [
-      AC_DEFINE(HAVE_CURL, 1, [ Downloading with CURL ])
-      requirements_ecore_con="$requirements_ecore_con libcurl"
-      have_curl="yes"
-    ],
-    [ have_curl="no" ]
-  )
-fi
+have_gnu_objc=${ac_cv_objc_compiler_gnu}
 
-dnl abstract sockets
-want_abstract_sockets="yes"
-AC_ARG_ENABLE(abstract-sockets,
-  AC_HELP_STRING(
-    [--disable-abstract-sockets],
-    [disable abstract sockets.]
-  ),
-  [ want_abstract_sockets=$enableval ]
-)
-if test "x$want_abstract_sockets" = "xyes"; then
-  AC_DEFINE(HAVE_ABSTRACT_SOCKETS, 1, [Have abstract sockets namespace])
-fi
+# doxygen program for documentation building
 
-dnl ecore_job
-ECORE_CHECK_MODULE([Job], [yes])
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 
-dnl ecore_con
-ECORE_CHECK_MODULE([Con], [yes])
+# The first call to PKG_CHECK_MODULES is done conditionally,
+# so we should include this here:
+PKG_PROG_PKG_CONFIG
 
-dnl ecore_ipc
-ECORE_CHECK_MODULE([Ipc], [yes], [$have_ecore_con])
 
-dnl ecore_config
-PKG_CHECK_MODULES(EET, [eet >= 1.0.0],
-  [ have_eet="yes" ],
-  [ have_eet="no" ]
-)
-ecore_config_deps="no"
-if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" ; then
-  ecore_config_deps="yes"
-fi
-ECORE_CHECK_MODULE([Config], [yes], [$ecore_config_deps],
-  [requirements_ecore_config="$requirements_ecore_config ecore-ipc eet"])
+### Checks for libraries
+
+# Evil library for compilation on Windows
+
+case "$host_os" in
+   mingw* | cegcc*)
+      PKG_CHECK_MODULES([EVIL], [evil])
+      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}"
+      requirements_ecore_file="evil ${requirements_ecore_file}"
+      requirements_ecore_imf="evil ${requirements_ecore_imf}"
+      requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
+      requirements_ecore_job="evil ${requirements_ecore_job}"
+      requirements_ecore_txt="evil ${requirements_ecore_txt}"
+      EFL_ECORE_BUILD="-DEFL_ECORE_BUILD"
+      EFL_ECORE_JOB_BUILD="-DEFL_ECORE_JOB_BUILD"
+      EFL_ECORE_TXT_BUILD="-DEFL_ECORE_TXT_BUILD"
+      EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
+      EFL_ECORE_EVAS_BUILD="-DEFL_ECORE_EVAS_BUILD"
+      EFL_ECORE_IMF_BUILD="-DEFL_ECORE_IMF_BUILD"
+      EFL_ECORE_INPUT_BUILD="-DEFL_ECORE_INPUT_BUILD"
+      ;;
+esac
+
+have_win32=""
+have_wince=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      EFL_ECORE_WINCE_BUILD="-DEFL_ECORE_WINCE_BUILD"
+      requirements_ecore_wince="evil ${requirements_ecore_wince}"
+      have_wince="yes"
+      ;;
+   mingw*)
+      EFL_ECORE_WIN32_BUILD="-DEFL_ECORE_WIN32_BUILD"
+      EFL_ECORE_SDL_BUILD="-DEFL_ECORE_SDL_BUILD"
+      requirements_ecore_win32="evil ${requirements_ecore_win32}"
+      requirements_ecore_sdl="evil ${requirements_ecore_sdl}"
+      have_win32="yes"
+      ;;
+esac
+
+AC_SUBST(EFL_ECORE_BUILD)
+AC_SUBST(EFL_ECORE_JOB_BUILD)
+AC_SUBST(EFL_ECORE_TXT_BUILD)
+AC_SUBST(EFL_ECORE_FILE_BUILD)
+AC_SUBST(EFL_ECORE_EVAS_BUILD)
+AC_SUBST(EFL_ECORE_IMF_BUILD)
+AC_SUBST(EFL_ECORE_INPUT_BUILD)
+AC_SUBST(EFL_ECORE_WINCE_BUILD)
+AC_SUBST(EFL_ECORE_WIN32_BUILD)
+AC_SUBST(EFL_ECORE_SDL_BUILD)
+
+AM_CONDITIONAL(ECORE_HAVE_WINCE, test "x${have_wince}" = "xyes")
+AM_CONDITIONAL(ECORE_HAVE_WIN32, test "x${have_win32}" = "xyes")
+
+WIN32_LIBS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_LIBS="-lws2"
+      dlopen_libs="-ldl"
+      ;;
+   mingw*)
+      WIN32_LIBS="-lws2_32"
+      dlopen_libs="-ldl"
+      ;;
+   *)
+      AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
+      ;;
+esac
+AC_SUBST(WIN32_LIBS)
+AC_SUBST(dlopen_libs)
+
+# Eina library
+
+PKG_CHECK_MODULES(EINA, [eina-0])
+#FIXME check all the requirements when the eina move will be finished
+requirements_ecore="eina-0 ${requirements_ecore}"
+requirements_ecore_con="ecore eina-0 ${requirements_ecore_con}"
+requirements_ecore_config="ecore eina-0 ${requirements_ecore_config}"
+requirements_ecore_directfb="ecore eina-0 ${requirements_ecore_directfb}"
+requirements_ecore_evas="ecore eina-0 ${requirements_ecore_evas}"
+requirements_ecore_fb="ecore eina-0 ${requirements_ecore_fb}"
+requirements_ecore_file="ecore eina-0 ${requirements_ecore_file}"
+requirements_ecore_imf="ecore eina-0 ${requirements_ecore_imf}"
+requirements_ecore_imf_evas="ecore eina-0 ${requirements_ecore_imf_evas}"
+requirements_ecore_input="ecore eina-0 ${requirements_ecore_input}"
+requirements_ecore_ipc="ecore eina-0 ${requirements_ecore_ipc}"
+requirements_ecore_job="ecore eina-0 ${requirements_ecore_job}"
+requirements_ecore_quartz="ecore eina-0 ${requirements_ecore_quartz}"
+requirements_ecore_sdl="ecore eina-0 ${requirements_ecore_sdl}"
+requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
+requirements_ecore_win32="ecore eina-0 ${requirements_ecore_win32}"
+requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"
+
+
+# iconv library (ecore_txt)
 
-dnl ecore_txt
 iconv_cflags=""
 iconv_libs=""
 have_iconv="no"
-AC_ARG_WITH(iconv-link,
-  AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
-  [
+AC_ARG_WITH([iconv-link],
+   AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
+   [
     iconv_libs=$withval
     have_iconv="yes"
-  ]
+   ]
 )
 
-if test "x$have_iconv" = "xno" ; then
-  AC_CHECK_LIB(c, iconv,
-    [ have_iconv="yes" ]
-  )
+if test "x${have_iconv}" = "xno" ; then
+   AC_CHECK_LIB(c, iconv,
+      [have_iconv="yes"]   )
 
-  if test "x$have_iconv" != "xyes"; then
-    AC_CHECK_LIB(iconv, iconv,
-      [
-       iconv_libs="-liconv"
-       have_iconv="yes"
-      ]
-    )
-  fi
+   if ! test "x${have_iconv}" = "xyes" ; then
+      AC_CHECK_LIB(iconv, iconv,
+         [
+          iconv_libs="-liconv"
+          have_iconv="yes"
+         ])
+   fi
 
-  if test "x$have_iconv" != "xyes"; then
-    AC_CHECK_LIB(iconv_plug, iconv,
-      [
-       iconv_libs="-liconv -liconv_plug"
-       have_iconv="yes"
-      ]
-    )
-  fi
+   if test "x$have_iconv" != "xyes"; then
+      AC_CHECK_LIB(iconv_plug, iconv,
+         [
+          iconv_libs="-liconv -liconv_plug"
+          have_iconv="yes"
+         ])
+   fi
+
+# force the iconv library on mac os x
+   case "$host_os" in
+      darwin*)
+         iconv_libs="/usr/lib/libiconv.la"
+         have_iconv="yes"
+      ;;
+   esac
 fi
 AC_MSG_CHECKING(for explicit iconv link options)
 AC_MSG_RESULT($iconv_libs)
@@ -267,24 +384,54 @@ AC_MSG_RESULT($iconv_libs)
 AC_SUBST(iconv_cflags)
 AC_SUBST(iconv_libs)
 
-ECORE_CHECK_MODULE([Txt], [yes], [$have_iconv],
-  [ecore_txt_libs="$ecore_txt_libs $iconv_libs"])
 
-dnl ecore_evas
-PKG_CHECK_MODULES(EVAS, [evas >= 0.9.9],
-  [ have_evas="yes" ],
-  [ have_evas="no" ]
-)
+# SDL library (ecore_sdl)
 
-ECORE_CHECK_MODULE([Evas], [yes], [$have_evas])
+have_sdl="no"
+SDL_CONFIG="sdl-config"
+AC_ARG_WITH([sdl-config],
+   [AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified])],
+   [
+    SDL_CONFIG=$withval
+    AC_MSG_NOTICE([using ${SDL_CONFIG} for sdl-config])
+   ])
+
+AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
+
+if test -z "$SDL_CONFIG" ; then
+   SDL_CFLAGS=`$SDL_CONFIG --cflags`
+   SDL_LIBS=`$SDL_CONFIG --libs`
+   AC_SUBST(SDL_CFLAGS)
+   AC_SUBST(SDL_LIBS)
+   have_sdl="no"
+else
+   PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
+fi
 
-#######################################
-## Simple X11 build/link
+if test "x${have_sdl}" = "xyes" ; then
+   PKG_CHECK_EXISTS([sdl >= 1.3.0],
+      [AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])])
+fi
+
+
+# DirectFB library (ecore_directfb)
+
+PKG_CHECK_MODULES([DIRECTFB], [directfb >= 0.9.16],
+   [
+    have_directfb="yes"
+    requirements_ecore_directfb="evas ${requirements_ecore_directfb}"
+   ],
+   [have_directfb="no"])
 
-AC_ARG_ENABLE(simple-x11,
-  AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
-  [ want_evas_simple_x11=$enableval ]
-)
+
+# Eet library (ecore_config)
+
+PKG_CHECK_MODULES(EET, [eet >= 1.0.0],
+  [ have_eet="yes" ],
+  [ have_eet="no" ])
+
+
+# Xlib and XCB (ecore_x)
 
 have_x="no"
 have_ecore_x="no"
@@ -296,14 +443,11 @@ x_includes="";
 x_cflags="";
 x_libs="";
 
-dnl ecore_x{cb}
-
 AC_ARG_ENABLE(ecore-x-xcb,
-  AC_HELP_STRING(
-    [--enable-ecore-x-xcb],
-    [enable the ecore_x module with XCB backend. [[default=disabled]]]),
-  [ want_ecore_x_xcb=$enableval ],
-  [ want_ecore_x_xcb="no" ])
+   [AC_HELP_STRING([--enable-ecore-x-xcb],
+       [enable the ecore_x module with XCB backend. [[default=disabled]]])],
+   [want_ecore_x_xcb=$enableval],
+   [want_ecore_x_xcb="no"])
 
 AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built)
 AC_MSG_RESULT($want_ecore_x_xcb)
@@ -435,6 +579,7 @@ if ! test "x$have_ecore_x_xcb" = "xyes" ; then
     AC_SUBST(Xcursor_cflags)
     AC_SUBST(Xcursor_libs)
 
+    ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
     ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
     ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
     ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension])
@@ -460,462 +605,444 @@ AC_SUBST(x_cflags)
 AC_SUBST(x_includes)
 AC_SUBST(x_libs)
 
-ECORE_CHECK_MODULE([X], [yes], [$have_x],
-  [ecore_x_libs="$ecore_x_libs $x_libs"])
-
-dnl ecore_evas_x11
-have_ecore_evas_software_x11="no"
-have_ecore_evas_xrender_x11="no";
-have_ecore_evas_opengl_x11="no";
-have_ecore_evas_software_xcb="no"
-have_ecore_evas_xrender_xcb="no";
-have_ecore_evas_software_16_x11="no";
-if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
+AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
+AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
 
-  dnl ecore_evas_x Xlib
-  if test "x$have_ecore_x_xlib" = "xyes"; then
-    want_ecore_evas_software_x11="yes"
-    dnl disabling this will make things go haywire
-    #AC_ARG_ENABLE(ecore-evas-x11,
-    #  AC_HELP_STRING(
-    #    [--enable-ecore-evas-x11],
-    #    [enable X11 support in the ecore_evas module.]
-    #  ),
-    #  [ want_ecore_evas_x11=$enableval ]
-    #)
-    AC_MSG_CHECKING(whether ecore_evas Software Xlib support is to be built)
-    AC_MSG_RESULT($want_ecore_evas_software_x11)
-
-    if test "x$want_ecore_evas_software_x11" = "xyes"; then
-      PKG_CHECK_MODULES(EVAS_SOFTWARE_X11, evas-software-x11, [
-          AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_X11, 1, [Support for Software Xlib Engine in Ecore_Evas])
-          have_ecore_evas_software_x11="yes";
-      ], [
-          have_ecore_evas_software_x11="no";
-      ])
-    fi
 
-    dnl ecore_evas_opengl_x11
-    want_ecore_evas_opengl_x11=yes
-    AC_ARG_ENABLE(ecore-evas-opengl-x11,
-      AC_HELP_STRING(
-        [--enable-ecore-evas-opengl-x11],
-        [enable OpenGL Xlib support in the ecore_evas module.]
-      ),
-      [ want_ecore_evas_opengl_x11=$enableval ]
-    )
-    AC_MSG_CHECKING(whether ecore_evas OpenGL Xlib support is to be built)
-    AC_MSG_RESULT($want_ecore_evas_opengl_x11)
+# Evas library (ecore_evas and ecore_imf_evas)
 
-    if test "x$want_ecore_evas_opengl_x11" = "xyes"; then
-      PKG_CHECK_MODULES(EVAS_OPENGL_X11, evas-opengl-x11, [
-          AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_X11, 1, [Support for OpenGL Xlib Engine in Ecore_Evas])
-          have_ecore_evas_opengl_x11="yes";
-      ], [
-          have_ecore_evas_opengl_x11="no"
-      ])
-    fi
+PKG_CHECK_MODULES([EVAS], [evas >= 0.9.9],
+   [
+    have_evas="yes"
+    requirements_ecore_evas="evas ${requirements_ecore_evas}"
+   ],
+   [have_evas="no"])
 
-    dnl ecore_evas_xrender_x11
-    want_ecore_evas_xrender_x11="yes"
-    AC_ARG_ENABLE(ecore-evas-xrender-x11,
-      AC_HELP_STRING(
-        [--disable-ecore-evas-xrender-x11],
-        [disable XRender Xlib support in the ecore_evas module. [[default=enabled]]]
-      ),
-      [ want_ecore_evas_xrender_x11=$enableval ]
-    )
 
-    AC_MSG_CHECKING(whether ecore_evas XRender Xlib support is to be built)
-    AC_MSG_RESULT($want_ecore_evas_xrender_x11)
+### Checks for header files
 
-    if test "x$want_ecore_evas_xrender_x11" = "xyes"; then
-      PKG_CHECK_MODULES(EVAS_XRENDER_X11, evas-xrender-x11, [
-          AC_DEFINE(BUILD_ECORE_EVAS_XRENDER_X11, 1, [Support for XRender Xlib Engine in Ecore_Evas])
-          have_ecore_evas_xrender_x11="yes"
-      ], [
-          have_ecore_evas_xrender_x11="no"
-      ])
-    fi
+AC_HEADER_SYS_WAIT
 
-    dnl ecore_evas_software_16_x11
-    want_ecore_evas_software_16_x11=no
-    AC_ARG_ENABLE(ecore-evas-software-16-x11,
-      AC_HELP_STRING(
-        [--enable-ecore-evas-software-16-x11],
-        [enable 16bpp optimized mode support in the ecore_evas module. [[default=disabled]]]
-      ),
-      [ want_ecore_evas_software_16_x11=$enableval ]
-    )
+case "$host_os" in
+   mingw* | cegcc*)
+      AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
+      AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
+      AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
+      ;;
+   *)
+      AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h signal.h sys/resource.h])
+      ;;
+esac
 
-    AC_MSG_CHECKING(whether ecore_evas x11-16 support is to be built)
-    AC_MSG_RESULT($want_ecore_evas_software_16_x11)
+# Framebuffer (ecore_fb)
+have_fb="no"
+AC_CHECK_HEADER([linux/fb.h],
+   [AC_CHECK_HEADER([linux/input.h], [have_fb="yes"])])
 
-    if test "x$want_ecore_evas_software_16_x11" = "xyes"; then
-      PKG_CHECK_MODULES(EVAS_SOFTWARE_16_X11, evas-software-16-x11,
-        [
-          AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_X11, 1, [Support for X11 16bpp Engine in Ecore_Evas])
-          have_ecore_evas_software_16_x11="yes";
-        ]
-      )
-    fi
-  else
-    want_ecore_evas_software_xcb="yes"
-    ECORE_EVAS_CHECK_MODULE([software-xcb],
-      [$want_ecore_evas_software_xcb],
-      [Software XCB],
-      $have_ecore_x_xcb)
-
-    want_ecore_evas_xrender_xcb="auto"
-    ECORE_EVAS_CHECK_MODULE([xrender-xcb],
-      [$want_ecore_evas_xrender_xcb],
-      [XRender XCB],
-      $have_ecore_x_xcb)
-  fi
+# Quartz header files (ecore_quartz)
 
-  if test "x$have_ecore_evas_software_x11" = "xyes" -o \
-	  "x$have_ecore_evas_opengl_x11" = "xyes" -o \
-	  "x$have_ecore_evas_xrender_x11" = "xyes" -o \
-	  "x$have_ecore_evas_software_16_x11" = "xyes" -o \
-          "x$have_ecore_evas_software_xcb" = "xyes" -o \
-	  "x$have_ecore_evas_xrender_xcb" = "xyes"; then
-    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
-    requirements_ecore_evas="$requirements_ecore_evas ecore-x"
-  fi
+quartz_ldflags="";
+have_quartz="no"
 
+if test "x${have_gnu_objc}" = "xyes" ; then
+   AC_LANG_PUSH([Objective C])
+   AC_CHECK_HEADER([Cocoa/Cocoa.h],
+      [
+       have_quartz="yes"
+       quartz_ldflags="-framework Cocoa"
+      ],
+      [have_quartz="no"])
+   AC_LANG_POP([Objective C])
 fi
 
-dnl ecore_win32
+AC_SUBST(quartz_ldflags)
 
-ECORE_CHECK_MODULE([Win32], [no], [yes],
-  [ecore_win32_libs="-lole32 -lgdi32"])
-AC_SUBST(ecore_win32_libs)
+### Checks for types
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
 
-want_ecore_evas_software_ddraw="yes"
-ECORE_EVAS_CHECK_MODULE([software-ddraw],
-  [$want_ecore_evas_software_ddraw],
-  [Software DirectDraw],
-  $have_ecore_win32)
 
-want_ecore_evas_direct3d="yes"
-ECORE_EVAS_CHECK_MODULE([direct3d],
-  [$want_ecore_evas_direct3d],
-  [Direct3d],
-  $have_ecore_win32)
+### Checks for structures
 
-want_ecore_evas_opengl_glew="yes"
-ECORE_EVAS_CHECK_MODULE([opengl-glew],
-  [$want_ecore_evas_opengl_glew],
-  [Glew OpenGL],
-  $have_ecore_win32)
 
-want_ecore_evas_software_16_ddraw="auto"
-ECORE_EVAS_CHECK_MODULE([software-16-ddraw],
-  [$want_ecore_evas_software_16_ddraw],
-  [16 bpp Software DirectDraw],
-  $have_ecore_win32)
-
-if test "x$have_ecore_evas_software_ddraw" = "xyes" -o \
-        "x$have_ecore_evas_direct3d" = "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="$requirements_ecore_evas ecore-win32"
-fi
+### Checks for compiler characteristics
+AM_PROG_CC_STDC
+AC_C_CONST
+AC_C_BIGENDIAN
+AC_HEADER_STDC
+AC_C___ATTRIBUTE__
+
+WIN32_CPPFLAGS=""
+WIN32_CFLAGS=""
+case "$host_os" in
+   mingw32ce*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      WIN32_CFLAGS="-mwin32"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+AC_SUBST(WIN32_CPPFLAGS)
+AC_SUBST(WIN32_CFLAGS)
 
-dnl ecore_wince
 
-ECORE_CHECK_MODULE([WinCE], [no])
+### Checks for linker characteristics
+
+# use --enable-auto-import on Windows
+
+lt_enable_auto_import=""
+case "$host_os" in
+   mingw* | cegcc*)
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+      ;;
+esac
+AC_SUBST(lt_enable_auto_import)
 
-want_ecore_evas_software_16_wince="yes"
-ECORE_EVAS_CHECK_MODULE([software-16-wince],
-  [$want_ecore_evas_software_16_wince],
-  [16 bpp Software Windows CE],
-  $have_ecore_wince)
 
-if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
-  requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
+### Checks for library functions
+AC_FUNC_ALLOCA
+AC_CHECK_FUNCS(gettimeofday strlcpy)
+
+have_atfile_source=auto
+AC_ARG_ENABLE(atfile-source,
+        AC_HELP_STRING([--disable-atfile-source],
+                       [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@]),
+        [have_atfile_source=$enableval], [have_atfile_source=auto])
+
+if test "x$have_atfile_source" != "xno"; then
+        AC_CHECK_FUNCS(mkdirat,
+                [
+                have_atfile_source=yes
+                AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
+                ],
+                [
+                if test "x$have_atfile_source" = "xyes"; then
+                        AC_MSG_ERROR([required atfile-source but no mkdirat()])
+                fi
+                have_atfile_source=no
+                ])
 fi
 
-dnl ecore_dfb
-PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
-  [ have_directfb="yes" ],
-  [ have_directfb="no" ]
-)
+### Ecore modules
 
-ECORE_CHECK_MODULE([DirectFB], [no], [$have_directfb],
-  [requirements_ecore_directfb="directfb"])
-
-dnl ecore_evas_dfb
-have_ecore_evas_dfb="no"
-if test "x$have_ecore_directfb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_dfb="yes"
-  AC_MSG_CHECKING(whether ecore_evas DirectFB support is to be built)
-  AC_ARG_ENABLE(ecore-evas-dfb,
-    AC_HELP_STRING([--disable-ecore-evas-dfb], [disable DirectFB in the ecore_evas module]),
-    [ want_ecore_evas_dfb=$enableval ]
-  )
-  AC_MSG_RESULT($want_ecore_evas_dfb)
+## Core modules
+
+# ecore_job
+ECORE_CHECK_MODULE([Job], [${want_ecore_job}])
+
+# ecore_txt
+ECORE_CHECK_MODULE([Txt], [${want_ecore_txt}], [$have_iconv],
+   [ecore_txt_libs="$ecore_txt_libs $iconv_libs"])
 
-  if test "x$want_ecore_evas_dfb" = "xyes" -a "x$have_ecore_directfb" = "xyes" ; then
-    save_CFLAGS="$CFLAGS"
-    CFLAGS="$CFLAGS $DIRECTFB_CFLAGS"
-    PKG_CHECK_MODULES(EVAS_DIRECTFB, evas-directfb,
+# ecore_con
+ECORE_CHECK_MODULE([Con], [${want_ecore_con}])
+
+have_curl="no"
+have_gnutls="no"
+have_openssl="no"
+if test "x${have_ecore_con}" = "xyes" ; then
+   requirements_ecore_con="ecore ${requirements_ecore_con}"
+
+   ECORE_CHECK_CURL([${want_curl}],
       [
-        AC_DEFINE(BUILD_ECORE_EVAS_DIRECTFB, 1, [Support for DirectFB in Ecore_Evas])
-        have_ecore_evas_dfb="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-directfb"
-      ]
-    )
-    CFLAGS="$save_CFLAGS"
-  fi
+       requirements_ecore_con="libcurl ${requirements_ecore_con}"
+       have_curl="yes"
+      ],
+      [have_curl="no"])
+
+   ECORE_CHECK_GNUTLS([${want_gnutls}],
+      [have_gnutls="yes"],
+      [have_gnutls="no"])
+
+   ECORE_CHECK_OPENSSL([${want_openssl}],
+      [have_openssl="yes"],
+      [have_openssl="no"])
+
+   if test "x${have_gnutls}" = "xyes" ; then
+      requirements_ecore_con="gnutls ${requirements_ecore_con}"
+      # no need to add it to req_ecore_ipc, since they
+      # depends on ecore_con anyway.
+   else
+      if test "x${have_openssl}" = "xyes" ; then
+         requirements_ecore_con="openssl ${requirements_ecore_con}"
+         # no need to add it to req_ecore_ipc, since they
+         # depends on ecore_con anyway.
+      fi
+   fi
 fi
 
-dnl ecore_fb
-have_fb="no"
-AC_CHECK_HEADER(linux/fb.h,
-  [ AC_CHECK_HEADER(linux/input.h, [ have_fb="yes" ]) ]
-)
-ECORE_CHECK_MODULE([FB], [no], [$have_fb])
+# ecore_ipc
+ECORE_CHECK_MODULE([Ipc], [${want_ecore_ipc}], [$have_ecore_con],
+  [requirements_ecore_ipc="ecore-con ${requirements_ecore_ipc}"])
 
-tslib_libs=""
-if test "x$have_ecore_fb" = "xyes" ; then
-AC_CHECK_HEADER(tslib.h,
-  [
-   AC_CHECK_LIB(ts, ts_open, tslib_libs="-lts", tslib_libs="-ltslib")
-   AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
-  ]
-)
+# ecore_file
+ECORE_CHECK_MODULE([File], [${want_ecore_file}])
+
+have_poll="no"
+have_inotify="no"
+if test "x${have_ecore_file}" = "xyes" ; then
+   ECORE_CHECK_POLL([${want_poll}], [have_poll="yes"], [have_poll="no"])
+   ECORE_CHECK_INOTIFY([${want_inotify}], [have_inotify="yes"], [have_inotify="no"])
+
+   if test "x${have_ecore_con}" = "xyes" ; then
+      requirements_ecore_file="${requirements_ecore_con} ${requirements_ecore_file}"
+   fi
 fi
-AC_SUBST(tslib_libs)
-
-dnl ecore_evas_fb
-have_ecore_evas_fb="no";
-if test "x$have_ecore_fb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  want_ecore_evas_fb="yes";
-  AC_MSG_CHECKING(whether ecore_evas fb support is to be built)
-  AC_ARG_ENABLE(ecore-evas-fb,
-    AC_HELP_STRING([--disable-ecore-evas-fb], [disable fb in the ecore_evas module]),
-    [ want_ecore_evas_fb=$enableval ]
-  )
-  AC_MSG_RESULT($want_ecore_evas_fb)
 
-  if test "x$want_ecore_evas_fb" = "xyes"; then
-    PKG_CHECK_MODULES(EVAS_FB, evas-fb,
-      [
-        AC_DEFINE(BUILD_ECORE_EVAS_FB, 1, [Support for Linux FB in Ecore_Evas])
-        have_ecore_evas_fb="yes"
-        requirements_ecore_evas="$requirements_ecore_evas ecore-fb"
-      ]
-    )
-  fi
+# ecore_config
+ecore_config_deps="no"
+if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" ; then
+  ecore_config_deps="yes"
 fi
 
-dnl ecore_sdl
-AC_ARG_WITH(sdl-config, AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified]), [
-    SDL_CONFIG=$withval;
-    echo "using "$SDL_CONFIG" for sdl-config";
-], [
-    if test -z "$SDL_CONFIG"; then
-        AC_PATH_PROG(SDL_CONFIG, "sdl-config", "", $PATH)
-    fi
-])
-if test -z "$SDL_CONFIG" ; then SDL_CONFIG="sdl-config"; fi
+ECORE_CHECK_MODULE([Config], [${want_ecore_config}], [$ecore_config_deps],
+  [requirements_ecore_config="ecore-ipc eet ecore ${requirements_ecore_config}"])
 
-sdl_cflags="";
-sdl_libs="";
-have_sdl="no"
-AC_CHECK_HEADER(SDL/SDL.h, [ have_sdl="yes" ], [ have_sdl="no" ])
-
-ECORE_CHECK_MODULE([SDL], [no], [$have_sdl])
-
-dnl ecore_evas_sdl
-have_ecore_evas_sdl="no";
-if test "x$have_ecore_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-    want_ecore_evas_sdl="yes";
-    AC_MSG_CHECKING([whether ecore_evas SDL support is to be built])
-    AC_ARG_ENABLE(ecore-evas-sdl,
-        AC_HELP_STRING([--disable-ecore-evas-sdl], [disable SDL in the ecore_evas module]),
-        [ want_ecore_evas_sdl=$enableval ]
-    )
-    AC_MSG_RESULT($want_ecore_evas_sdl)
-
-    if test "x$want_ecore_evas_sdl" = "xyes"; then
-        save_CFLAGS=$CFLAGS
-        SDL_CFLAGS=`$SDL_CONFIG --cflags`
-        SDL_LIBS=`$SDL_CONFIG --libs`
-        CFLAGS="$CFLAGS $SDL_CFLAGS"
-        AC_SUBST(SDL_CFLAGS)
-        AC_SUBST(SDL_LIBS)
-
-        PKG_CHECK_MODULES(EVAS_SOFTWARE_SDL, evas-software-sdl, [
-            AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL in Ecore_Evas])
-            have_ecore_evas_sdl="yes"
-            requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
-            PKG_CHECK_MODULES(SDL, sdl >= 1.3.0, [
-                AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])
-            ], [
-                dummy="no"
-            ])
-        ], [
-            have_ecore_evas_sdl="no"
-        ])
-    CFLAGS=$save_CFLAGS
-  fi
-fi
+# ecore_imf
 
-dnl ecore_quartz
+ECORE_CHECK_MODULE([IMF], [${want_ecore_imf}])
 
-quartz_cflags="";
-quartz_libs="";
-have_quartz="no"
-AC_CHECK_HEADER(Cocoa/Cocoa.h, 
-               [ have_quartz="yes"; 
-	         quartz_cflags="-framework Cocoa"; 
-		 quartz_libs="-framework Cocoa" ], 
-	       [ have_quartz="no" ])
-
-ECORE_CHECK_MODULE([QUARTZ], [no], [$have_quartz])
-
-dnl ecore_evas_quartz
-have_ecore_evas_quartz="no";
-if test "x$have_ecore_quartz" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-    want_ecore_evas_quartz="yes";
-    AC_MSG_CHECKING([whether ecore_evas Quartz support is to be built])
-    AC_ARG_ENABLE(ecore-evas-quartz,
-        AC_HELP_STRING([--disable-ecore-evas-quartz], [disable Quartz in the ecore_evas module]),
-        [ want_ecore_evas_quartz=$enableval ]
-    )
-    AC_MSG_RESULT($want_ecore_evas_quartz)
-
-    if test "x$want_ecore_evas_quartz" = "xyes"; then
-        save_CFLAGS=$CFLAGS
-        QUARTZ_CFLAGS=`-framework Cocoa`
-        QUARTZ_LIBS=`-framework Cocoa`
-        CFLAGS="$CFLAGS $QUARTZ_CFLAGS"
-        AC_SUBST(QUARTZ_CFLAGS)
-        AC_SUBST(QUARTZ_LIBS)
-
-        PKG_CHECK_MODULES(EVAS_QUARTZ, evas-quartz, [
-            AC_DEFINE(BUILD_ECORE_EVAS_QUARTZ, 1, [Support for Quartz in Ecore_Evas])
-            have_ecore_evas_quartz="yes"
-            requirements_ecore_evas="$requirements_ecore_evas ecore-quartz"
-        ], [
-            have_ecore_evas_quartz="no"
-        ])
-    CFLAGS=$save_CFLAGS
-  fi
+# ecore_imf_evas
+
+ecore_imf_evas_deps="no"
+if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
+   ecore_imf_evas_deps="yes"
 fi
 
-dnl ecore_evas_buffer
-want_ecore_evas_buffer="yes";
-have_ecore_evas_buffer="no";
-AC_MSG_CHECKING(whether ecore_evas buffer support is to be built)
-AC_ARG_ENABLE(ecore-evas-buffer,
-  AC_HELP_STRING([--disable-ecore-evas-buffer], [disable buffer in the ecore_evas module]),
-  [ want_ecore_evas_buffer=$enableval ]
-)
-AC_MSG_RESULT($want_ecore_evas_buffer)
+ECORE_CHECK_MODULE([IMF_EVAS], [${want_ecore_imf}], [${ecore_imf_evas_deps}],
+  [requirements_ecore_imf_evas="ecore-imf evas ${requirements_ecore_imf_evas}"])
 
-if test "x$want_ecore_evas_buffer" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
-  PKG_CHECK_MODULES(EVAS_SOFTWARE_BUFFER, evas-software-buffer,
-    [
-      AC_DEFINE(BUILD_ECORE_EVAS_BUFFER, 1, [Support for Buffers in Ecore_Evas])
-      have_ecore_evas_buffer="yes"
-    ], [
-      have_ecore_evas_buffer="no"
+# ecore_input
+ECORE_CHECK_MODULE([Input], [${want_ecore_input}], [${have_evas}],
+  [requirements_ecore_input="evas ${requirements_ecore_input}"])
+
+## Graphic systems
+
+# ecore_x{cb}
+
+ecore_x_deps="no"
+if test "x${have_x}" = "xyes" -a \
+        "x${have_ecore_input}" = "xyes" -a \
+        "x${have_ecore_txt}" = "xyes" ; then
+   ecore_x_deps="yes"
+fi
+
+ECORE_CHECK_MODULE([X], [${want_ecore_x}], [${ecore_x_deps}],
+  [
+   ecore_x_libs="$ecore_x_libs $x_libs"
+   requirements_ecore_x="ecore-input ecore-txt ${requirements_ecore_x}"
   ])
+
+# ecore_win32
+
+ECORE_CHECK_MODULE([Win32], [${want_ecore_win32}], [yes],
+  [ecore_win32_libs="-lole32 -lgdi32"])
+AC_SUBST(ecore_win32_libs)
+
+# ecore_quartz
+
+ECORE_CHECK_MODULE([QUARTZ], [${want_ecore_quartz}], [$have_quartz])
+
+# ecore_sdl
+
+ecore_sdl_deps="no"
+if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
+   ecore_sdl_deps="yes"
 fi
 
-dnl ecore_file
-ECORE_CHECK_MODULE([File], [yes])
-have_inotify="no"
-have_poll="no"
-if test "x$have_ecore_file" = "xyes"; then
-
-  dnl We need to check if the right inotify version is accessible
-  want_inotify="yes"
-  AC_MSG_CHECKING(whether inotify is to be used for filemonitoring)
-  AC_ARG_ENABLE(inotify,
-    AC_HELP_STRING([--disable-inotify], [disable inotify in the ecore_file module]),
-    [ want_inotify=$enableval ]
-  )
-  AC_MSG_RESULT($want_inotify)
-
-  dnl It's hard to find a good test on how to check the correct
-  dnl inotify version. They changed the headers a lot.
-  dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls
-  dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h
-  dnl so with this check you need a very new kernel and kernel-headers!
-  if test "x$want_inotify" = "xyes"; then
-    AC_CHECK_LIB(c, inotify_init, [
-        AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
-        AC_DEFINE(HAVE_SYS_INOTIFY, 1, [ File monitoring with Inotify - sys/inotify.h ])
-	have_inotify="yes"
-      ],
-      [
-        AC_TRY_COMPILE(
-          [
-            #include <asm/unistd.h>
-            #include <linux/inotify.h>
-          ],
-          [ int a = __NR_inotify_init; int b = IN_MOVE_SELF; ],
-          [
-            AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
-	    have_inotify="yes"
-          ], [
-            have_inotify="no"
-          ]
-	)
-      ]
-    )
-  fi
+ECORE_CHECK_MODULE([SDL], [${want_ecore_sdl}], [${ecore_sdl_deps}],
+  [requirements_ecore_sdl="ecore-input ${requirements_ecore_sdl}"])
 
-  want_poll="yes"
-  AC_MSG_CHECKING(whether polling is to be used for filemonitoring)
-  AC_ARG_ENABLE(poll,
-    AC_HELP_STRING([--disable-poll], [disable poll in the ecore_file module]),
-    [ want_poll=$enableval ]
-  )
-  AC_MSG_RESULT($want_poll)
+# ecore_fb
+ECORE_CHECK_MODULE([FB], [${want_ecore_fb}], [$have_fb])
 
-  if test "x$want_poll" = "xyes"; then
-    AC_DEFINE(HAVE_POLL, 1, [ File monitoring with polling ])
-    have_poll="yes"
-  fi
-  requirements_ecore_file="$requirements_ecore_file $requirements_ecore_con"
+if test "x${have_ecore_fb}" = "xyes" ; then
+   ECORE_CHECK_TSLIB([${want_tslib}], [have_tslib="no"], [have_tslib="no"])
 fi
 
-dnl ecore_imf
-ECORE_CHECK_MODULE([IMF], [yes])
+# ecore_directfb
+
+ECORE_CHECK_MODULE([DirectFB], [${want_ecore_directfb}], [${have_directfb}],
+  [requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"])
+
+# ecore_wince
+
+ECORE_CHECK_MODULE([WinCE], [${want_ecore_wince}])
+
+## Ecore Evas
 
-try_ecore_imf_evas=no
-if test "x$have_ecore_imf" = "xyes" -a "x$have_evas" = "xyes"; then
-  try_ecore_imf_evas=yes
+# ecore_evas
+
+ECORE_CHECK_MODULE([Evas], [${want_ecore_evas}], [$have_ecore_input],
+  [requirements_ecore_evas="ecore-input ${requirements_ecore_evas}"])
+
+# ecore_evas_buffer
+
+ECORE_EVAS_CHECK_MODULE([software-buffer],
+   [${want_ecore_evas_software_buffer}],
+   [Software Buffer],
+   [yes])
+
+# ecore_evas_x11
+
+# ecore_evas_software_x11
+
+ecore_evas_xlib_deps="no"
+if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
+   ecore_evas_xlib_deps="yes"
 fi
 
-ECORE_CHECK_MODULE([IMF_EVAS], [yes], [$try_ecore_imf_evas])
+ECORE_EVAS_CHECK_MODULE([software-x11],
+   [${want_ecore_evas_software_x11}],
+   [Software Xlib],
+   [${ecore_evas_xlib_deps}])
 
-EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+# ecore_evas_xrender_x11
+
+ECORE_EVAS_CHECK_MODULE([xrender-x11],
+   [${want_ecore_evas_xrender_x11}],
+   [XRender Xlib],
+   [${ecore_evas_xlib_deps}])
+
+# ecore_evas_opengl_x11
+
+ECORE_EVAS_CHECK_MODULE([opengl-x11],
+   [${want_ecore_evas_opengl_x11}],
+   [OpenGL Xlib],
+   [${ecore_evas_xlib_deps}])
+
+# ecore_evas_software_x11 16 bits
+
+ECORE_EVAS_CHECK_MODULE([software-16-x11],
+   [${want_ecore_evas_software_16_x11}],
+   [Software Xlib 16 bits],
+   [${ecore_evas_xlib_deps}])
+
+# ecore_evas_software_xcb
+
+ecore_evas_xcb_deps="no"
+if test "x${have_ecore_x}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
+   ecore_evas_xcb_deps="yes"
+fi
+
+ECORE_EVAS_CHECK_MODULE([software-xcb],
+   [${want_ecore_evas_software_xcb}],
+   [Software XCB],
+   [${ecore_evas_xcb_deps}])
+
+# ecore_evas_xrender_xcb
+
+ECORE_EVAS_CHECK_MODULE([xrender-xcb],
+   [${want_ecore_evas_xrender_xcb}],
+   [XRender XCB],
+   [${ecore_evas_xcb_deps}])
+
+if test "x$have_ecore_evas_software_x11" = "xyes" -o \
+        "x$have_ecore_evas_xrender_x11" = "xyes" -o \
+        "x$have_ecore_evas_opengl_x11" = "xyes" -o \
+        "x$have_ecore_evas_software_16_x11" = "xyes" -o \
+        "x$have_ecore_evas_software_xcb" = "xyes" -o \
+        "x$have_ecore_evas_xrender_xcb" = "xyes"; then
+   AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
+   requirements_ecore_evas="ecore-x ${requirements_ecore_evas}"
+fi
+
+# ecore_evas_win32
+
+ECORE_EVAS_CHECK_MODULE([software-ddraw],
+   [${want_ecore_evas_software_ddraw}],
+   [Software DirectDraw],
+   [${have_ecore_win32}])
+
+ECORE_EVAS_CHECK_MODULE([direct3d],
+   [${want_ecore_evas_direct3d}],
+   [Direct3d],
+   [${have_ecore_win32}])
+
+ECORE_EVAS_CHECK_MODULE([opengl-glew],
+   [${want_ecore_evas_opengl_glew}],
+   [Glew OpenGL],
+   [${have_ecore_win32}])
+
+ECORE_EVAS_CHECK_MODULE([software-16-ddraw],
+   [${want_ecore_evas_software_16_ddraw}],
+   [16 bpp Software DirectDraw],
+   [${have_ecore_win32}])
+
+if test "x${have_ecore_evas_software_ddraw}" = "xyes" -o \
+        "x${have_ecore_evas_direct3d}" = "xyes" -o \
+        "x${have_ecore_evas_opengl_glew}" = "xyes" -o \
+        "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then
+   AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
+   requirements_ecore_evas="ecore-win32 ${requirements_ecore_evas}"
+fi
+
+# ecore_evas_quartz
+
+ECORE_EVAS_CHECK_MODULE([quartz],
+   [${want_ecore_evas_quartz}],
+   [Quartz],
+   [${have_ecore_quartz}],
+   [requirements_ecore_evas="ecore-quartz ${requirements_ecore_evas}"])
 
-dnl requirements
+# ecore_evas_software_sdl
+
+ECORE_EVAS_CHECK_MODULE([software-sdl],
+   [${want_ecore_evas_software_sdl}],
+   [Software SDL],
+   [${have_ecore_sdl}],
+   [requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"])
+
+# ecore_evas_directfb
+
+ECORE_EVAS_CHECK_MODULE([directfb],
+   [${want_ecore_evas_directfb}],
+   [DirectFB],
+   [${have_ecore_directfb}],
+   [requirements_ecore_evas="ecore-directfb ${requirements_ecore_evas}"])
+
+# ecore_evas_fb
+
+ECORE_EVAS_CHECK_MODULE([fb],
+   [${want_ecore_evas_fb}],
+   [Linux Framebuffer],
+   [${have_ecore_fb}],
+   [requirements_ecore_evas="ecore-fb ${requirements_ecore_evas}"])
+
+# ecore_evas_wince
+
+ECORE_EVAS_CHECK_MODULE([software-16-wince],
+   [${want_ecore_evas_software_16_wince}],
+   [16 bpp Software Windows CE],
+   [${have_ecore_wince}],
+   [requirements_ecore_evas="ecore-wince ${requirements_ecore_evas}"])
+
+
+
+### requirements
+
+AC_SUBST(requirements_ecore)
 AC_SUBST(requirements_ecore_con)
 AC_SUBST(requirements_ecore_config)
 AC_SUBST(requirements_ecore_directfb)
 AC_SUBST(requirements_ecore_evas)
 AC_SUBST(requirements_ecore_fb)
 AC_SUBST(requirements_ecore_file)
+AC_SUBST(requirements_ecore_imf)
+AC_SUBST(requirements_ecore_imf_evas)
+AC_SUBST(requirements_ecore_input)
 AC_SUBST(requirements_ecore_ipc)
 AC_SUBST(requirements_ecore_job)
+AC_SUBST(requirements_ecore_quartz)
+AC_SUBST(requirements_ecore_sdl)
 AC_SUBST(requirements_ecore_txt)
 AC_SUBST(requirements_ecore_x)
-AC_SUBST(requirements_ecore_sdl)
-AC_SUBST(requirements_ecore_quartz)
-
-# set up conditionals
-AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes)
-AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
-AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
+AC_SUBST(requirements_ecore_win32)
+AC_SUBST(requirements_ecore_wince)
 
 AC_OUTPUT([
 Makefile
@@ -931,6 +1058,7 @@ ecore-ipc.pc
 ecore-job.pc
 ecore-txt.pc
 ecore-x.pc
+ecore-input.pc
 ecore-win32.pc
 ecore-sdl.pc
 ecore-quartz.pc
@@ -953,6 +1081,7 @@ src/lib/ecore_evas/Makefile
 src/lib/ecore_con/Makefile
 src/lib/ecore_imf/Makefile
 src/lib/ecore_imf_evas/Makefile
+src/lib/ecore_input/Makefile
 src/lib/ecore_ipc/Makefile
 src/lib/ecore_txt/Makefile
 src/lib/ecore_config/Makefile
@@ -971,14 +1100,9 @@ echo "Optional Modules:"
 echo
 echo " Core:"
 echo
+echo "  Ecore........................: always"
 echo "  Ecore_Job....................: $have_ecore_job"
 echo "  Ecore_Txt....................: $have_ecore_txt"
-echo "  Ecore_File...................: $have_ecore_file"
-if test "x$have_ecore_file" = "xyes" ; then
-  echo "    Inotify....................: $have_inotify"
-  echo "    Poll.......................: $have_poll"
-  echo "    CURL.......................: $have_curl"
-fi
 echo "  Ecore_Con....................: $have_ecore_con"
 if test "x$have_ecore_con" = "xyes" ; then
   echo -n "    OpenSSL....................: $have_openssl"
@@ -992,7 +1116,7 @@ fi
   echo "    Abstract Sockets...........: $want_abstract_sockets"
 fi
 echo "  Ecore_Ipc....................: $have_ecore_ipc"
-if test "x$have_ecore_con" = "xyes" ; then
+if test "x$have_ecore_ipc" = "xyes" ; then
   echo -n "    OpenSSL....................: $have_openssl"
 if test "x$have_gnutls" = "xyes" ; then
   echo " (disabled)"
@@ -1001,9 +1125,16 @@ else
 fi
   echo "    GnuTLS.....................: $have_gnutls"
 fi
+echo "  Ecore_File...................: $have_ecore_file"
+if test "x$have_ecore_file" = "xyes" ; then
+  echo "    Inotify....................: $have_inotify"
+  echo "    Poll.......................: $have_poll"
+  echo "    CURL.......................: $have_curl"
+fi
 echo "  Ecore_Config.................: $have_ecore_config"
 echo "  Ecore_IMF....................: $have_ecore_imf"
 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
+echo "  Ecore_Input..................: $have_ecore_input"
 
 echo
 echo " Graphic systems:"
@@ -1027,6 +1158,7 @@ if test "x$have_ecore_x" = "xyes" ; then
   else
     echo "  Ecore_X (Xlib backend).......: $have_ecore_x"
     echo "    Xcursor....................: $use_Xcursor"
+    echo "    Xkb........................: $use_xkb"
     echo "    Xprint.....................: $use_xprint"
     echo "    Xinerama...................: $use_xinerama"
     echo "    Xrandr.....................: $use_xrandr"
@@ -1042,10 +1174,13 @@ else
   echo "  Ecore_X......................: $have_ecore_x"
 fi
 echo "  Ecore_Win32..................: $have_ecore_win32"
-echo "  Ecore_SDL....................: $have_ecore_sdl"
 echo "  Ecore_Quartz.................: $have_ecore_quartz"
+echo "  Ecore_SDL....................: $have_ecore_sdl"
 echo "  Ecore_FB.....................: $have_ecore_fb"
-echo "  Ecore_DFB....................: $have_ecore_directfb"
+if test "x${have_ecore_fb}" = "xyes" ; then
+  echo "    Touchscreen................: $have_tslib"
+fi
+echo "  Ecore_DirectFB...............: $have_ecore_directfb"
 echo "  Ecore_WinCE..................: $have_ecore_wince"
 
 echo
@@ -1053,8 +1188,8 @@ echo " Ecore Evas:"
 echo
 
 echo "  Ecore_Evas...................: $have_ecore_evas"
-if test "x$have_ecore_evas" = "xyes" ; then
-  echo "    Software Memory Buffer.....: $have_ecore_evas_buffer"
+if test "x${have_ecore_evas}" = "xyes" ; then
+  echo "    Software Memory Buffer.....: $have_ecore_evas_software_buffer"
   echo "    Software X11...............: $have_ecore_evas_software_x11"
   echo "    XRender X11................: $have_ecore_evas_xrender_x11"
   echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
@@ -1063,9 +1198,9 @@ if test "x$have_ecore_evas" = "xyes" ; then
   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
   echo "    Direct3D...................: $have_ecore_evas_direct3d"
   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
-  echo "    Software SDL...............: $have_ecore_evas_sdl"
   echo "    Quartz.....................: $have_ecore_evas_quartz"
-  echo "    DirectFB...................: $have_ecore_evas_dfb"
+  echo "    Software SDL...............: $have_ecore_evas_software_sdl"
+  echo "    DirectFB...................: $have_ecore_evas_directfb"
   echo "    Software Framebuffer.......: $have_ecore_evas_fb"
   echo "    Software 16bit X11.........: $have_ecore_evas_software_16_x11"
   echo "    Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
@@ -1074,5 +1209,12 @@ fi
 echo
 echo " Documentation.................: ${build_doc}"
 echo
-echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE."
+echo " Compilation...................: make (gmake on some systems)"
+if test "x${build_doc}" = "xyes" ; then
+   echo " Build of the documentation....: make doc"
+fi
+echo
+echo " Installation..................: make install"
+echo
+echo "    prefix.....................: $prefix"
 echo
diff --git a/depcomp b/depcomp
index e5f9736..04701da 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2007-03-29.01
+scriptversion=2005-07-09.11
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 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
@@ -92,20 +91,7 @@ gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
 ## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
   else
@@ -215,39 +201,34 @@ aix)
   # 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|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
   if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
     "$@" -Wc,-M
   else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
     "$@" -M
   fi
   stat=$?
 
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
   if test $stat -eq 0; then :
   else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    rm -f "$tmpdepfile"
     exit $stat
   fi
 
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
   if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
     # 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:'.
-    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,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -295,46 +276,6 @@ icc)
   rm -f "$tmpdepfile"
   ;;
 
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
 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'.
@@ -347,13 +288,13 @@ tru64)
 
    if test "$libtool" = yes; then
       # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
+      # static library.  This mecanism is used in libtool 1.4 series to
       # handle both shared and static libraries in a single compilation.
       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
       #
       # With libtool 1.5 this exception was removed, and libtool now
       # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
+      # compilations output dependencies in in $dir.libs/$base.o.d and
       # in $dir$base.o.d.  We have to check for both files, because
       # one of the two compilations can be disabled.  We should prefer
       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 8b1483f..0ea8777 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -29,4 +29,4 @@ doc:
 
 endif
 
-EXTRA_DIST = Doxyfile img e.css head.html foot.html ecore.dox.in
+EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html ecore.dox.in
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 4a28fa6..fb3aac0 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -38,7 +38,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -74,72 +78,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -148,8 +137,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -164,6 +151,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -204,6 +193,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -227,6 +218,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -247,36 +239,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -296,6 +308,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -304,17 +317,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -323,14 +343,13 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
 x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in ecore.dox
 PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
-EXTRA_DIST = Doxyfile img e.css head.html foot.html ecore.dox.in
+EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html ecore.dox.in
 all: all-am
 
 .SUFFIXES:
diff --git a/ecore-con.pc.in b/ecore-con.pc.in
index c0ad576..04dbb4e 100644
--- a/ecore-con.pc.in
+++ b/ecore-con.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-con
 Description: E core library, Con module
-Requires: ecore @requirements_ecore_con@
+Requires: @requirements_ecore_con@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_con
 Cflags: -I${includedir}
diff --git a/ecore-config.pc.in b/ecore-config.pc.in
index 2d11077..1dbedf3 100644
--- a/ecore-config.pc.in
+++ b/ecore-config.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-config
 Description: E core library, Config module
-Requires: ecore @requirements_ecore_config@
+Requires: @requirements_ecore_config@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_config
 Cflags: -I${includedir}
diff --git a/ecore-directfb.pc.in b/ecore-directfb.pc.in
index 4262972..d835869 100644
--- a/ecore-directfb.pc.in
+++ b/ecore-directfb.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-directfb
 Description: E core library, DirectFB module
-Requires: ecore @requirements_ecore_directfb@
+Requires: @requirements_ecore_directfb@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_directfb
 Cflags: -I${includedir}
diff --git a/ecore-evas.pc.in b/ecore-evas.pc.in
index 164b863..d08d865 100644
--- a/ecore-evas.pc.in
+++ b/ecore-evas.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-evas
 Description: E core library, Evas module
-Requires: ecore @requirements_ecore_evas@
+Requires: @requirements_ecore_evas@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_evas @ecore_evas_libs@
 Cflags: -I${includedir}
diff --git a/ecore-fb.pc.in b/ecore-fb.pc.in
index 6402ce4..88f0d04 100644
--- a/ecore-fb.pc.in
+++ b/ecore-fb.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-fb
 Description: E core library, FB module
-Requires: ecore @requirements_ecore_fb@
+Requires: @requirements_ecore_fb@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_fb
 Cflags: -I${includedir}
diff --git a/ecore-file.pc.in b/ecore-file.pc.in
index 2dde219..3ecf19a 100644
--- a/ecore-file.pc.in
+++ b/ecore-file.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-file
 Description: E core library, File module
-Requires: ecore @requirements_ecore_file@
+Requires: @requirements_ecore_file@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_file
 Cflags: -I${includedir}
diff --git a/ecore-imf-evas.pc.in b/ecore-imf-evas.pc.in
index 0ce11d5..faa4ad6 100644
--- a/ecore-imf-evas.pc.in
+++ b/ecore-imf-evas.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-imf-evas
 Description: E core library, IMF Evas module
-Requires: ecore-imf evas
+Requires: @requirements_ecore_imf_evas@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_imf_evas
 Cflags: -I${includedir}
diff --git a/ecore-imf.pc.in b/ecore-imf.pc.in
index 7a98b8c..f8184da 100644
--- a/ecore-imf.pc.in
+++ b/ecore-imf.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-imf
 Description: E core library, IMF module
-Requires: ecore
+Requires: @requirements_ecore_imf@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_imf
 Cflags: -I${includedir}
diff --git a/ecore-input.pc.in b/ecore-input.pc.in
new file mode 100644
index 0000000..900b80e
--- /dev/null
+++ b/ecore-input.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: ecore-input
+Description: E core library, Input module
+Requires: @requirements_ecore_input@
+Version: @VERSION@
+Libs: -L${libdir} -lecore_input
+Cflags: -I${includedir}
diff --git a/ecore-ipc.pc.in b/ecore-ipc.pc.in
index 2dc4beb..a4f666b 100644
--- a/ecore-ipc.pc.in
+++ b/ecore-ipc.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-ipc
 Description: E core library, IPC module
-Requires: ecore-con @requirements_ecore_ipc@
+Requires: @requirements_ecore_ipc@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_ipc
 Cflags: -I${includedir}
diff --git a/ecore-job.pc.in b/ecore-job.pc.in
index fc914a0..251c806 100644
--- a/ecore-job.pc.in
+++ b/ecore-job.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-job
 Description: E core library, Job module
-Requires: ecore @requirements_ecore_job@
+Requires: @requirements_ecore_job@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_job
 Cflags: -I${includedir}
diff --git a/ecore-quartz.pc.in b/ecore-quartz.pc.in
index 5901dc9..628ad79 100644
--- a/ecore-quartz.pc.in
+++ b/ecore-quartz.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-quartz
 Description: E core library, Quartz module
-Requires: ecore @requirements_ecore_quartz@
+Requires: @requirements_ecore_quartz@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_quartz
 Cflags: -I${includedir}
diff --git a/ecore-sdl.pc.in b/ecore-sdl.pc.in
index bba6f88..eb0cc69 100644
--- a/ecore-sdl.pc.in
+++ b/ecore-sdl.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore-sdl
 Description: E core library, SDL module
-Requires: ecore @requirements_ecore_sdl@
+Requires: @requirements_ecore_sdl@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_sdl
 Cflags: -I${includedir}
diff --git a/ecore-win32.pc.in b/ecore-win32.pc.in
index 9d403ff..9321385 100644
--- a/ecore-win32.pc.in
+++ b/ecore-win32.pc.in
@@ -5,6 +5,7 @@ includedir=@includedir@
 
 Name: ecore-win32
 Description: E core library, Win32 module
+Requires: @requirements_ecore_win32@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_win32
 Libs.private: @ddraw_libs@ @direct3d_libs@
diff --git a/ecore-wince.pc.in b/ecore-wince.pc.in
index a8275f8..9d06ae5 100644
--- a/ecore-wince.pc.in
+++ b/ecore-wince.pc.in
@@ -5,6 +5,7 @@ includedir=@includedir@
 
 Name: ecore-wince
 Description: E core library, WinCE module
+Requires: @requirements_ecore_wince@
 Version: @VERSION@
 Libs: -L${libdir} -lecore_wince
 Libs.private: @WIN32_LIBS@
diff --git a/ecore.pc.in b/ecore.pc.in
index 0de87ff..ebb59de 100644
--- a/ecore.pc.in
+++ b/ecore.pc.in
@@ -5,7 +5,7 @@ includedir=@includedir@
 
 Name: ecore
 Description: Ecore event abstraction library
-Requires: eina-0
+Requires: @requirements_ecore@
 Version: @VERSION@
 Libs: -L${libdir} -lecore
 Libs.private: -lm
diff --git a/ecore.spec b/ecore.spec
index 3978ea6..30ed18e 100644
--- a/ecore.spec
+++ b/ecore.spec
@@ -37,7 +37,7 @@
 
 Summary: Enlightened Core X interface library
 Name: ecore
-Version: 0.9.9.050
+Version: 0.9.9.060
 Release: 0.%(date '+%Y%m%d')
 License: BSD
 Group: User Interface/X
diff --git a/ecore.supp b/ecore.supp
index ff7bb0a..31dd0e0 100644
--- a/ecore.supp
+++ b/ecore.supp
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: ecore.supp 35497 2008-08-17 07:44:18Z raster $
 # valgrind suppression file for Ecore
 #
 {
diff --git a/install-sh b/install-sh
index a5897de..4d4a951 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2006-12-25.00
+scriptversion=2005-05-14.22
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -39,68 +39,38 @@ scriptversion=2006-12-25.00
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""	$nl"
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
 
 # set DOITPROG to echo to test this script
 
 # Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
+doit="${DOITPROG-}"
 
-posix_mkdir=
+# put in absolute paths if you don't have them in your path; or use env. vars.
 
-# Desired mode of installed file.
-mode=0755
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
 
-chgrpcmd=
-chmodcmd=$chmodprog
+chmodcmd="$chmodprog 0755"
 chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
+chgrpcmd=
 stripcmd=
-
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
 src=
 dst=
 dir_arg=
-dst_arg=
-
-copy_on_change=false
+dstarg=
 no_target_directory=
 
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
    or: $0 [OPTION]... SRCFILES... DIRECTORY
    or: $0 [OPTION]... -t DIRECTORY SRCFILES...
    or: $0 [OPTION]... -d DIRECTORIES...
@@ -110,86 +80,81 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
 In the 4th, create DIRECTORIES.
 
 Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
 
 Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
 "
 
-while test $# -ne 0; do
+while test -n "$1"; do
   case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
+    -c) shift
+        continue;;
 
-    -d) dir_arg=true;;
+    -d) dir_arg=true
+        shift
+        continue;;
 
     -g) chgrpcmd="$chgrpprog $2"
-	shift;;
+        shift
+        shift
+        continue;;
 
     --help) echo "$usage"; exit $?;;
 
-    -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
 
     -o) chowncmd="$chownprog $2"
-	shift;;
+        shift
+        shift
+        continue;;
 
-    -s) stripcmd=$stripprog;;
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
 
-    -t) dst_arg=$2
-	shift;;
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
 
-    -T) no_target_directory=true;;
+    -T) no_target_directory=true
+	shift
+	continue;;
 
     --version) echo "$0 $scriptversion"; exit $?;;
 
-    --)	shift
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
 	break;;
-
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
-
-    *)  break;;
   esac
-  shift
 done
 
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-  done
-fi
-
-if test $# -eq 0; then
+if test -z "$1"; then
   if test -z "$dir_arg"; then
     echo "$0: no input file specified." >&2
     exit 1
@@ -199,47 +164,24 @@ if test $# -eq 0; then
   exit 0
 fi
 
-if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
 for src
 do
   # Protect names starting with `-'.
   case $src in
-    -*) src=./$src;;
+    -*) src=./$src ;;
   esac
 
   if test -n "$dir_arg"; then
     dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
+    src=
 
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
     # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
     # might cause directories to be created, which would be especially bad
     # if $src (and thus $dsttmp) contains '*'.
@@ -248,199 +190,71 @@ do
       exit 1
     fi
 
-    if test -z "$dst_arg"; then
+    if test -z "$dstarg"; then
       echo "$0: no destination specified." >&2
       exit 1
     fi
 
-    dst=$dst_arg
+    dst=$dstarg
     # Protect names starting with `-'.
     case $dst in
-      -*) dst=./$dst;;
+      -*) dst=./$dst ;;
     esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
     if test -d "$dst"; then
       if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
+	echo "$0: $dstarg: Is a directory" >&2
 	exit 1
       fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
+      dst=$dst/`basename "$src"`
     fi
   fi
 
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
-    esac
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
 
-    if
-      $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
+  # Make sure that the destination directory exists.
 
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
 
-      case $dstdir in
-	/*) prefix='/';;
-	-*) prefix='./';;
-	*)  prefix='';;
-      esac
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
 
-      eval "$initialize_posix_glob"
+    pathcomp=
 
-      oIFS=$IFS
-      IFS=/
-      $posix_glob set -f
-      set fnord $dstdir
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
       shift
-      $posix_glob set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-	test -z "$d" && continue
-
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
       fi
-    fi
+      pathcomp=$pathcomp/
+    done
   fi
 
   if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
   else
+    dstfile=`basename "$dst"`
 
     # Make a couple of temp file names in the proper directory.
     dsttmp=$dstdir/_inst.$$_
@@ -448,9 +262,10 @@ do
 
     # Trap to clean up those temp files at exit.
     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
 
     # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+    $doit $cpprog "$src" "$dsttmp" &&
 
     # and set any options; do chmod last to preserve setuid bits.
     #
@@ -458,59 +273,48 @@ do
     # ignore errors from any of these, just make sure not to ignore
     # errors from the above "$doit $cpprog $src $dsttmp" command.
     #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
-
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
 done
 
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
 # time-stamp-start: "scriptversion="
diff --git a/ltmain.sh b/ltmain.sh
old mode 100644
new mode 100755
index 0bf3848..6d056ec
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,52 +1,83 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008  Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-# This program is free software; you can redistribute it and/or modify
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.4
+# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful, but
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#     --config             show all configuration variables
+#     --debug              enable verbose shell tracing
+# -n, --dry-run            display commands without modifying any files
+#     --features           display basic configuration information and exit
+#     --mode=MODE          use operation mode MODE
+#     --preserve-dup-deps  don't remove duplicate dependency libraries
+#     --quiet, --silent    don't print informational messages
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long help message
+#
+# MODE must be one of the following:
+#
+#       clean              remove files from the build directory
+#       compile            compile a source file into a libtool object
+#       execute            automatically set library path, then run a program
+#       finish             complete the installation of libtool libraries
+#       install            install libraries or executables
+#       link               create a library or an executable
+#       uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#       host-triplet:	$host
+#       shell:		$SHELL
+#       compiler:		$LTCC
+#       compiler flags:		$LTCFLAGS
+#       linker:		$LD (gnu? $with_gnu_ld)
+#       $progname:		(GNU libtool) 2.2.4 Debian-2.2.4-0ubuntu4
+#       automake:		$automake_version
+#       autoconf:		$autoconf_version
+#
+# Report bugs to <bug-libtool at gnu.org>.
 
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION="1.5.26 Debian 1.5.26-4"
-TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
+VERSION="2.2.4 Debian-2.2.4-0ubuntu4"
+TIMESTAMP=""
+package_revision=1.2976
 
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
+# Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
@@ -60,104 +91,261 @@ fi
 BIN_SH=xpg4; export BIN_SH # for Tru64
 DUALCASE=1; export DUALCASE # for MKS sh
 
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  SP2NL='tr \040 \012'
-  NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  SP2NL='tr \100 \n'
-  NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-# NLS nuisances.
+# NLS nuisances: We save the old values to restore during execute mode.
 # Only set LANG and LC_ALL to C if already set.
 # These must not be set unconditionally because not all systems understand
 # e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
+lt_user_locale=
+lt_safe_locale=
 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
 do
   eval "if test \"\${$lt_var+set}\" = set; then
-	  save_$lt_var=\$$lt_var
-	  lt_env=\"$lt_var=\$$lt_var \$lt_env\"
-	  $lt_var=C
+          save_$lt_var=\$$lt_var
+          $lt_var=C
 	  export $lt_var
+	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
 	fi"
 done
 
-if test -n "$lt_env"; then
-  lt_env="env $lt_env"
-fi
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
 
 # Make sure IFS has a sensible default
 lt_nl='
 '
 IFS=" 	$lt_nl"
 
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$modename: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit $EXIT_FAILURE
-fi
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
 
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=:
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+	# list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+	IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
 
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
 
 # func_mktempdir [string]
 # Make a temporary directory that won't clash with other running
@@ -167,7 +355,7 @@ func_mktempdir ()
 {
     my_template="${TMPDIR-/tmp}/${1-$progname}"
 
-    if test "$run" = ":"; then
+    if test "$opt_dry_run" = ":"; then
       # Return a directory name, but don't create it in dry-run mode
       my_tmpdir="${my_template}-$$"
     else
@@ -176,486 +364,742 @@ func_mktempdir ()
       my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
 
       if test ! -d "$my_tmpdir"; then
-	# Failing that, at least try and use $RANDOM to avoid a race
-	my_tmpdir="${my_template}-${RANDOM-0}$$"
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
 
-	save_mktempdir_umask=`umask`
-	umask 0077
-	$mkdir "$my_tmpdir"
-	umask $save_mktempdir_umask
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
       fi
 
       # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || {
-        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
-	exit $EXIT_FAILURE
-      }
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
     fi
 
-    $echo "X$my_tmpdir" | $Xsed
+    $ECHO "X$my_tmpdir" | $Xsed
 }
 
 
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
 {
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
-      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 | \
-	$SED -n -e '1,100{
-		/ I /{
-			s,.*,import,
-			p
-			q
-			}
-		}'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
+    case $1 in
+      *[\\\`\"\$]*)
+	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
     esac
-    ;;
-  esac
-  $echo $win32_libid_type
 }
 
 
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
 {
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	case $arg in
-	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-	CC_quoted="$CC_quoted $arg"
-      done
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
+    case $1 in
+      *[\\\`\"]*)
+	my_arg=`$ECHO "X$1" | $Xsed \
+	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
       *)
-	for z in $available_tags; do
-	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	    # Double-quote args containing other shell metacharacters.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    CC_quoted="$CC_quoted $arg"
-	  done
-	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  $echo "$modename: unable to infer tagged configuration"
-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
-	  exit $EXIT_FAILURE
-#        else
-#          $echo "$modename: using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
 }
 
 
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
 {
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
 
-    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
-    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
-      exit $EXIT_FAILURE
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
+      fi
     fi
 }
 
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
 {
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-    my_status=""
-
-    $show "${rm}r $my_gentop"
-    $run ${rm}r "$my_gentop"
-    $show "$mkdir $my_gentop"
-    $run $mkdir "$my_gentop"
-    my_status=$?
-    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
-      exit $my_status
-    fi
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
 
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  extracted_serial=`expr $extracted_serial + 1`
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
 
-      $show "${rm}r $my_xdir"
-      $run ${rm}r "$my_xdir"
-      $show "$mkdir $my_xdir"
-      $run $mkdir "$my_xdir"
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
-	exit $exit_status
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+	    $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
       fi
-      case $host in
-      *-darwin*)
-	$show "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	if test -z "$run"; then
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
-	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
-	  if test -n "$darwin_arches"; then 
-	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-	      lipo -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    ${rm}r unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd "$darwin_orig_dir"
- 	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	fi # $run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-        ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-    done
-    func_extract_archives_result="$my_oldobjs"
+    fi
 }
-# End of Shell function definitions
-#####################################
 
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
 
-disable_libs=no
 
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
-  arg="$1"
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+	s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+	s/^# *$//
+	s/\$progname/'$progname'/
+	p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        s/^# //
+	s/^# *$//
+	s*\$progname*'$progname'*
+	s*\$host*'"$host"'*
+	s*\$SHELL*'"$SHELL"'*
+	s*\$LTCC*'"$LTCC"'*
+	s*\$LTCFLAGS*'"$LTCFLAGS"'*
+	s*\$LD*'"$LD"'*
+	s/\$with_gnu_ld/'"$with_gnu_ld"'/
+	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	p
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
   shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
 
-  case $arg in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
 
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case $prev in
-    execute_dlfiles)
-      execute_dlfiles="$execute_dlfiles $arg"
-      ;;
-    tag)
-      tagname="$arg"
-      preserve_args="${preserve_args}=$arg"
-
-      # Check whether tagname contains only valid characters
-      case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-	$echo "$progname: invalid tag name: $tagname" 1>&2
-	exit $EXIT_FAILURE
-	;;
-      esac
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
 
-      case $tagname in
-      CC)
-	# Don't test for the "default" C tag, as we know, it's there, but
-	# not specially marked.
-	;;
-      *)
-	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
-	  taglist="$taglist $tagname"
-	  # Evaluate the configuration.
-	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
-	else
-	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
-	fi
-	;;
-      esac
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
 
-    prev=
-    prevopt=
-    continue
-  fi
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
 
-  # Have we seen a non-optional argument yet?
-  case $arg in
-  --help)
-    show_help=yes
-    ;;
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
 
-  --version)
-    echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
 
-Copyright (C) 2008  Free Software Foundation, Inc.
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $?
-    ;;
 
-  --config)
-    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
     # Now print the configurations for the tags.
     for tagname in $taglist; do
-      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
     done
-    exit $?
-    ;;
 
-  --debug)
-    $echo "$progname: enabling shell trace mode"
-    set -x
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
+    exit $?
+}
 
-  --features)
-    $echo "host: $host"
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    $ECHO "host: $host"
     if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
+      $ECHO "enable shared libraries"
     else
-      $echo "disable shared libraries"
+      $ECHO "disable shared libraries"
     fi
     if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
+      $ECHO "enable static libraries"
     else
-      $echo "disable static libraries"
+      $ECHO "disable static libraries"
     fi
+
     exit $?
-    ;;
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
 
-  --finish) mode="finish" ;;
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
 
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
 
-  --preserve-dup-deps) duplicate_deps="yes" ;;
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	taglist="$taglist $tagname"
+
+	# Evaluate the configuration.  Be careful to quote the path
+	# and the sed script, to avoid splitting on whitespace, but
+	# also don't use non-portable quotes within backquotes within
+	# quotes we have to do it in 2 steps:
+	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	eval "$extractedcf"
+      else
+	func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
 
-  --quiet | --silent)
-    show=:
-    preserve_args="$preserve_args $arg"
-    ;;
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
 
-  --tag)
-    prevopt="--tag"
-    prev=tag
-    preserve_args="$preserve_args --tag"
+  # Shorthand for --mode=foo, only valid as the first argument
+  case $1 in
+  clean|clea|cle|cl)
+    shift; set dummy --mode clean ${1+"$@"}; shift
     ;;
-  --tag=*)
-    set tag "$optarg" ${1+"$@"}
-    shift
-    prev=tag
-    preserve_args="$preserve_args --tag"
+  compile|compil|compi|comp|com|co|c)
+    shift; set dummy --mode compile ${1+"$@"}; shift
     ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
+  execute|execut|execu|exec|exe|ex|e)
+    shift; set dummy --mode execute ${1+"$@"}; shift
     ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
+  finish|finis|fini|fin|fi|f)
+    shift; set dummy --mode finish ${1+"$@"}; shift
     ;;
-
-  *)
-    nonopt="$arg"
-    break
+  install|instal|insta|inst|ins|in|i)
+    shift; set dummy --mode install ${1+"$@"}; shift
+    ;;
+  link|lin|li|l)
+    shift; set dummy --mode link ${1+"$@"}; shift
+    ;;
+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+    shift; set dummy --mode uninstall ${1+"$@"}; shift
     ;;
   esac
-done
 
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-fi
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
 
-case $disable_libs in
-no) 
-  ;;
-shared)
-  build_libtool_libs=no
-  build_old_libs=yes
-  ;;
-static)
-  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-  ;;
-esac
+    case $opt in
+      --config)		func_config					;;
 
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
+      --debug)		preserve_args="$preserve_args $opt"
+			func_echo "enabling shell trace mode"
+			opt_debug='set -x'
+			$opt_debug
+			;;
 
-if test -z "$show_help"; then
+      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			execute_dlfiles="$execute_dlfiles $1"
+			shift
+			;;
 
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
-    case $nonopt in
-    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
-      mode=link
-      for arg
-      do
-	case $arg in
-	-c)
-	   mode=compile
-	   break
-	   ;;
-	esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
+      --dry-run | -n)	opt_dry_run=:					;;
+      --features)       func_features					;;
+      --finish)		mode="finish"					;;
+
+      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			case $1 in
+			  # Valid mode arguments:
+			  clean)	;;
+			  compile)	;;
+			  execute)	;;
+			  finish)	;;
+			  install)	;;
+			  link)		;;
+			  relink)	;;
+			  uninstall)	;;
+
+			  # Catch anything else as an error
+			  *) func_error "invalid argument for $opt"
+			     exit_cmd=exit
+			     break
+			     ;;
+		        esac
+
+			mode="$1"
+			shift
+			;;
+
+      --preserve-dup-deps)
+			opt_duplicate_deps=:				;;
+
+      --quiet|--silent)	preserve_args="$preserve_args $opt"
+			opt_silent=:
+			;;
+
+      --verbose| -v)	preserve_args="$preserve_args $opt"
+			opt_silent=false
+			;;
+
+      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			preserve_args="$preserve_args $opt $1"
+			func_enable_tag "$1"	# tagname is set here
+			shift
+			;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+			func_opt_split "$opt"
+			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+			shift
+			;;
+
+      -\?|-h)		func_usage					;;
+      --help)		opt_help=:					;;
+      --version)	func_version					;;
+
+      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
+
+      *)		nonopt="$opt"
+			break
+			;;
+    esac
+  done
+
+
+  case $host in
+    *cygwin* | *mingw* | *pw32*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
       ;;
     *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      ;;
+  esac
 
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-	if test -n "$nonopt"; then
-	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-	else
-	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-	fi
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
       fi
-      ;;
-    esac
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$opt_help || {
+  # Sanity checks first:
+  func_check_version_match
+
+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+    func_fatal_configuration "not configured to build any kind of library"
   fi
 
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
   # Only execute mode is allowed to have -dlopen flags.
   if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
+    func_error "unrecognized option \`-dlopen'"
+    $ECHO "$help" 1>&2
     exit $EXIT_FAILURE
   fi
 
   # Change the help message to a mode-specific one.
   generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
+  help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    $SED -e 4q "$1" 2>/dev/null \
+      | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -r "$1" && exec 5<&0 <"$1"; then
+	for lalib_p_l in 1 2 3 4
+	do
+	    read lalib_p_line
+	    case "$lalib_p_line" in
+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+	    esac
+	done
+	exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+	func_dirname_and_basename "$1" "" "."
+	func_stripname '' '.exe' "$func_basename_result"
+	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)	. "$1" ;;
+    *)		. "./$1" ;;
+    esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+        func_quote_for_eval "$arg"
+	CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	      # Double-quote args containing other shell metacharacters.
+	      func_quote_for_eval "$arg"
+	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	    done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  func_echo "unable to infer tagged configuration"
+	  func_fatal_error "specify a tag with \`--tag'"
+#	else
+#	  func_verbose "using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
 
-  # These modes are in order of execution frequency so that they run quickly.
-  case $mode in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
     # Get the compilation command and the source file.
     base_compile=
     srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
@@ -664,6 +1108,7 @@ if test -z "$show_help"; then
     arg_mode=normal
     libobj=
     later=
+    pie_flag=
 
     for arg
     do
@@ -684,15 +1129,18 @@ if test -z "$show_help"; then
 	# Accept any command-line options.
 	case $arg in
 	-o)
-	  if test -n "$libobj" ; then
-	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
+	  test -n "$libobj" && \
+	    func_fatal_error "you cannot specify \`-o' more than once"
 	  arg_mode=target
 	  continue
 	  ;;
 
-	-static | -prefer-pic | -prefer-non-pic)
+	-pie | -fpie | -fPIE)
+          pie_flag="$pie_flag $arg"
+	  continue
+	  ;;
+
+	-shared | -static | -prefer-pic | -prefer-non-pic)
 	  later="$later $arg"
 	  continue
 	  ;;
@@ -708,31 +1156,25 @@ if test -z "$show_help"; then
 	  ;;            #  replaced later.  I would guess that would be a bug.
 
 	-Wc,*)
-	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
+	  func_stripname '-Wc,' '' "$arg"
+	  args=$func_stripname_result
 	  lastarg=
 	  save_ifs="$IFS"; IFS=','
- 	  for arg in $args; do
+	  for arg in $args; do
 	    IFS="$save_ifs"
-
-	    # Double-quote args containing other shell metacharacters.
-	    # Many Bourne shells cannot handle close brackets correctly
-	    # in scan sets, so we specify it separately.
-	    case $arg in
-	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	      arg="\"$arg\""
-	      ;;
-	    esac
-	    lastarg="$lastarg $arg"
+	    func_quote_for_eval "$arg"
+	    lastarg="$lastarg $func_quote_for_eval_result"
 	  done
 	  IFS="$save_ifs"
-	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
+	  func_stripname ' ' '' "$lastarg"
+	  lastarg=$func_stripname_result
 
 	  # Add the arguments to base_compile.
 	  base_compile="$base_compile $lastarg"
 	  continue
 	  ;;
 
-	* )
+	*)
 	  # Accept the current argument as the source file.
 	  # The previous "srcfile" becomes the current argument.
 	  #
@@ -744,66 +1186,42 @@ if test -z "$show_help"; then
       esac    #  case $arg_mode
 
       # Aesthetically quote the previous argument.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      case $lastarg in
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, and some SunOS ksh mistreat backslash-escaping
-      # in scan sets (worked around with variable expansion),
-      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
-      # at all, so we specify them separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	lastarg="\"$lastarg\""
-	;;
-      esac
-
-      base_compile="$base_compile $lastarg"
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
     done # for arg
 
     case $arg_mode in
     arg)
-      $echo "$modename: you must specify an argument for -Xcompile"
-      exit $EXIT_FAILURE
+      func_fatal_error "you must specify an argument for -Xcompile"
       ;;
     target)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit $EXIT_FAILURE
+      func_fatal_error "you must specify a target with \`-o'"
       ;;
     *)
       # Get the name of the library object.
-      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
+      test -z "$libobj" && {
+	func_basename "$srcfile"
+	libobj="$func_basename_result"
+      }
       ;;
     esac
 
     # Recognize several different file suffixes.
     # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSifmso]'
     case $libobj in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.ii) xform=ii ;;
-    *.class) xform=class ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.[fF][09]?) xform=[fF][09]. ;;
-    *.for) xform=for ;;
-    *.java) xform=java ;;
-    *.obj) xform=obj ;;
-    *.sx) xform=sx ;;
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
     esac
 
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
     case $libobj in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
     *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit $EXIT_FAILURE
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
       ;;
     esac
 
@@ -811,7 +1229,15 @@ if test -z "$show_help"; then
 
     for arg in $later; do
       case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	continue
+	;;
+
       -static)
+	build_libtool_libs=no
 	build_old_libs=yes
 	continue
 	;;
@@ -828,28 +1254,17 @@ if test -z "$show_help"; then
       esac
     done
 
-    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
-    case $qlibobj in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qlibobj="\"$qlibobj\"" ;;
-    esac
-    test "X$libobj" != "X$qlibobj" \
-	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
-	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$xdir" = "X$obj"; then
-      xdir=
-    else
-      xdir=$xdir/
-    fi
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
     lobj=${xdir}$objdir/$objname
 
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
 
     # Delete any leftover library objects.
     if test "$build_old_libs" = yes; then
@@ -858,9 +1273,6 @@ if test -z "$show_help"; then
       removelist="$lobj $libobj ${libobj}T"
     fi
 
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
     # On Cygwin there's no "real" PIC flag so we must build both object types
     case $host_os in
     cygwin* | mingw* | pw32* | os2*)
@@ -875,10 +1287,8 @@ if test -z "$show_help"; then
     # Calculate the filename of the output object if compiler does
     # not support -o with -c
     if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
       lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
     else
       output_obj=
       need_locks=no
@@ -888,13 +1298,13 @@ if test -z "$show_help"; then
     # Lock this critical section if it is needed
     # We use this script file to make the link, it avoids creating a new file
     if test "$need_locks" = yes; then
-      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
-	$show "Waiting for $lockfile to be removed"
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
 	sleep 2
       done
     elif test "$need_locks" = warn; then
       if test -f "$lockfile"; then
-	$echo "\
+	$ECHO "\
 *** ERROR, $lockfile exists and contains:
 `cat $lockfile 2>/dev/null`
 
@@ -905,34 +1315,22 @@ repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
 
-	$run $rm $removelist
+	$opt_dry_run || $RM $removelist
 	exit $EXIT_FAILURE
       fi
-      $echo "$srcfile" > "$lockfile"
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
     fi
 
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
     if test -n "$fix_srcfile_path"; then
       eval srcfile=\"$fix_srcfile_path\"
     fi
-    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
-    case $qsrcfile in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      qsrcfile="\"$qsrcfile\"" ;;
-    esac
-
-    $run $rm "$libobj" "${libobj}T"
-
-    # Create a libtool object file (analogous to a ".la" file),
-    # but don't create it if we're doing a dry run.
-    test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
 
     # Only build a PIC object if we are building libtool libraries.
     if test "$build_libtool_libs" = yes; then
@@ -946,32 +1344,19 @@ EOF
 	command="$base_compile $qsrcfile"
       fi
 
-      if test ! -d "${xdir}$objdir"; then
-	$show "$mkdir ${xdir}$objdir"
-	$run $mkdir ${xdir}$objdir
-	exit_status=$?
-	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
-	  exit $exit_status
-	fi
-      fi
+      func_mkdir_p "$xdir$objdir"
 
       if test -z "$output_obj"; then
 	# Place PIC objects in $objdir
 	command="$command -o $lobj"
       fi
 
-      $run $rm "$lobj" "$output_obj"
-
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-	test -n "$output_obj" && $run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
+      func_show_eval_locale "$command"	\
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
 
       if test "$need_locks" = warn &&
 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
+	$ECHO "\
 *** ERROR, $lockfile contains:
 `cat $lockfile 2>/dev/null`
 
@@ -985,45 +1370,27 @@ repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
 
-	$run $rm $removelist
+	$opt_dry_run || $RM $removelist
 	exit $EXIT_FAILURE
       fi
 
       # Just move the object if needed, then go on to compile the next one
       if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	$show "$mv $output_obj $lobj"
-	if $run $mv $output_obj $lobj; then :
-	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
-	fi
+	func_show_eval '$MV "$output_obj" "$lobj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
       fi
 
-      # Append the name of the PIC object to the libtool object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
       # Allow error messages only from the first compilation.
       if test "$suppress_opt" = yes; then
-        suppress_output=' >/dev/null 2>&1'
+	suppress_output=' >/dev/null 2>&1'
       fi
-    else
-      # No PIC object so indicate it doesn't exist in the libtool
-      # object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
     fi
 
     # Only build a position-dependent object if we build old libraries.
     if test "$build_old_libs" = yes; then
       if test "$pic_mode" != yes; then
 	# Don't build PIC code
-	command="$base_compile $qsrcfile"
+	command="$base_compile $qsrcfile$pie_flag"
       else
 	command="$base_compile $qsrcfile $pic_flag"
       fi
@@ -1033,17 +1400,12 @@ EOF
 
       # Suppress compiler output if we already did a PIC compilation.
       command="$command$suppress_output"
-      $run $rm "$obj" "$output_obj"
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-	$run $rm $removelist
-	exit $EXIT_FAILURE
-      fi
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
       if test "$need_locks" = warn &&
 	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$echo "\
+	$ECHO "\
 *** ERROR, $lockfile contains:
 `cat $lockfile 2>/dev/null`
 
@@ -1057,51 +1419,2101 @@ repeat this compilation, it may succeed, by chance, but you had better
 avoid parallel builds (make -j) in this platform, or get a better
 compiler."
 
-	$run $rm $removelist
+	$opt_dry_run || $RM $removelist
 	exit $EXIT_FAILURE
       fi
 
       # Just move the object if needed
       if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	$show "$mv $output_obj $obj"
-	if $run $mv $output_obj $obj; then :
+	func_show_eval '$MV "$output_obj" "$obj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+	removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      test -f "$file" \
+	|| func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+	func_source "$file"
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && \
+	    func_warning "\`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
 	else
-	  error=$?
-	  $run $rm $removelist
-	  exit $error
+	  if test ! -f "$dir/$dlname"; then
+	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+	  fi
 	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+	;;
+
+      *)
+	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
       fi
+    done
 
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
 
-EOF
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if func_ltwrapper_script_p "$file"; then
+	  func_source "$file"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	elif func_ltwrapper_executable_p "$file"; then
+	  func_ltwrapper_scriptname "$file"
+	  func_source "$func_ltwrapper_scriptname_result"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+	      else
+		$lt_unset $lt_var
+	      fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
     else
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	$ECHO "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
 
-EOF
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
     fi
 
-    $run $mv "${libobj}T" "${libobj}"
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
 
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $run $rm "$lockfile"
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $ECHO "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $ECHO "   $libdir"
+    done
+    $ECHO
+    $ECHO "If you ever happen to want to link against installed libraries"
+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $ECHO "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $ECHO "     during execution"
     fi
+    if test -n "$runpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $ECHO "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
 
+      $ECHO "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $ECHO "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $ECHO
+
+    $ECHO "See any operating system documentation about shared libraries for"
+    case $host in
+      solaris2.[6789]|solaris2.1[0-9])
+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	$ECHO "pages."
+	;;
+      *)
+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        ;;
+    esac
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
     exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o)
+	prev=$arg
+	;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	func_fatal_help "no file or destination specified"
+      else
+	func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+	func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  func_fatal_help "\`$destdir' must be an absolute directory name"
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$file' is not a valid libtool archive"
+
+	library_names=
+	old_library=
+	relink_command=
+	func_source "$file"
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	func_dirname "$file" "/" ""
+	dir="$func_dirname_result"
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  test "$inst_prefix_dir" = "$destdir" && \
+	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  func_warning "relinking \`$file'"
+	  func_show_eval "$relink_command" \
+	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names; shift
+	if test -n "$1"; then
+	  realname="$1"
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+	      'exit $?'
+	  tstripme="$stripme"
+	  case $host_os in
+	  cygwin* | mingw* | pw32*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=""
+	      ;;
+	    esac
+	    ;;
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      test "$linkname" != "$realname" \
+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
+	fi
+
+	# Install the pseudo-library for information purposes.
+	func_basename "$file"
+	name="$func_basename_result"
+	instname="$dir/$name"i
+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  func_lo2o "$destfile"
+	  staticdest=$func_lo2o_result
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	test -n "$destfile" && \
+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  func_lo2o "$file"
+	  staticobj=$func_lo2o_result
+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      func_stripname '' '.exe' "$file"
+	      file=$func_stripname_result
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin*|*mingw*)
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      wrapper=$func_ltwrapper_scriptname_result
+	    else
+	      func_stripname '' '.exe' "$file"
+	      wrapper=$func_stripname_result
+	    fi
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if func_ltwrapper_script_p "$wrapper"; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  func_source "$wrapper"
+
+	  # Check the variables that should have been set.
+	  test -z "$generated_by_libtool_version" && \
+	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      func_source "$lib"
+	    fi
+	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      func_warning "\`$lib' has not been installed in \`$libdir'"
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  func_source "$wrapper"
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    $opt_dry_run || {
+	      if test "$finalize" = yes; then
+	        tmpdir=`func_mktempdir`
+		func_basename "$file$stripped_ext"
+		file="$func_basename_result"
+	        outputname="$tmpdir/$file"
+	        # Replace the output file specification.
+	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	        $opt_silent || {
+	          func_quote_for_expand "$relink_command"
+		  eval "func_echo $func_quote_for_expand_result"
+	        }
+	        if eval "$relink_command"; then :
+	          else
+		  func_error "error: relink \`$file' with the above command before installing it"
+		  $opt_dry_run || ${RM}r "$tmpdir"
+		  continue
+	        fi
+	        file="$outputname"
+	      else
+	        func_warning "cannot relink \`$file'"
+	      fi
+	    }
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    func_stripname '' '.exe' "$destfile"
+	    destfile=$func_stripname_result
+	    ;;
+	  esac
+	  ;;
+	esac
+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+	$opt_dry_run || if test -n "$outputname"; then
+	  ${RM}r "$tmpdir"
+	fi
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	func_show_eval "$old_striplib $oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	my_dlsyms="${my_outputname}S.c"
+      else
+	func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+	# Discover the nlist of each of the dlfiles.
+	nlist="$output_objdir/${my_outputname}.nm"
+
+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+	# Parse the name list into a source file.
+	func_verbose "creating $output_objdir/$my_dlsyms"
+
+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+	if test "$dlself" = yes; then
+	  func_verbose "generating symbol list for \`$output'"
+
+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+	  # Add our own program objects to the symbol list.
+	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	  for progfile in $progfiles; do
+	    func_verbose "extracting global C symbols from \`$progfile'"
+	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -n "$exclude_expsyms"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  if test -n "$export_symbols_regex"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  # Prepare the list of exported symbols
+	  if test -z "$export_symbols"; then
+	    export_symbols="$output_objdir/$outputname.exp"
+	    $opt_dry_run || {
+	      $RM $export_symbols
+	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      case $host in
+	      *cygwin* | *mingw* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+	        ;;
+	      esac
+	    }
+	  else
+	    $opt_dry_run || {
+	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	      case $host in
+	        *cygwin | *mingw* )
+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+	          ;;
+	      esac
+	    }
+	  fi
+	fi
+
+	for dlprefile in $dlprefiles; do
+	  func_verbose "extracting global C symbols from \`$dlprefile'"
+	  func_basename "$dlprefile"
+	  name="$func_basename_result"
+	  $opt_dry_run || {
+	    eval '$ECHO ": $name " >> "$nlist"'
+	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	  }
+	done
+
+	$opt_dry_run || {
+	  # Make sure we have at least an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  if test -n "$exclude_expsyms"; then
+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	    $MV "$nlist"T "$nlist"
+	  fi
+
+	  # Try sorting and uniquifying the output.
+	  if $GREP -v "^: " < "$nlist" |
+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
+		sort -k 3
+	      else
+		sort +2
+	      fi |
+	      uniq > "$nlist"S; then
+	    :
+	  else
+	    $GREP -v "^: " < "$nlist" > "$nlist"S
+	  fi
+
+	  if test -f "$nlist"S; then
+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+	  else
+	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	  fi
+
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+"
+	  case $host in
+	  *cygwin* | *mingw* )
+	    $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+	    lt_dlsym_const= ;;
+	  *osf5*)
+	    echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+	    lt_dlsym_const= ;;
+	  *)
+	    lt_dlsym_const=const ;;
+	  esac
+
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+	  case $need_lib_prefix in
+	  no)
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  *)
+	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  esac
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	} # !$opt_dry_run
+
+	pic_flag_for_symtable=
+	case "$compile_command " in
+	*" -static "*) ;;
+	*)
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+	  *-*-hpux*)
+	    pic_flag_for_symtable=" $pic_flag"  ;;
+	  *)
+	    if test "X$my_pic_p" != Xno; then
+	      pic_flag_for_symtable=" $pic_flag"
+	    fi
+	    ;;
+	  esac
+	  ;;
+	esac
+	symtab_cflags=
+	for arg in $LTCFLAGS; do
+	  case $arg in
+	  -pie | -fpie | -fPIE) ;;
+	  *) symtab_cflags="$symtab_cflags $arg" ;;
+	  esac
+	done
+
+	# Now compile the dynamic symbol file.
+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+	# Clean up the generated files.
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+	# Transform the symbol file into the correct name.
+	symfileobj="$output_objdir/${my_outputname}S.$objext"
+	case $host in
+	*cygwin* | *mingw* )
+	  if test -f "$output_objdir/$my_outputname.def"; then
+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	  else
+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  fi
+	  ;;
+	*)
+	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  ;;
+	esac
+	;;
+      *)
+	func_fatal_error "unknown suffix for \`$my_dlsyms'"
+	;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+	$SED -n -e '
+	    1,100{
+		/ I /{
+		    s,.*,import,
+		    p
+		    q
+		}
+	    }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
     ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  func_arith $extracted_serial + 1
+	  extracted_serial=$func_arith_result
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+	func_verbose "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	$opt_dry_run || {
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`basename "$darwin_archive"`
+	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+	  if test -n "$darwin_arches"; then
+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      $LIPO -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    $RM -rf unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd $darwin_orig_dir
+	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	} # !$opt_dry_run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+	;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper arg
+#
+# emit a libtool wrapper script on stdout
+# don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variable
+# set therein.
+#
+# arg is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the '.lib' directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=no
+	if test -n "$1" ; then
+	  func_emit_wrapper_arg1=$1
+	fi
+
+	$ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+	  $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$ECHO \"\$relink_command_output\" >&2
+	$RM \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+	else
+	  $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2*)
+	  $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+# end: func_emit_wrapper
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+	cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+
+static const char *script_text =
+EOF
+
+	    func_emit_wrapper yes |
+	        $SED -e 's/\([\\"]\)/\\\1/g' \
+	             -e 's/^/  "/' -e 's/$/\\n"/'
+	    echo ";"
+
+	    cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *shwrapper_name;
+  intptr_t rval = 127;
+  FILE *shwrapper;
+
+  const char *dumpscript_opt = "--lt-dump-script";
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+	{
+EOF
+	    case "$host" in
+	      *mingw* | *cygwin* )
+		# make stdout use "unix" line endings
+		echo "          setmode(1,_O_BINARY);"
+		;;
+	      esac
+
+	    cat <<EOF
+	  printf ("%s", script_text);
+	  return 0;
+	}
+    }
+
+  newargz = XMALLOC (char *, argc + 2);
+EOF
+
+	    if test -n "$TARGETSHELL" ; then
+	      # no path translation at all
+	      lt_newargv0=$TARGETSHELL
+	    else
+	      case "$host" in
+		*mingw* )
+		  # awkward: cmd appends spaces to result
+		  lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+		  lt_newargv0=`( cmd //c echo $SHELL | $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo $SHELL`
+		  case $lt_newargv0 in
+		    *.exe | *.EXE) ;;
+		    *) lt_newargv0=$lt_newargv0.exe ;;
+		  esac
+		  ;;
+		* ) lt_newargv0=$SHELL ;;
+	      esac
+	    fi
+
+		cat <<EOF
+  newargz[0] = (char *) xstrdup ("$lt_newargv0");
+EOF
+
+	    cat <<"EOF"
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+			  tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+			  actual_cwrapper_path));
+  XFREE (tmp_pathspec);
+
+  shwrapper_name = (char *) xstrdup (base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, shwrapper_name);
+
+  /* shwrapper_name transforms */
+  strendzap (shwrapper_name, ".exe");
+  tmp_pathspec = XMALLOC (char, (strlen (shwrapper_name) +
+				 strlen ("_ltshwrapperTMP") + 1));
+  strcpy (tmp_pathspec, shwrapper_name);
+  strcat (tmp_pathspec, "_ltshwrapperTMP");
+  XFREE (shwrapper_name);
+  shwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+  LTWRAPPER_DEBUGPRINTF (("(main) libtool shell wrapper name: %s\n",
+			  shwrapper_name));
+EOF
+
+	    cat <<EOF
+  newargz[1] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+		    strlen ("$objdir") + 1 + strlen (shwrapper_name) + 1));
+  strcpy (newargz[1], actual_cwrapper_path);
+  strcat (newargz[1], "$objdir");
+  strcat (newargz[1], "/");
+  strcat (newargz[1], shwrapper_name);
+EOF
+
+
+	    case $host_os in
+	      mingw*)
+	    cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[1], '\\')) != NULL)
+      {
+	*p = '/';
+      }
+  }
+EOF
+	    ;;
+	    esac
+
+	    cat <<"EOF"
+  XFREE (shwrapper_name);
+  XFREE (actual_cwrapper_path);
+
+  /* always write in binary mode */
+  if ((shwrapper = fopen (newargz[1], FOPEN_WB)) == 0)
+    {
+      lt_fatal ("Could not open %s for writing", newargz[1]);
+    }
+  fprintf (shwrapper, "%s", script_text);
+  fclose (shwrapper);
+
+  make_executable (newargz[1]);
+
+  for (i = 1; i < argc; i++)
+    newargz[i + 1] = xstrdup (argv[i]);
+  newargz[argc + 1] = NULL;
+
+  for (i = 0; i < argc + 1; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, newargz[i]));
+    }
 
-  # libtool link mode
-  link | relink)
-    modename="$modename: link"
+EOF
+
+	    case $host_os in
+	      mingw*)
+		cat <<EOF
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, "$lt_newargv0", (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"$lt_newargv0\": errno = %d\n", errno));
+      return 127;
+    }
+  return rval;
+}
+EOF
+		;;
+	      *)
+		cat <<EOF
+  execv ("$lt_newargv0", newargz);
+  return rval; /* =127, but avoids unused variable warning */
+}
+EOF
+		;;
+	    esac
+
+	    cat <<"EOF"
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+			  string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+	return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+	{
+	  concat_name = xstrdup (wrapper);
+	  if (check_executable (concat_name))
+	    return concat_name;
+	  XFREE (concat_name);
+	}
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+	has_slash = 1;
+	break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+	{
+	  for (p = path; *p; p = p_next)
+	    {
+	      const char *q;
+	      size_t p_len;
+	      for (q = p; *q; q++)
+		if (IS_PATH_SEPARATOR (*q))
+		  break;
+	      p_len = q - p;
+	      p_next = (*q == '\0' ? q : q + 1);
+	      if (p_len == 0)
+		{
+		  /* empty path: current directory */
+		  if (getcwd (tmp, LT_PATHMAX) == NULL)
+		    lt_fatal ("getcwd failed");
+		  tmp_len = strlen (tmp);
+		  concat_name =
+		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, tmp, tmp_len);
+		  concat_name[tmp_len] = '/';
+		  strcpy (concat_name + tmp_len + 1, wrapper);
+		}
+	      else
+		{
+		  concat_name =
+		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, p, p_len);
+		  concat_name[p_len] = '/';
+		  strcpy (concat_name + p_len + 1, wrapper);
+		}
+	      if (check_executable (concat_name))
+		return concat_name;
+	      XFREE (concat_name);
+	    }
+	}
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+			      tmp_pathspec));
+      if (lstat (tmp_pathspec, &s) == 0)
+	{
+	  if (S_ISLNK (s.st_mode) != 0)
+	    {
+	      has_symlinks = 1;
+	      break;
+	    }
+
+	  /* search backwards for last DIR_SEPARATOR */
+	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    p--;
+	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    {
+	      /* no more DIR_SEPARATORS left */
+	      break;
+	    }
+	  *p = '\0';
+	}
+      else
+	{
+	  char *errstr = strerror (errno);
+	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+	}
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("Could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+	*str = '\0';
+    }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+	       const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
     case $host in
     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
       # It is impossible to link a dll without this setting, and
@@ -1121,10 +3533,10 @@ EOF
       allow_undefined=yes
       ;;
     esac
-    libtool_args="$nonopt"
+    libtool_args=$nonopt
     base_compile="$nonopt $@"
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
+    compile_command=$nonopt
+    finalize_command=$nonopt
 
     compile_rpath=
     finalize_rpath=
@@ -1139,6 +3551,7 @@ EOF
     dllsearchpath=
     lib_search_path=`pwd`
     inst_prefix_dir=
+    new_inherited_linker_flags=
 
     avoid_version=no
     dlfiles=
@@ -1154,7 +3567,6 @@ EOF
     no_install=no
     objs=
     non_pic_objects=
-    notinst_path= # paths that contain not-installed libtool libraries
     precious_files_regex=
     prefer_static_libs=no
     preload=no
@@ -1168,19 +3580,25 @@ EOF
     thread_safe=no
     vinfo=
     vinfo_number=no
+    weak_libs=
     single_module="${wl}-single_module"
-
     func_infer_tag $base_compile
 
     # We need to know -static, to get the right output filenames.
     for arg
     do
       case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	break
+	;;
       -all-static | -static | -static-libtool-libs)
 	case $arg in
 	-all-static)
 	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
+	    func_warning "complete static linking is impossible in this configuration"
 	  fi
 	  if test -n "$link_static_flag"; then
 	    dlopen_self=$dlopen_self_static
@@ -1214,20 +3632,16 @@ EOF
     while test "$#" -gt 0; do
       arg="$1"
       shift
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
-	;;
-      *) qarg=$arg ;;
-      esac
-      libtool_args="$libtool_args $qarg"
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
 
       # If the previous option needs an argument, assign it.
       if test -n "$prev"; then
 	case $prev in
 	output)
-	  compile_command="$compile_command @OUTPUT@"
-	  finalize_command="$finalize_command @OUTPUT@"
+	  func_append compile_command " @OUTPUT@"
+	  func_append finalize_command " @OUTPUT@"
 	  ;;
 	esac
 
@@ -1235,8 +3649,8 @@ EOF
 	dlfiles|dlprefiles)
 	  if test "$preload" = no; then
 	    # Add the symbol object into the linking commands.
-	    compile_command="$compile_command @SYMFILE@"
-	    finalize_command="$finalize_command @SYMFILE@"
+	    func_append compile_command " @SYMFILE@"
+	    func_append finalize_command " @SYMFILE@"
 	    preload=yes
 	  fi
 	  case $arg in
@@ -1274,10 +3688,8 @@ EOF
 	  ;;
 	expsyms)
 	  export_symbols="$arg"
-	  if test ! -f "$arg"; then
-	    $echo "$modename: symbol file \`$arg' does not exist"
-	    exit $EXIT_FAILURE
-	  fi
+	  test -f "$arg" \
+	    || func_fatal_error "symbol file \`$arg' does not exist"
 	  prev=
 	  continue
 	  ;;
@@ -1286,18 +3698,21 @@ EOF
 	  prev=
 	  continue
 	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+		*" $qarg.ltframework "*) ;;
+		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+		   ;;
+	      esac
+	      ;;
+	  esac
 	  prev=
 	  continue
 	  ;;
-	release)
-	  release="-$arg"
+	inst_prefix)
+	  inst_prefix_dir="$arg"
 	  prev=
 	  continue
 	  ;;
@@ -1305,39 +3720,30 @@ EOF
 	  if test -f "$arg"; then
 	    save_arg=$arg
 	    moreargs=
-	    for fil in `cat $save_arg`
+	    for fil in `cat "$save_arg"`
 	    do
 #	      moreargs="$moreargs $fil"
 	      arg=$fil
 	      # A libtool-controlled object.
 
 	      # Check to see that this really is a libtool object.
-	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	      if func_lalib_unsafe_p "$arg"; then
 		pic_object=
 		non_pic_object=
 
 		# Read the .lo file
-		# If there is no directory component, then add one.
-		case $arg in
-		*/* | *\\*) . $arg ;;
-		*) . ./$arg ;;
-		esac
+		func_source "$arg"
 
-		if test -z "$pic_object" || \
+		if test -z "$pic_object" ||
 		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none && \
+		   test "$pic_object" = none &&
 		   test "$non_pic_object" = none; then
-		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-		  exit $EXIT_FAILURE
+		  func_fatal_error "cannot find name of object for \`$arg'"
 		fi
 
 		# Extract subdirectory from the argument.
-		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		if test "X$xdir" = "X$arg"; then
-		  xdir=
-		else
-		  xdir="$xdir/"
-		fi
+		func_dirname "$arg" "/" ""
+		xdir="$func_dirname_result"
 
 		if test "$pic_object" != none; then
 		  # Prepend the subdirectory the object is found in.
@@ -1362,7 +3768,7 @@ EOF
 		  fi
 
 		  # A PIC object.
-		  libobjs="$libobjs $pic_object"
+		  func_append libobjs " $pic_object"
 		  arg="$pic_object"
 		fi
 
@@ -1372,7 +3778,7 @@ EOF
 		  non_pic_object="$xdir$non_pic_object"
 
 		  # A standard non-PIC object
-		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  func_append non_pic_objects " $non_pic_object"
 		  if test -z "$pic_object" || test "$pic_object" = none ; then
 		    arg="$non_pic_object"
 		  fi
@@ -1380,46 +3786,48 @@ EOF
 		  # If the PIC object exists, use it instead.
 		  # $xdir was prepended to $pic_object above.
 		  non_pic_object="$pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  func_append non_pic_objects " $non_pic_object"
 		fi
 	      else
 		# Only an error if not doing a dry-run.
-		if test -z "$run"; then
-		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-		  exit $EXIT_FAILURE
-		else
-		  # Dry-run case.
-
+		if $opt_dry_run; then
 		  # Extract subdirectory from the argument.
-		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-		  if test "X$xdir" = "X$arg"; then
-		    xdir=
-		  else
-		    xdir="$xdir/"
-		  fi
-
-		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-		  libobjs="$libobjs $pic_object"
-		  non_pic_objects="$non_pic_objects $non_pic_object"
+		  func_dirname "$arg" "/" ""
+		  xdir="$func_dirname_result"
+
+		  func_lo2o "$arg"
+		  pic_object=$xdir$objdir/$func_lo2o_result
+		  non_pic_object=$xdir$func_lo2o_result
+		  func_append libobjs " $pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+	        else
+		  func_fatal_error "\`$arg' is not a valid libtool object"
 		fi
 	      fi
 	    done
 	  else
-	    $echo "$modename: link input file \`$save_arg' does not exist"
-	    exit $EXIT_FAILURE
+	    func_fatal_error "link input file \`$arg' does not exist"
 	  fi
 	  arg=$save_arg
 	  prev=
 	  continue
 	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
 	rpath | xrpath)
 	  # We need an absolute path.
 	  case $arg in
 	  [\\/]* | [A-Za-z]:[\\/]*) ;;
 	  *)
-	    $echo "$modename: only absolute run-paths are allowed" 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_error "only absolute run-paths are allowed"
 	    ;;
 	  esac
 	  if test "$prev" = rpath; then
@@ -1436,39 +3844,37 @@ EOF
 	  prev=
 	  continue
 	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
+	shrext)
+	  shrext_cmds="$arg"
 	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
 	  continue
 	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
+	weak)
+	  weak_libs="$weak_libs $arg"
 	  prev=
-	  compile_command="$compile_command $wl$qarg"
-	  finalize_command="$finalize_command $wl$qarg"
 	  continue
 	  ;;
 	xcclinker)
 	  linker_flags="$linker_flags $qarg"
 	  compiler_flags="$compiler_flags $qarg"
 	  prev=
-	  compile_command="$compile_command $qarg"
-	  finalize_command="$finalize_command $qarg"
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
-	shrext)
-  	  shrext_cmds="$arg"
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
 	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
-	darwin_framework|darwin_framework_skip)
-	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
 	  prev=
+	  func_append compile_command " $wl$qarg"
+	  func_append finalize_command " $wl$qarg"
 	  continue
 	  ;;
 	*)
@@ -1484,16 +3890,16 @@ EOF
       case $arg in
       -all-static)
 	if test -n "$link_static_flag"; then
-	  compile_command="$compile_command $link_static_flag"
-	  finalize_command="$finalize_command $link_static_flag"
+	  # See comment for -static flag below, for more details.
+	  func_append compile_command " $link_static_flag"
+	  func_append finalize_command " $link_static_flag"
 	fi
 	continue
 	;;
 
       -allow-undefined)
 	# FIXME: remove this flag sometime in the future.
-	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-	continue
+	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
 	;;
 
       -avoid-version)
@@ -1518,8 +3924,7 @@ EOF
 
       -export-symbols | -export-symbols-regex)
 	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  $echo "$modename: more than one -exported-symbols argument is not allowed"
-	  exit $EXIT_FAILURE
+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
 	fi
 	if test "X$arg" = "X-export-symbols"; then
 	  prev=expsyms
@@ -1529,15 +3934,8 @@ EOF
 	continue
 	;;
 
-      -framework|-arch|-isysroot)
-	case " $CC " in
-	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
-		prev=darwin_framework_skip ;;
-	  *) compiler_flags="$compiler_flags $arg"
-	     prev=darwin_framework ;;
-	esac
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
+      -framework)
+	prev=framework
 	continue
 	;;
 
@@ -1551,25 +3949,23 @@ EOF
       -L[A-Z][A-Z]*:*)
 	case $with_gcc/$host in
 	no/*-*-irix* | /*-*-irix*)
-	  compile_command="$compile_command $arg"
-	  finalize_command="$finalize_command $arg"
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
 	  ;;
 	esac
 	continue
 	;;
 
       -L*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
+	func_stripname '-L' '' "$arg"
+	dir=$func_stripname_result
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
 	*)
 	  absdir=`cd "$dir" && pwd`
-	  if test -z "$absdir"; then
-	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-	    absdir="$dir"
-	    notinst_path="$notinst_path $dir"
-	  fi
+	  test -z "$absdir" && \
+	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
 	  dir="$absdir"
 	  ;;
 	esac
@@ -1582,7 +3978,7 @@ EOF
 	esac
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$dir:"*) ;;
 	  *) dllsearchpath="$dllsearchpath:$dir";;
@@ -1613,7 +4009,7 @@ EOF
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs -framework System"
+	    deplibs="$deplibs System.ltframework"
 	    continue
 	    ;;
 	  *-*-sco3.2v5* | *-*-sco5v6*)
@@ -1637,20 +4033,30 @@ EOF
 	continue
 	;;
 
+      -module)
+	module=yes
+	continue
+	;;
+
       # Tru64 UNIX uses -model [arg] to determine the layout of C++
       # classes, name mangling, and exception handling.
-      -model)
-	compile_command="$compile_command $arg"
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot)
 	compiler_flags="$compiler_flags $arg"
-	finalize_command="$finalize_command $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
 	prev=xcompiler
 	continue
 	;;
 
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
 	compiler_flags="$compiler_flags $arg"
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	case "$new_inherited_linker_flags " in
+	    *" $arg "*) ;;
+	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+	esac
 	continue
 	;;
 
@@ -1659,44 +4065,6 @@ EOF
 	continue
 	;;
 
-      -module)
-	module=yes
-	continue
-	;;
-
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m* pass through architecture-specific compiler args for GCC
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
-        compile_command="$compile_command $arg"
-        finalize_command="$finalize_command $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
       -no-fast-install)
 	fast_install=no
 	continue
@@ -1707,8 +4075,8 @@ EOF
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
 	  # The PATH hackery in wrapper scripts is required on Windows
 	  # and Darwin in order for the loader to find any dlls it needs.
-	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
-	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
+	  func_warning "\`-no-install' is ignored for $host"
+	  func_warning "assuming \`-no-fast-install' instead"
 	  fast_install=no
 	  ;;
 	*) no_install=yes ;;
@@ -1749,13 +4117,13 @@ EOF
 	;;
 
       -R*)
-	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
+	func_stripname '-R' '' "$arg"
+	dir=$func_stripname_result
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
 	*)
-	  $echo "$modename: only absolute run-paths are allowed" 1>&2
-	  exit $EXIT_FAILURE
+	  func_fatal_error "only absolute run-paths are allowed"
 	  ;;
 	esac
 	case "$xrpath " in
@@ -1765,6 +4133,16 @@ EOF
 	continue
 	;;
 
+      -shared)
+	# The effects of -shared are defined in a previous loop.
+	continue
+	;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
       -static | -static-libtool-libs)
 	# The effects of -static are defined in a previous loop.
 	# We used to do the same as -all-static on platforms that
@@ -1783,47 +4161,49 @@ EOF
 	prev=vinfo
 	continue
 	;;
+
       -version-number)
 	prev=vinfo
 	vinfo_number=yes
 	continue
 	;;
 
+      -weak)
+        prev=weak
+	continue
+	;;
+
       -Wc,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
+	func_stripname '-Wc,' '' "$arg"
+	args=$func_stripname_result
 	arg=
 	save_ifs="$IFS"; IFS=','
 	for flag in $args; do
 	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $flag"
+          func_quote_for_eval "$flag"
+	  arg="$arg $wl$func_quote_for_eval_result"
+	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
 	;;
 
       -Wl,*)
-	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
+	func_stripname '-Wl,' '' "$arg"
+	args=$func_stripname_result
 	arg=
 	save_ifs="$IFS"; IFS=','
 	for flag in $args; do
 	  IFS="$save_ifs"
-	  case $flag in
-	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	    flag="\"$flag\""
-	    ;;
-	  esac
-	  arg="$arg $wl$flag"
-	  compiler_flags="$compiler_flags $wl$flag"
-	  linker_flags="$linker_flags $flag"
+          func_quote_for_eval "$flag"
+	  arg="$arg $wl$func_quote_for_eval_result"
+	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+	  linker_flags="$linker_flags $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
-	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
 	;;
 
       -Xcompiler)
@@ -1841,16 +4221,36 @@ EOF
 	continue
 	;;
 
+      # -msg_* for osf cc
+      -msg_*)
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
       # Some other compiler flag.
       -* | +*)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
 	;;
 
       *.$objext)
@@ -1862,32 +4262,23 @@ EOF
 	# A libtool-controlled object.
 
 	# Check to see that this really is a libtool object.
-	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	if func_lalib_unsafe_p "$arg"; then
 	  pic_object=
 	  non_pic_object=
 
 	  # Read the .lo file
-	  # If there is no directory component, then add one.
-	  case $arg in
-	  */* | *\\*) . $arg ;;
-	  *) . ./$arg ;;
-	  esac
+	  func_source "$arg"
 
-	  if test -z "$pic_object" || \
+	  if test -z "$pic_object" ||
 	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none && \
+	     test "$pic_object" = none &&
 	     test "$non_pic_object" = none; then
-	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_error "cannot find name of object for \`$arg'"
 	  fi
 
 	  # Extract subdirectory from the argument.
-	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	  if test "X$xdir" = "X$arg"; then
-	    xdir=
- 	  else
-	    xdir="$xdir/"
-	  fi
+	  func_dirname "$arg" "/" ""
+	  xdir="$func_dirname_result"
 
 	  if test "$pic_object" != none; then
 	    # Prepend the subdirectory the object is found in.
@@ -1912,7 +4303,7 @@ EOF
 	    fi
 
 	    # A PIC object.
-	    libobjs="$libobjs $pic_object"
+	    func_append libobjs " $pic_object"
 	    arg="$pic_object"
 	  fi
 
@@ -1922,7 +4313,7 @@ EOF
 	    non_pic_object="$xdir$non_pic_object"
 
 	    # A standard non-PIC object
-	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    func_append non_pic_objects " $non_pic_object"
 	    if test -z "$pic_object" || test "$pic_object" = none ; then
 	      arg="$non_pic_object"
 	    fi
@@ -1930,28 +4321,22 @@ EOF
 	    # If the PIC object exists, use it instead.
 	    # $xdir was prepended to $pic_object above.
 	    non_pic_object="$pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    func_append non_pic_objects " $non_pic_object"
 	  fi
 	else
 	  # Only an error if not doing a dry-run.
-	  if test -z "$run"; then
-	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-	    exit $EXIT_FAILURE
-	  else
-	    # Dry-run case.
-
+	  if $opt_dry_run; then
 	    # Extract subdirectory from the argument.
-	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-	    if test "X$xdir" = "X$arg"; then
-	      xdir=
-	    else
-	      xdir="$xdir/"
-	    fi
-
-	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-	    libobjs="$libobjs $pic_object"
-	    non_pic_objects="$non_pic_objects $non_pic_object"
+	    func_dirname "$arg" "/" ""
+	    xdir="$func_dirname_result"
+
+	    func_lo2o "$arg"
+	    pic_object=$xdir$objdir/$func_lo2o_result
+	    non_pic_object=$xdir$func_lo2o_result
+	    func_append libobjs " $pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  else
+	    func_fatal_error "\`$arg' is not a valid libtool object"
 	  fi
 	fi
 	;;
@@ -1984,70 +4369,51 @@ EOF
       *)
 	# Unknown arguments in both finalize_command and compile_command need
 	# to be aesthetically quoted because they are evaled later.
-	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-	case $arg in
-	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	  arg="\"$arg\""
-	  ;;
-	esac
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
 	;;
       esac # arg
 
       # Now actually substitute the argument into the commands.
       if test -n "$arg"; then
-	compile_command="$compile_command $arg"
-	finalize_command="$finalize_command $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
       fi
     done # argument parsing loop
 
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
 
     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
       eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
     fi
 
     oldlibs=
     # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
+    func_basename "$output"
+    outputname="$func_basename_result"
     libobjs_save="$libobjs"
 
     if test -n "$shlibpath_var"; then
       # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
     else
       shlib_search_path=
     fi
     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
 
-    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$output_objdir" = "X$output"; then
-      output_objdir="$objdir"
-    else
-      output_objdir="$output_objdir/$objdir"
-    fi
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
     # Create the object directory.
-    if test ! -d "$output_objdir"; then
-      $show "$mkdir $output_objdir"
-      $run $mkdir $output_objdir
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
-	exit $exit_status
-      fi
-    fi
+    func_mkdir_p "$output_objdir"
 
     # Determine the type of output
     case $output in
     "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
+      func_fatal_help "you must specify an output file"
       ;;
     *.$libext) linkmode=oldlib ;;
     *.lo | *.$objext) linkmode=obj ;;
@@ -2055,22 +4421,13 @@ EOF
     *) linkmode=prog ;; # Anything else should be a program.
     esac
 
-    case $host in
-    *cygwin* | *mingw* | *pw32*)
-      # don't eliminate duplications in $postdeps and $predeps
-      duplicate_compiler_generated_deps=yes
-      ;;
-    *)
-      duplicate_compiler_generated_deps=$duplicate_deps
-      ;;
-    esac
     specialdeplibs=
 
     libs=
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if test "X$duplicate_deps" = "Xyes" ; then
+      if $opt_duplicate_deps ; then
 	case "$libs " in
 	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	esac
@@ -2085,7 +4442,7 @@ EOF
       # $postdeps and mark them as special (i.e., whose duplicates are
       # not to be eliminated).
       pre_post_deps=
-      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
+      if $opt_duplicate_compiler_generated_deps; then
 	for pre_post_dep in $predeps $postdeps; do
 	  case "$pre_post_deps " in
 	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
@@ -2101,15 +4458,16 @@ EOF
     newlib_search_path=
     need_relink=no # whether we're linking any uninstalled libtool libraries
     notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
     case $linkmode in
     lib)
-	passes="conv link"
+	passes="conv dlpreopen link"
 	for file in $dlfiles $dlprefiles; do
 	  case $file in
 	  *.la) ;;
 	  *)
-	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
 	    ;;
 	  esac
 	done
@@ -2125,7 +4483,20 @@ EOF
     *)  passes="conv"
 	;;
     esac
+
     for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+	## FIXME: Find the place where the list is rebuilt in the wrong
+	##        order, and fix it there properly
+        tmp_deplibs=
+	for deplib in $deplibs; do
+	  tmp_deplibs="$deplib $tmp_deplibs"
+	done
+	deplibs="$tmp_deplibs"
+      fi
+
       if test "$linkmode,$pass" = "lib,link" ||
 	 test "$linkmode,$pass" = "prog,scan"; then
 	libs="$deplibs"
@@ -2141,11 +4512,33 @@ EOF
 	  ;;
 	esac
       fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+	# Collect and forward deplibs of preopened libtool libs
+	for lib in $dlprefiles; do
+	  # Ignore non-libtool-libs
+	  dependency_libs=
+	  case $lib in
+	  *.la)	func_source "$lib" ;;
+	  esac
+
+	  # Collect preopened libtool deplibs, except any this library
+	  # has declared as weak libs
+	  for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+	    case " $weak_libs " in
+	    *" $deplib_base "*) ;;
+	    *) deplibs="$deplibs $deplib" ;;
+	    esac
+	  done
+	done
+	libs="$dlprefiles"
+      fi
       if test "$pass" = dlopen; then
 	# Collect dlpreopened libraries
 	save_deplibs="$deplibs"
 	deplibs=
       fi
+
       for deplib in $libs; do
 	lib=
 	found=no
@@ -2156,15 +4549,22 @@ EOF
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
 	    compiler_flags="$compiler_flags $deplib"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		esac
+	    fi
 	  fi
 	  continue
 	  ;;
 	-l*)
 	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
+	    func_warning "\`-l' is ignored for archives/objects"
 	    continue
 	  fi
-	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
+	  func_stripname '-l' '' "$deplib"
+	  name=$func_stripname_result
 	  if test "$linkmode" = lib; then
 	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
 	  else
@@ -2200,21 +4600,17 @@ EOF
 	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 	      case " $predeps $postdeps " in
 	      *" $deplib "*)
-		if (${SED} -e '2q' $lib |
-                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+		if func_lalib_p "$lib"; then
 		  library_names=
 		  old_library=
-		  case $lib in
-		  */* | *\\*) . $lib ;;
-		  *) . ./$lib ;;
-		  esac
+		  func_source "$lib"
 		  for l in $old_library $library_names; do
 		    ll="$l"
 		  done
 		  if test "X$ll" = "X$old_library" ; then # only static version available
 		    found=no
-		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-		    test "X$ladir" = "X$lib" && ladir="."
+		    func_dirname "$lib" "" "."
+		    ladir="$func_dirname_result"
 		    lib=$ladir/$old_library
 		    if test "$linkmode,$pass" = "prog,link"; then
 		      compile_deplibs="$deplib $compile_deplibs"
@@ -2226,19 +4622,35 @@ EOF
 		    continue
 		  fi
 		fi
-	        ;;
+		;;
 	      *) ;;
 	      esac
 	    fi
 	  fi
 	  ;; # -l
+	*.ltframework)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
 	-L*)
 	  case $linkmode in
 	  lib)
 	    deplibs="$deplib $deplibs"
 	    test "$pass" = conv && continue
 	    newdependency_libs="$deplib $newdependency_libs"
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    func_stripname '-L' '' "$deplib"
+	    newlib_search_path="$newlib_search_path $func_stripname_result"
 	    ;;
 	  prog)
 	    if test "$pass" = conv; then
@@ -2251,17 +4663,19 @@ EOF
 	      compile_deplibs="$deplib $compile_deplibs"
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    fi
-	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
+	    func_stripname '-L' '' "$deplib"
+	    newlib_search_path="$newlib_search_path $func_stripname_result"
 	    ;;
 	  *)
-	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
+	    func_warning "\`-L' is ignored for archives/objects"
 	    ;;
 	  esac # linkmode
 	  continue
 	  ;; # -L
 	-R*)
 	  if test "$pass" = link; then
-	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
+	    func_stripname '-R' '' "$deplib"
+	    dir=$func_stripname_result
 	    # Make sure the xrpath contains only unique directories.
 	    case "$xrpath " in
 	    *" $dir "*) ;;
@@ -2279,35 +4693,41 @@ EOF
 	  fi
 	  case $linkmode in
 	  lib)
-	    valid_a_lib=no
-	    case $deplibs_check_method in
-	      match_pattern*)
-		set dummy $deplibs_check_method
-	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-		if eval $echo \"$deplib\" 2>/dev/null \
-		    | $SED 10q \
+	    # Linking convenience modules into shared libraries is allowed,
+	    # but linking other static libraries is non-portable.
+	    case " $dlpreconveniencelibs " in
+	    *" $deplib "*) ;;
+	    *)
+	      valid_a_lib=no
+	      case $deplibs_check_method in
+		match_pattern*)
+		  set dummy $deplibs_check_method; shift
+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
 		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		  valid_a_lib=yes
-		fi
+		    valid_a_lib=yes
+		  fi
 		;;
-	      pass_all)
-		valid_a_lib=yes
+		pass_all)
+		  valid_a_lib=yes
 		;;
-            esac
-	    if test "$valid_a_lib" != yes; then
-	      $echo
-	      $echo "*** Warning: Trying to link with static lib archive $deplib."
-	      $echo "*** I have the capability to make that library automatically link in when"
-	      $echo "*** you link to this library.  But I can only do this if you have a"
-	      $echo "*** shared version of the library, which you do not appear to have"
-	      $echo "*** because the file extensions .$libext of this argument makes me believe"
-	      $echo "*** that it is just a static archive that I should not used here."
-	    else
-	      $echo
-	      $echo "*** Warning: Linking the shared library $output against the"
-	      $echo "*** static library $deplib is not portable!"
-	      deplibs="$deplib $deplibs"
-	    fi
+	      esac
+	      if test "$valid_a_lib" != yes; then
+		$ECHO
+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
+		$ECHO "*** that it is just a static archive that I should not use here."
+	      else
+		$ECHO
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      fi
+	      ;;
+	    esac
 	    continue
 	    ;;
 	  prog)
@@ -2342,21 +4762,18 @@ EOF
 	  continue
 	  ;;
 	esac # case $deplib
+
 	if test "$found" = yes || test -f "$lib"; then :
 	else
-	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
-	  exit $EXIT_FAILURE
+	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
 	fi
 
 	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  exit $EXIT_FAILURE
-	fi
+	func_lalib_unsafe_p "$lib" \
+	  || func_fatal_error "\`$lib' is not a valid libtool archive"
 
-	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$ladir" = "X$lib" && ladir="."
+	func_dirname "$lib" "" "."
+	ladir="$func_dirname_result"
 
 	dlname=
 	dlopen=
@@ -2364,6 +4781,7 @@ EOF
 	libdir=
 	library_names=
 	old_library=
+	inherited_linker_flags=
 	# If the library was installed with an old release of libtool,
 	# it will not redefine variables installed, or shouldnotlink
 	installed=yes
@@ -2372,11 +4790,19 @@ EOF
 
 
 	# Read the .la file
-	case $lib in
-	*/* | *\\*) . $lib ;;
-	*) . ./$lib ;;
-	esac
-
+	func_source "$lib"
+
+	# Convert "-framework foo" to "foo.ltframework"
+	if test -n "$inherited_linker_flags"; then
+	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+	    case " $new_inherited_linker_flags " in
+	      *" $tmp_inherited_linker_flag "*) ;;
+	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+	    esac
+	  done
+	fi
+	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
@@ -2389,26 +4815,24 @@ EOF
 	  deplibs="$lib $deplibs"
 	  if test -z "$libdir"; then
 	    if test -z "$old_library"; then
-	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	      exit $EXIT_FAILURE
+	      func_fatal_error "cannot find name of link library for \`$lib'"
 	    fi
 	    # It is a libtool convenience library, so add in its objects.
 	    convenience="$convenience $ladir/$objdir/$old_library"
 	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-              if test "X$duplicate_deps" = "Xyes" ; then
-	        case "$tmp_libs " in
-	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	        esac
-              fi
-	      tmp_libs="$tmp_libs $deplib"
-	    done
 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_error "\`$lib' is not a convenience library"
 	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_duplicate_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
 	  continue
 	fi # $pass = conv
 
@@ -2419,15 +4843,13 @@ EOF
 	  linklib="$l"
 	done
 	if test -z "$linklib"; then
-	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-	  exit $EXIT_FAILURE
+	  func_fatal_error "cannot find name of link library for \`$lib'"
 	fi
 
 	# This library was specified with -dlopen.
 	if test "$pass" = dlopen; then
 	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
 	  fi
 	  if test -z "$dlname" ||
 	     test "$dlopen_support" != yes ||
@@ -2449,18 +4871,19 @@ EOF
 	*)
 	  abs_ladir=`cd "$ladir" && pwd`
 	  if test -z "$abs_ladir"; then
-	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
-	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
+	    func_warning "cannot determine absolute directory name of \`$ladir'"
+	    func_warning "passing it literally to the linker, although it might fail"
 	    abs_ladir="$ladir"
 	  fi
 	  ;;
 	esac
-	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
+	func_basename "$lib"
+	laname="$func_basename_result"
 
 	# Find the relevant object directory and library name.
 	if test "X$installed" = Xyes; then
 	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
+	    func_warning "library \`$lib' was moved."
 	    dir="$ladir"
 	    absdir="$abs_ladir"
 	    libdir="$abs_ladir"
@@ -2482,18 +4905,22 @@ EOF
 	    notinst_path="$notinst_path $abs_ladir"
 	  fi
 	fi # $installed = yes
-	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	func_stripname 'lib' '.la' "$laname"
+	name=$func_stripname_result
 
 	# This library was specified with -dlpreopen.
 	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir"; then
-	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
-	    exit $EXIT_FAILURE
+	  if test -z "$libdir" && test "$linkmode" = prog; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
 	  fi
 	  # Prefer using a static library (so that no silly _DYNAMIC symbols
 	  # are required to link).
 	  if test -n "$old_library"; then
 	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	    # Keep a list of preopened convenience libraries to check
+	    # that they are being used correctly in the link pass.
+	    test -z "$libdir" && \
+		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
 	  # Otherwise, use the dlname, so that lt_dlopen finds it.
 	  elif test -n "$dlname"; then
 	    newdlprefiles="$newdlprefiles $dir/$dlname"
@@ -2529,7 +4956,9 @@ EOF
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    case $deplib in
-	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
+	    -L*) func_stripname '-L' '' "$deplib"
+	         newlib_search_path="$newlib_search_path $func_stripname_result"
+		 ;;
 	    esac
 	    # Need to link against all dependency_libs?
 	    if test "$linkalldeplibs" = yes; then
@@ -2539,7 +4968,7 @@ EOF
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
-	    if test "X$duplicate_deps" = "Xyes" ; then
+	    if $opt_duplicate_deps ; then
 	      case "$tmp_libs " in
 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	      esac
@@ -2552,15 +4981,14 @@ EOF
 	if test "$linkmode,$pass" = "prog,link"; then
 	  if test -n "$library_names" &&
 	     { { test "$prefer_static_libs" = no ||
-		 test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
 	       test -z "$old_library"; }; then
 	    # We need to hardcode the library path
 	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
 	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath " in
-	      *" $dir "*) ;;
-	      *" $absdir "*) ;;
-	      *) temp_rpath="$temp_rpath $absdir" ;;
+	      case "$temp_rpath:" in
+	      *"$absdir:"*) ;;
+	      *) temp_rpath="$temp_rpath$absdir:" ;;
 	      esac
 	    fi
 
@@ -2598,27 +5026,43 @@ EOF
 
 	link_static=no # Whether the deplib will be linked statically
 	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes ; then
+	if test "$use_static_libs" = built && test "$installed" = yes; then
 	  use_static_libs=no
 	fi
 	if test -n "$library_names" &&
 	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
-	  if test "$installed" = no; then
-	    notinst_deplibs="$notinst_deplibs $lib"
-	    need_relink=yes
-	  fi
+	  case $host in
+	  *cygwin* | *mingw*)
+	      # No point in relinking DLLs because paths are not encoded
+	      notinst_deplibs="$notinst_deplibs $lib"
+	      need_relink=no
+	    ;;
+	  *)
+	    if test "$installed" = no; then
+	      notinst_deplibs="$notinst_deplibs $lib"
+	      need_relink=yes
+	    fi
+	    ;;
+	  esac
 	  # This is a shared library
 
-	  # Warn about portability, can't link against -module's on
-	  # some systems (darwin)
-	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
-	    $echo
+	  # Warn about portability, can't link against -module's on some
+	  # systems (darwin).  Don't bleat about dlopened modules though!
+	  dlopenmodule=""
+	  for dlpremoduletest in $dlprefiles; do
+	    if test "X$dlpremoduletest" = "X$lib"; then
+	      dlopenmodule="$dlpremoduletest"
+	      break
+	    fi
+	  done
+	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+	    $ECHO
 	    if test "$linkmode" = prog; then
-	      $echo "*** Warning: Linking the executable $output against the loadable module"
+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
 	    else
-	      $echo "*** Warning: Linking the shared library $output against the loadable module"
+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
 	    fi
-	    $echo "*** $linklib is not portable!"
+	    $ECHO "*** $linklib is not portable!"
 	  fi
 	  if test "$linkmode" = lib &&
 	     test "$hardcode_into_libs" = yes; then
@@ -2648,9 +5092,10 @@ EOF
 	  if test -n "$old_archive_from_expsyms_cmds"; then
 	    # figure out the soname
 	    set dummy $library_names
-	    realname="$2"
-	    shift; shift
-	    libname=`eval \\$echo \"$libname_spec\"`
+	    shift
+	    realname="$1"
+	    shift
+	    libname=`eval "\\$ECHO \"$libname_spec\""`
 	    # use dlname if we got it. it's perfectly good, no?
 	    if test -n "$dlname"; then
 	      soname="$dlname"
@@ -2658,7 +5103,8 @@ EOF
 	      # bleh windows
 	      case $host in
 	      *cygwin* | mingw*)
-		major=`expr $current - $age`
+	        func_arith $current - $age
+		major=$func_arith_result
 		versuffix="-$major"
 		;;
 	      esac
@@ -2669,36 +5115,22 @@ EOF
 
 	    # Make a new name for the extract_expsyms_cmds to use
 	    soroot="$soname"
-	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
-	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
+	    func_basename "$soroot"
+	    soname="$func_basename_result"
+	    func_stripname 'lib' '.dll' "$soname"
+	    newlib=libimp-$func_stripname_result.a
 
 	    # If the library has no export list, then create one now
 	    if test -f "$output_objdir/$soname-def"; then :
 	    else
-	      $show "extracting exported symbol list from \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$extract_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
+	      func_verbose "extracting exported symbol list from \`$soname'"
+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
 	    fi
 
 	    # Create $newlib
 	    if test -f "$output_objdir/$newlib"; then :; else
-	      $show "generating import library for \`$soname'"
-	      save_ifs="$IFS"; IFS='~'
-	      cmds=$old_archive_from_expsyms_cmds
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd" || exit $?
-	      done
-	      IFS="$save_ifs"
+	      func_verbose "generating import library for \`$soname'"
+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
 	    fi
 	    # make sure the library variables are pointing to the new library
 	    dir=$output_objdir
@@ -2720,17 +5152,21 @@ EOF
 		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
 		    *-*-unixware7*) add_dir="-L$dir" ;;
 		  *-*-darwin* )
-		    # if the lib is a module then we can not link against
-		    # it, someone is ignoring the new warnings I added
+		    # if the lib is a (non-dlopened) module then we can not
+		    # link against it, someone is ignoring the earlier warnings
 		    if /usr/bin/file -L $add 2> /dev/null |
-                      $EGREP ": [^:]* bundle" >/dev/null ; then
-		      $echo "** Warning, lib $linklib is a module, not a shared library"
-		      if test -z "$old_library" ; then
-		        $echo
-		        $echo "** And there doesn't seem to be a static archive available"
-		        $echo "** The link will probably fail, sorry"
-		      else
-		        add="$dir/$old_library"
+			 $GREP ": [^:]* bundle" >/dev/null ; then
+		      if test "X$dlopenmodule" != "X$lib"; then
+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
+			if test -z "$old_library" ; then
+			  $ECHO
+			  $ECHO "*** And there doesn't seem to be a static archive available"
+			  $ECHO "*** The link will probably fail, sorry"
+			else
+			  add="$dir/$old_library"
+			fi
+		      elif test -n "$old_library"; then
+			add="$dir/$old_library"
 		      fi
 		    fi
 		esac
@@ -2748,7 +5184,8 @@ EOF
 	      fi
 	      ;;
 	    relink)
-	      if test "$hardcode_direct" = yes; then
+	      if test "$hardcode_direct" = yes &&
+	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
 		add_dir="-L$dir"
@@ -2772,8 +5209,7 @@ EOF
 	    esac
 
 	    if test "$lib_linked" != yes; then
-	      $echo "$modename: configuration error: unsupported hardcode properties"
-	      exit $EXIT_FAILURE
+	      func_fatal_configuration "unsupported hardcode properties"
 	    fi
 
 	    if test -n "$add_shlibpath"; then
@@ -2788,8 +5224,8 @@ EOF
 	    else
 	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
 	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes && \
-		 test "$hardcode_minus_L" != yes && \
+	      if test "$hardcode_direct" != yes &&
+		 test "$hardcode_minus_L" != yes &&
 		 test "$hardcode_shlibpath_var" = yes; then
 		case :$finalize_shlibpath: in
 		*":$libdir:"*) ;;
@@ -2804,7 +5240,8 @@ EOF
 	    add_dir=
 	    add=
 	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes; then
+	    if test "$hardcode_direct" = yes &&
+	       test "$hardcode_direct_absolute" = no; then
 	      add="$libdir/$linklib"
 	    elif test "$hardcode_minus_L" = yes; then
 	      add_dir="-L$libdir"
@@ -2818,9 +5255,9 @@ EOF
 	    elif test "$hardcode_automatic" = yes; then
 	      if test -n "$inst_prefix_dir" &&
 		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-	        add="$inst_prefix_dir$libdir/$linklib"
+		add="$inst_prefix_dir$libdir/$linklib"
 	      else
-	        add="$libdir/$linklib"
+		add="$libdir/$linklib"
 	      fi
 	    else
 	      # We cannot seem to hardcode it, guess we'll fake it.
@@ -2864,21 +5301,21 @@ EOF
 
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
-	    $echo
-	    $echo "*** Warning: This system can not link to static lib archive $lib."
-	    $echo "*** I have the capability to make that library automatically link in when"
-	    $echo "*** you link to this library.  But I can only do this if you have a"
-	    $echo "*** shared version of the library, which you do not appear to have."
+	    $ECHO
+	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
+	    $ECHO "*** I have the capability to make that library automatically link in when"
+	    $ECHO "*** you link to this library.  But I can only do this if you have a"
+	    $ECHO "*** shared version of the library, which you do not appear to have."
 	    if test "$module" = yes; then
-	      $echo "*** But as you try to build a module library, libtool will still create "
-	      $echo "*** a static module, that should work as long as the dlopening application"
-	      $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      $ECHO "*** But as you try to build a module library, libtool will still create "
+	      $ECHO "*** a static module, that should work as long as the dlopening application"
+	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
-		$echo
-		$echo "*** However, this would only work if libtool was able to extract symbol"
-		$echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$echo "*** not find such a program.  So, this module is probably useless."
-		$echo "*** \`nm' from GNU binutils and a full rebuild may help."
+		$ECHO
+		$ECHO "*** However, this would only work if libtool was able to extract symbol"
+		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$ECHO "*** not find such a program.  So, this module is probably useless."
+		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
 	      fi
 	      if test "$build_old_libs" = no; then
 		build_libtool_libs=module
@@ -2902,7 +5339,8 @@ EOF
 	    temp_deplibs=
 	    for libdir in $dependency_libs; do
 	      case $libdir in
-	      -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
+	      -R*) func_stripname '-R' '' "$libdir"
+	           temp_xrpath=$func_stripname_result
 		   case " $xrpath " in
 		   *" $temp_xrpath "*) ;;
 		   *) xrpath="$xrpath $temp_xrpath";;
@@ -2920,7 +5358,7 @@ EOF
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    newdependency_libs="$deplib $newdependency_libs"
-	    if test "X$duplicate_deps" = "Xyes" ; then
+	    if $opt_duplicate_deps ; then
 	      case "$tmp_libs " in
 	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
 	      esac
@@ -2934,94 +5372,71 @@ EOF
 	      case $deplib in
 	      -L*) path="$deplib" ;;
 	      *.la)
-		dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
-		test "X$dir" = "X$deplib" && dir="."
+	        func_dirname "$deplib" "" "."
+		dir="$func_dirname_result"
 		# We need an absolute path.
 		case $dir in
 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
 		*)
 		  absdir=`cd "$dir" && pwd`
 		  if test -z "$absdir"; then
-		    $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
+		    func_warning "cannot determine absolute directory name of \`$dir'"
 		    absdir="$dir"
 		  fi
 		  ;;
 		esac
-		if grep "^installed=no" $deplib > /dev/null; then
-		  path="$absdir/$objdir"
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  if test -z "$libdir"; then
-		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		    exit $EXIT_FAILURE
-		  fi
-		  if test "$absdir" != "$libdir"; then
-		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-		  fi
-		  path="$absdir"
-		fi
-		depdepl=
+		if $GREP "^installed=no" $deplib > /dev/null; then
 		case $host in
 		*-*-darwin*)
-		  # we do not want to link against static libs,
-		  # but need to link against shared
+		  depdepl=
 		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -n "$deplibrary_names" ; then
 		    for tmp in $deplibrary_names ; do
 		      depdepl=$tmp
 		    done
-		    if test -f "$deplibdir/$depdepl" ; then
-		      depdepl="$deplibdir/$depdepl"
-	      	    elif test -f "$path/$depdepl" ; then
-		      depdepl="$path/$depdepl"
-		    else
-		      # Can't find it, oh well...
-		      depdepl=
+		    if test -f "$absdir/$objdir/$depdepl" ; then
+		      depdepl="$absdir/$objdir/$depdepl"
+		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+		      path=
 		    fi
-		    # do not add paths which are already there
-		    case " $newlib_search_path " in
-		    *" $path "*) ;;
-		    *) newlib_search_path="$newlib_search_path $path";;
-		    esac
 		  fi
-		  path=""
 		  ;;
 		*)
-		  path="-L$path"
-		  ;;
-		esac
-		;;
-	      -l*)
-		case $host in
-		*-*-darwin*)
-		  # Again, we only want to link against shared libraries
-		  eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
-		  for tmp in $newlib_search_path ; do
-		    if test -f "$tmp/lib$tmp_libs.dylib" ; then
-		      eval depdepl="$tmp/lib$tmp_libs.dylib"
-		      break
-		    fi
-		  done
-		  path=""
+		  path="-L$absdir/$objdir"
 		  ;;
-		*) continue ;;
 		esac
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  test -z "$libdir" && \
+		    func_fatal_error "\`$deplib' is not a valid libtool archive"
+		  test "$absdir" != "$libdir" && \
+		    func_warning "\`$deplib' seems to be moved"
+
+		  path="-L$absdir"
+		fi
 		;;
-	      *) continue ;;
 	      esac
 	      case " $deplibs " in
 	      *" $path "*) ;;
 	      *) deplibs="$path $deplibs" ;;
 	      esac
-	      case " $deplibs " in
-	      *" $depdepl "*) ;;
-	      *) deplibs="$depdepl $deplibs" ;;
-	      esac
 	    done
 	  fi # link_all_deplibs != no
 	fi # linkmode = lib
       done # for deplib in $libs
+      if test "$pass" = link; then
+	if test "$linkmode" = "prog"; then
+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+	else
+	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	fi
+      fi
       dependency_libs="$newdependency_libs"
       if test "$pass" = dlpreopen; then
 	# Link the dlpreopened libraries before other libraries
@@ -3120,39 +5535,36 @@ EOF
     done # for pass
     if test "$linkmode" = prog; then
       dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
       dlprefiles="$newdlprefiles"
     fi
 
     case $linkmode in
     oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for archives"
+      fi
+
       case " $deplibs" in
       *\ -l* | *\ -L*)
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
+	func_warning "\`-l' and \`-L' are ignored for archives" ;;
       esac
 
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for archives"
 
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for archives"
 
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
-      fi
+      test -n "$vinfo" && \
+	func_warning "\`-version-info/-version-number' is ignored for archives"
 
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for archives"
 
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	$echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
+      test -n "$export_symbols$export_symbols_regex" && \
+	func_warning "\`-export-symbols' is ignored for archives"
 
       # Now set the variables for building old libraries.
       build_libtool_libs=no
@@ -3164,48 +5576,48 @@ EOF
       # Make sure we only generate libraries of the form `libNAME.la'.
       case $outputname in
       lib*)
-	name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
+	func_stripname 'lib' '.la' "$outputname"
+	name=$func_stripname_result
 	eval shared_ext=\"$shrext_cmds\"
 	eval libname=\"$libname_spec\"
 	;;
       *)
-	if test "$module" = no; then
-	  $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
+	test "$module" = no && \
+	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
 	if test "$need_lib_prefix" != no; then
 	  # Add the "lib" prefix for modules if required
-	  name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  func_stripname '' '.la' "$outputname"
+	  name=$func_stripname_result
 	  eval shared_ext=\"$shrext_cmds\"
 	  eval libname=\"$libname_spec\"
 	else
-	  libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
+	  func_stripname '' '.la' "$outputname"
+	  libname=$func_stripname_result
 	fi
 	;;
       esac
 
       if test -n "$objs"; then
 	if test "$deplibs_check_method" != pass_all; then
-	  $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
-	  exit $EXIT_FAILURE
+	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
 	else
-	  $echo
-	  $echo "*** Warning: Linking the shared library $output against the non-libtool"
-	  $echo "*** objects $objs is not portable!"
+	  $ECHO
+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+	  $ECHO "*** objects $objs is not portable!"
 	  libobjs="$libobjs $objs"
 	fi
       fi
 
-      if test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
-      fi
+      test "$dlself" != no && \
+	func_warning "\`-dlopen self' is ignored for libtool libraries"
 
       set dummy $rpath
-      if test "$#" -gt 2; then
-	$echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
+      shift
+      test "$#" -gt 1 && \
+	func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
 
       oldlibs=
       if test -z "$rpath"; then
@@ -3219,25 +5631,21 @@ EOF
 	  build_old_libs=yes
 	fi
 
-	if test -n "$vinfo"; then
-	  $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
-	fi
+	test -n "$vinfo" && \
+	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
 
-	if test -n "$release"; then
-	  $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-	fi
+	test -n "$release" && \
+	  func_warning "\`-release' is ignored for convenience libraries"
       else
 
 	# Parse the version information argument.
 	save_ifs="$IFS"; IFS=':'
 	set dummy $vinfo 0 0 0
+	shift
 	IFS="$save_ifs"
 
-	if test -n "$8"; then
-	  $echo "$modename: too many parameters to \`-version-info'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
+	test -n "$7" && \
+	  func_fatal_help "too many parameters to \`-version-info'"
 
 	# convert absolute version numbers to libtool ages
 	# this retains compatibility with .la files and attempts
@@ -3245,9 +5653,9 @@ EOF
 
 	case $vinfo_number in
 	yes)
-	  number_major="$2"
-	  number_minor="$3"
-	  number_revision="$4"
+	  number_major="$1"
+	  number_minor="$2"
+	  number_revision="$3"
 	  #
 	  # There are really only two kinds -- those that
 	  # use the current revision as the major version
@@ -3257,7 +5665,8 @@ EOF
 	  #
 	  case $version_type in
 	  darwin|linux|osf|windows|none)
-	    current=`expr $number_major + $number_minor`
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
 	    age="$number_minor"
 	    revision="$number_revision"
 	    ;;
@@ -3267,22 +5676,21 @@ EOF
 	    age="0"
 	    ;;
 	  irix|nonstopux)
-	    current=`expr $number_major + $number_minor`
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
 	    age="$number_minor"
 	    revision="$number_minor"
 	    lt_irix_increment=no
 	    ;;
 	  *)
-	    $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	    $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	    exit $EXIT_FAILURE
+	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
 	    ;;
 	  esac
 	  ;;
 	no)
-	  current="$2"
-	  revision="$3"
-	  age="$4"
+	  current="$1"
+	  revision="$2"
+	  age="$3"
 	  ;;
 	esac
 
@@ -3290,34 +5698,30 @@ EOF
 	case $current in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
+	  func_error "CURRENT \`$current' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	case $revision in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
+	  func_error "REVISION \`$revision' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	case $age in
 	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
 	*)
-	  $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
+	  func_error "AGE \`$age' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
 	  ;;
 	esac
 
 	if test "$age" -gt "$current"; then
-	  $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-	  $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-	  exit $EXIT_FAILURE
+	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
+	  func_fatal_error "\`$vinfo' is not valid version information"
 	fi
 
 	# Calculate the version variables.
@@ -3330,10 +5734,12 @@ EOF
 	darwin)
 	  # Like Linux, but with the current version available in
 	  # verstring for coding it into the library header
-	  major=.`expr $current - $age`
+	  func_arith $current - $age
+	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
 	  # Darwin ld doesn't like 0 for these options...
-	  minor_current=`expr $current + 1`
+	  func_arith $current + 1
+	  minor_current=$func_arith_result
 	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
 	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
 	  ;;
@@ -3345,15 +5751,17 @@ EOF
 
 	freebsd-elf)
 	  major=".$current"
-	  versuffix=".$current";
+	  versuffix=".$current"
 	  ;;
 
 	irix | nonstopux)
 	  if test "X$lt_irix_increment" = "Xno"; then
-	    major=`expr $current - $age`
+	    func_arith $current - $age
 	  else
-	    major=`expr $current - $age + 1`
+	    func_arith $current - $age + 1
 	  fi
+	  major=$func_arith_result
+
 	  case $version_type in
 	    nonstopux) verstring_prefix=nonstopux ;;
 	    *)         verstring_prefix=sgi ;;
@@ -3363,8 +5771,10 @@ EOF
 	  # Add in all the interfaces that we are compatible with.
 	  loop=$revision
 	  while test "$loop" -ne 0; do
-	    iface=`expr $revision - $loop`
-	    loop=`expr $loop - 1`
+	    func_arith $revision - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
 	    verstring="$verstring_prefix$major.$iface:$verstring"
 	  done
 
@@ -3374,20 +5784,24 @@ EOF
 	  ;;
 
 	linux)
-	  major=.`expr $current - $age`
+	  func_arith $current - $age
+	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
 	  ;;
 
 	osf)
-	  major=.`expr $current - $age`
+	  func_arith $current - $age
+	  major=.$func_arith_result
 	  versuffix=".$current.$age.$revision"
 	  verstring="$current.$age.$revision"
 
 	  # Add in all the interfaces that we are compatible with.
 	  loop=$age
 	  while test "$loop" -ne 0; do
-	    iface=`expr $current - $loop`
-	    loop=`expr $loop - 1`
+	    func_arith $current - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
 	    verstring="$verstring:${iface}.0"
 	  done
 
@@ -3395,6 +5809,11 @@ EOF
 	  verstring="$verstring:${current}.0"
 	  ;;
 
+	qnx)
+	  major=".$current"
+	  versuffix=".$current"
+	  ;;
+
 	sunos)
 	  major=".$current"
 	  versuffix=".$current.$revision"
@@ -3403,14 +5822,13 @@ EOF
 	windows)
 	  # Use '-' rather than '.', since we only want one
 	  # extension on DOS 8.3 filesystems.
-	  major=`expr $current - $age`
+	  func_arith $current - $age
+	  major=$func_arith_result
 	  versuffix="-$major"
 	  ;;
 
 	*)
-	  $echo "$modename: unknown library version type \`$version_type'" 1>&2
-	  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-	  exit $EXIT_FAILURE
+	  func_fatal_configuration "unknown library version type \`$version_type'"
 	  ;;
 	esac
 
@@ -3444,7 +5862,7 @@ EOF
 	# Check to see if the archive will have undefined symbols.
 	if test "$allow_undefined" = yes; then
 	  if test "$allow_undefined_flag" = unsupported; then
-	    $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
+	    func_warning "undefined symbols not allowed in $host shared libraries"
 	    build_libtool_libs=no
 	    build_old_libs=yes
 	  fi
@@ -3452,21 +5870,26 @@ EOF
 	  # Don't allow undefined symbols.
 	  allow_undefined_flag="$no_undefined_flag"
 	fi
+
       fi
 
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
       if test "$mode" != relink; then
 	# Remove our outputs, but don't remove object files since they
 	# may have been created when compiling PIC objects.
 	removelist=
-	tempremovelist=`$echo "$output_objdir/*"`
+	tempremovelist=`$ECHO "$output_objdir/*"`
 	for p in $tempremovelist; do
 	  case $p in
 	    *.$objext)
 	       ;;
 	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
 	       if test "X$precious_files_regex" != "X"; then
-	         if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-	         then
+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+		 then
 		   continue
 		 fi
 	       fi
@@ -3475,10 +5898,8 @@ EOF
 	    *) ;;
 	  esac
 	done
-	if test -n "$removelist"; then
-	  $show "${rm}r $removelist"
-	  $run ${rm}r $removelist
-	fi
+	test -n "$removelist" && \
+	  func_show_eval "${RM}r \$removelist"
       fi
 
       # Now set the variables for building old libraries.
@@ -3486,14 +5907,14 @@ EOF
 	oldlibs="$oldlibs $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
-	oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
       fi
 
       # Eliminate all temporary directories.
       #for path in $notinst_path; do
-      #	lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-      #	deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-      #	dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
+      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
       #done
 
       if test -n "$xrpath"; then
@@ -3539,7 +5960,7 @@ EOF
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs -framework System"
+	    deplibs="$deplibs System.ltframework"
 	    ;;
 	  *-*-netbsd*)
 	    # Don't link with libc until the a.out ld.so is fixed.
@@ -3553,7 +5974,7 @@ EOF
 	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
 	    # Compiler inserts libc in the correct place for threads to work
 	    ;;
- 	  *)
+	  *)
 	    # Add libc to deplibs on all other systems if necessary.
 	    if test "$build_libtool_need_lc" = "yes"; then
 	      deplibs="$deplibs -lc"
@@ -3590,17 +6011,18 @@ EOF
 	  # limits. Maybe even breaks it.  We compile a program, linking it
 	  # against the deplibs as a proxy for the library.  Then we can check
 	  # whether they linked in statically or dynamically with ldd.
-	  $rm conftest.c
+	  $opt_dry_run || $RM conftest.c
 	  cat > conftest.c <<EOF
 	  int main() { return 0; }
 EOF
-	  $rm conftest
+	  $opt_dry_run || $RM conftest
 	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
 	    ldd_output=`ldd conftest`
 	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
@@ -3608,37 +6030,40 @@ EOF
 		    i=""
 		    ;;
 		  esac
-	        fi
+		fi
 		if test -n "$i" ; then
-		  libname=`eval \\$echo \"$libname_spec\"`
-		  deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		  set dummy $deplib_matches
-		  deplib_match=$2
+		  libname=`eval "\\$ECHO \"$libname_spec\""`
+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		  set dummy $deplib_matches; shift
+		  deplib_match=$1
 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 		    newdeplibs="$newdeplibs $i"
 		  else
 		    droppeddeps=yes
-		    $echo
-		    $echo "*** Warning: dynamic linker does not accept needed library $i."
-		    $echo "*** I have the capability to make that library automatically link in when"
-		    $echo "*** you link to this library.  But I can only do this if you have a"
-		    $echo "*** shared version of the library, which I believe you do not have"
-		    $echo "*** because a test_compile did reveal that the linker did not use it for"
-		    $echo "*** its dynamic dependency list that programs get resolved with at runtime."
+		    $ECHO
+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		    $ECHO "*** I have the capability to make that library automatically link in when"
+		    $ECHO "*** you link to this library.  But I can only do this if you have a"
+		    $ECHO "*** shared version of the library, which I believe you do not have"
+		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
 		  fi
 		fi
-	      else
+		;;
+	      *)
 		newdeplibs="$newdeplibs $i"
-	      fi
+		;;
+	      esac
 	    done
 	  else
 	    # Error occurred in the first compile.  Let's try to salvage
 	    # the situation: Compile a separate program for each library.
 	    for i in $deplibs; do
-	      name=`expr $i : '-l\(.*\)'`
-	      # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-		$rm conftest
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		$opt_dry_run || $RM conftest
 		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
 		  ldd_output=`ldd conftest`
 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
@@ -3650,44 +6075,47 @@ EOF
 		    esac
 		  fi
 		  if test -n "$i" ; then
-		    libname=`eval \\$echo \"$libname_spec\"`
-		    deplib_matches=`eval \\$echo \"$library_names_spec\"`
-		    set dummy $deplib_matches
-		    deplib_match=$2
+		    libname=`eval "\\$ECHO \"$libname_spec\""`
+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		    set dummy $deplib_matches; shift
+		    deplib_match=$1
 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
 		      newdeplibs="$newdeplibs $i"
 		    else
 		      droppeddeps=yes
-		      $echo
-		      $echo "*** Warning: dynamic linker does not accept needed library $i."
-		      $echo "*** I have the capability to make that library automatically link in when"
-		      $echo "*** you link to this library.  But I can only do this if you have a"
-		      $echo "*** shared version of the library, which you do not appear to have"
-		      $echo "*** because a test_compile did reveal that the linker did not use this one"
-		      $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+		      $ECHO
+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		      $ECHO "*** I have the capability to make that library automatically link in when"
+		      $ECHO "*** you link to this library.  But I can only do this if you have a"
+		      $ECHO "*** shared version of the library, which you do not appear to have"
+		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
 		    fi
 		  fi
 		else
 		  droppeddeps=yes
-		  $echo
-		  $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $echo "*** make it link in!  You will probably need to install it or some"
-		  $echo "*** library that it depends on before this library will be fully"
-		  $echo "*** functional.  Installing it before continuing would be even better."
+		  $ECHO
+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $ECHO "*** make it link in!  You will probably need to install it or some"
+		  $ECHO "*** library that it depends on before this library will be fully"
+		  $ECHO "*** functional.  Installing it before continuing would be even better."
 		fi
-	      else
+		;;
+	      *)
 		newdeplibs="$newdeplibs $i"
-	      fi
+		;;
+	      esac
 	    done
 	  fi
 	  ;;
 	file_magic*)
-	  set dummy $deplibs_check_method
-	  file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  set dummy $deplibs_check_method; shift
+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-            if test "$name" != "" && test  "$name" != "0"; then
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
@@ -3697,13 +6125,13 @@ EOF
 		esac
 	      fi
 	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
+		libname=`eval "\\$ECHO \"$libname_spec\""`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
 		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null \
-			 | grep " -> " >/dev/null; then
+		      if ls -lLd "$potent_lib" 2>/dev/null |
+			 $GREP " -> " >/dev/null; then
 			continue
 		      fi
 		      # The statement above tries to avoid entering an
@@ -3716,12 +6144,12 @@ EOF
 			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 			case $potliblink in
 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
 			esac
 		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | ${SED} 10q \
-			 | $EGREP "$file_magic_regex" > /dev/null; then
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+			 $SED -e 10q |
+			 $EGREP "$file_magic_regex" > /dev/null; then
 			newdeplibs="$newdeplibs $a_deplib"
 			a_deplib=""
 			break 2
@@ -3731,32 +6159,35 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
+		$ECHO
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for file magic test)"
+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
 		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a file magic. Last file checked: $potlib"
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a file magic. Last file checked: $potlib"
 		fi
 	      fi
-	    else
+	      ;;
+	    *)
 	      # Add a -L argument.
 	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
+	      ;;
+	    esac
 	  done # Gone through all deplibs.
 	  ;;
 	match_pattern*)
-	  set dummy $deplibs_check_method
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
+	  set dummy $deplibs_check_method; shift
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
 	  for a_deplib in $deplibs; do
-	    name=`expr $a_deplib : '-l\(.*\)'`
-	    # If $name is empty we are operating on a -L argument.
-	    if test -n "$name" && test "$name" != "0"; then
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
@@ -3766,14 +6197,13 @@ EOF
 		esac
 	      fi
 	      if test -n "$a_deplib" ; then
-		libname=`eval \\$echo \"$libname_spec\"`
+		libname=`eval "\\$ECHO \"$libname_spec\""`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		  for potent_lib in $potential_libs; do
 		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval $echo \"$potent_lib\" 2>/dev/null \
-		        | ${SED} 10q \
-		        | $EGREP "$match_pattern_regex" > /dev/null; then
+		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+		       $EGREP "$match_pattern_regex" > /dev/null; then
 		      newdeplibs="$newdeplibs $a_deplib"
 		      a_deplib=""
 		      break 2
@@ -3783,44 +6213,46 @@ EOF
 	      fi
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
-		$echo
-		$echo "*** Warning: linker path does not have real file for library $a_deplib."
-		$echo "*** I have the capability to make that library automatically link in when"
-		$echo "*** you link to this library.  But I can only do this if you have a"
-		$echo "*** shared version of the library, which you do not appear to have"
-		$echo "*** because I did check the linker path looking for a file starting"
+		$ECHO
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because I did check the linker path looking for a file starting"
 		if test -z "$potlib" ; then
-		  $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
 		else
-		  $echo "*** with $libname and none of the candidates passed a file format test"
-		  $echo "*** using a regex pattern. Last file checked: $potlib"
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
 		fi
 	      fi
-	    else
+	      ;;
+	    *)
 	      # Add a -L argument.
 	      newdeplibs="$newdeplibs $a_deplib"
-	    fi
+	      ;;
+	    esac
 	  done # Gone through all deplibs.
 	  ;;
 	none | unknown | *)
 	  newdeplibs=""
-	  tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-	    -e 's/ -[LR][^ ]*//g'`
+	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
 	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 	    for i in $predeps $postdeps ; do
 	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
+	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
 	    done
 	  fi
-	  if $echo "X $tmp_deplibs" | $Xsed -e 's/[ 	]//g' \
-	    | grep . >/dev/null; then
-	    $echo
+	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
+	     $GREP . >/dev/null; then
+	    $ECHO
 	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $echo "*** Warning: inter-library dependencies are not supported in this platform."
+	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
 	    else
-	      $echo "*** Warning: inter-library dependencies are not known to be supported."
+	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
 	    fi
-	    $echo "*** All declared inter-library dependencies are being dropped."
+	    $ECHO "*** All declared inter-library dependencies are being dropped."
 	    droppeddeps=yes
 	  fi
 	  ;;
@@ -3833,24 +6265,24 @@ EOF
 
 	case $host in
 	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library is the System framework
-	  newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	  # On Rhapsody replace the C library with the System framework
+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 	  ;;
 	esac
 
 	if test "$droppeddeps" = yes; then
 	  if test "$module" = yes; then
-	    $echo
-	    $echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $echo "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $echo "*** a static module, that should work as long as the dlopening"
-	    $echo "*** application is linked with the -dlopen flag."
+	    $ECHO
+	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $ECHO "*** a static module, that should work as long as the dlopening"
+	    $ECHO "*** application is linked with the -dlopen flag."
 	    if test -z "$global_symbol_pipe"; then
-	      $echo
-	      $echo "*** However, this would only work if libtool was able to extract symbol"
-	      $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $echo "*** not find such a program.  So, this module is probably useless."
-	      $echo "*** \`nm' from GNU binutils and a full rebuild may help."
+	      $ECHO
+	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
+	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $ECHO "*** not find such a program.  So, this module is probably useless."
+	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
 	    fi
 	    if test "$build_old_libs" = no; then
 	      oldlibs="$output_objdir/$libname.$libext"
@@ -3860,16 +6292,16 @@ EOF
 	      build_libtool_libs=no
 	    fi
 	  else
-	    $echo "*** The inter-library dependencies that have been dropped here will be"
-	    $echo "*** automatically added whenever a program is linked with this library"
-	    $echo "*** or is declared to -dlopen it."
+	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
+	    $ECHO "*** automatically added whenever a program is linked with this library"
+	    $ECHO "*** or is declared to -dlopen it."
 
 	    if test "$allow_undefined" = no; then
-	      $echo
-	      $echo "*** Since this library must not contain undefined symbols,"
-	      $echo "*** because either the platform does not support them or"
-	      $echo "*** it was explicitly requested with -no-undefined,"
-	      $echo "*** libtool will only create a static version of it."
+	      $ECHO
+	      $ECHO "*** Since this library must not contain undefined symbols,"
+	      $ECHO "*** because either the platform does not support them or"
+	      $ECHO "*** it was explicitly requested with -no-undefined,"
+	      $ECHO "*** libtool will only create a static version of it."
 	      if test "$build_old_libs" = no; then
 		oldlibs="$output_objdir/$libname.$libext"
 		build_libtool_libs=module
@@ -3883,7 +6315,14 @@ EOF
 	# Done checking deplibs!
 	deplibs=$newdeplibs
       fi
-
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+	*-*-darwin*)
+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  ;;
+      esac
 
       # move library search paths that coincide with paths to not yet
       # installed libraries to the beginning of the library search list
@@ -3912,7 +6351,6 @@ EOF
       done
       deplibs="$new_libs"
 
-
       # All the library-specific variables (install_libdir is set above).
       library_names=
       old_library=
@@ -3957,10 +6395,7 @@ EOF
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
 	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      case $archive_cmds in
-	      *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
-	      *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
-	      esac
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
 	    else
 	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
 	    fi
@@ -3986,8 +6421,9 @@ EOF
 	eval shared_ext=\"$shrext_cmds\"
 	eval library_names=\"$library_names_spec\"
 	set dummy $library_names
-	realname="$2"
-	shift; shift
+	shift
+	realname="$1"
+	shift
 
 	if test -n "$soname_spec"; then
 	  eval soname=\"$soname_spec\"
@@ -4006,71 +6442,122 @@ EOF
 	done
 
 	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test "X$libobjs" = "X " && libobjs=
+
+	delfiles=
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+	  export_symbols="$output_objdir/$libname.uexp"
+	  delfiles="$delfiles $export_symbols"
+	fi
+
+	orig_export_symbols=
+	case $host_os in
+	cygwin* | mingw*)
+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+	    # exporting using user supplied symfile
+	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+	      # and it's NOT already a .def file. Must figure out
+	      # which of the given symbols are data symbols and tag
+	      # them as such. So, trigger use of export_symbols_cmds.
+	      # export_symbols gets reassigned inside the "prepare
+	      # the list of exported symbols" if statement, so the
+	      # include_expsyms logic still works.
+	      orig_export_symbols="$export_symbols"
+	      export_symbols=
+	      always_export_symbols=yes
+	    fi
+	  fi
+	  ;;
+	esac
 
 	# Prepare the list of exported symbols
 	if test -z "$export_symbols"; then
 	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    $show "generating symbol list for \`$libname.la'"
+	    func_verbose "generating symbol list for \`$libname.la'"
 	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
+	    $opt_dry_run || $RM $export_symbols
 	    cmds=$export_symbols_cmds
 	    save_ifs="$IFS"; IFS='~'
 	    for cmd in $cmds; do
 	      IFS="$save_ifs"
 	      eval cmd=\"$cmd\"
-	      if len=`expr "X$cmd" : ".*"` &&
-	       test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	        $show "$cmd"
-	        $run eval "$cmd" || exit $?
-	        skipped_export=false
+	      func_len " $cmd"
+	      len=$func_len_result
+	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
 	      else
-	        # The command line is too long to execute in one step.
-	        $show "using reloadable object file for export list..."
-	        skipped_export=:
+		# The command line is too long to execute in one step.
+		func_verbose "using reloadable object file for export list..."
+		skipped_export=:
 		# Break out early, otherwise skipped_export may be
 		# set to false by a later but shorter cmd.
 		break
 	      fi
 	    done
 	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex"; then
-	      $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-	      $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-	      $run eval '$mv "${export_symbols}T" "$export_symbols"'
+	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
 	    fi
 	  fi
 	fi
 
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
+	  tmp_export_symbols="$export_symbols"
+	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	fi
+
+	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+	  # The given exports_symbols file has to be filtered, so filter it.
+	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	  # 's' commands which not all seds can handle. GNU sed should be fine
+	  # though. Also, the filter scales superlinearly with the number of
+	  # global variables. join(1) would be nice here, but unfortunately
+	  # isn't a blessed tool.
+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	  export_symbols=$output_objdir/$libname.def
+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	fi
 
 	tmp_deplibs=
 	for test_deplib in $deplibs; do
-		case " $convenience " in
-		*" $test_deplib "*) ;;
-		*)
-			tmp_deplibs="$tmp_deplibs $test_deplib"
-			;;
-		esac
+	  case " $convenience " in
+	  *" $test_deplib "*) ;;
+	  *)
+	    tmp_deplibs="$tmp_deplibs $test_deplib"
+	    ;;
+	  esac
 	done
 	deplibs="$tmp_deplibs"
 
 	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec" &&
+	    test "$compiler_needs_object" = yes &&
+	    test -z "$libobjs"; then
+	    # extract the archives, so we have objects to list.
+	    # TODO: could optimize this to just extract one archive.
+	    whole_archive_flag_spec=
+	  fi
 	  if test -n "$whole_archive_flag_spec"; then
 	    save_libobjs=$libobjs
 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
 	  else
 	    gentop="$output_objdir/${outputname}x"
 	    generated="$generated $gentop"
 
 	    func_extract_archives $gentop $convenience
 	    libobjs="$libobjs $func_extract_archives_result"
+	    test "X$libobjs" = "X " && libobjs=
 	  fi
 	fi
-	
+
 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 	  eval flag=\"$thread_safe_flag_spec\"
 	  linker_flags="$linker_flags $flag"
@@ -4078,7 +6565,7 @@ EOF
 
 	# Make a backup of the uninstalled library when relinking
 	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
 	fi
 
 	# Do each of the archive commands.
@@ -4091,22 +6578,24 @@ EOF
 	    cmds=$module_cmds
 	  fi
 	else
-	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	  eval test_cmds=\"$archive_expsym_cmds\"
-	  cmds=$archive_expsym_cmds
-	else
-	  eval test_cmds=\"$archive_cmds\"
-	  cmds=$archive_cmds
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    eval test_cmds=\"$archive_expsym_cmds\"
+	    cmds=$archive_expsym_cmds
+	  else
+	    eval test_cmds=\"$archive_cmds\"
+	    cmds=$archive_cmds
 	  fi
 	fi
 
 	if test "X$skipped_export" != "X:" &&
-	   len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	   test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	   func_len " $test_cmds" &&
+	   len=$func_len_result &&
+	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 	  :
 	else
-	  # The command line is too long to link in one step, link piecewise.
-	  $echo "creating reloadable object files..."
+	  # The command line is too long to link in one step, link piecewise
+	  # or, if using GNU ld and skipped_export is not :, use a linker
+	  # script.
 
 	  # Save the value of $output and $libobjs because we want to
 	  # use them later.  If we have whole_archive_flag_spec, we
@@ -4120,77 +6609,162 @@ EOF
 	    save_libobjs=$libobjs
 	  fi
 	  save_output=$output
-	  output_la=`$echo "X$output" | $Xsed -e "$basename"`
+	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
 
 	  # Clear the reloadable object creation command queue and
 	  # initialize k to one.
 	  test_cmds=
 	  concat_cmds=
 	  objlist=
-	  delfiles=
 	  last_robj=
 	  k=1
-	  output=$output_objdir/$output_la-${k}.$objext
-	  # Loop over the list of objects to be linked.
-	  for obj in $save_libobjs
-	  do
-	    eval test_cmds=\"$reload_cmds $objlist $last_robj\"
-	    if test "X$objlist" = X ||
-	       { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-		 test "$len" -le "$max_cmd_len"; }; then
-	      objlist="$objlist $obj"
+
+	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+	    output=${output_objdir}/${output_la}.lnkscript
+	    func_verbose "creating GNU ld script: $output"
+	    $ECHO 'INPUT (' > $output
+	    for obj in $save_libobjs
+	    do
+	      $ECHO "$obj" >> $output
+	    done
+	    $ECHO ')' >> $output
+	    delfiles="$delfiles $output"
+	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+	    output=${output_objdir}/${output_la}.lnk
+	    func_verbose "creating linker input file list: $output"
+	    : > $output
+	    set x $save_libobjs
+	    shift
+	    firstobj=
+	    if test "$compiler_needs_object" = yes; then
+	      firstobj="$1 "
+	      shift
+	    fi
+	    for obj
+	    do
+	      $ECHO "$obj" >> $output
+	    done
+	    delfiles="$delfiles $output"
+	    output=$firstobj\"$file_list_spec$output\"
+	  else
+	    if test -n "$save_libobjs"; then
+	      func_verbose "creating reloadable object files..."
+	      output=$output_objdir/$output_la-${k}.$objext
+	      eval test_cmds=\"$reload_cmds\"
+	      func_len " $test_cmds"
+	      len0=$func_len_result
+	      len=$len0
+
+	      # Loop over the list of objects to be linked.
+	      for obj in $save_libobjs
+	      do
+		func_len " $obj"
+		func_arith $len + $func_len_result
+		len=$func_arith_result
+		if test "X$objlist" = X ||
+		   test "$len" -lt "$max_cmd_len"; then
+		  func_append objlist " $obj"
+		else
+		  # The command $test_cmds is almost too long, add a
+		  # command to the queue.
+		  if test "$k" -eq 1 ; then
+		    # The first file doesn't have a previous command to add.
+		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+		  else
+		    # All subsequent reloadable object files will link in
+		    # the last one created.
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+		  fi
+		  last_robj=$output_objdir/$output_la-${k}.$objext
+		  func_arith $k + 1
+		  k=$func_arith_result
+		  output=$output_objdir/$output_la-${k}.$objext
+		  objlist=$obj
+		  func_len " $last_robj"
+		  func_arith $len0 + $func_len_result
+		  len=$func_arith_result
+		fi
+	      done
+	      # Handle the remaining objects by creating one last
+	      # reloadable object file.  All subsequent reloadable object
+	      # files will link in the last one created.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+	      if test -n "$last_robj"; then
+	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+	      fi
+	      delfiles="$delfiles $output"
+
 	    else
-	      # The command $test_cmds is almost too long, add a
-	      # command to the queue.
-	      if test "$k" -eq 1 ; then
-		# The first file doesn't have a previous command to add.
-		eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-	      else
-		# All subsequent reloadable object files will link in
-		# the last one created.
-		eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
+	      output=
+	    fi
+
+	    if ${skipped_export-false}; then
+	      func_verbose "generating symbol list for \`$libname.la'"
+	      export_symbols="$output_objdir/$libname.exp"
+	      $opt_dry_run || $RM $export_symbols
+	      libobjs=$output
+	      # Append the command to create the export file.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+	      if test -n "$last_robj"; then
+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
 	      fi
-	      last_robj=$output_objdir/$output_la-${k}.$objext
-	      k=`expr $k + 1`
-	      output=$output_objdir/$output_la-${k}.$objext
-	      objlist=$obj
-	      len=1
 	    fi
-	  done
-	  # Handle the remaining objects by creating one last
-	  # reloadable object file.  All subsequent reloadable object
-	  # files will link in the last one created.
-	  test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	  eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
-	  if ${skipped_export-false}; then
-	    $show "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $run $rm $export_symbols
-	    libobjs=$output
-	    # Append the command to create the export file.
-	    eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
-          fi
-
-	  # Set up a command to remove the reloadable object files
-	  # after they are used.
-	  i=0
-	  while test "$i" -lt "$k"
-	  do
-	    i=`expr $i + 1`
-	    delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
-	  done
 
-	  $echo "creating a temporary reloadable object file: $output"
+	    test -n "$save_libobjs" &&
+	      func_verbose "creating a temporary reloadable object file: $output"
 
-	  # Loop through the commands generated above and execute them.
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $concat_cmds; do
+	    # Loop through the commands generated above and execute them.
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $concat_cmds; do
+	      IFS="$save_ifs"
+	      $opt_silent || {
+		  func_quote_for_expand "$cmd"
+		  eval "func_echo $func_quote_for_expand_result"
+	      }
+	      $opt_dry_run || eval "$cmd" || {
+		lt_exit=$?
+
+		# Restore the uninstalled library and exit
+		if test "$mode" = relink; then
+		  ( cd "$output_objdir" && \
+		    $RM "${realname}T" && \
+		    $MV "${realname}U" "$realname" )
+		fi
+
+		exit $lt_exit
+	      }
+	    done
 	    IFS="$save_ifs"
-	    $show "$cmd"
-	    $run eval "$cmd" || exit $?
-	  done
-	  IFS="$save_ifs"
+
+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+
+          if ${skipped_export-false}; then
+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	      tmp_export_symbols="$export_symbols"
+	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	    fi
+
+	    if test -n "$orig_export_symbols"; then
+	      # The given exports_symbols file has to be filtered, so filter it.
+	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	      # 's' commands which not all seds can handle. GNU sed should be fine
+	      # though. Also, the filter scales superlinearly with the number of
+	      # global variables. join(1) would be nice here, but unfortunately
+	      # isn't a blessed tool.
+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	      export_symbols=$output_objdir/$libname.def
+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	    fi
+	  fi
 
 	  libobjs=$output
 	  # Restore the value of output.
@@ -4198,6 +6772,7 @@ EOF
 
 	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
 	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
 	  fi
 	  # Expand the library linking commands again to reset the
 	  # value of $libobjs for piecewise linking.
@@ -4210,28 +6785,45 @@ EOF
 	      cmds=$module_cmds
 	    fi
 	  else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    cmds=$archive_expsym_cmds
-	  else
-	    cmds=$archive_cmds
+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	      cmds=$archive_expsym_cmds
+	    else
+	      cmds=$archive_cmds
 	    fi
 	  fi
+	fi
+
+	if test -n "$delfiles"; then
+	  # Append the command to remove temporary files to $cmds.
+	  eval cmds=\"\$cmds~\$RM $delfiles\"
+	fi
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
 
-	  # Append the command to remove the reloadable object files
-	  # to the just-reset $cmds.
-	  eval cmds=\"\$cmds~\$rm $delfiles\"
+	  func_extract_archives $gentop $dlprefiles
+	  libobjs="$libobjs $func_extract_archives_result"
+	  test "X$libobjs" = "X " && libobjs=
 	fi
+
 	save_ifs="$IFS"; IFS='~'
 	for cmd in $cmds; do
 	  IFS="$save_ifs"
 	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || {
+	  $opt_silent || {
+	    func_quote_for_expand "$cmd"
+	    eval "func_echo $func_quote_for_expand_result"
+	  }
+	  $opt_dry_run || eval "$cmd" || {
 	    lt_exit=$?
 
 	    # Restore the uninstalled library and exit
 	    if test "$mode" = relink; then
-	      $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
+	      ( cd "$output_objdir" && \
+	        $RM "${realname}T" && \
+		$MV "${realname}U" "$realname" )
 	    fi
 
 	    exit $lt_exit
@@ -4241,12 +6833,11 @@ EOF
 
 	# Restore the uninstalled library and exit
 	if test "$mode" = relink; then
-	  $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
 	  if test -n "$convenience"; then
 	    if test -z "$whole_archive_flag_spec"; then
-	      $show "${rm}r $gentop"
-	      $run ${rm}r "$gentop"
+	      func_show_eval '${RM}r "$gentop"'
 	    fi
 	  fi
 
@@ -4256,8 +6847,7 @@ EOF
 	# Create links to the real library.
 	for linkname in $linknames; do
 	  if test "$realname" != "$linkname"; then
-	    $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-	    $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
 	  fi
 	done
 
@@ -4270,39 +6860,35 @@ EOF
       ;;
 
     obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for objects"
+      fi
+
       case " $deplibs" in
       *\ -l* | *\ -L*)
-	$echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
+	func_warning "\`-l' and \`-L' are ignored for objects" ;;
       esac
 
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	$echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for objects"
 
-      if test -n "$rpath"; then
-	$echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for objects"
 
-      if test -n "$xrpath"; then
-	$echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for objects"
 
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for objects"
 
       case $output in
       *.lo)
-	if test -n "$objs$old_deplibs"; then
-	  $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-	libobj="$output"
-	obj=`$echo "X$output" | $Xsed -e "$lo2o"`
+	test -n "$objs$old_deplibs" && \
+	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+	libobj=$output
+	func_lo2o "$libobj"
+	obj=$func_lo2o_result
 	;;
       *)
 	libobj=
@@ -4311,7 +6897,7 @@ EOF
       esac
 
       # Delete the old objects.
-      $run $rm $obj $libobj
+      $opt_dry_run || $RM $obj $libobj
 
       # Objects from convenience libraries.  This assumes
       # single-version convenience libraries.  Whenever we create
@@ -4327,7 +6913,7 @@ EOF
       if test -n "$convenience"; then
 	if test -n "$whole_archive_flag_spec"; then
 	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
 	  generated="$generated $gentop"
@@ -4338,24 +6924,15 @@ EOF
       fi
 
       # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 
       output="$obj"
-      cmds=$reload_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
+      func_execute_cmds "$reload_cmds" 'exit $?'
 
       # Exit if we aren't doing a library object file.
       if test -z "$libobj"; then
 	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
+	  func_show_eval '${RM}r "$gentop"'
 	fi
 
 	exit $EXIT_SUCCESS
@@ -4363,14 +6940,13 @@ EOF
 
       if test "$build_libtool_libs" != yes; then
 	if test -n "$gentop"; then
-	  $show "${rm}r $gentop"
-	  $run ${rm}r $gentop
+	  func_show_eval '${RM}r "$gentop"'
 	fi
 
 	# Create an invalid libtool object if no PIC, so that we don't
 	# accidentally link it into a program.
 	# $show "echo timestamp > $libobj"
-	# $run eval "echo timestamp > $libobj" || exit $?
+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
 	exit $EXIT_SUCCESS
       fi
 
@@ -4378,20 +6954,11 @@ EOF
 	# Only do commands if we really have different PIC objects.
 	reload_objs="$libobjs $reload_conv_objs"
 	output="$libobj"
-	cmds=$reload_cmds
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $show "$cmd"
-	  $run eval "$cmd" || exit $?
-	done
-	IFS="$save_ifs"
+	func_execute_cmds "$reload_cmds" 'exit $?'
       fi
 
       if test -n "$gentop"; then
-	$show "${rm}r $gentop"
-	$run ${rm}r $gentop
+	func_show_eval '${RM}r "$gentop"'
       fi
 
       exit $EXIT_SUCCESS
@@ -4399,39 +6966,45 @@ EOF
 
     prog)
       case $host in
-	*cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
+	*cygwin*) func_stripname '' '.exe' "$output"
+	          output=$func_stripname_result.exe;;
       esac
-      if test -n "$vinfo"; then
-	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for programs"
 
-      if test -n "$release"; then
-	$echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for programs"
 
-      if test "$preload" = yes; then
-	if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
-	   test "$dlopen_self_static" = unknown; then
-	  $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-	fi
-      fi
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+	&& test "$dlopen_self" = unknown \
+	&& test "$dlopen_self_static" = unknown && \
+	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
 
       case $host in
       *-*-rhapsody* | *-*-darwin1.[012])
 	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
 	;;
       esac
 
       case $host in
-      *darwin*)
-        # Don't allow lazy linking, it breaks C++ global constructors
-        if test "$tagname" = CXX ; then
-        compile_command="$compile_command ${wl}-bind_at_load"
-        finalize_command="$finalize_command ${wl}-bind_at_load"
-        fi
-        ;;
+      *-*-darwin*)
+	# Don't allow lazy linking, it breaks C++ global constructors
+	# But is supposedly fixed on 10.4 or later (yay!).
+	if test "$tagname" = CXX ; then
+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+	    10.[0123])
+	      compile_command="$compile_command ${wl}-bind_at_load"
+	      finalize_command="$finalize_command ${wl}-bind_at_load"
+	    ;;
+	  esac
+	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	;;
       esac
 
 
@@ -4507,7 +7080,7 @@ EOF
 	fi
 	case $host in
 	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-	  testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
+	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
 	  case :$dllsearchpath: in
 	  *":$libdir:"*) ;;
 	  *) dllsearchpath="$dllsearchpath:$libdir";;
@@ -4565,281 +7138,47 @@ EOF
 
       if test -n "$libobjs" && test "$build_old_libs" = yes; then
 	# Transform all the library objects into standard objects.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	  dlsyms="${outputname}S.c"
-	else
-	  $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-	fi
+	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
       fi
 
-      if test -n "$dlsyms"; then
-	case $dlsyms in
-	"") ;;
-	*.c)
-	  # Discover the nlist of each of the dlfiles.
-	  nlist="$output_objdir/${outputname}.nm"
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
 
-	  $show "$rm $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Parse the name list into a source file.
-	  $show "creating $output_objdir/$dlsyms"
-
-	  test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-	  if test "$dlself" = yes; then
-	    $show "generating symbol list for \`$output'"
-
-	    test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-	    # Add our own program objects to the symbol list.
-	    progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	    for arg in $progfiles; do
-	      $show "extracting global C symbols from \`$arg'"
-	      $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	    done
-
-	    if test -n "$exclude_expsyms"; then
-	      $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    if test -n "$export_symbols_regex"; then
-	      $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      $run eval '$mv "$nlist"T "$nlist"'
-	    fi
-
-	    # Prepare the list of exported symbols
-	    if test -z "$export_symbols"; then
-	      export_symbols="$output_objdir/$outputname.exp"
-	      $run $rm $export_symbols
-	      $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    else
-	      $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      $run eval 'mv "$nlist"T "$nlist"'
-              case $host in
-              *cygwin* | *mingw* )
-	        $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-		$run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-	    fi
-	  fi
-
-	  for arg in $dlprefiles; do
-	    $show "extracting global C symbols from \`$arg'"
-	    name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
-	    $run eval '$echo ": $name " >> "$nlist"'
-	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -z "$run"; then
-	    # Make sure we have at least an empty file.
-	    test -f "$nlist" || : > "$nlist"
-
-	    if test -n "$exclude_expsyms"; then
-	      $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	      $mv "$nlist"T "$nlist"
-	    fi
-
-	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" |
-		if sort -k 3 </dev/null >/dev/null 2>&1; then
-		  sort -k 3
-		else
-		  sort +2
-		fi |
-		uniq > "$nlist"S; then
-	      :
-	    else
-	      grep -v "^: " < "$nlist" > "$nlist"S
-	    fi
-
-	    if test -f "$nlist"S; then
-	      eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-	    else
-	      $echo '/* NONE */' >> "$output_objdir/$dlsyms"
-	    fi
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
-	    case $host in
-	    *cygwin* | *mingw* )
-	  $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs */
-struct {
-"
-	      ;;
-	    * )
-	  $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
-	      ;;
-	    esac
-
-
-	  $echo >> "$output_objdir/$dlsyms" "\
-  const char *name;
-  lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
-	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	  fi
-
-	  pic_flag_for_symtable=
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
-	    esac;;
-	  *-*-hpux*)
-	    case "$compile_command " in
-	    *" -static "*) ;;
-	    *) pic_flag_for_symtable=" $pic_flag";;
-	    esac
-	  esac
-
-	  # Now compile the dynamic symbol file.
-	  $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-	  $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-	  # Clean up the generated files.
-	  $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-	  $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-	  # Transform the symbol file into the correct name.
-          case $host in
-          *cygwin* | *mingw* )
-            if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            else
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-             fi
-            ;;
-          * )
-            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            ;;
-          esac
-	  ;;
-	*)
-	  $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      else
-	# We keep going just in case the user didn't refer to
-	# lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-	# really was required.
-
-	# Nullify the symbol file.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
-	finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+	func_execute_cmds "$prelink_cmds" 'exit $?'
       fi
 
-      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+      wrappers_required=yes
+      case $host in
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
 	# Replace the output file specification.
-	compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
+	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 	link_command="$compile_command$compile_rpath"
 
 	# We have no uninstalled library dependencies, so finalize right now.
-	$show "$link_command"
-	$run eval "$link_command"
-	exit_status=$?
+	exit_status=0
+	func_show_eval "$link_command" 'exit_status=$?'
 
 	# Delete the generated files.
-	if test -n "$dlsyms"; then
-	  $show "$rm $output_objdir/${outputname}S.${objext}"
-	  $run $rm "$output_objdir/${outputname}S.${objext}"
+	if test -f "$output_objdir/${outputname}S.${objext}"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
 	fi
 
 	exit $exit_status
       fi
 
-      if test -n "$shlibpath_var"; then
-	# We should set the shlibpath_var
-	rpath=
-	for dir in $temp_rpath; do
-	  case $dir in
-	  [\\/]* | [A-Za-z]:[\\/]*)
-	    # Absolute path.
-	    rpath="$rpath$dir:"
-	    ;;
-	  *)
-	    # Relative path: add a thisdir entry.
-	    rpath="$rpath\$thisdir/$dir:"
-	    ;;
-	  esac
-	done
-	temp_rpath="$rpath"
-      fi
-
       if test -n "$compile_shlibpath$finalize_shlibpath"; then
 	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
       fi
@@ -4872,12 +7211,11 @@ static const void *lt_preloaded_setup() {
 	# We don't need to create a wrapper script.
 	link_command="$compile_var$compile_command$compile_rpath"
 	# Replace the output file specification.
-	link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
 	# Delete the old output file.
-	$run $rm $output
+	$opt_dry_run || $RM $output
 	# Link the executable and exit
-	$show "$link_command"
-	$run eval "$link_command" || exit $?
+	func_show_eval "$link_command" 'exit $?'
 	exit $EXIT_SUCCESS
       fi
 
@@ -4886,13 +7224,13 @@ static const void *lt_preloaded_setup() {
 	link_command="$compile_var$compile_command$compile_rpath"
 	relink_command="$finalize_var$finalize_command$finalize_rpath"
 
-	$echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-	$echo "$modename: \`$output' will be relinked during installation" 1>&2
+	func_warning "this platform does not like uninstalled shared libraries"
+	func_warning "\`$output' will be relinked during installation"
       else
 	if test "$fast_install" != no; then
 	  link_command="$finalize_var$compile_command$finalize_rpath"
 	  if test "$fast_install" = yes; then
-	    relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
+	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
 	  else
 	    # fast_install is set to needless
 	    relink_command=
@@ -4904,608 +7242,104 @@ static const void *lt_preloaded_setup() {
       fi
 
       # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
 
       # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
 
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
+      func_show_eval "$link_command" 'exit $?'
 
       # Now create the wrapper script.
-      $show "creating $output"
+      func_verbose "creating $output"
 
       # Quote the relink command for shipping.
       if test -n "$relink_command"; then
 	# Preserve any variables that may affect compiler behavior
 	for var in $variables_saved_for_relink; do
 	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
 	  elif eval var_value=\$$var; test -z "$var_value"; then
 	    relink_command="$var=; export $var; $relink_command"
 	  else
-	    var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	    func_quote_for_eval "$var_value"
+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
 	  fi
 	done
 	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
       fi
 
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
 	case $progpath in
 	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
 	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
 	esac
-	qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
+	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
       else
-	qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
+	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
       fi
 
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
 	# win32 will think the script is a binary if it has
 	# a .exe suffix, so we strip it off here.
 	case $output in
-	  *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
+	  *.exe) func_stripname '' '.exe' "$output"
+	         output=$func_stripname_result ;;
 	esac
 	# test for cygwin because mv fails w/o .exe extensions
 	case $host in
 	  *cygwin*)
 	    exeext=.exe
-	    outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
+	    func_stripname '' '.exe' "$outputname"
+	    outputname=$func_stripname_result ;;
 	  *) exeext= ;;
 	esac
 	case $host in
 	  *cygwin* | *mingw* )
-            output_name=`basename $output`
-            output_path=`dirname $output`
-            cwrappersource="$output_path/$objdir/lt-$output_name.c"
-            cwrapper="$output_path/$output_name.exe"
-            $rm $cwrappersource $cwrapper
-            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "/bin/sh $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
-*/
-EOF
-	    cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS.  */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int    check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  DEBUG("(main) argv[0]      : %s\n",argv[0]);
-  DEBUG("(main) program_name : %s\n",program_name);
-  newargz = XMALLOC(char *, argc+2);
-EOF
-
-            cat >> $cwrappersource <<EOF
-  newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
-            cat >> $cwrappersource <<"EOF"
-  newargz[1] = find_executable(argv[0]);
-  if (newargz[1] == NULL)
-    lt_fatal("Couldn't find %s", argv[0]);
-  DEBUG("(main) found exe at : %s\n",newargz[1]);
-  /* we know the script has the same name, without the .exe */
-  /* so make sure newargz[1] doesn't end in .exe */
-  strendzap(newargz[1],".exe");
-  for (i = 1; i < argc; i++)
-    newargz[i+1] = xstrdup(argv[i]);
-  newargz[argc+1] = NULL;
-
-  for (i=0; i<argc+1; i++)
-  {
-    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
-    ;
-  }
-
-EOF
-
-            case $host_os in
-              mingw*)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",(char const **)newargz);
-EOF
-              ;;
-              *)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",newargz);
-EOF
-              ;;
-            esac
-
-            cat >> $cwrappersource <<"EOF"
-  return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
-  void * p = (void *) malloc (num);
-  if (!p)
-    lt_fatal ("Memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable(const char * path)
-{
-  struct stat st;
-
-  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0) &&
-      (
-        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
-       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
-       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
-       ((st.st_mode & S_IXUSR) == S_IXUSR))
-      )
-    return 1;
-  else
-    return 0;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
-  int has_slash = 0;
-  const char* p;
-  const char* p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char* concat_name;
-
-  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
-  {
-    concat_name = xstrdup (wrapper);
-    if (check_executable(concat_name))
-      return concat_name;
-    XFREE(concat_name);
-  }
-  else
-  {
-#endif
-    if (IS_DIR_SEPARATOR (wrapper[0]))
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable(concat_name))
-        return concat_name;
-      XFREE(concat_name);
-    }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-    {
-      has_slash = 1;
-      break;
-    }
-  if (!has_slash)
-  {
-    /* no slashes; search PATH */
-    const char* path = getenv ("PATH");
-    if (path != NULL)
-    {
-      for (p = path; *p; p = p_next)
-      {
-        const char* q;
-        size_t p_len;
-        for (q = p; *q; q++)
-          if (IS_PATH_SEPARATOR(*q))
-            break;
-        p_len = q - p;
-        p_next = (*q == '\0' ? q : q + 1);
-        if (p_len == 0)
-        {
-          /* empty path: current directory */
-          if (getcwd (tmp, LT_PATHMAX) == NULL)
-            lt_fatal ("getcwd failed");
-          tmp_len = strlen(tmp);
-          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, tmp, tmp_len);
-          concat_name[tmp_len] = '/';
-          strcpy (concat_name + tmp_len + 1, wrapper);
-        }
-        else
-        {
-          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, p, p_len);
-          concat_name[p_len] = '/';
-          strcpy (concat_name + p_len + 1, wrapper);
-        }
-        if (check_executable(concat_name))
-          return concat_name;
-        XFREE(concat_name);
-      }
-    }
-    /* not found in PATH; assume curdir */
-  }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
-  tmp_len = strlen(tmp);
-  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable(concat_name))
-    return concat_name;
-  XFREE(concat_name);
-  return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert(str != NULL);
-  assert(pat != NULL);
-
-  len = strlen(str);
-  patlen = strlen(pat);
-
-  if (patlen <= len)
-  {
-    str += len - patlen;
-    if (strcmp(str, pat) == 0)
-      *str = '\0';
-  }
-  return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
-          const char * message, va_list ap)
-{
-  fprintf (stderr, "%s: %s: ", program_name, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-  va_end (ap);
-}
-EOF
-          # we should really use a build-platform specific compiler
-          # here, but OTOH, the wrappers (shell script and this C one)
-          # are only useful if you want to execute the "real" binary.
-          # Since the "real" binary is built for $host, then this
-          # wrapper might as well be built for $host, too.
-          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
-          ;;
-        esac
-        $rm $output
-        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
-	$echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $echo >> $output "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-	  $echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$echo \"\$relink_command_output\" >&2
-	$rm \"\$progdir/\$file\"
-	exit $EXIT_FAILURE
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-	else
-	  $echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
+	    func_dirname_and_basename "$output" "" "."
+	    output_name=$func_basename_result
+	    output_path=$func_dirname_result
+	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
+	    cwrapper="$output_path/$output_name.exe"
+	    $RM $cwrappersource $cwrapper
+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_cwrapperexe_src > $cwrappersource
+
+	    # we should really use a build-platform specific compiler
+	    # here, but OTOH, the wrappers (shell script and this C one)
+	    # are only useful if you want to execute the "real" binary.
+	    # Since the "real" binary is built for $host, then this
+	    # wrapper might as well be built for $host, too.
+	    $opt_dry_run || {
+	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+	      $STRIP $cwrapper
+	    }
 
-	$echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2*)
-	  $echo >> $output "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
+	    # Now, create the wrapper script for func_source use:
+	    func_ltwrapper_scriptname $cwrapper
+	    $RM $func_ltwrapper_scriptname_result
+	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+	    $opt_dry_run || {
+	      # note: this script will not be executed, so do not chmod.
+	      if test "x$build" = "x$host" ; then
+		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+	      else
+		func_emit_wrapper no > $func_ltwrapper_scriptname_result
+	      fi
+	    }
 	  ;;
+	  * )
+	    $RM $output
+	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
 
-	*)
-	  $echo >> $output "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
+	    func_emit_wrapper no > $output
+	    chmod +x $output
 	  ;;
 	esac
-	$echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \$*\"
-      exit $EXIT_FAILURE
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi\
-"
-	chmod +x $output
-      fi
+      }
       exit $EXIT_SUCCESS
       ;;
     esac
@@ -5514,7 +7348,7 @@ fi\
     for oldlib in $oldlibs; do
 
       if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save"
+	oldobjs="$libobjs_save $symfileobj"
 	addlibs="$convenience"
 	build_libtool_libs=no
       else
@@ -5523,6 +7357,9 @@ fi\
 	  build_libtool_libs=no
 	else
 	  oldobjs="$old_deplibs $non_pic_objects"
+	  if test "$preload" = yes && test -f "$symfileobj"; then
+	    oldobjs="$oldobjs $symfileobj"
+	  fi
 	fi
 	addlibs="$old_convenience"
       fi
@@ -5537,8 +7374,18 @@ fi\
 
       # Do each command in the archive commands.
       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=$old_archive_from_new_cmds
+	cmds=$old_archive_from_new_cmds
       else
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  oldobjs="$oldobjs $func_extract_archives_result"
+	fi
+
 	# POSIX demands no paths to be encoded in archives.  We have
 	# to avoid creating archives with duplicate basenames if we
 	# might have to extract them afterwards, e.g., when creating a
@@ -5547,32 +7394,22 @@ fi\
 	# not supported by libtool).
 	if (for obj in $oldobjs
 	    do
-	      $echo "X$obj" | $Xsed -e 's%^.*/%%'
+	      func_basename "$obj"
+	      $ECHO "$func_basename_result"
 	    done | sort | sort -uc >/dev/null 2>&1); then
 	  :
 	else
-	  $echo "copying selected object files to avoid basename conflicts..."
-
-	  if test -z "$gentop"; then
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    $show "${rm}r $gentop"
-	    $run ${rm}r "$gentop"
-	    $show "$mkdir $gentop"
-	    $run $mkdir "$gentop"
-	    exit_status=$?
-	    if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
-	      exit $exit_status
-	    fi
-	  fi
-
+	  $ECHO "copying selected object files to avoid basename conflicts..."
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
+	  func_mkdir_p "$gentop"
 	  save_oldobjs=$oldobjs
 	  oldobjs=
 	  counter=1
 	  for obj in $save_oldobjs
 	  do
-	    objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
+	    func_basename "$obj"
+	    objbase="$func_basename_result"
 	    case " $oldobjs " in
 	    " ") oldobjs=$obj ;;
 	    *[\ /]"$objbase "*)
@@ -5580,58 +7417,62 @@ fi\
 		# Make sure we don't pick an alternate name that also
 		# overlaps.
 		newobj=lt$counter-$objbase
-		counter=`expr $counter + 1`
+		func_arith $counter + 1
+		counter=$func_arith_result
 		case " $oldobjs " in
 		*[\ /]"$newobj "*) ;;
 		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
 		esac
 	      done
-	      $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      $run ln "$obj" "$gentop/$newobj" ||
-	      $run cp "$obj" "$gentop/$newobj"
+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
 	      oldobjs="$oldobjs $gentop/$newobj"
 	      ;;
 	    *) oldobjs="$oldobjs $obj" ;;
 	    esac
 	  done
 	fi
-
 	eval cmds=\"$old_archive_cmds\"
 
-	if len=`expr "X$cmds" : ".*"` &&
-	     test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	func_len " $cmds"
+	len=$func_len_result
+	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 	  cmds=$old_archive_cmds
 	else
 	  # the command line is too long to link in one step, link in parts
-	  $echo "using piecewise archive linking..."
+	  func_verbose "using piecewise archive linking..."
 	  save_RANLIB=$RANLIB
 	  RANLIB=:
 	  objlist=
 	  concat_cmds=
 	  save_oldobjs=$oldobjs
-
+	  oldobjs=
 	  # Is there a better way of finding the last object in the list?
 	  for obj in $save_oldobjs
 	  do
 	    last_oldobj=$obj
 	  done
+	  eval test_cmds=\"$old_archive_cmds\"
+	  func_len " $test_cmds"
+	  len0=$func_len_result
+	  len=$len0
 	  for obj in $save_oldobjs
 	  do
-	    oldobjs="$objlist $obj"
-	    objlist="$objlist $obj"
-	    eval test_cmds=\"$old_archive_cmds\"
-	    if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-	       test "$len" -le "$max_cmd_len"; then
+	    func_len " $obj"
+	    func_arith $len + $func_len_result
+	    len=$func_arith_result
+	    func_append objlist " $obj"
+	    if test "$len" -lt "$max_cmd_len"; then
 	      :
 	    else
 	      # the above command should be used before it gets too long
 	      oldobjs=$objlist
 	      if test "$obj" = "$last_oldobj" ; then
-	        RANLIB=$save_RANLIB
+		RANLIB=$save_RANLIB
 	      fi
 	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
 	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
 	      objlist=
+	      len=$len0
 	    fi
 	  done
 	  RANLIB=$save_RANLIB
@@ -5643,49 +7484,39 @@ fi\
 	  fi
 	fi
       fi
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-        eval cmd=\"$cmd\"
-	IFS="$save_ifs"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
+      func_execute_cmds "$cmds" 'exit $?'
     done
 
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
 
     # Now create the libtool archive.
     case $output in
     *.la)
       old_library=
       test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
+      func_verbose "creating $output"
 
       # Preserve any variables that may affect compiler behavior
       for var in $variables_saved_for_relink; do
 	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
 	elif eval var_value=\$$var; test -z "$var_value"; then
 	  relink_command="$var=; export $var; $relink_command"
 	else
-	  var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-	  relink_command="$var=\"$var_value\"; export $var; $relink_command"
+	  func_quote_for_eval "$var_value"
+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
 	fi
       done
       # Quote the link command for shipping.
       relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
       if test "$hardcode_automatic" = yes ; then
 	relink_command=
       fi
 
-
       # Only create the output if not a dry run.
-      if test -z "$run"; then
+      $opt_dry_run || {
 	for installed in no yes; do
 	  if test "$installed" = yes; then
 	    if test -z "$install_libdir"; then
@@ -5697,12 +7528,11 @@ fi\
 	    for deplib in $dependency_libs; do
 	      case $deplib in
 	      *.la)
-		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
+		func_basename "$deplib"
+		name="$func_basename_result"
 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		if test -z "$libdir"; then
-		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-		  exit $EXIT_FAILURE
-		fi
+		test -z "$libdir" && \
+		  func_fatal_error "\`$deplib' is not a valid libtool archive"
 		newdependency_libs="$newdependency_libs $libdir/$name"
 		;;
 	      *) newdependency_libs="$newdependency_libs $deplib" ;;
@@ -5710,25 +7540,37 @@ fi\
 	    done
 	    dependency_libs="$newdependency_libs"
 	    newdlfiles=
+
 	    for lib in $dlfiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlfiles="$newdlfiles $libdir/$name"
+	      case $lib in
+	      *.la)
+	        func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		newdlfiles="$newdlfiles $libdir/$name"
+		;;
+	      *) newdlfiles="$newdlfiles $lib" ;;
+	      esac
 	    done
 	    dlfiles="$newdlfiles"
 	    newdlprefiles=
 	    for lib in $dlprefiles; do
-	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-	      if test -z "$libdir"; then
-		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-		exit $EXIT_FAILURE
-	      fi
-	      newdlprefiles="$newdlprefiles $libdir/$name"
+	      case $lib in
+	      *.la)
+		# Only pass preopened files to the pseudo-archive (for
+		# eventual linking with the app. that links it) if we
+		# didn't already link the preopened objects directly into
+		# the library:
+		func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		newdlprefiles="$newdlprefiles $libdir/$name"
+		;;
+	      esac
 	    done
 	    dlprefiles="$newdlprefiles"
 	  else
@@ -5751,15 +7593,15 @@ fi\
 	    done
 	    dlprefiles="$newdlprefiles"
 	  fi
-	  $rm $output
+	  $RM $output
 	  # place dlname in correct position for cygwin
 	  tdlname=$dlname
 	  case $host,$output,$installed,$module,$dlname in
 	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
 	  esac
-	  $echo > $output "\
+	  $ECHO > $output "\
 # $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
 #
 # Please DO NOT delete this file!
 # It is necessary for linking the library.
@@ -5773,9 +7615,15 @@ library_names='$library_names'
 # The name of the static archive.
 old_library='$old_library'
 
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
 # Libraries that this one depends upon.
 dependency_libs='$dependency_libs'
 
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
 # Version information for $libname.
 current=$current
 age=$age
@@ -5794,748 +7642,29 @@ dlpreopen='$dlprefiles'
 # Directory that this library needs to be installed in:
 libdir='$install_libdir'"
 	  if test "$installed" = no && test "$need_relink" = yes; then
-	    $echo >> $output "\
+	    $ECHO >> $output "\
 relink_command=\"$relink_command\""
 	  fi
 	done
-      fi
+      }
 
       # Do a symbolic link so that the libtool archive can be found in
       # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
       ;;
     esac
     exit $EXIT_SUCCESS
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | grep shtool > /dev/null; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f) 
-      	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
-	;;
-      -g | -m | -o) prev=$arg ;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-	arg="\"$arg\""
-	;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	$echo "$modename: no file or destination specified" 1>&2
-      else
-	$echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test "$#" -gt 2; then
-	$echo "$modename: \`$dest' is not a directory" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	library_names=
-	old_library=
-	relink_command=
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
-	test "X$dir" = "X$file/" && dir=
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  if test "$inst_prefix_dir" = "$destdir"; then
-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
-	  else
-	    relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
-	  fi
-
-	  $echo "$modename: warning: relinking \`$file'" 1>&2
-	  $show "$relink_command"
-	  if $run eval "$relink_command"; then :
-	  else
-	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names
-	if test -n "$2"; then
-	  realname="$2"
-	  shift
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  $show "$install_prog $dir/$srcname $destdir/$realname"
-	  $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-	  if test -n "$stripme" && test -n "$striplib"; then
-	    $show "$striplib $destdir/$realname"
-	    $run eval "$striplib $destdir/$realname" || exit $?
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      if test "$linkname" != "$realname"; then
-                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-	      fi
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  cmds=$postinstall_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || {
-	      lt_exit=$?
-
-	      # Restore the uninstalled library and exit
-	      if test "$mode" = relink; then
-		$run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-	      fi
-
-	      exit $lt_exit
-	    }
-	  done
-	  IFS="$save_ifs"
-	fi
-
-	# Install the pseudo-library for information purposes.
-	name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	instname="$dir/$name"i
-	$show "$install_prog $instname $destdir/$name"
-	$run eval "$install_prog $instname $destdir/$name" || exit $?
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	if test -n "$destfile"; then
-	  $show "$install_prog $file $destfile"
-	  $run eval "$install_prog $file $destfile" || exit $?
-	fi
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-	  $show "$install_prog $staticobj $staticdest"
-	  $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      file=`$echo $file|${SED} 's,.exe$,,'`
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin*|*mingw*)
-	    wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  # Check the variables that should have been set.
-	  if test -z "$notinst_deplibs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      # If there is no directory component, then add one.
-	      case $lib in
-	      */* | *\\*) . $lib ;;
-	      *) . ./$lib ;;
-	      esac
-	    fi
-	    libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  # Note that it is not necessary on cygwin/mingw to append a dot to
-	  # foo even if both foo and FILE.exe exist: automatic-append-.exe
-	  # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-	  # `FILE.' does not work on cygwin managed mounts.
-	  #
-	  # If there is no directory component, then add one.
-	  case $wrapper in
-	  */* | *\\*) . ${wrapper} ;;
-	  *) . ./${wrapper} ;;
-	  esac
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    if test "$finalize" = yes && test -z "$run"; then
-	      tmpdir=`func_mktempdir`
-	      file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
-	      outputname="$tmpdir/$file"
-	      # Replace the output file specification.
-	      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
-	      $show "$relink_command"
-	      if $run eval "$relink_command"; then :
-	      else
-		$echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-		${rm}r "$tmpdir"
-		continue
-	      fi
-	      file="$outputname"
-	    else
-	      $echo "$modename: warning: cannot relink \`$file'" 1>&2
-	    fi
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway 
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
-	    ;;
-	  esac
-	  ;;
-	esac
-	$show "$install_prog$stripme $file $destfile"
-	$run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-	test -n "$outputname" && ${rm}r "$tmpdir"
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	$show "$old_striplib $oldlib"
-	$run eval "$old_striplib $oldlib" || exit $?
-      fi
-
-      # Do each command in the postinstall commands.
-      cmds=$old_postinstall_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-	IFS="$save_ifs"
-	eval cmd=\"$cmd\"
-	$show "$cmd"
-	$run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  cmds=$finish_cmds
-	  save_ifs="$IFS"; IFS='~'
-	  for cmd in $cmds; do
-	    IFS="$save_ifs"
-	    eval cmd=\"$cmd\"
-	    $show "$cmd"
-	    $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-	  done
-	  IFS="$save_ifs"
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit $EXIT_SUCCESS
-
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    $echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $echo "   $libdir"
-    done
-    $echo
-    $echo "If you ever happen to want to link against installed libraries"
-    $echo "in a given directory, LIBDIR, you must either use libtool, and"
-    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $echo
-    $echo "See any operating system documentation about shared libraries for"
-    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit $EXIT_FAILURE
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-	$echo "$modename: \`$file' is not a file" 1>&2
-	$echo "$help" 1>&2
-	exit $EXIT_FAILURE
-      fi
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-	else
-	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-	  $echo "$help" 1>&2
-	  exit $EXIT_FAILURE
-	fi
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-
-	# If there is no directory component, then add one.
-	case $file in
-	*/* | *\\*) . $file ;;
-	*) . ./$file ;;
-	esac
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-	test "X$dir" = "X$file" && dir=.
-	;;
-
-      *)
-	$echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  # If there is no directory component, then add one.
-	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
-	  esac
-
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
+}
 
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-		$lt_var=\$save_$lt_var; export $lt_var
-	      fi"
-      done
+{ test "$mode" = link || test "$mode" = relink; } &&
+    func_mode_link ${1+"$@"}
 
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-	$echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-    ;;
 
-  # libtool clean and uninstall mode
-  clean | uninstall)
-    modename="$modename: $mode"
-    rm="$nonopt"
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
     files=
     rmforce=
     exit_status=0
@@ -6547,30 +7676,28 @@ relink_command=\"$relink_command\""
     for arg
     do
       case $arg in
-      -f) rm="$rm $arg"; rmforce=yes ;;
-      -*) rm="$rm $arg" ;;
+      -f) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
       *) files="$files $arg" ;;
       esac
     done
 
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
 
     rmdirs=
 
     origobjdir="$objdir"
     for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$dir" = "X$file"; then
-	dir=.
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
 	objdir="$origobjdir"
       else
 	objdir="$dir/$origobjdir"
       fi
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
+      func_basename "$file"
+      name="$func_basename_result"
       test "$mode" = uninstall && objdir="$dir"
 
       # Remember objdir for removal later, being careful to avoid duplicates
@@ -6582,9 +7709,9 @@ relink_command=\"$relink_command\""
       fi
 
       # Don't error if the file doesn't exist and rm -f was used.
-      if (test -L "$file") >/dev/null 2>&1 \
-	|| (test -h "$file") >/dev/null 2>&1 \
-	|| test -f "$file"; then
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+	 { test -h "$file"; } >/dev/null 2>&1 ||
+	 test -f "$file"; then
 	:
       elif test -d "$file"; then
 	exit_status=1
@@ -6598,8 +7725,8 @@ relink_command=\"$relink_command\""
       case $name in
       *.la)
 	# Possibly a libtool archive, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	  . $dir/$name
+	if func_lalib_p "$file"; then
+	  func_source $dir/$name
 
 	  # Delete the libtool libraries and symlinks.
 	  for n in $library_names; do
@@ -6614,39 +7741,17 @@ relink_command=\"$relink_command\""
 	    *" $dlname "*) ;;
 	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
 	    esac
-	     test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
 	    ;;
 	  uninstall)
 	    if test -n "$library_names"; then
 	      # Do each command in the postuninstall commands.
-	      cmds=$postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
+	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
 	    fi
 
 	    if test -n "$old_library"; then
 	      # Do each command in the old_postuninstall commands.
-	      cmds=$old_postuninstall_cmds
-	      save_ifs="$IFS"; IFS='~'
-	      for cmd in $cmds; do
-		IFS="$save_ifs"
-		eval cmd=\"$cmd\"
-		$show "$cmd"
-		$run eval "$cmd"
-		if test "$?" -ne 0 && test "$rmforce" != yes; then
-		  exit_status=1
-		fi
-	      done
-	      IFS="$save_ifs"
+	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
 	    fi
 	    # FIXME: should reinstall the best remaining shared library.
 	    ;;
@@ -6656,20 +7761,20 @@ relink_command=\"$relink_command\""
 
       *.lo)
 	# Possibly a libtool object, so verify it.
-	if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	if func_lalib_p "$file"; then
 
 	  # Read the .lo file
-	  . $dir/$name
+	  func_source $dir/$name
 
 	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" \
-	     && test "$pic_object" != none; then
+	  if test -n "$pic_object" &&
+	     test "$pic_object" != none; then
 	    rmfiles="$rmfiles $dir/$pic_object"
 	  fi
 
 	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" \
-	     && test "$non_pic_object" != none; then
+	  if test -n "$non_pic_object" &&
+	     test "$non_pic_object" != none; then
 	    rmfiles="$rmfiles $dir/$non_pic_object"
 	  fi
 	fi
@@ -6680,17 +7785,26 @@ relink_command=\"$relink_command\""
 	  noexename=$name
 	  case $file in
 	  *.exe)
-	    file=`$echo $file|${SED} 's,.exe$,,'`
-	    noexename=`$echo $name|${SED} 's,.exe$,,'`
+	    func_stripname '' '.exe' "$file"
+	    file=$func_stripname_result
+	    func_stripname '' '.exe' "$name"
+	    noexename=$func_stripname_result
 	    # $file with .exe has already been added to rmfiles,
 	    # add $file without .exe
 	    rmfiles="$rmfiles $file"
 	    ;;
 	  esac
 	  # Do a test to see if this is a libtool program.
-	  if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-	    relink_command=
-	    . $dir/$noexename
+	  if func_ltwrapper_p "$file"; then
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      relink_command=
+	      func_source $func_ltwrapper_scriptname_result
+	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+	    else
+	      relink_command=
+	      func_source $dir/$noexename
+	    fi
 
 	    # note $name still contains .exe if it was in $file originally
 	    # as does the version of $file that was added into $rmfiles
@@ -6705,239 +7819,38 @@ relink_command=\"$relink_command\""
 	fi
 	;;
       esac
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles || exit_status=1
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
     objdir="$origobjdir"
 
     # Try to remove the ${objdir}s in the directories where we deleted files
     for dir in $rmdirs; do
       if test -d "$dir"; then
-	$show "rmdir $dir"
-	$run rmdir $dir >/dev/null 2>&1
+	func_show_eval "rmdir $dir >/dev/null 2>&1"
       fi
     done
 
     exit $exit_status
-    ;;
+}
 
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-  esac
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
 
-  if test -z "$exec_cmd"; then
-    $echo "$modename: invalid operation mode \`$mode'" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi # test -z "$show_help"
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$mode'"
 
 if test -n "$exec_cmd"; then
-  eval exec $exec_cmd
+  eval exec "$exec_cmd"
   exit $EXIT_FAILURE
 fi
 
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --tag=TAG         use configuration variables from tag TAG
-    --version         print version information
-
-MODE must be one of the following:
-
-      clean           remove files from the build directory
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool at gnu.org>."
-  exit $EXIT_SUCCESS
-  ;;
-
-clean)
-  $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+exit $exit_status
 
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-  ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
 
 # The TAGs below are defined such that we never get into a situation
 # in which we disable both kinds of libraries.  Given conflicting
@@ -6951,14 +7864,17 @@ exit $?
 # configuration.  But we'll never go from static-only to shared-only.
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
+build_libtool_libs=no
+build_old_libs=yes
 # ### END LIBTOOL TAG CONFIG: disable-shared
 
 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
 # ### END LIBTOOL TAG CONFIG: disable-static
 
 # Local Variables:
 # mode:shell-script
 # sh-indentation:2
 # End:
+# vi:sw=2
+
diff --git a/m4/ecore_check_module.m4 b/m4/ecore_check_module.m4
index 8859c52..8972219 100644
--- a/m4/ecore_check_module.m4
+++ b/m4/ecore_check_module.m4
@@ -1,99 +1,105 @@
 dnl use: ECORE_CHECK_MODULE(Foo, default-enabled[, dependancy[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
 AC_DEFUN([ECORE_CHECK_MODULE],
 [
-pushdef([UP], translit([$1], [a-z], [A-Z]))dnl
-pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
+m4_pushdef([UP], m4_toupper([[$1]]))dnl
+m4_pushdef([DOWN], m4_tolower([[$1]]))dnl
 
-have_ecore_[]DOWN="no"
-ecore_[]DOWN[]_cflags=""
-ecore_[]DOWN[]_libs=""
+have_ecore_[]m4_defn([DOWN])=no
+ecore_[]m4_defn([DOWN])[]_cflags=
+ecore_[]m4_defn([DOWN])[]_libs=
+want_module=$2
 
-ifelse("x$2", "xno",
-[
-  AC_ARG_ENABLE(ecore-[]DOWN,
-    AC_HELP_STRING(
-      [--enable-ecore-[]DOWN],
-      [enable the ecore_[]DOWN module. [[default=disabled]]]
-    ),
-    [ want_ecore_[]DOWN=$enableval ],
-    [ want_ecore_[]DOWN=no ])
-],
-[
-  AC_ARG_ENABLE(ecore-[]DOWN,
-    AC_HELP_STRING(
-      [--disable-ecore-[]DOWN],
-      [disable the ecore_[]DOWN module. [[default=enabled]]]
-    ),
-    [ want_ecore_[]DOWN=$enableval ],
-    [ want_ecore_[]DOWN=yes ])
-])
+if test "x${want_module}" = "xno" ; then
+   AC_ARG_ENABLE(ecore-[]m4_defn([DOWN]),
+      [AC_HELP_STRING(
+          [--enable-ecore-[]m4_defn([DOWN])],
+          [enable the ecore_]m4_defn([DOWN])[ module. [[default=disabled]]])],
+      [want_module=$enableval],
+      [want_module=no])
+else
+   AC_ARG_ENABLE(ecore-[]m4_defn([DOWN]),
+      [AC_HELP_STRING(
+          [--disable-ecore-[]m4_defn([DOWN])],
+          [disable the ecore_]m4_defn([DOWN])[ module. [[default=enabled]]])],
+      [want_module=$enableval],
+      [want_module=yes])
+fi
 
-AC_MSG_CHECKING(whether ecore_[]DOWN module is to be built)
-
-if test "x$want_ecore_[]DOWN" = "xyes" ; then
-  if test "x$3" = "x" -o "x$3" = "xyes" ; then
-    AC_DEFINE(BUILD_ECORE_[]UP, 1, [Build Ecore_$1 Module])
-    have_ecore_[]DOWN="yes"
-    ecore_[]DOWN[]_libs="-lecore_[]DOWN"
-    AC_MSG_RESULT([yes])
-  else
-    AC_MSG_RESULT([no (dependancy failed)])
-  fi
+AC_MSG_CHECKING([whether ecore_]m4_defn([DOWN])[ module is to be built])
+
+if test "x${want_module}" = "xyes" ; then
+   if test "x$3" = "x" -o "x$3" = "xyes" ; then
+      AC_DEFINE([BUILD_ECORE_]m4_defn([UP]), [1], [Build Ecore_$1 Module])
+      have_ecore_[]m4_defn([DOWN])="yes"
+      ecore_[]m4_defn([DOWN])[]_libs="-lecore_[]m4_defn([DOWN])"
+      AC_MSG_RESULT([yes])
+   else
+      AC_MSG_RESULT([no (dependency failed)])
+   fi
 else
-  AC_MSG_RESULT([no])
+   AC_MSG_RESULT([no])
 fi
 
-AM_CONDITIONAL(BUILD_ECORE_[]UP, test "x$have_ecore_[]DOWN" = "xyes")
+AM_CONDITIONAL([BUILD_ECORE_]UP, [test "x$have_ecore_]DOWN[" = "xyes"])
 
-if test "x$have_ecore_[]DOWN" = "xyes" ; then
-  ifelse([$4], , :, [$4])
+if test "x$have_ecore_[]m4_defn([DOWN])" = "xyes" ; then
+   m4_default([$4], [:])
 else
-  ifelse([$5], , :, [$5])
+   m4_default([$5], [:])
 fi
 
-AC_SUBST(ecore_[]DOWN[]_cflags)
-AC_SUBST(ecore_[]DOWN[]_libs)
+AC_SUBST(ecore_[]m4_defn([DOWN])[]_cflags)
+AC_SUBST(ecore_[]m4_defn([DOWN])[]_libs)
 
-popdef([UP])
-popdef([DOWN])
+m4_popdef([UP])
+m4_popdef([DOWN])
 ])
 
 dnl use: ECORE_EVAS_CHECK_MODULE(foo-bar, want, description, backend[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
 AC_DEFUN([ECORE_EVAS_CHECK_MODULE],
 [
-pushdef([UP], translit([$1], [-a-z], [_A-Z]))dnl
-pushdef([DOWN], translit([$1], [-A-Z], [_a-z]))dnl
+m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
+m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl
 
-have_ecore_evas_[]DOWN="no"
+have_ecore_evas_[]m4_defn([DOWN])="no"
 want_module="$2"
 
-AC_ARG_ENABLE(ecore-$1,
-  AC_HELP_STRING(
-    [--enable-ecore-evas-$1],
-    [enable $3 support in the ecore_evas module.]
-  ),
-  [ want_module=$enableval ]
-)
-AC_MSG_CHECKING(whether ecore_evas $3 support is to be built)
-AC_MSG_RESULT($want_module)
+if test "x${want_module}" = "xno" ; then
+   AC_ARG_ENABLE(ecore-evas-$1,
+      [AC_HELP_STRING(
+          [--enable-ecore-evas-$1],
+          [enable $3 support in the ecore_evas module.])],
+      [want_module=$enableval])
+else
+   AC_ARG_ENABLE(ecore-evas-$1,
+      [AC_HELP_STRING(
+          [--disable-ecore-evas-$1],
+          [disable $3 support in the ecore_evas module.])],
+      [want_module=$enableval])
+fi
+
+AC_MSG_CHECKING([whether ecore_evas $3 support is to be built])
+AC_MSG_RESULT([${want_module}])
 
 if test "x$4" = "xyes" -a \
         "x$have_ecore_evas" = "xyes" -a \
         "x$want_module" = "xyes" ; then
-  PKG_CHECK_MODULES(EVAS_[]UP, evas-$1,
-    [
-     AC_DEFINE(BUILD_ECORE_EVAS_[]UP, 1, [Support for $3 Engine in Ecore_Evas])
-     have_ecore_evas_[]DOWN="yes";
-    ]
-  )
+   PKG_CHECK_EXISTS([evas-$1],
+      [
+       AC_DEFINE([BUILD_ECORE_EVAS_]m4_defn([UP]), [1], [Support for $3 Engine in Ecore_Evas])
+       have_ecore_evas_[]m4_defn([DOWN])="yes"
+      ])
 fi
 
-if test "x$have_ecore_evas_[]DOWN" = "xyes" ; then
-  ifelse([$5], , :, [$5])
+AC_MSG_CHECKING([whether ecore_evas $3 support is built])
+AC_MSG_RESULT([$have_ecore_evas_]m4_defn([DOWN]))
+
+if test "x$have_ecore_evas_[]m4_defn([DOWN])" = "xyes" ; then
+   m4_default([$5], [:])
 else
-  ifelse([$6], , :, [$6])
+   m4_default([$6], [:])
 fi
 
-popdef([UP])
-popdef([DOWN])
+m4_popdef([UP])
+m4_popdef([DOWN])
 ])
diff --git a/m4/ecore_check_options.m4 b/m4/ecore_check_options.m4
new file mode 100644
index 0000000..03aa740
--- /dev/null
+++ b/m4/ecore_check_options.m4
@@ -0,0 +1,240 @@
+dnl use: ECORE_CHECK_POLL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_POLL],
+[
+_ecore_want_poll=$1
+_ecore_have_poll="no"
+
+AC_ARG_ENABLE(poll,
+   [AC_HELP_STRING([--disable-poll], [disable poll in the ecore_file module])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_poll="yes"
+    else
+       _ecore_want_poll="no"
+    fi
+   ])
+
+AC_MSG_CHECKING(whether polling is to be used for filemonitoring)
+AC_MSG_RESULT(${_ecore_want_poll})
+
+if test "x${_ecore_want_poll}" = "xyes" ; then
+   AC_DEFINE([HAVE_POLL], [1], [ File monitoring with polling ])
+   _ecore_have_poll="yes"
+fi
+
+if test "x${_ecore_have_poll}" = "xyes" ; then
+   m4_default([$2], [:])
+else
+   m4_default([$3], [:])
+fi
+])
+
+dnl use: ECORE_CHECK_INOTIFY(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_INOTIFY],
+[
+_ecore_want_inotify=$1
+_ecore_have_inotify="no"
+
+dnl We need to check if the right inotify version is accessible
+_ecore_want_inotify="yes"
+AC_ARG_ENABLE(inotify,
+   [AC_HELP_STRING([--disable-inotify], [disable inotify in the ecore_file module])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_inotify="yes"
+    else
+       _ecore_want_inotify="no"
+    fi
+   ])
+
+AC_MSG_CHECKING(whether inotify is to be used for filemonitoring)
+AC_MSG_RESULT($_ecore_want_inotify)
+
+dnl It is hard to find a good test on how to check the correct
+dnl inotify version. They changed the headers a lot.
+dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls
+dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h
+dnl so with this check you need a very new kernel and kernel-headers!
+
+if test "x${_ecore_want_inotify}" = "xyes" ; then
+   AC_CHECK_LIB([c], [inotify_init],
+      [
+       AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
+       AC_DEFINE(HAVE_SYS_INOTIFY, 1, [ File monitoring with Inotify - sys/inotify.h ])
+       _ecore_have_inotify="yes"
+      ],
+      [
+       AC_TRY_COMPILE(
+          [
+           #include <asm/unistd.h>
+           #include <linux/inotify.h>
+          ],
+          [int a = __NR_inotify_init; int b = IN_MOVE_SELF;],
+          [
+           AC_DEFINE([HAVE_INOTIFY], [1], [ File monitoring with Inotify ])
+           _ecore_have_inotify="yes"
+          ],
+          [_ecore_have_inotify="no"])
+      ])
+fi
+
+if test "x$_ecore_have_inotify" = "xyes" ; then
+   m4_default([$2], [:])
+else
+   m4_default([$3], [:])
+fi
+])
+
+dnl use: ECORE_CHECK_CURL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_CURL],
+[
+_ecore_want_curl=$1
+_ecore_have_curl="no"
+
+AC_ARG_ENABLE([curl],
+   [AC_HELP_STRING([--disable-curl], [disable curl support])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_curl="yes"
+    else
+       _ecore_want_curl="no"
+    fi
+   ])
+
+if test "x${_ecore_want_curl}" = "xyes" ; then
+   PKG_CHECK_MODULES(CURL, libcurl,
+      [
+       AC_DEFINE(HAVE_CURL, 1, [ Downloading with CURL ])
+       _ecore_have_curl="yes"
+      ],
+      [_ecore_have_curl="no"])
+fi
+
+if test "x$_ecore_have_curl" = "xyes" ; then
+   m4_default([$2], [:])
+else
+   m4_default([$3], [:])
+fi
+])
+
+dnl use: ECORE_CHECK_GNUTLS(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_GNUTLS],
+[
+_ecore_want_gnutls=$1
+_ecore_have_gnutls="no"
+
+AC_ARG_ENABLE([gnutls],
+   [AC_HELP_STRING([--disable-gnutls], [disable gnutls support])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_gnutls="yes"
+    else
+       _ecore_want_gnutls="no"
+    fi
+   ])
+
+if test "x${_ecore_want_gnutls}" = "xyes" -o "x${_ecore_want_gnutls}" = "xauto" ; then
+   PKG_CHECK_MODULES([TLS], [gnutls],
+      [
+       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.0.0],
+      [AC_DEFINE(USE_GNUTLS2, 1, [Use GnuTLS 2 or higher])],
+      [dummy="no"])
+fi
+
+if test "x$_ecore_have_gnutls" = "xyes" ; then
+  ifelse([$2], , :, [$2])
+else
+  ifelse([$3], , :, [$3])
+fi
+])
+
+dnl use: ECORE_CHECK_OPENSSL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_OPENSSL],
+[
+_ecore_want_openssl=$1
+_ecore_have_openssl="no"
+
+AC_ARG_ENABLE(openssl,
+  [AC_HELP_STRING([--disable-openssl], [disable openssl support])],
+  [
+    if test "x${enableval}" = "xyes" ; then
+       _ecore_want_openssl="yes"
+    else
+       _ecore_want_openssl="no"
+    fi
+  ])
+
+if test "x${_ecore_want_openssl}" = "xyes" -o "x${_ecore_want_openssl}" = "xauto"; then
+   PKG_CHECK_MODULES([SSL],
+      [openssl],
+      [
+       AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
+       _ecore_have_openssl="yes"
+      ],
+      [_ecore_have_openssl="no"])
+fi
+
+if test "x$_ecore_have_openssl" = "xyes" ; then
+   m4_default([$2], [:])
+else
+   m4_default([$3], [:])
+fi
+])
+
+dnl use: ECORE_CHECK_TSLIB(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+AC_DEFUN([ECORE_CHECK_TSLIB],
+[
+_ecore_want_tslib=$1
+_ecore_have_tslib="no"
+TSLIB_LIBS=""
+TSLIB_CFLAGS=""
+
+if test "x${_ecore_want_tslib}" = "xyes" -o "x${_ecore_want_tslib}" = "xauto" ; then
+   PKG_CHECK_MODULES(TSLIB, tslib-1.0,
+     [
+      AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+      _ecore_have_ts="yes"
+     ],[
+      PKG_CHECK_MODULES(TSLIB, tslib,
+        [
+         AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+         _ecore_have_ts="yes"
+        ],[
+         AC_CHECK_HEADER([tslib.h],
+           [
+            AC_CHECK_LIB([ts], [ts_open], 
+              [
+               TSLIB_LIBS="-lts" 
+               TSLIB_CFLAGS=""
+               AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+               _ecore_have_ts="yes"
+              ],[
+               AC_CHECK_LIB([tslib], [ts_open],
+                 [
+                  TSLIB_LIBS="-ltslib"
+                  TSLIB_CFLAGS=""
+                  AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+                  _ecore_have_ts="yes"
+                 ],[
+                  _ecore_have_ts="no"
+                 ])
+              ])
+           ])
+        ])
+     ])
+fi
+
+AC_SUBST(TSLIB_LIBS)
+AC_SUBST(TSLIB_CFLAGS)
+
+if test "x$_ecore_have_tslib" = "xyes" ; then
+   m4_default([$2], [:])
+else
+   m4_default([$3], [:])
+fi
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 0000000..6e86e5b
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,7325 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_quote(m4_if([$2], [],
+		     m4_quote(lt_decl_tag_varnames),
+		  m4_quote(m4_shift($@)))),
+     m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
+m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool at gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on 
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it? 
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  if test "$GCC" = "yes"; then
+    output_verbose_link_cmd=echo
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+	   test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	  # Cool, printf works
+	  :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	  export CONFIG_SHELL
+	  SHELL="$CONFIG_SHELL"
+	  export SHELL
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+	  # maybe with a smaller string...
+	  prev=:
+
+	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+	    then
+	      break
+	    fi
+	    prev="$cmd"
+	  done
+
+	  if test "$prev" != 'sed 50q "[$]0"'; then
+	    echo_test_string=`eval $prev`
+	    export echo_test_string
+	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	  else
+	    # Oops.  We lost completely, so just stick with echo.
+	    ECHO=echo
+	  fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  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'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  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
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+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
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[[3-9]]*)
+  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'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-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'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # 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;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  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
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  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='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  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=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  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
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  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
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+ 
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool at gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu)
+  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
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC*)
+	    # IBM XL 8.0 on PPC
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd* | netbsdelf*-gnu)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      icc* | ecc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl*)
+	# IBM XL C 8.0/Fortran 10.1 on PPC
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  linux* | k*bsd*-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'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	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
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      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
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+        _LT_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
+
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+        # as there is no search path for DLLs.
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    cp $export_symbols $output_objdir/$soname.def;
+          else
+	    echo EXPORTS > $output_objdir/$soname.def;
+	    cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 will use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  xl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='echo'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=echo
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='echo'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 0000000..e970119
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 0000000..0d258e0
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+m4_define([lt_combine],
+[m4_if([$2], [], [],
+  [m4_if([$4], [], [],
+    [lt_join(m4_quote(m4_default([$1], [[, ]])),
+      lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
+		   [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
+			       [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
+])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 0000000..45cb155
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 2976 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.4])
+m4_define([LT_PACKAGE_REVISION], [1.2976])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.4'
+macro_revision='1.2976'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 0000000..637bb20
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/missing b/missing
index 1c8ff70..894e786 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2006-05-10.23
+scriptversion=2005-06-08.21
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
 #   Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
@@ -33,8 +33,6 @@ if test $# -eq 0; then
 fi
 
 run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
 # In the cases where this matters, `missing' is being run in the
 # srcdir already.
@@ -46,7 +44,7 @@ fi
 
 msg="missing on your system"
 
-case $1 in
+case "$1" in
 --run)
   # Try to run requested program, and just exit if it succeeds.
   run=
@@ -79,7 +77,6 @@ Supported PROGRAM values:
   aclocal      touch file \`aclocal.m4'
   autoconf     touch file \`configure'
   autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
   automake     touch all \`Makefile.in' files
   bison        create \`y.tab.[ch]', if possible, from existing .[ch]
   flex         create \`lex.yy.c', if possible, from existing .c
@@ -109,7 +106,7 @@ esac
 # Now exit if we have it, but it failed.  Also exit now if we
 # don't have it and --version was passed (most likely to detect
 # the program).
-case $1 in
+case "$1" in
   lex|yacc)
     # Not GNU programs, they don't have --version.
     ;;
@@ -138,7 +135,7 @@ esac
 
 # If it does not exist, or fails to run (possibly an outdated version),
 # try to emulate it.
-case $1 in
+case "$1" in
   aclocal*)
     echo 1>&2 "\
 WARNING: \`$1' is $msg.  You should only need it if
@@ -167,7 +164,7 @@ WARNING: \`$1' is $msg.  You should only need it if
     test -z "$files" && files="config.h"
     touch_files=
     for f in $files; do
-      case $f in
+      case "$f" in
       *:*) touch_files="$touch_files "`echo "$f" |
 				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
       *) touch_files="$touch_files $f.in";;
@@ -195,8 +192,8 @@ WARNING: \`$1' is needed, but is $msg.
          You can get \`$1' as part of \`Autoconf' from any GNU
          archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
     if test -f "$file"; then
 	touch $file
     else
@@ -217,25 +214,25 @@ WARNING: \`$1' $msg.  You should only need it if
          in order for those modifications to take effect.  You can get
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-	case $LASTARG in
+	case "$LASTARG" in
 	*.y)
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if test -f "$SRCFILE"; then
+	    if [ -f "$SRCFILE" ]; then
 	         cp "$SRCFILE" y.tab.c
 	    fi
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if test -f "$SRCFILE"; then
+	    if [ -f "$SRCFILE" ]; then
 	         cp "$SRCFILE" y.tab.h
 	    fi
 	  ;;
 	esac
     fi
-    if test ! -f y.tab.h; then
+    if [ ! -f y.tab.h ]; then
 	echo >y.tab.h
     fi
-    if test ! -f y.tab.c; then
+    if [ ! -f y.tab.c ]; then
 	echo 'main() { return 0; }' >y.tab.c
     fi
     ;;
@@ -247,18 +244,18 @@ WARNING: \`$1' is $msg.  You should only need it if
          in order for those modifications to take effect.  You can get
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
-    if test $# -ne 1; then
+    if [ $# -ne 1 ]; then
         eval LASTARG="\${$#}"
-	case $LASTARG in
+	case "$LASTARG" in
 	*.l)
 	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if test -f "$SRCFILE"; then
+	    if [ -f "$SRCFILE" ]; then
 	         cp "$SRCFILE" lex.yy.c
 	    fi
 	  ;;
 	esac
     fi
-    if test ! -f lex.yy.c; then
+    if [ ! -f lex.yy.c ]; then
 	echo 'main() { return 0; }' >lex.yy.c
     fi
     ;;
@@ -270,9 +267,11 @@ WARNING: \`$1' is $msg.  You should only need it if
 	 \`Help2man' package in order for those modifications to take
 	 effect.  You can get \`Help2man' from any GNU archive site."
 
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
 	touch $file
     else
 	test -z "$file" || exec >$file
@@ -290,17 +289,11 @@ WARNING: \`$1' is $msg.  You should only need it if
          DU, IRIX).  You might want to install the \`Texinfo' package or
          the \`GNU make' package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
     if test -z "$file"; then
       # ... or it is the one specified with @setfilename ...
       infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-	/^@setfilename/{
-	  s/.* \([^ ]*\) *$/\1/
-	  p
-	  q
-	}' $infile`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
       # ... or it is derived from the source name (dir/f.texi becomes f.info)
       test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
     fi
@@ -324,13 +317,13 @@ WARNING: \`$1' is $msg.  You should only need it if
     fi
     firstarg="$1"
     if shift; then
-	case $firstarg in
+	case "$firstarg" in
 	*o*)
 	    firstarg=`echo "$firstarg" | sed s/o//`
 	    tar "$firstarg" "$@" && exit 0
 	    ;;
 	esac
-	case $firstarg in
+	case "$firstarg" in
 	*h*)
 	    firstarg=`echo "$firstarg" | sed s/h//`
 	    tar "$firstarg" "$@" && exit 0
diff --git a/src/Makefile.in b/src/Makefile.in
index b7a4493..fe0a25f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -37,7 +37,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -85,72 +89,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -159,8 +148,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -175,6 +162,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -215,6 +204,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -238,6 +229,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -258,36 +250,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -307,6 +319,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -315,17 +328,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -334,7 +354,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
diff --git a/src/bin/Makefile.in b/src/bin/Makefile.in
index 5e40020..f09c942 100644
--- a/src/bin/Makefile.in
+++ b/src/bin/Makefile.in
@@ -39,7 +39,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -96,72 +100,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -170,8 +159,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -186,6 +173,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -226,6 +215,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -249,6 +240,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -269,36 +261,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -318,6 +330,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -326,17 +339,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -345,7 +365,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 5eb2192..d69ef73 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -2,6 +2,7 @@
 MAINTAINERCLEANFILES = Makefile.in
 SUBDIRS = \
 ecore \
+ecore_input \
 ecore_job \
 ecore_txt \
 ecore_fb \
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index 2876108..b1157c4 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -37,7 +37,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -85,72 +89,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -159,8 +148,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -175,6 +162,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -215,6 +204,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -238,6 +229,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -258,36 +250,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -307,6 +319,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -315,17 +328,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -334,7 +354,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -342,6 +361,7 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 SUBDIRS = \
 ecore \
+ecore_input \
 ecore_job \
 ecore_txt \
 ecore_fb \
diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index 7403442..b75178d 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -49,11 +49,11 @@
  * more details.
  */
 
-#ifndef _ECORE_PRIVATE_H
+#ifdef _WIN32
+# include <winsock2.h>
+#else
 # include <sys/types.h>
-# ifndef _WIN32
-#  include <signal.h>
-# endif
+# include <signal.h>
 #endif
 
 #ifndef TRUE
@@ -278,6 +278,10 @@ extern "C" {
    EAPI void              *ecore_idle_exiter_del(Ecore_Idle_Exiter *idle_exiter);
 
    EAPI void              ecore_main_loop_iterate(void);
+
+   EAPI void              ecore_main_loop_select_func_set(int (*func)(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout));
+   EAPI void             *ecore_main_loop_select_func_get(void);
+
    EAPI void              ecore_main_loop_begin(void);
    EAPI void              ecore_main_loop_quit(void);
    EAPI Ecore_Fd_Handler *ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func) (void *data, Ecore_Fd_Handler *fd_handler), const void *data, int (*buf_func) (void *buf_data, Ecore_Fd_Handler *fd_handler), const void *buf_data);
@@ -295,6 +299,7 @@ extern "C" {
    EAPI double ecore_loop_time_get(void);
        
    EAPI Ecore_Timer *ecore_timer_add(double in, int (*func) (void *data), const void *data);
+   EAPI Ecore_Timer *ecore_timer_loop_add(double in, int (*func) (void *data), const void *data);
    EAPI void        *ecore_timer_del(Ecore_Timer *timer);
    EAPI void         ecore_timer_interval_set(Ecore_Timer *timer, double in);
    EAPI void         ecore_timer_freeze(Ecore_Timer *timer);
diff --git a/src/lib/ecore/Ecore_Data.h b/src/lib/ecore/Ecore_Data.h
index 2a8331e..0daf6c1 100644
--- a/src/lib/ecore/Ecore_Data.h
+++ b/src/lib/ecore/Ecore_Data.h
@@ -1,6 +1,9 @@
 #ifndef _ECORE_DATA_H
 # define _ECORE_DATA_H
 
+/* we need this for size_t */
+#include <stddef.h>
+
 #include <Eina.h>
 
 #ifdef EAPI
@@ -29,9 +32,6 @@
 # endif
 #endif /* ! _WIN32 */
 
-/* we need this for size_t */
-#include <stddef.h>
-
 /**
  * @file Ecore_Data.h
  * @brief Contains threading, list, hash, debugging and tree functions.
@@ -300,7 +300,7 @@ extern "C" {
 
    struct _ecore_path_group
      {
-	Ecore_List *paths;
+	Eina_List *paths;
      };
    
    /*
@@ -331,7 +331,7 @@ extern "C" {
    /*
     * Get a list of all the available files in a path set
     */
-   EAPI Ecore_List * ecore_path_group_available_get(Ecore_Path_Group *group);
+   EAPI Eina_List * ecore_path_group_available_get(Ecore_Path_Group *group);
    
    
    typedef struct _ecore_plugin Ecore_Plugin;
@@ -355,7 +355,7 @@ extern "C" {
     */
    EAPI void *ecore_plugin_symbol_get(Ecore_Plugin * plugin, const char *symbol_name);
 
-   EAPI Ecore_List *ecore_plugin_available_get(Ecore_Path_Group *group);
+   EAPI Eina_List *ecore_plugin_available_get(Ecore_Path_Group *group);
 
 
    typedef struct _ecore_heap Ecore_Sheap;
diff --git a/src/lib/ecore/Ecore_Getopt.h b/src/lib/ecore/Ecore_Getopt.h
index 41834de..3ce4436 100644
--- a/src/lib/ecore/Ecore_Getopt.h
+++ b/src/lib/ecore/Ecore_Getopt.h
@@ -382,6 +382,7 @@ extern "C" {
 
   /* helper functions to be used with ECORE_GETOPT_CALLBACK_*() */
   EAPI unsigned char ecore_getopt_callback_geometry_parse(const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage);
+  EAPI unsigned char ecore_getopt_callback_size_parse(const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage);
 
 
 #ifdef __cplusplus
diff --git a/src/lib/ecore/Ecore_Str.h b/src/lib/ecore/Ecore_Str.h
index 745ad10..f0cef02 100644
--- a/src/lib/ecore/Ecore_Str.h
+++ b/src/lib/ecore/Ecore_Str.h
@@ -29,6 +29,7 @@
 
 /* we need this for size_t */
 #include <stddef.h>
+#include <string.h>
 
 /**
  * @file Ecore_Str.h
@@ -59,6 +60,57 @@ EAPI int ecore_str_has_extension(const char *str, const char *ext);
 EAPI char **ecore_str_split(const char *string, const char *delimiter, 
                             int max_tokens);
 
+EAPI size_t ecore_str_join_len(char *dst, size_t size, char sep, const char *a, size_t a_len, const char *b, size_t b_len);
+
+
+/**
+ * Join two strings and store the result in @a dst buffer.
+ *
+ * Similar to ecore_str_join_len(), but will compute the length of @a
+ * and @a b using strlen().
+ *
+ * @param dst where to store the result.
+ * @param size byte size of dst, will write at most (size - 1)
+ *     characters and then the '\0' (null terminator).
+ * @param sep separator character to use.
+ * @param a first string to use, before @a sep.
+ * @param b second string to use, after @a sep.
+ *
+ * @return the number of characters printed (not including the
+ *     trailing '\0' used to end output to strings). Just like
+ *     snprintf(), it will not write more than @a size bytes, thus a
+ *     return value of @a size or more means that the output was
+ *     truncated.
+ *
+ * @see ecore_str_join_len() and ecore_str_join_static()
+ */
+static inline size_t ecore_str_join(char *dst, size_t size, char sep, const char *a, const char *b)
+{
+   return ecore_str_join_len(dst, size, sep, a, strlen(a), b, strlen(b));
+}
+
+/**
+ * Join two static strings and store the result in static @a dst buffer.
+ *
+ * Similar to ecore_str_join_len(), but will assume string sizes are
+ * know using sizeof(X).
+ *
+ * @param dst where to store the result.
+ * @param sep separator character to use.
+ * @param a first string to use, before @a sep.
+ * @param b second string to use, after @a sep.
+ *
+ * @return the number of characters printed (not including the
+ *     trailing '\0' used to end output to strings). Just like
+ *     snprintf(), it will not write more than @a size bytes, thus a
+ *     return value of @a size or more means that the output was
+ *     truncated.
+ *
+ * @see ecore_str_join() and ecore_str_join_static()
+ */
+#define ecore_str_join_static(dst, sep, a, b) ecore_str_join_len(dst, sizeof(dst), sep, a, (sizeof(a) > 0) ? sizeof(a) - 1 : 0, b, (sizeof(b) > 0) ? sizeof(b) - 1 : 0)
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/ecore/Makefile.am b/src/lib/ecore/Makefile.am
index c15863f..e7e4219 100644
--- a/src/lib/ecore/Makefile.am
+++ b/src/lib/ecore/Makefile.am
@@ -1,6 +1,6 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-AM_CPPFLAGS = @EVIL_CFLAGS@ @WIN32_CPPFLAGS@
+AM_CPPFLAGS = @EVIL_CFLAGS@ @WIN32_CPPFLAGS@ @EFL_ECORE_BUILD@
 AM_CFLAGS = @WIN32_CFLAGS@ @EINA_CFLAGS@ @WIN32_CPPFLAGS@
 
 lib_LTLIBRARIES = libecore.la
@@ -37,6 +37,6 @@ ecore_tree.c \
 ecore_value.c
 
 libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @WIN32_LIBS@ -lm
-libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_release_info@
 
 EXTRA_DIST = ecore_private.h
diff --git a/src/lib/ecore/Makefile.in b/src/lib/ecore/Makefile.in
index 2e65806..772cc9a 100644
--- a/src/lib/ecore/Makefile.in
+++ b/src/lib/ecore/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -113,72 +117,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -187,8 +176,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -203,6 +190,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -243,6 +232,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -266,6 +257,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -286,36 +278,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -335,6 +347,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -343,17 +356,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -362,13 +382,12 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
 x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
-AM_CPPFLAGS = @EVIL_CFLAGS@ @WIN32_CPPFLAGS@
+AM_CPPFLAGS = @EVIL_CFLAGS@ @WIN32_CPPFLAGS@ @EFL_ECORE_BUILD@
 AM_CFLAGS = @WIN32_CFLAGS@ @EINA_CFLAGS@ @WIN32_CPPFLAGS@
 lib_LTLIBRARIES = libecore.la
 include_HEADERS = \
@@ -404,7 +423,7 @@ ecore_tree.c \
 ecore_value.c
 
 libecore_la_LIBADD = @dlopen_libs@ @EINA_LIBS@ @EVIL_LIBS@ @WIN32_LIBS@ -lm
-libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_release_info@
 EXTRA_DIST = ecore_private.h
 all: all-am
 
diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c
index a1955f8..9b69b17 100644
--- a/src/lib/ecore/ecore_events.c
+++ b/src/lib/ecore/ecore_events.c
@@ -38,7 +38,7 @@ static void                *ecore_raw_event_event =  NULL;
  * Add an event handler to the list of handlers. This will, on success, return
  * a handle to the event handler object that was created, that can be used
  * later to remove the handler using ecore_event_handler_del(). The @p type
- * parameter is the iteger of the event type that will trigger this callback
+ * parameter is the integer of the event type that will trigger this callback
  * to be called. The callback @p func is called when this event is processed
  * and will be passed the event type, a pointer to the private event
  * structure that is specific to that event type, and a data pointer that is
diff --git a/src/lib/ecore/ecore_exe.c b/src/lib/ecore/ecore_exe.c
index 25248c5..9d476c6 100644
--- a/src/lib/ecore/ecore_exe.c
+++ b/src/lib/ecore/ecore_exe.c
@@ -6,7 +6,7 @@
 # include <config.h>
 #endif
 
-#ifdef __FreeBSD__
+#if defined (__FreeBSD__) || defined (__OpenBSD__)
 #include <sys/time.h>
 #include <sys/resource.h>
 #endif
diff --git a/src/lib/ecore/ecore_getopt.c b/src/lib/ecore/ecore_getopt.c
index fc897c8..a9a6e3a 100644
--- a/src/lib/ecore/ecore_getopt.c
+++ b/src/lib/ecore/ecore_getopt.c
@@ -11,6 +11,10 @@
 #include <stdarg.h>
 #include <ctype.h>
 
+#ifdef _WIN32_WCE
+# include <Evil.h>
+#endif
+
 #include "Ecore.h"
 #include "Ecore_Getopt.h"
 
@@ -1099,12 +1103,11 @@ _ecore_getopt_parse_append(const Ecore_Getopt *parser __UNUSED__, const Ecore_Ge
 	     *(double *)data = d;
 	}
 	break;
-     }
-
-   if (!data)
-     {
-	_ecore_getopt_desc_print_error(desc, "could not parse value.\n");
-	return 0;
+      default:
+	{
+	  _ecore_getopt_desc_print_error(desc, "could not parse value.\n");
+	  return 0;
+	}
      }
 
    *val->listp = eina_list_append(*val->listp, data);
@@ -1635,11 +1638,10 @@ ecore_getopt_parse(const Ecore_Getopt *parser, Ecore_Getopt_Value *values, int a
 Eina_List *
 ecore_getopt_list_free(Eina_List *list)
 {
-   while (list)
-     {
-	free(list->data);
-	list = eina_list_remove_list(list, list);
-     }
+   void *data;
+
+   EINA_LIST_FREE(list, data)
+     free(data);
    return NULL;
 }
 
@@ -1664,3 +1666,28 @@ ecore_getopt_callback_geometry_parse(const Ecore_Getopt *parser __UNUSED__, cons
 
    return 1;
 }
+
+/**
+ * Helper ecore_getopt callback to parse geometry size (WxH).
+ *
+ * Storage must be a pointer to @c Eina_Rectangle and will be used to
+ * store the two values passed in the given string and 0 in the x and y
+ * fields.
+ *
+ * @c callback_data value is ignored, you can safely use @c NULL.
+ */
+unsigned char
+ecore_getopt_callback_size_parse(const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage)
+{
+   Eina_Rectangle *v = (Eina_Rectangle *)storage->ptrp;
+
+   if (sscanf(str, "%dx%d", &v->w, &v->h) != 2)
+     {
+	fprintf(stderr, "ERROR: incorrect size value '%s'\n", str);
+	return 0;
+     }
+   v->x = 0;
+   v->y = 0;
+
+   return 1;
+}
diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 6883d1f..1427bfc 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -18,6 +18,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <errno.h>
+#include <fcntl.h>
 
 #define FIX_HZ 1
 
@@ -28,11 +29,16 @@
 # endif
 #endif
 
+#ifdef HAVE_EVIL
+# include <Evil.h>
+#endif
+
 #include "ecore_private.h"
 #include "Ecore.h"
 
 static int  _ecore_main_select(double timeout);
 static void _ecore_main_fd_handlers_cleanup(void);
+static void _ecore_main_fd_handlers_bads_rem(void);
 static void _ecore_main_fd_handlers_call(void);
 static int  _ecore_main_fd_handlers_buf_call(void);
 static void _ecore_main_loop_iterate_internal(int once_only);
@@ -41,6 +47,7 @@ static int               in_main_loop = 0;
 static int               do_quit = 0;
 static Ecore_Fd_Handler *fd_handlers = NULL;
 static int               fd_handlers_delete_me = 0;
+static int (*main_loop_select)(int , fd_set *, fd_set *, fd_set *, struct timeval *) = select;
 
 static double            t1 = 0.0;
 static double            t2 = 0.0;
@@ -104,6 +111,37 @@ ecore_main_loop_quit(void)
 }
 
 /**
+ * Sets the function to use when monitoring multiple file descriptors,
+ * and waiting until one of more of the file descriptors before ready
+ * for some class of I/O operation.
+ *
+ * This function will be used instead of the system call select and
+ * could possible be used to integrate the Ecore event loop with an
+ * external event loop.
+ *
+ * @warning you don't know how to use, don't even try to use it.
+ *
+ * @ingroup Ecore_Main_Loop_Group
+ */
+EAPI void
+ecore_main_loop_select_func_set(int (*func)(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout))
+{
+   main_loop_select = func;
+}
+
+/**
+ * Gets the select function set by ecore_select_func_set(),
+ * or the native select function if none was set.
+ *
+ * @ingroup Ecore_Main_Loop_Group
+ */
+EAPI void *
+ecore_main_loop_select_func_get(void)
+{
+   return main_loop_select;
+}
+
+/**
  * @defgroup Ecore_FD_Handler_Group File Event Handling Functions
  *
  * Functions that deal with file descriptor handlers.
@@ -149,6 +187,7 @@ ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func) (voi
    if ((fd < 0) ||
        (flags == 0) ||
        (!func)) return NULL;
+
    fdh = calloc(1, sizeof(Ecore_Fd_Handler));
    if (!fdh) return NULL;
    ECORE_MAGIC_SET(fdh, ECORE_MAGIC_FD_HANDLER);
@@ -162,7 +201,8 @@ ecore_main_fd_handler_add(int fd, Ecore_Fd_Handler_Flags flags, int (*func) (voi
    fdh->data = (void *)data;
    fdh->buf_func = buf_func;
    fdh->buf_data = (void *)buf_data;
-   fd_handlers = _ecore_list2_append(fd_handlers, fdh);
+   fd_handlers = (Ecore_Fd_Handler *) eina_inlist_append(EINA_INLIST_GET(fd_handlers),
+							 EINA_INLIST_GET(fdh));
    return fdh;
 }
 
@@ -279,7 +319,8 @@ _ecore_main_shutdown(void)
 	Ecore_Fd_Handler *fdh;
 
 	fdh = fd_handlers;
-	fd_handlers = _ecore_list2_remove(fd_handlers, fdh);
+	fd_handlers = (Ecore_Fd_Handler *) eina_inlist_remove(EINA_INLIST_GET(fd_handlers),
+							      EINA_INLIST_GET(fdh));
 	ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
 	free(fdh);
      }
@@ -293,7 +334,7 @@ _ecore_main_select(double timeout)
    fd_set         rfds, wfds, exfds;
    int            max_fd;
    int            ret;
-   Ecore_List2    *l;
+   Ecore_Fd_Handler *fdh;
 
    t = NULL;
    if ((!finite(timeout)) || (timeout == 0.0))  /* finite() tests for NaN, too big, too small, and infinity.  */
@@ -329,20 +370,11 @@ _ecore_main_select(double timeout)
    FD_ZERO(&exfds);
 
    /* call the prepare callback for all handlers */
-   for (l = (Ecore_List2 *)fd_handlers; l; l = l->next)
-     {
-	Ecore_Fd_Handler *fdh;
-
-	fdh = (Ecore_Fd_Handler *)l;
-
-	if (!fdh->delete_me && fdh->prep_func)
-	  fdh->prep_func (fdh->prep_data, fdh);
-     }
-   for (l = (Ecore_List2 *)fd_handlers; l; l = l->next)
+   EINA_INLIST_FOREACH(fd_handlers, fdh)
+     if (!fdh->delete_me && fdh->prep_func)
+       fdh->prep_func (fdh->prep_data, fdh);
+   EINA_INLIST_FOREACH(fd_handlers, fdh)
      {
-	Ecore_Fd_Handler *fdh;
-
-	fdh = (Ecore_Fd_Handler *)l;
 	if (fdh->flags & ECORE_FD_READ)
 	  {
 	     FD_SET(fdh->fd, &rfds);
@@ -360,29 +392,27 @@ _ecore_main_select(double timeout)
 	  }
      }
    if (_ecore_signal_count_get()) return -1;
-   ret = select(max_fd + 1, &rfds, &wfds, &exfds, t);
+
+   ret = main_loop_select(max_fd + 1, &rfds, &wfds, &exfds, t);
    _ecore_loop_time = ecore_time_get();
    if (ret < 0)
      {
 	if (errno == EINTR) return -1;
+	else if (errno == EBADF)
+	     _ecore_main_fd_handlers_bads_rem();
      }
    if (ret > 0)
      {
-	for (l = (Ecore_List2 *)fd_handlers; l; l = l->next)
-	  {
-	     Ecore_Fd_Handler *fdh;
-
-	     fdh = (Ecore_Fd_Handler *)l;
-	     if (!fdh->delete_me)
-	       {
-		  if (FD_ISSET(fdh->fd, &rfds))
-		    fdh->read_active = 1;
-		  if (FD_ISSET(fdh->fd, &wfds))
-		    fdh->write_active = 1;
-		  if (FD_ISSET(fdh->fd, &exfds))
-		    fdh->error_active = 1;
-	       }
-	  }
+	EINA_INLIST_FOREACH(fd_handlers, fdh)
+	  if (!fdh->delete_me)
+	    {
+	       if (FD_ISSET(fdh->fd, &rfds))
+		 fdh->read_active = 1;
+	       if (FD_ISSET(fdh->fd, &wfds))
+		 fdh->write_active = 1;
+	       if (FD_ISSET(fdh->fd, &exfds))
+		 fdh->error_active = 1;
+	    }
 	_ecore_main_fd_handlers_cleanup();
 	return 1;
      }
@@ -390,20 +420,61 @@ _ecore_main_select(double timeout)
 }
 
 static void
+_ecore_main_fd_handlers_bads_rem(void)
+{
+   fprintf(stderr, "Removing bad fds\n");
+   Ecore_Fd_Handler *fdh;
+   Eina_Inlist *l;
+
+   for (l = EINA_INLIST_GET(fd_handlers); l; )
+     {
+	fdh = (Ecore_Fd_Handler *) l;
+	l = l->next;
+	errno = 0;
+
+	if ((fcntl(fdh->fd, F_GETFD) < 0) && (errno == EBADF))
+	  {
+	     fprintf(stderr, "Found bad fd at index %d\n", fdh->fd);
+	     if (fdh->flags & ECORE_FD_ERROR)
+	       {
+		  fprintf(stderr, "Fd set for error! calling user\n");
+	         if (!fdh->func(fdh->data, fdh))
+		   {
+		     fprintf(stderr, "Fd function err returned 0, remove it\n");
+		     fdh->delete_me = 1;
+		     fd_handlers_delete_me = 1;
+		     _ecore_main_fd_handlers_cleanup();
+		   }
+	       }
+	     else
+	       {
+		  fprintf(stderr, "Problematic fd found at %d! setting it for delete\n", fdh->fd);
+		  fdh->delete_me = 1;
+		  fd_handlers_delete_me = 1;
+		  _ecore_main_fd_handlers_cleanup();
+	       }
+	  }
+
+    }
+}
+
+static void
 _ecore_main_fd_handlers_cleanup(void)
 {
-   Ecore_List2 *l;
+   Ecore_Fd_Handler *fdh;
+   Eina_Inlist *l;
 
    if (!fd_handlers_delete_me) return;
-   for (l = (Ecore_List2 *)fd_handlers; l;)
+   for (l = EINA_INLIST_GET(fd_handlers); l; )
      {
-	Ecore_Fd_Handler *fdh;
+	fdh = (Ecore_Fd_Handler *) l;
 
-	fdh = (Ecore_Fd_Handler *)l;
 	l = l->next;
 	if (fdh->delete_me)
 	  {
-	     fd_handlers = _ecore_list2_remove(fd_handlers, fdh);
+//	     fprintf(stderr, "Removing fd %d\n", fdh->fd);
+	     fd_handlers = (Ecore_Fd_Handler *) eina_inlist_remove(EINA_INLIST_GET(fd_handlers),
+								   EINA_INLIST_GET(fdh));
 	     ECORE_MAGIC_SET(fdh, ECORE_MAGIC_NONE);
 	     free(fdh);
 	  }
@@ -414,63 +485,54 @@ _ecore_main_fd_handlers_cleanup(void)
 static void
 _ecore_main_fd_handlers_call(void)
 {
-   Ecore_List2    *l;
-
-   for (l = (Ecore_List2 *)fd_handlers; l; l = l->next)
-     {
-	Ecore_Fd_Handler *fdh;
+   Ecore_Fd_Handler *fdh;
 
-	fdh = (Ecore_Fd_Handler *)l;
-	if (!fdh->delete_me)
-	  {
-	     if ((fdh->read_active) ||
-		 (fdh->write_active) ||
-		 (fdh->error_active))
-	       {
-		  if (!fdh->func(fdh->data, fdh))
-		    {
-		       fdh->delete_me = 1;
-		       fd_handlers_delete_me = 1;
-		    }
-		  fdh->read_active = 0;
+   EINA_INLIST_FOREACH(fd_handlers, fdh)
+     if (!fdh->delete_me)
+       {
+	  if ((fdh->read_active) ||
+	      (fdh->write_active) ||
+	      (fdh->error_active))
+	    {
+	       if (!fdh->func(fdh->data, fdh))
+		 {
+		    fdh->delete_me = 1;
+		    fd_handlers_delete_me = 1;
+		 }
+	       fdh->read_active = 0;
 		  fdh->write_active = 0;
 		  fdh->error_active = 0;
-	       }
-	  }
-     }
+	    }
+       }
 }
 
 static int
 _ecore_main_fd_handlers_buf_call(void)
 {
-   Ecore_List2    *l;
+   Ecore_Fd_Handler *fdh;
    int ret;
 
    ret = 0;
-   for (l = (Ecore_List2 *)fd_handlers; l; l = l->next)
-     {
-	Ecore_Fd_Handler *fdh;
+   EINA_INLIST_FOREACH(fd_handlers, fdh)
+     if (!fdh->delete_me)
+       {
+	  if (fdh->buf_func)
+	    {
+	       if (fdh->buf_func(fdh->buf_data, fdh))
+		 {
+		    ret |= fdh->func(fdh->data, fdh);
+		    fdh->read_active = 1;
+		 }
+	    }
+       }
 
-	fdh = (Ecore_Fd_Handler *)l;
-	if (!fdh->delete_me)
-	  {
-	     if (fdh->buf_func)
-	       {
-		  if (fdh->buf_func(fdh->buf_data, fdh))
-		    {
-		       ret |= fdh->func(fdh->data, fdh);
-		       fdh->read_active = 1;
-		    }
-	       }
-	  }
-     }
    return ret;
 }
 
 static void
 _ecore_main_loop_iterate_internal(int once_only)
 {
-   double next_time;
+   double next_time = -1.0;
    int    have_event = 0;
    int    have_signal;
 
@@ -480,7 +542,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 	double now;
 
 	now = ecore_loop_time_get();
-	while (_ecore_timer_call(now));
+        while (_ecore_timer_call(now));
 	_ecore_timer_cleanup();
      }
    /* any timers re-added as a result of these are allowed to go */
@@ -567,6 +629,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 		       if (next_time >= 0) goto start_loop;
 		       if (do_quit) break;
 		    }
+                  _ecore_loop_time = ecore_time_get();
 	       }
 	  }
 	/* timers */
@@ -592,6 +655,7 @@ _ecore_main_loop_iterate_internal(int once_only)
 		       if (next_time < 0) goto start_loop;
 		       if (do_quit) break;
 		    }
+                  _ecore_loop_time = ecore_time_get();
 	       }
 	  }
      }
@@ -621,7 +685,8 @@ _ecore_main_loop_iterate_internal(int once_only)
       MSG msg;
       BOOL ret;
       UINT_PTR TmrID = 0;
-      if ((UINT) (next_time * 1000.0) > USER_TIMER_MINIMUM)
+      if ((next_time > 0) && ((UINT) (next_time * 1000.0) > USER_TIMER_MINIMUM))
+
         {
            TmrID = SetTimer(NULL, 0, (UINT) (next_time * 1000.0), NULL);
            ret = GetMessage(&msg, NULL, 0, 0);
@@ -642,7 +707,10 @@ _ecore_main_loop_iterate_internal(int once_only)
         }
 
       if (TmrID)
-        KillTimer(NULL, TmrID);
+        {
+           KillTimer(NULL, TmrID);
+           TmrID = 0;
+        }
    }
 #endif
 
diff --git a/src/lib/ecore/ecore_path.c b/src/lib/ecore/ecore_path.c
index ea1431e..bb1f195 100644
--- a/src/lib/ecore/ecore_path.c
+++ b/src/lib/ecore/ecore_path.c
@@ -45,11 +45,12 @@ ecore_path_group_new(void)
 EAPI void
 ecore_path_group_del(Ecore_Path_Group *group)
 {
-   CHECK_PARAM_POINTER("group", group);
+   char *path;
 
-   if (group->paths)
-     ecore_list_destroy(group->paths);
+   CHECK_PARAM_POINTER("group", group);
 
+   EINA_LIST_FREE(group->paths, path)
+     free(path);
    free(group);
 }
 
@@ -65,13 +66,7 @@ ecore_path_group_add(Ecore_Path_Group *group, const char *path)
    CHECK_PARAM_POINTER("group", group);
    CHECK_PARAM_POINTER("path", path);
 
-   if (!group->paths)
-     {
-	group->paths = ecore_list_new();
-	ecore_list_free_cb_set(group->paths, free);
-     }
-
-   ecore_list_append(group->paths, strdup(path));
+   group->paths = eina_list_append(group->paths, strdup(path));
 }
 
 /**
@@ -94,16 +89,16 @@ ecore_path_group_remove(Ecore_Path_Group *group, const char *path)
    /*
     * Find the path in the list of available paths
     */
-   ecore_list_first_goto(group->paths);
-
-   while ((found = ecore_list_current(group->paths)) && strcmp(found, path))
-     ecore_list_next(group->paths);
+   found = eina_list_search_unsorted(group->paths, strcmp, path);
 
    /*
     * If the path is found, remove and free it
     */
    if (found)
-     ecore_list_remove_destroy(group->paths);
+     {
+	group->paths = eina_list_remove(group->paths, found);
+	free(found);
+     }
 }
 
 /**
@@ -117,6 +112,7 @@ ecore_path_group_remove(Ecore_Path_Group *group, const char *path)
 EAPI char *
 ecore_path_group_find(Ecore_Path_Group *group, const char *name)
 {
+   Eina_List *l;
    int r;
    char *p;
    struct stat st;
@@ -131,15 +127,13 @@ ecore_path_group_find(Ecore_Path_Group *group, const char *name)
    /*
     * Search the paths of the path group for the specified file name
     */
-   ecore_list_first_goto(group->paths);
-   p = ecore_list_next(group->paths);
-   do
+   EINA_LIST_FOREACH(group->paths, l, p)
      {
 	snprintf(path, PATH_MAX, "%s/%s", p, name);
 	r = stat(path, &st);
+	if ((r >= 0) && S_ISREG(st.st_mode))
+	  break;
      }
-   while (((r < 0) || !S_ISREG(st.st_mode)) &&
-	  (p = ecore_list_next(group->paths)));
 
    if (p)
      p = strdup(path);
@@ -154,20 +148,19 @@ ecore_path_group_find(Ecore_Path_Group *group, const char *name)
  *          identified by @p group_id.  @c NULL otherwise.
  * @ingroup Ecore_Path_Group
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_path_group_available_get(Ecore_Path_Group *group)
 {
-   Ecore_List *avail = NULL;
+   Eina_List *avail = NULL;
+   Eina_List *l;
    char *path;
 
    CHECK_PARAM_POINTER_RETURN("group", group, NULL);
 
-   if (!group->paths || ecore_list_empty_is(group->paths))
+   if (!group->paths || !eina_list_count(group->paths))
      return NULL;
 
-   ecore_list_first_goto(group->paths);
-
-   while ((path = ecore_list_next(group->paths)) != NULL)
+   EINA_LIST_FOREACH(group->paths, l, path)
      {
 	DIR *dir;
 	struct stat st;
@@ -203,13 +196,11 @@ ecore_path_group_available_get(Ecore_Path_Group *group)
 
 	     strncpy(n, d->d_name, l - 2);
 */
-	     if (!avail)
-	       avail = ecore_list_new();
-
-/*	     ecore_list_append(avail, strdup(n));*/
-	     ecore_list_append(avail, strdup(d->d_name));
+/*	     avail = eina_list_append(avail, strdup(n));*/
+	     avail = eina_list_append(avail, strdup(d->d_name));
 	  }
      }
 
    return avail;
 }
+
diff --git a/src/lib/ecore/ecore_plugin.c b/src/lib/ecore/ecore_plugin.c
index 0162a27..7255dee 100644
--- a/src/lib/ecore/ecore_plugin.c
+++ b/src/lib/ecore/ecore_plugin.c
@@ -27,9 +27,6 @@
 #include "Ecore_Str.h"
 #include "ecore_private.h"
 
-
-static Ecore_List *loaded_plugins = NULL;
-
 static Eina_Bool _hash_keys(const Eina_Hash	*hash,
 			    const char		*key,
                             void		*list);
@@ -103,14 +100,6 @@ ecore_plugin_load(Ecore_Path_Group *group, const char *plugin_name, const char *
 
    plugin->handle = handle;
 
-   /*
-    * Now add it to the list of the groups loaded plugins
-    */
-   if (!loaded_plugins)
-     loaded_plugins = ecore_list_new();
-
-   ecore_list_append(loaded_plugins, plugin);
-
    FREE(path);
 
    return plugin;
@@ -126,19 +115,8 @@ ecore_plugin_unload(Ecore_Plugin *plugin)
 {
    CHECK_PARAM_POINTER("plugin", plugin);
 
-   if (!plugin->handle)
-     return;
-
-   if (ecore_list_goto(loaded_plugins, plugin))
-     ecore_list_remove(loaded_plugins);
-
-   if (ecore_list_empty_is(loaded_plugins))
-     {
-	ecore_list_destroy(loaded_plugins);
-	loaded_plugins = NULL;
-     }
-
-   dlclose(plugin->handle);
+   if (plugin->handle)
+	dlclose(plugin->handle);
 
    FREE(plugin);
 }
@@ -173,23 +151,23 @@ ecore_plugin_symbol_get(Ecore_Plugin *plugin, const char *symbol_name)
  *          paths identified by @p group_id.  @c NULL otherwise.
  * @ingroup Ecore_Plugin
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_plugin_available_get(Ecore_Path_Group *group)
 {
-   Ecore_List *avail = NULL;
+   Eina_List *avail = NULL;
+   Eina_List *l;
    Eina_Hash *plugins = NULL;
    Eina_Iterator *it = NULL;
    char *path;
 
    CHECK_PARAM_POINTER_RETURN("group", group, NULL);
 
-   if (!group->paths || ecore_list_empty_is(group->paths))
+   if (!group->paths || !eina_list_count(group->paths))
      return NULL;
 
-   ecore_list_first_goto(group->paths);
    plugins = eina_hash_string_superfast_new(NULL);
 
-   while ((path = ecore_list_next(group->paths)) != NULL)
+   EINA_LIST_FOREACH(group->paths, l, path)
      {
 	DIR *dir;
 	struct stat st;
@@ -239,14 +217,10 @@ ecore_plugin_available_get(Ecore_Path_Group *group)
 	closedir(dir);
      }
 
-   avail = ecore_list_new();
-   ecore_list_free_cb_set(avail, free);
-
-
    it = eina_hash_iterator_data_new(plugins);
    if (it)
      {
-	eina_iterator_foreach(it, EINA_EACH(_hash_keys), avail);
+	eina_iterator_foreach(it, EINA_EACH(_hash_keys), &avail);
 	eina_iterator_free(it);
      }
 
@@ -259,6 +233,6 @@ ecore_plugin_available_get(Ecore_Path_Group *group)
 static Eina_Bool
 _hash_keys(const Eina_Hash *hash __UNUSED__, const char *key, void *list)
 {
-   ecore_list_append(list, strdup(key));
+   *(Eina_List **)list = eina_list_append(*(Eina_List **)list, key);
    return EINA_TRUE;
 }
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index 0188d27..02b4e45 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -8,6 +8,8 @@
 # include <signal.h>
 #endif
 
+#include <Eina.h>
+
 #ifdef EAPI
 # undef EAPI
 #endif
@@ -312,7 +314,7 @@ struct _Ecore_Idle_Exiter
 
 struct _Ecore_Fd_Handler
 {
-   Ecore_List2               __list_data;
+   EINA_INLIST;
    ECORE_MAGIC;
    int                      fd;
    Ecore_Fd_Handler_Flags   flags;
diff --git a/src/lib/ecore/ecore_str.c b/src/lib/ecore/ecore_str.c
index 1682229..dc8fc96 100644
--- a/src/lib/ecore/ecore_str.c
+++ b/src/lib/ecore/ecore_str.c
@@ -241,3 +241,62 @@ ecore_str_split(const char *str, const char *delim, int max_tokens)
 
    return str_array;
 }
+
+/**
+ * Join two strings of known length and store the result in @a dst buffer.
+ *
+ * @param dst where to store the result.
+ * @param size byte size of dst, will write at most (size - 1)
+ *     characters and then the '\0' (null terminator).
+ * @param sep separator character to use.
+ * @param a first string to use, before @a sep.
+ * @param a_len length of @a a, not including '\0' (strlen()-like)
+ * @param b second string to use, after @a sep.
+ * @param b_len length of @a b, not including '\0' (strlen()-like)
+ *
+ * @return the number of characters printed (not including the
+ *     trailing '\0' used to end output to strings). Just like
+ *     snprintf(), it will not write more than @a size bytes, thus a
+ *     return value of @a size or more means that the output was
+ *     truncated.
+ *
+ * @see ecore_str_join() and ecore_str_join_static()
+ */
+size_t
+ecore_str_join_len(char *dst, size_t size, char sep, const char *a, size_t a_len, const char *b, size_t b_len)
+{
+   size_t ret = a_len + b_len + 1;
+   size_t off;
+
+   if (size < 1) return ret;
+
+   if (size <= a_len)
+     {
+	memcpy(dst, a, size - 1);
+	dst[size - 1] = '\0';
+	return ret;
+     }
+
+   memcpy(dst, a, a_len);
+   off = a_len;
+
+   if (size <= off + 1)
+     {
+	dst[size - 1] = '\0';
+	return ret;
+     }
+
+   dst[off] = sep;
+   off++;
+
+   if (size <= off + b_len + 1)
+     {
+	memcpy(dst + off, b, size - off - 1);
+	dst[size - 1] = '\0';
+	return ret;
+     }
+
+   memcpy(dst + off, b, b_len);
+   dst[off + b_len] = '\0';
+   return ret;
+}
diff --git a/src/lib/ecore/ecore_time.c b/src/lib/ecore/ecore_time.c
index a104b61..70abb26 100644
--- a/src/lib/ecore/ecore_time.c
+++ b/src/lib/ecore/ecore_time.c
@@ -12,6 +12,10 @@
 # include <sys/time.h>
 #endif
 
+#ifdef HAVE_EVIL
+# include <Evil.h>
+#endif
+
 #include "Ecore.h"
 #include "ecore_private.h"
 
@@ -30,13 +34,17 @@
 EAPI double
 ecore_time_get(void)
 {
-#ifdef HAVE_GETTIMEOFDAY
+#ifdef HAVE_EVIL
+  return evil_time_get();
+#else
+# ifdef HAVE_GETTIMEOFDAY
    struct timeval      timev;
 
    gettimeofday(&timev, NULL);
    return (double)timev.tv_sec + (((double)timev.tv_usec) / 1000000);
-#else
-# error "Your platform isn't supported yet"
+# else
+#  error "Your platform isn't supported yet"
+# endif
 #endif
 }
 
@@ -47,7 +55,7 @@ double _ecore_loop_time = -1.0;
  *
  * This gets the time (since Jan 1st, 1970, 12:00AM) that the main loop ceased
  * waiting for timouts and/or events to come in or for signals or any other
- * interrupt source. This should be considered a reference point fo all
+ * interrupt source. This should be considered a reference point for all
  * time based activity that should calculate its timepoint from the return
  * of ecore_loop_time_get(). use this UNLESS you absolutely must get the
  * current actual timepoint - then use ecore_time_get(). If this is called
diff --git a/src/lib/ecore/ecore_timer.c b/src/lib/ecore/ecore_timer.c
index b6d926e..701bcdb 100644
--- a/src/lib/ecore/ecore_timer.c
+++ b/src/lib/ecore/ecore_timer.c
@@ -84,7 +84,7 @@ ecore_timer_precision_set(double value)
  * @ingroup Ecore_Time_Group
  *
  * This function adds a timer and returns its handle on success and NULL on
- * failure. The function @p func will be called every @in@ seconds. The
+ * failure. The function @p func will be called every @p in seconds. The
  * function will be passed the @p data pointer as its parameter.
  *
  * When the timer @p func is called, it must return a value of either 1
@@ -110,6 +110,35 @@ ecore_timer_add(double in, int (*func) (void *data), const void *data)
 }
 
 /**
+ * Creates a timer to call the given function in the given period of time.
+ * @param   in   The interval in seconds from current loop time.
+ * @param   func The given function.  If @p func returns 1, the timer is
+ *               rescheduled for the next interval @p in.
+ * @param   data Data to pass to @p func when it is called.
+ * @return  A timer object on success.  @c NULL on failure.
+ * @ingroup Ecore_Time_Group
+ *
+ * This is the same as ecore_timer_add(), but "now" is the time from
+ * ecore_loop_time_get() not ecore_time_get() as ecore_timer_add() uses. See
+ * ecore_timer_add() for more details.
+ */
+EAPI Ecore_Timer *
+ecore_timer_loop_add(double in, int (*func) (void *data), const void *data)
+{
+   double now;
+   Ecore_Timer *timer;
+
+   if (!func) return NULL;
+   if (in < 0.0) in = 0.0;
+   timer = calloc(1, sizeof(Ecore_Timer));
+   if (!timer) return NULL;
+   ECORE_MAGIC_SET(timer, ECORE_MAGIC_TIMER);
+   now = ecore_loop_time_get();
+   _ecore_timer_set(timer, now + in, in, func, (void *)data);
+   return timer;
+}
+
+/**
  * Delete the specified timer from the timer list.
  * @param   timer The timer to delete.
  * @return  The data pointer set for the timer when @ref ecore_timer_add was
diff --git a/src/lib/ecore/ecore_value.c b/src/lib/ecore/ecore_value.c
index 4589fec..ea098f6 100644
--- a/src/lib/ecore/ecore_value.c
+++ b/src/lib/ecore/ecore_value.c
@@ -35,6 +35,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include <stdio.h>
 #include <string.h>
 
+#ifdef _WIN32_WCE
+# include <Evil.h>
+#endif
+
 #include "Ecore.h"
 #include "Ecore_Data.h"
 #include "ecore_private.h"
diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h
index 67f6123..9bf0d10 100644
--- a/src/lib/ecore_con/Ecore_Con.h
+++ b/src/lib/ecore_con/Ecore_Con.h
@@ -214,7 +214,7 @@ extern "C" {
    EAPI int               ecore_con_url_url_set(Ecore_Con_Url *url_con, const char *url);
    EAPI void		  ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd);
    EAPI int		  ecore_con_url_received_bytes_get(Ecore_Con_Url *url_con);
-   EAPI int               ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *content_type);
+   EAPI int               ecore_con_url_send(Ecore_Con_Url *url_con, const void *data, size_t length, const char *content_type);
    EAPI void              ecore_con_url_time(Ecore_Con_Url *url_con, Ecore_Con_Url_Time condition, time_t tm);
 
 #ifdef HAVE_NETDB_H
@@ -224,7 +224,7 @@ extern "C" {
    EAPI int		  ecore_con_info_get(Ecore_Con_Server *svr, Ecore_Con_Info_Cb done_cb, void *data, struct addrinfo *hints);
 #endif
 
-   EAPI int		  ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, char *filename, char *user, char *pass, char *upload_dir);
+   EAPI int		  ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, const char *filename, const char *user, const char *pass, const char *upload_dir);
    EAPI void		  ecore_con_url_verbose_set(Ecore_Con_Url *url_con, int verbose);
    EAPI void		  ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, int use_epsv);
 
diff --git a/src/lib/ecore_con/Makefile.am b/src/lib/ecore_con/Makefile.am
index a09a50e..6a862ff 100644
--- a/src/lib/ecore_con/Makefile.am
+++ b/src/lib/ecore_con/Makefile.am
@@ -24,7 +24,7 @@ libecore_con_la_LIBADD = \
 $(top_builddir)/src/lib/ecore/libecore.la \
 @SSL_LIBS@ @CURL_LIBS@ @EINA_LIBS@ @TLS_LIBS@
 
-libecore_con_la_LDFLAGS = -version-info @version_info@
+libecore_con_la_LDFLAGS = -version-info @version_info@ @ecore_con_release_info@
 
 endif
 
diff --git a/src/lib/ecore_con/Makefile.in b/src/lib/ecore_con/Makefile.in
index 2801fc4..107195d 100644
--- a/src/lib/ecore_con/Makefile.in
+++ b/src/lib/ecore_con/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -113,72 +117,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -187,8 +176,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -203,6 +190,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -243,6 +232,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -266,6 +257,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -286,36 +278,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -335,6 +347,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -343,17 +356,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -362,7 +382,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -390,7 +409,7 @@ AM_CPPFLAGS = \
 @BUILD_ECORE_CON_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_CON_TRUE@@SSL_LIBS@ @CURL_LIBS@ @EINA_LIBS@ @TLS_LIBS@
 
- at BUILD_ECORE_CON_TRUE@libecore_con_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_CON_TRUE@libecore_con_la_LDFLAGS = -version-info @version_info@ @ecore_con_release_info@
 EXTRA_DIST = ecore_con_private.h
 all: all-am
 
diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 5b83ed4..1be24d0 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -14,6 +14,10 @@
 #include <unistd.h>
 #include <fcntl.h>
 
+#ifndef HAVE_ABSTRACT_SOCKETS
+#include <stdio.h>
+#endif
+
 #include "Ecore.h"
 #include "ecore_private.h"
 #include "Ecore_Con.h"
@@ -57,7 +61,7 @@ EAPI int ECORE_CON_EVENT_SERVER_DEL = 0;
 EAPI int ECORE_CON_EVENT_CLIENT_DATA = 0;
 EAPI int ECORE_CON_EVENT_SERVER_DATA = 0;
 
-static Ecore_List *servers = NULL;
+static Eina_List *servers = NULL;
 static int init_count = 0;
 
 #define LENGTH_OF_SOCKADDR_UN(s) (strlen((s)->sun_path) + (size_t)(((struct sockaddr_un *)NULL)->sun_path))
@@ -94,8 +98,6 @@ ecore_con_init(void)
    ecore_con_dns_init();
    ecore_con_info_init();
 
-   servers = ecore_list_new();
-
    return init_count;
 }
 
@@ -110,10 +112,8 @@ ecore_con_shutdown(void)
 {
    if (--init_count != 0) return init_count;
 
-   while (!ecore_list_empty_is(servers))
-     _ecore_con_server_free(ecore_list_first_remove(servers));
-   ecore_list_destroy(servers);
-   servers = NULL;
+   while (servers)
+     _ecore_con_server_free(eina_list_data_get(servers));
 
    ecore_con_info_shutdown();
    ecore_con_dns_shutdown();
@@ -285,7 +285,7 @@ ecore_con_server_add(Ecore_Con_Type compl_type, const char *name, int port,
         if (!ecore_con_info_udp_listen(svr, _ecore_con_cb_udp_listen, svr)) goto error;
      }
 
-   ecore_list_append(servers, svr);
+   servers = eina_list_append(servers, svr);
    ECORE_MAGIC_SET(svr, ECORE_MAGIC_CON_SERVER);
 
    return svr;
@@ -463,7 +463,7 @@ ecore_con_server_connect(Ecore_Con_Type compl_type, const char *name, int port,
         if (!ecore_con_info_udp_connect(svr, _ecore_con_cb_udp_connect, svr)) goto error;
      }
 
-   ecore_list_append(servers, svr);
+   servers = eina_list_append(servers, svr);
    ECORE_MAGIC_SET(svr, ECORE_MAGIC_CON_SERVER);
 
    return svr;
@@ -494,6 +494,8 @@ ecore_con_server_del(Ecore_Con_Server *svr)
 	ECORE_MAGIC_FAIL(svr, ECORE_MAGIC_CON_SERVER, "ecore_con_server_del");
 	return NULL;
      }
+   if (svr->delete_me) return NULL;
+
    data = svr->data;
    svr->data = NULL;
    svr->delete_me = 1;
@@ -508,7 +510,6 @@ ecore_con_server_del(Ecore_Con_Server *svr)
    else
      {
 	_ecore_con_server_free(svr);
-	if (ecore_list_goto(servers, svr)) ecore_list_remove(servers);
      }
    return data;
 }
@@ -886,12 +887,8 @@ _ecore_con_server_free(Ecore_Con_Server *svr)
 	  }
      }
    if (svr->write_buf) free(svr->write_buf);
-   while (svr->clients)
-     {
-       cl = eina_list_data_get(svr->clients);
-       svr->clients = eina_list_remove(svr->clients, cl);
+   EINA_LIST_FREE(svr->clients, cl)
        _ecore_con_client_free(cl);
-     }
    if ((svr->created) && (svr->path) && (svr->ppid == getpid()))
      unlink(svr->path);
    if (svr->fd >= 0) close(svr->fd);
@@ -900,6 +897,7 @@ _ecore_con_server_free(Ecore_Con_Server *svr)
    if (svr->path) free(svr->path);
    if (svr->ip) free(svr->ip);
    if (svr->fd_handler) ecore_main_fd_handler_del(svr->fd_handler);
+   servers = eina_list_remove(servers, svr);
    free(svr);
 }
 
@@ -1319,13 +1317,13 @@ _ecore_con_cl_handler(void *data, Ecore_Fd_Handler *fd_handler)
 	  }
 
 /* #if USE_OPENSSL */
-/* 	if (svr->fd_handler) */
-/* 	  { */
-/* 	     if (svr->ssl && ssl_err == SSL_ERROR_WANT_READ) */
-/* 	       ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ); */
-/* 	     else if (svr->ssl && ssl_err == SSL_ERROR_WANT_WRITE) */
-/* 	       ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); */
-/* 	  } */
+/*	if (svr->fd_handler) */
+/*	  { */
+/*	     if (svr->ssl && ssl_err == SSL_ERROR_WANT_READ) */
+/*	       ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ); */
+/*	     else if (svr->ssl && ssl_err == SSL_ERROR_WANT_WRITE) */
+/*	       ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE); */
+/*	  } */
 /* #endif */
      }
    else if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_WRITE))
@@ -1389,7 +1387,7 @@ static int
 _ecore_con_svr_udp_handler(void *data, Ecore_Fd_Handler *fd_handler)
 {
    Ecore_Con_Server   *svr;
-   Ecore_Con_Client *cl;
+   Ecore_Con_Client *cl = NULL;
 
    svr = data;
    if (svr->dead) return 1;
@@ -1543,7 +1541,7 @@ _ecore_con_svr_cl_handler(void *data, Ecore_Fd_Handler *fd_handler)
 		  if (inbuf && !cl->delete_me)
 		    {
 		      Ecore_Con_Event_Client_Data *e;
-		      
+
 		      e = calloc(1, sizeof(Ecore_Con_Event_Client_Data));
 		      if (e)
 			{
diff --git a/src/lib/ecore_con/ecore_con_dns.c b/src/lib/ecore_con/ecore_con_dns.c
index d8b58cb..4ae6f7c 100644
--- a/src/lib/ecore_con/ecore_con_dns.c
+++ b/src/lib/ecore_con/ecore_con_dns.c
@@ -2,7 +2,7 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-/* 
+/*
  * Simple dns lookup
  *
  * http://www.faqs.org/rfcs/rfc1035.html
@@ -34,6 +34,9 @@
 
 #include <string.h>
 #include <ctype.h>
+#ifdef __OpenBSD__
+# include <sys/types.h>
+#endif
 #include <netinet/in.h>
 #include <sys/socket.h>
 #include <arpa/inet.h>
@@ -64,7 +67,7 @@ static int _ecore_con_dns_exit_handler(void *data, int type __UNUSED__, void *ev
 
 static int dns_init = 0;
 static Ecore_List2 *dns_slaves = NULL;
-  
+
 int
 ecore_con_dns_init(void)
 {
@@ -90,7 +93,7 @@ ecore_con_dns_lookup(const char *name,
 {
    CB_Data *cbdata;
    int fd[2];
-   
+
    if (pipe(fd) < 0) return 0;
    cbdata = calloc(1, sizeof(CB_Data));
    if (!cbdata)
@@ -102,7 +105,7 @@ ecore_con_dns_lookup(const char *name,
    cbdata->cb_done = done_cb;
    cbdata->data = data;
    cbdata->fd2 = fd[1];
-   if (!(cbdata->fdh = ecore_main_fd_handler_add(fd[0], ECORE_FD_READ, 
+   if (!(cbdata->fdh = ecore_main_fd_handler_add(fd[0], ECORE_FD_READ,
 						 _ecore_con_dns_data_handler,
 						 cbdata,
 						 NULL, NULL)))
@@ -112,17 +115,17 @@ ecore_con_dns_lookup(const char *name,
 	close(fd[1]);
 	return 0;
      }
-			     
+
    if ((cbdata->pid = fork()) == 0)
      {
 	struct hostent *he;
-	
+
 	/* CHILD */
 	he = gethostbyname(name);
 	if (he)
 	  {
 	     struct in_addr addr;
-	     
+
 	     memcpy((struct in_addr *)&addr, he->h_addr,
 		    sizeof(struct in_addr));
 	     write(fd[1], &(addr.s_addr), sizeof(in_addr_t));
@@ -134,9 +137,9 @@ ecore_con_dns_lookup(const char *name,
 	close(fd[1]);
 # ifdef __USE_ISOC99
 	_Exit(0);
-# else	
+# else
 	_exit(0);
-# endif	
+# endif
      }
    /* PARENT */
    cbdata->handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL, _ecore_con_dns_exit_handler, cbdata);
@@ -210,7 +213,7 @@ _ecore_con_dns_exit_handler(void *data, int type __UNUSED__, void *event)
 {
    CB_Data *cbdata;
    Ecore_Exe_Event_Del *ev;
-   
+
    ev = event;
    cbdata = data;
    if (cbdata->pid != ev->pid) return 1;
diff --git a/src/lib/ecore_con/ecore_con_info.c b/src/lib/ecore_con/ecore_con_info.c
index de21a00..45ed162 100644
--- a/src/lib/ecore_con/ecore_con_info.c
+++ b/src/lib/ecore_con/ecore_con_info.c
@@ -15,6 +15,9 @@
 
 #include <string.h>
 #include <ctype.h>
+#ifdef __OpenBSD__
+# include <sys/types.h>
+#endif
 #include <netinet/in.h>
 #include <sys/socket.h>
 #include <arpa/inet.h>
@@ -198,24 +201,26 @@ ecore_con_info_get(Ecore_Con_Server *svr,
 	char service[NI_MAXSERV];
 	char hbuf[NI_MAXHOST];
 	char sbuf[NI_MAXSERV];
-	void *tosend;
+	void *tosend = NULL;
 	int tosend_len;
 	int canonname_len = 0;
+	int err;
 
-	/* FIXME with EINA */
-	snprintf(service, NI_MAXSERV, "%i", svr->port);
+	eina_convert_itoa(svr->port, service);
 	/* CHILD */
 	if (!getaddrinfo(svr->name, service, hints, &result) && result)
 	  {
 	    if (result->ai_canonname)
 	      canonname_len = strlen(result->ai_canonname) + 1;
 	    tosend_len = sizeof(Ecore_Con_Info) + result->ai_addrlen + canonname_len;
-	    tosend = malloc(tosend_len);
+
+	    if (!(tosend = malloc(tosend_len)))
+	      goto on_error;
+
+	    memset(tosend, 0, tosend_len);
 	    container = (Ecore_Con_Info *)tosend;
 
 	    container->size = tosend_len;
-	    memset(container->ip, 0, sizeof(container->ip));
-	    memset(container->service, 0, sizeof(container->service));
 
 	    memcpy(&container->info, result, sizeof(struct addrinfo));
 	    memcpy(tosend + sizeof(Ecore_Con_Info), result->ai_addr, result->ai_addrlen);
@@ -228,13 +233,13 @@ ecore_con_info_get(Ecore_Con_Server *svr,
 		memcpy(container->ip, hbuf, sizeof(container->ip));
 		memcpy(container->service, sbuf, sizeof(container->service));
 	      }
-	    write(fd[1], tosend, tosend_len);
+	    err = write(fd[1], tosend, tosend_len);
 
 	    free(tosend);
 	  }
-	else
-	  write(fd[1], "", 1);
 
+on_error:
+	err = write(fd[1], "", 1);
 	close(fd[1]);
 # ifdef __USE_ISOC99
 	_Exit(0);
diff --git a/src/lib/ecore_con/ecore_con_ssl.c b/src/lib/ecore_con/ecore_con_ssl.c
index baefc21..dd3344d 100644
--- a/src/lib/ecore_con/ecore_con_ssl.c
+++ b/src/lib/ecore_con/ecore_con_ssl.c
@@ -13,6 +13,7 @@
 #endif
 
 #include "ecore_con_private.h"
+#include "Ecore.h"
 
 static int _init_count = 0;
 
diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c
index 9461aa6..1c2b77b 100644
--- a/src/lib/ecore_con/ecore_con_url.c
+++ b/src/lib/ecore_con/ecore_con_url.c
@@ -20,7 +20,7 @@
  * bear in mind that each one can only perform one operation at a time.
  * You need to wait for the ECORE_CON_EVENT_URL_COMPLETE event before re-using
  * or destroying the object.
- * 
+ *
  * Example Usage 1 (HTTP GET):
  *   ecore_con_url_url_set(url_con, "http://www.google.com");
  *   ecore_con_url_send(url_con, NULL, 0, NULL);
@@ -61,7 +61,7 @@
 /**
  * @defgroup Ecore_Con_Url_Group Ecore URL Connection Functions
  *
- * Utility functions that set up, use and shut down the Ecore URL 
+ * Utility functions that set up, use and shut down the Ecore URL
  * Connection library.
  * FIXME: write detailed description
  */
@@ -80,7 +80,7 @@ static void _ecore_con_event_url_free(void *data __UNUSED__, void *ev);
 static int _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match);
 
 static Ecore_Idler	*_fd_idler_handler = NULL;
-static Ecore_List	*_url_con_list = NULL;
+static Eina_List	*_url_con_list = NULL;
 static CURLM		*curlm = NULL;
 static fd_set		 _current_fd_set;
 static int		 init_count = 0;
@@ -136,27 +136,21 @@ ecore_con_url_init(void)
 	ECORE_CON_EVENT_URL_PROGRESS = ecore_event_type_new();
      }
 
-   if (!_url_con_list)
-     {
-	_url_con_list = ecore_list_new();
-	if (!_url_con_list) return 0;
-     }
-
    if (!curlm)
      {
 	FD_ZERO(&_current_fd_set);
 	if (curl_global_init(CURL_GLOBAL_NOTHING))
 	  {
-	     ecore_list_destroy(_url_con_list);
-	     _url_con_list = NULL;
+	     while (_url_con_list)
+	       ecore_con_url_destroy(eina_list_data_get(_url_con_list));
 	     return 0;
 	  }
 
 	curlm = curl_multi_init();
 	if (!curlm)
 	  {
-	     ecore_list_destroy(_url_con_list);
-	     _url_con_list = NULL;
+	     while (_url_con_list)
+	       ecore_con_url_destroy(eina_list_data_get(_url_con_list));
 	     return 0;
 	  }
      }
@@ -176,24 +170,12 @@ EAPI int
 ecore_con_url_shutdown(void)
 {
 #ifdef HAVE_CURL
-
    if (!init_count)
      return 0;
 
    init_count--;
-   if (_url_con_list)
-     {
-	if (!ecore_list_empty_is(_url_con_list))
-	  {
-	     Ecore_Con_Url *url_con;
-	     while ((url_con = ecore_list_first(_url_con_list)))
-	       {
-		  ecore_con_url_destroy(url_con);
-	       }
-	  }
-	ecore_list_destroy(_url_con_list);
-	_url_con_list = NULL;
-     }
+   while (_url_con_list)
+     ecore_con_url_destroy(eina_list_data_get(_url_con_list));
 
    if (curlm)
      {
@@ -262,7 +244,7 @@ ecore_con_url_new(const char *url)
 
 /**
  * Frees the Ecore_Con_Url.
- * @return  FIXME: To be documented. 
+ * @return  FIXME: To be documented.
  * @ingroup Ecore_Con_Url_Group
  */
 EAPI void
@@ -286,14 +268,13 @@ ecore_con_url_destroy(Ecore_Con_Url *url_con)
      {
 	if (url_con->active)
 	  {
-	     if (ecore_list_find(_url_con_list, ecore_direct_compare, url_con) == url_con)
-	       ecore_list_remove(_url_con_list);
 	     url_con->active = 0;
 
 	     curl_multi_remove_handle(curlm, url_con->curl_easy);
 	  }
 	curl_easy_cleanup(url_con->curl_easy);
      }
+   _url_con_list = eina_list_remove(_url_con_list, url_con);
    curl_slist_free_all(url_con->headers);
    free(url_con->url);
    free(url_con);
@@ -418,7 +399,7 @@ ecore_con_url_fd_set(Ecore_Con_Url *url_con, int fd)
 	return ;
      }
    url_con->write_fd = fd;
-#endif   
+#endif
 }
 
 /**
@@ -437,7 +418,7 @@ ecore_con_url_received_bytes_get(Ecore_Con_Url *url_con)
      }
 
    return url_con->received;
-#endif   
+#endif
    return 0;
 }
 
@@ -447,7 +428,7 @@ ecore_con_url_received_bytes_get(Ecore_Con_Url *url_con)
  * @ingroup Ecore_Con_Url_Group
  */
 EAPI int
-ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *content_type)
+ecore_con_url_send(Ecore_Con_Url *url_con, const void *data, size_t length, const char *content_type)
 {
 #ifdef HAVE_CURL
    char tmp[256];
@@ -516,21 +497,21 @@ ecore_con_url_send(Ecore_Con_Url *url_con, void *data, size_t length, char *cont
  * @return  FIXME: To be more documented.
  * @ingroup Ecore_Con_Url_Group
  */
-EAPI int 
-ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, char *filename, char *user, char *pass, char *upload_dir)
+EAPI int
+ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, const char *filename, const char *user, const char *pass, const char *upload_dir)
 {
 #ifdef HAVE_CURL
    char url[4096];
    char userpwd[4096];
    FILE *fd;
    struct stat file_info;
-	
+
    if (!ECORE_MAGIC_CHECK(url_con, ECORE_MAGIC_CON_URL))
      {
 	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ftp_upload");
 	return 0;
      }
-     
+
    if (url_con->active) return 0;
    if (!url_con->url) return 0;
    if (filename)
@@ -560,7 +541,7 @@ ecore_con_url_ftp_upload(Ecore_Con_Url *url_con, char *filename, char *user, cha
    user = NULL;
    pass = NULL;
    upload_dir = NULL;
-#endif   
+#endif
 }
 
 /**
@@ -577,12 +558,12 @@ ecore_con_url_verbose_set(Ecore_Con_Url *url_con, int verbose)
 	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_verbose_set");
 	return;
      }
-     
+
    if (url_con->active) return;
    if (!url_con->url) return;
-   if (verbose == TRUE) 
+   if (verbose == TRUE)
 	curl_easy_setopt(url_con->curl_easy, CURLOPT_VERBOSE, 1);
-   else 
+   else
 	curl_easy_setopt(url_con->curl_easy, CURLOPT_VERBOSE, 0);
 #endif
 }
@@ -601,12 +582,12 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, int use_epsv)
 	ECORE_MAGIC_FAIL(url_con, ECORE_MAGIC_CON_URL, "ecore_con_url_ftp_use_epsv_set");
 	return;
      }
-     
+
    if (url_con->active) return;
    if (!url_con->url) return;
-   if (use_epsv == TRUE) 
+   if (use_epsv == TRUE)
 	curl_easy_setopt(url_con->curl_easy, CURLOPT_FTP_USE_EPSV, 1);
-   else 
+   else
 	curl_easy_setopt(url_con->curl_easy, CURLOPT_FTP_USE_EPSV, 0);
 #endif
 }
@@ -615,14 +596,14 @@ ecore_con_url_ftp_use_epsv_set(Ecore_Con_Url *url_con, int use_epsv)
 static int
 _ecore_con_url_suspend_fd_handler(void)
 {
+   Eina_List		*l;
    Ecore_Con_Url	*url_con;
    int			 deleted = 0;
 
    if (!_url_con_list)
      return 0;
 
-   ecore_list_first_goto(_url_con_list);
-   while ((url_con = ecore_list_current(_url_con_list)))
+   EINA_LIST_FOREACH(_url_con_list, l, url_con)
      {
 	if (url_con->active && url_con->fd_handler)
 	  {
@@ -630,7 +611,6 @@ _ecore_con_url_suspend_fd_handler(void)
 	     url_con->fd_handler = NULL;
 	     deleted++;
 	  }
-	ecore_list_next(_url_con_list);
      }
 
    return deleted;
@@ -639,17 +619,16 @@ _ecore_con_url_suspend_fd_handler(void)
 static int
 _ecore_con_url_restart_fd_handler(void)
 {
+   Eina_List		*l;
    Ecore_Con_Url	*url_con;
    int			 activated = 0;
 
    if (!_url_con_list)
      return 0;
 
-   ecore_list_first_goto(_url_con_list);
-   while ((url_con = ecore_list_current(_url_con_list)))
+   EINA_LIST_FOREACH(_url_con_list, l, url_con)
      {
-	if (url_con->fd_handler == NULL
-	    && url_con->fd != -1)
+	if (url_con->fd_handler == NULL && url_con->fd != -1)
 	  {
 	     url_con->fd_handler = ecore_main_fd_handler_add(url_con->fd,
 							     url_con->flags,
@@ -657,7 +636,6 @@ _ecore_con_url_restart_fd_handler(void)
 							     NULL, NULL, NULL);
 	     activated++;
 	  }
-	ecore_list_next(_url_con_list);
      }
 
    return activated;
@@ -756,7 +734,7 @@ _ecore_con_url_progress_cb(void *clientp, double dltotal, double dlnow, double u
    return 0;
 }
 
-static size_t 
+static size_t
 _ecore_con_url_read_cb(void *ptr, size_t size, size_t nitems, void *stream)
 {
    size_t retcode = fread(ptr, size, nitems, stream);
@@ -781,7 +759,7 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
    int still_running;
    int completed_immediately = 0;
 
-   ecore_list_append(_url_con_list, url_con);
+   _url_con_list = eina_list_append(_url_con_list, url_con);
 
    url_con->active = 1;
    curl_multi_add_handle(curlm, url_con->curl_easy);
@@ -874,7 +852,9 @@ _ecore_con_url_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __
 static int
 _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match)
 {
+   Eina_List *l;
    Ecore_Con_Url *url_con;
+   Ecore_Con_Event_Url_Complete *e;
    CURLMsg *curlmsg;
    int n_remaining;
    int job_matched = 0;
@@ -885,16 +865,13 @@ _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match)
 	if (curlmsg->msg != CURLMSG_DONE) continue;
 
 	/* find the job which is done */
-	ecore_list_first_goto(_url_con_list);
-	while ((url_con = ecore_list_current(_url_con_list)))
+	EINA_LIST_FOREACH(_url_con_list, l, url_con)
 	  {
 	     if (curlmsg->easy_handle == url_con->curl_easy)
 	       {
-		  /* We have found the completed job in our job list */
-		  if (url_con_to_match && (url_con == url_con_to_match)) {
+		  if (url_con_to_match && (url_con == url_con_to_match))
 		       job_matched = 1;
-		  }
-		  if (url_con->fd != -1)
+		  if(url_con->fd != -1)
 		    {
 		       FD_CLR(url_con->fd, &_current_fd_set);
 		       if (url_con->fd_handler)
@@ -902,27 +879,22 @@ _ecore_con_url_process_completed_jobs(Ecore_Con_Url *url_con_to_match)
 		       url_con->fd = -1;
 		       url_con->fd_handler = NULL;
 		    }
-		  ecore_list_remove(_url_con_list);
+		  _url_con_list = eina_list_remove(_url_con_list, url_con);
 		  url_con->active = 0;
+		  e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete));
+		  if (e)
 		    {
-		       Ecore_Con_Event_Url_Complete *e;
-		       e = calloc(1, sizeof(Ecore_Con_Event_Url_Complete));
-		       if (e)
-			 {
-			    e->url_con = url_con;
-
-			    e->status = 0;
-			    curl_easy_getinfo(curlmsg->easy_handle, CURLINFO_RESPONSE_CODE, &e->status);
-
-			    _url_complete_push_event(ECORE_CON_EVENT_URL_COMPLETE, e);
-			 }
+		       e->url_con = url_con;
+		       e->status = 0;
+		       curl_easy_getinfo(curlmsg->easy_handle, CURLINFO_RESPONSE_CODE, &e->status);
+		       _url_complete_push_event(ECORE_CON_EVENT_URL_COMPLETE, e);
 		    }
 		  curl_multi_remove_handle(curlm, url_con->curl_easy);
 		  break;
 	       }
-	     ecore_list_next(_url_con_list);
 	  }
      }
+
    return job_matched;
 }
 
diff --git a/src/lib/ecore_config/Makefile.am b/src/lib/ecore_config/Makefile.am
index 7d89a02..8257d81 100644
--- a/src/lib/ecore_config/Makefile.am
+++ b/src/lib/ecore_config/Makefile.am
@@ -27,7 +27,7 @@ lib_LTLIBRARIES = libecore_config.la
 include_HEADERS = \
 Ecore_Config.h
 
-libecore_config_la_LDFLAGS = -version-info @version_info@
+libecore_config_la_LDFLAGS = -version-info @version_info@ @ecore_config_release_info@
 
 #config_DATA = $(DB)
 #configdir = $(pkgdatadir)
diff --git a/src/lib/ecore_config/Makefile.in b/src/lib/ecore_config/Makefile.in
index b526e4a..41be8ef 100644
--- a/src/lib/ecore_config/Makefile.in
+++ b/src/lib/ecore_config/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -127,72 +131,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -201,8 +190,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -217,6 +204,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -257,6 +246,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -280,6 +271,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -300,36 +292,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -349,6 +361,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -357,17 +370,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -376,7 +396,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -406,7 +425,7 @@ CLEANFILES = $(DB)
 @BUILD_ECORE_CONFIG_TRUE at include_HEADERS = \
 @BUILD_ECORE_CONFIG_TRUE at Ecore_Config.h
 
- at BUILD_ECORE_CONFIG_TRUE@libecore_config_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_CONFIG_TRUE@libecore_config_la_LDFLAGS = -version-info @version_info@ @ecore_config_release_info@
 @BUILD_ECORE_CONFIG_TRUE@@BUILD_ECORE_IPC_FALSE at libecore_config_la_SOURCES = \
 @BUILD_ECORE_CONFIG_TRUE@@BUILD_ECORE_IPC_FALSE at ecore_config.c \
 @BUILD_ECORE_CONFIG_TRUE@@BUILD_ECORE_IPC_FALSE at ecore_config_util.c \
diff --git a/src/lib/ecore_config/ecore_config_ipc_ecore.c b/src/lib/ecore_config/ecore_config_ipc_ecore.c
index ad4ec35..bd2ec03 100644
--- a/src/lib/ecore_config/ecore_config_ipc_ecore.c
+++ b/src/lib/ecore_config/ecore_config_ipc_ecore.c
@@ -364,6 +364,7 @@ _ecore_config_ipc_ecore_exit(void **data)
      }
 
    ecore_ipc_shutdown();
+   ecore_shutdown();
 
    return ret;
 }
diff --git a/src/lib/ecore_directfb/Ecore_DirectFB.h b/src/lib/ecore_directfb/Ecore_DirectFB.h
index def50e1..d9b40d1 100644
--- a/src/lib/ecore_directfb/Ecore_DirectFB.h
+++ b/src/lib/ecore_directfb/Ecore_DirectFB.h
@@ -172,7 +172,7 @@ EAPI int ecore_directfb_shutdown(void);
 EAPI IDirectFB * ecore_directfb_interface_get(void);
 /* window operations */
 EAPI Ecore_DirectFB_Window * ecore_directfb_window_new(int x, int y, int w, int h);
-EAPI void ecore_directfb_window_del(Ecore_DirectFB_Window *window);
+EAPI void ecore_directfb_window_free(Ecore_DirectFB_Window *window);
 EAPI void ecore_directfb_window_move(Ecore_DirectFB_Window *window, int x, int y);
 EAPI void ecore_directfb_window_resize(Ecore_DirectFB_Window *window, int w, int h);
 EAPI void ecore_directfb_window_focus(Ecore_DirectFB_Window *window);
diff --git a/src/lib/ecore_directfb/Makefile.am b/src/lib/ecore_directfb/Makefile.am
index b575981..d270ae2 100644
--- a/src/lib/ecore_directfb/Makefile.am
+++ b/src/lib/ecore_directfb/Makefile.am
@@ -21,7 +21,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \
 @DIRECTFB_LIBS@ \
 @EINA_LIBS@
 
-libecore_directfb_la_LDFLAGS = -version-info @version_info@
+libecore_directfb_la_LDFLAGS = -version-info @version_info@ @ecore_directfb_release_info@
 
 libecore_directfb_la_DEPENDENCIES = \
 $(top_builddir)/src/lib/ecore/libecore.la
diff --git a/src/lib/ecore_directfb/Makefile.in b/src/lib/ecore_directfb/Makefile.in
index f5347b4..952e690 100644
--- a/src/lib/ecore_directfb/Makefile.in
+++ b/src/lib/ecore_directfb/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -112,72 +116,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -186,8 +175,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -202,6 +189,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -242,6 +231,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -265,6 +256,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -285,36 +277,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -334,6 +346,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -342,17 +355,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -361,7 +381,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -386,7 +405,7 @@ AM_CPPFLAGS = \
 @BUILD_ECORE_DIRECTFB_TRUE@@DIRECTFB_LIBS@ \
 @BUILD_ECORE_DIRECTFB_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_DIRECTFB_TRUE@libecore_directfb_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_DIRECTFB_TRUE@libecore_directfb_la_LDFLAGS = -version-info @version_info@ @ecore_directfb_release_info@
 @BUILD_ECORE_DIRECTFB_TRUE at libecore_directfb_la_DEPENDENCIES = \
 @BUILD_ECORE_DIRECTFB_TRUE@$(top_builddir)/src/lib/ecore/libecore.la
 
diff --git a/src/lib/ecore_directfb/ecore_directfb.c b/src/lib/ecore_directfb/ecore_directfb.c
index 7f7f628..4b7daf3 100644
--- a/src/lib/ecore_directfb/ecore_directfb.c
+++ b/src/lib/ecore_directfb/ecore_directfb.c
@@ -506,7 +506,7 @@ ecore_directfb_window_new(int x, int y, int w, int h)
 }
 
 EAPI void
-ecore_directfb_window_del(Ecore_DirectFB_Window *ecore_window)
+ecore_directfb_window_free(Ecore_DirectFB_Window *ecore_window)
 {
 	DFBCHECK(ecore_window->surface->Release(ecore_window->surface));
 	DFBCHECK(ecore_window->window->Release(ecore_window->window));
diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index 6e97a15..eec905b 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -64,6 +64,7 @@ extern "C" {
 #define HAVE_ECORE_EVAS_X11_16 1
 #define HAVE_ECORE_EVAS_DIRECTFB 1
 #define HAVE_ECORE_EVAS_WIN32 1
+#define HAVE_ECORE_EVAS_QUARTZ 1
 #define HAVE_ECORE_EVAS_SDL 1
 #define HAVE_ECORE_EVAS_WINCE 1
 
@@ -78,7 +79,8 @@ typedef enum _Ecore_Evas_Engine_Type
    ECORE_EVAS_ENGINE_SOFTWARE_DDRAW,
    ECORE_EVAS_ENGINE_DIRECT3D,
    ECORE_EVAS_ENGINE_OPENGL_GLEW,
-   ECORE_EVAS_ENGINE_SDL,
+   ECORE_EVAS_ENGINE_QUARTZ,
+   ECORE_EVAS_ENGINE_SOFTWARE_SDL,
    ECORE_EVAS_ENGINE_DIRECTFB,
    ECORE_EVAS_ENGINE_SOFTWARE_FB,
    ECORE_EVAS_ENGINE_SOFTWARE_16_X11,
@@ -124,6 +126,8 @@ typedef void Ecore_WinCE_Window;
 typedef struct _Ecore_Evas Ecore_Evas;
 #endif
 
+#include <Ecore_Input.h>
+
 /* module setup/shutdown calls */
 
 EAPI int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
@@ -139,28 +143,24 @@ EAPI Ecore_Evas *ecore_evas_new(const char *engine_name, int x, int y, int w, in
 /* engine/target specific init calls */
 EAPI Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
 EAPI Ecore_X_Window  ecore_evas_software_x11_window_get(const Ecore_Evas *ee);
-EAPI Ecore_X_Window  ecore_evas_software_x11_subwindow_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on);
 EAPI int             ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
 
 EAPI Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
 EAPI Ecore_X_Window  ecore_evas_gl_x11_window_get(const Ecore_Evas *ee);
-EAPI Ecore_X_Window  ecore_evas_gl_x11_subwindow_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
 EAPI int             ecore_evas_gl_x11_direct_resize_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
 
 EAPI Ecore_Evas     *ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
 EAPI Ecore_X_Window  ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee);
-EAPI Ecore_X_Window  ecore_evas_xrender_x11_subwindow_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on);
 EAPI int             ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
 
 EAPI Ecore_Evas     *ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
 EAPI Ecore_X_Window  ecore_evas_software_x11_16_window_get(const Ecore_Evas *ee);
-EAPI Ecore_X_Window  ecore_evas_software_x11_16_subwindow_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on);
 EAPI int             ecore_evas_software_x11_16_direct_resize_get(const Ecore_Evas *ee);
 EAPI void            ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
@@ -181,7 +181,7 @@ EAPI Ecore_Evas     *ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
                                                    int                 width,
                                                    int                 height);
 
-EAPI Ecore_Evas     *ecore_evas_software_ddraw_16_new(Ecore_Win32_Window *parent,
+EAPI Ecore_Evas     *ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent,
                                                       int                 x,
                                                       int                 y,
                                                       int                 width,
@@ -236,6 +236,8 @@ EAPI Ecore_Evas     *ecore_evas_software_wince_gdi_new(Ecore_WinCE_Window *paren
 
 EAPI Ecore_WinCE_Window *ecore_evas_software_wince_window_get(const Ecore_Evas *ee);
 
+EAPI Ecore_Evas *ecore_evas_quartz_new(const char* name, int w, int h);
+
 /* generic manipulation calls */
 EAPI const char *ecore_evas_engine_name_get(const Ecore_Evas *ee);
 EAPI Ecore_Evas *ecore_evas_ecore_evas_get(const Evas *e);
@@ -312,7 +314,7 @@ EAPI void        ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
 EAPI int         ecore_evas_sticky_get(const Ecore_Evas *ee);
 EAPI void        ecore_evas_ignore_events_set(Ecore_Evas *ee, int ignore);
 EAPI int         ecore_evas_ignore_events_get(const Ecore_Evas *ee);
-EAPI void       *ecore_evas_window_get(const Ecore_Evas *ee);
+EAPI Ecore_Window ecore_evas_window_get(const Ecore_Evas *ee);
 
 
 EAPI int          ecore_evas_object_associate(Ecore_Evas *ee, Evas_Object *obj, Ecore_Evas_Object_Associate_Flags flags);
diff --git a/src/lib/ecore_evas/Makefile.am b/src/lib/ecore_evas/Makefile.am
index 2152d47..708c407 100644
--- a/src/lib/ecore_evas/Makefile.am
+++ b/src/lib/ecore_evas/Makefile.am
@@ -1,8 +1,8 @@
 MAINTAINERCLEANFILES = Makefile.in
 
 if BUILD_ECORE_X
-ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x
-ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la
+ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x @x_cflags@ @XRENDER_CFLAGS@ @XCB_CFLAGS@ @XCB_RENDER_CFLAGS@
+ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la @x_libs@ @XRENDER_LIBS@ @XCB_LIBS@ @XCB_RENDER_LIBS@
 else
 ECORE_X_INC =
 ECORE_X_LIB =
@@ -35,13 +35,15 @@ endif
 if BUILD_ECORE_SDL
 ECORE_SDL_INC = -I$(top_srcdir)/src/lib/ecore_sdl @SDL_CFLAGS@
 ECORE_SDL_LIB = $(top_builddir)/src/lib/ecore_sdl/libecore_sdl.la
+ECORE_SDL_LIBADD = @SDL_LIBS@ $(ECORE_SDL_LIB)
 else
 ECORE_SDL_INC =
 ECORE_SDL_LIB =
+ECORE_SDL_LIBADD =
 endif
 
 if BUILD_ECORE_QUARTZ
-ECORE_QUARTZ_INC = -I$(top_srcdir)/src/lib/ecore_quartz @QUARTZ_CFLAGS@ -xobjective-c -framework Cocoa
+ECORE_QUARTZ_INC = -I$(top_srcdir)/src/lib/ecore_quartz -xobjective-c
 ECORE_QUARTZ_LIB = $(top_builddir)/src/lib/ecore_quartz/libecore_quartz.la
 else
 ECORE_QUARTZ_INC =
@@ -59,8 +61,11 @@ endif
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_EVAS_BUILD@ \
 $(ECORE_X_INC) \
 $(ECORE_FB_INC) \
 $(ECORE_DIRECTFB_INC) \
@@ -98,17 +103,14 @@ $(ECORE_FB_LIB) \
 $(ECORE_DIRECTFB_LIB) \
 $(ECORE_WIN32_LIB) \
 $(ECORE_SDL_LIB) \
+$(ECORE_SDL_LIBADD) \
 $(ECORE_QUARTZ_LIB) \
 $(ECORE_WINCE_LIB) \
 $(top_builddir)/src/lib/ecore/libecore.la \
- at EVAS_LIBS@ \
- at XCB_LIBS@ \
- at SDL_LIBS@ \
- at QUARTZ_LIBS@ \
- at EVIL_LIBS@ \
- at EINA_LIBS@
-
-libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at EVAS_LIBS@
+
+libecore_evas_la_LDFLAGS = @quartz_ldflags@ -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_evas_release_info@
 
 endif
 
diff --git a/src/lib/ecore_evas/Makefile.in b/src/lib/ecore_evas/Makefile.in
index ff35be3..0ec53c4 100644
--- a/src/lib/ecore_evas/Makefile.in
+++ b/src/lib/ecore_evas/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -60,8 +64,9 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
 @BUILD_ECORE_DIRECTFB_TRUE at am__DEPENDENCIES_3 = $(top_builddir)/src/lib/ecore_directfb/libecore_directfb.la
 @BUILD_ECORE_WIN32_TRUE at am__DEPENDENCIES_4 = $(top_builddir)/src/lib/ecore_win32/libecore_win32.la
 @BUILD_ECORE_SDL_TRUE at am__DEPENDENCIES_5 = $(top_builddir)/src/lib/ecore_sdl/libecore_sdl.la
- at BUILD_ECORE_QUARTZ_TRUE@am__DEPENDENCIES_6 = $(top_builddir)/src/lib/ecore_quartz/libecore_quartz.la
- at BUILD_ECORE_WINCE_TRUE@am__DEPENDENCIES_7 = $(top_builddir)/src/lib/ecore_wince/libecore_wince.la
+ at BUILD_ECORE_SDL_TRUE@am__DEPENDENCIES_6 = $(am__DEPENDENCIES_5)
+ at BUILD_ECORE_QUARTZ_TRUE@am__DEPENDENCIES_7 = $(top_builddir)/src/lib/ecore_quartz/libecore_quartz.la
+ at BUILD_ECORE_WINCE_TRUE@am__DEPENDENCIES_8 = $(top_builddir)/src/lib/ecore_wince/libecore_wince.la
 @BUILD_ECORE_EVAS_TRUE at libecore_evas_la_DEPENDENCIES =  \
 @BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_1) \
 @BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_2) \
@@ -70,7 +75,9 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
 @BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_5) \
 @BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_6) \
 @BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_7) \
- at BUILD_ECORE_EVAS_TRUE@	$(top_builddir)/src/lib/ecore/libecore.la
+ at BUILD_ECORE_EVAS_TRUE@	$(am__DEPENDENCIES_8) \
+ at BUILD_ECORE_EVAS_TRUE@	$(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_EVAS_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
 am__libecore_evas_la_SOURCES_DIST = ecore_evas.c ecore_evas_util.c \
 	ecore_evas_x.c ecore_evas_fb.c ecore_evas_buffer.c \
 	ecore_evas_directfb.c ecore_evas_win32.c ecore_evas_sdl.c \
@@ -134,72 +141,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -208,8 +200,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -224,6 +214,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -264,6 +256,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -287,6 +281,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -307,36 +302,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -356,6 +371,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -364,17 +380,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -383,16 +406,15 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
 x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_FALSE at ECORE_X_INC = 
- at BUILD_ECORE_X_TRUE@ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x
+ at BUILD_ECORE_X_TRUE@ECORE_X_INC = -I$(top_srcdir)/src/lib/ecore_x @x_cflags@ @XRENDER_CFLAGS@ @XCB_CFLAGS@ @XCB_RENDER_CFLAGS@
 @BUILD_ECORE_X_FALSE at ECORE_X_LIB = 
- at BUILD_ECORE_X_TRUE@ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la
+ at BUILD_ECORE_X_TRUE@ECORE_X_LIB = $(top_builddir)/src/lib/ecore_x/libecore_x.la @x_libs@ @XRENDER_LIBS@ @XCB_LIBS@ @XCB_RENDER_LIBS@
 @BUILD_ECORE_FB_FALSE at ECORE_FB_INC = 
 @BUILD_ECORE_FB_TRUE at ECORE_FB_INC = -I$(top_srcdir)/src/lib/ecore_fb
 @BUILD_ECORE_FB_FALSE at ECORE_FB_LIB = 
@@ -409,8 +431,10 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_SDL_TRUE at ECORE_SDL_INC = -I$(top_srcdir)/src/lib/ecore_sdl @SDL_CFLAGS@
 @BUILD_ECORE_SDL_FALSE at ECORE_SDL_LIB = 
 @BUILD_ECORE_SDL_TRUE at ECORE_SDL_LIB = $(top_builddir)/src/lib/ecore_sdl/libecore_sdl.la
+ at BUILD_ECORE_SDL_FALSE@ECORE_SDL_LIBADD = 
+ at BUILD_ECORE_SDL_TRUE@ECORE_SDL_LIBADD = @SDL_LIBS@ $(ECORE_SDL_LIB)
 @BUILD_ECORE_QUARTZ_FALSE at ECORE_QUARTZ_INC = 
- at BUILD_ECORE_QUARTZ_TRUE@ECORE_QUARTZ_INC = -I$(top_srcdir)/src/lib/ecore_quartz @QUARTZ_CFLAGS@ -xobjective-c -framework Cocoa
+ at BUILD_ECORE_QUARTZ_TRUE@ECORE_QUARTZ_INC = -I$(top_srcdir)/src/lib/ecore_quartz -xobjective-c
 @BUILD_ECORE_QUARTZ_FALSE at ECORE_QUARTZ_LIB = 
 @BUILD_ECORE_QUARTZ_TRUE at ECORE_QUARTZ_LIB = $(top_builddir)/src/lib/ecore_quartz/libecore_quartz.la
 @BUILD_ECORE_WINCE_FALSE at ECORE_WINCE_INC = 
@@ -420,8 +444,11 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_EVAS_BUILD@ \
 $(ECORE_X_INC) \
 $(ECORE_FB_INC) \
 $(ECORE_DIRECTFB_INC) \
@@ -456,17 +483,14 @@ AM_CFLAGS = @WIN32_CFLAGS@
 @BUILD_ECORE_EVAS_TRUE@$(ECORE_DIRECTFB_LIB) \
 @BUILD_ECORE_EVAS_TRUE@$(ECORE_WIN32_LIB) \
 @BUILD_ECORE_EVAS_TRUE@$(ECORE_SDL_LIB) \
+ at BUILD_ECORE_EVAS_TRUE@$(ECORE_SDL_LIBADD) \
 @BUILD_ECORE_EVAS_TRUE@$(ECORE_QUARTZ_LIB) \
 @BUILD_ECORE_EVAS_TRUE@$(ECORE_WINCE_LIB) \
 @BUILD_ECORE_EVAS_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_EVAS_TRUE@@EVAS_LIBS@ \
- at BUILD_ECORE_EVAS_TRUE@@XCB_LIBS@ \
- at BUILD_ECORE_EVAS_TRUE@@SDL_LIBS@ \
- at BUILD_ECORE_EVAS_TRUE@@QUARTZ_LIBS@ \
- at BUILD_ECORE_EVAS_TRUE@@EVIL_LIBS@ \
- at BUILD_ECORE_EVAS_TRUE@@EINA_LIBS@
-
- at BUILD_ECORE_EVAS_TRUE@libecore_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_EVAS_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at BUILD_ECORE_EVAS_TRUE@@EVAS_LIBS@
+
+ at BUILD_ECORE_EVAS_TRUE@libecore_evas_la_LDFLAGS = @quartz_ldflags@ -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_evas_release_info@
 EXTRA_DIST = \
 ecore_evas_private.h
 
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index c4df7df..f9c894a 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -9,6 +9,8 @@
 #include <string.h>
 
 #include "Ecore.h"
+#include "Ecore_Input.h"
+
 #include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
@@ -31,7 +33,7 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
    switch (engine)
      {
       case ECORE_EVAS_ENGINE_SOFTWARE_BUFFER:
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 	return 1;
 #else
 	return 0;
@@ -84,8 +86,8 @@ ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine)
 #else
 	return 0;
 #endif
-     case ECORE_EVAS_ENGINE_SDL:
-#ifdef BUILD_ECORE_EVAS_SDL
+     case ECORE_EVAS_ENGINE_SOFTWARE_SDL:
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
         return 1;
 #else
         return 0;
@@ -175,7 +177,7 @@ ecore_evas_shutdown(void)
 #ifdef BUILD_ECORE_EVAS_FB
 	while (_ecore_evas_fb_shutdown());
 #endif
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 	while (_ecore_evas_buffer_shutdown());
 #endif
 #ifdef BUILD_ECORE_EVAS_DIRECTFB
@@ -339,9 +341,9 @@ _ecore_evas_constructor_software_16_x11(int x, int y, int w, int h, const char *
 }
 #endif
 
-#ifdef BUILD_ECORE_EVAS_SDL
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
 static Ecore_Evas *
-_ecore_evas_constructor_sdl(int x, int y, int w, int h, const char *extra_options)
+_ecore_evas_constructor_sdl(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options)
 {
    Ecore_Evas *ee;
    unsigned int fullscreen = 0, hwsurface = 0, noframe = 0, alpha = 0;
@@ -359,7 +361,7 @@ _ecore_evas_constructor_sdl(int x, int y, int w, int h, const char *extra_option
 }
 
 static Ecore_Evas *
-_ecore_evas_constructor_sdl16(int x, int y, int w, int h, const char *extra_options)
+_ecore_evas_constructor_sdl16(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options)
 {
    Ecore_Evas *ee;
    unsigned int fullscreen = 0, hwsurface = 0, noframe = 0, alpha = 0;
@@ -397,7 +399,7 @@ _ecore_evas_constructor_directfb(int x, int y, int w, int h, const char *extra_o
 
 #ifdef BUILD_ECORE_EVAS_FB
 static Ecore_Evas *
-_ecore_evas_constructor_fb(int x, int y, int w, int h, const char *extra_options)
+_ecore_evas_constructor_fb(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options)
 {
    Ecore_Evas *ee;
    char *disp_name = NULL;
@@ -441,7 +443,7 @@ _ecore_evas_constructor_opengl_glew(int x, int y, int w, int h, const char *extr
 static Ecore_Evas *
 _ecore_evas_constructor_software_16_ddraw(int x, int y, int w, int h, const char *extra_options)
 {
-   return ecore_evas_software_ddraw_new(NULL, x, y, w, h);
+   return ecore_evas_software_16_ddraw_new(NULL, x, y, w, h);
 }
 #endif
 
@@ -471,9 +473,9 @@ _ecore_evas_constructor_software_16_wince_gdi(int x, int y, int w, int h, const
 }
 #endif
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 static Ecore_Evas *
-_ecore_evas_constructor_buffer(int x, int y, int w, int h, const char *extra_options)
+_ecore_evas_constructor_buffer(int x __UNUSED__, int y __UNUSED__, int w, int h, const char *extra_options __UNUSED__)
 {
    return ecore_evas_buffer_new(w, h);
 }
@@ -528,13 +530,13 @@ static const struct ecore_evas_engine _engines[] = {
 #endif
 
   /* Last chance to have a window */
-#ifdef BUILD_ECORE_EVAS_SDL
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
   {"sdl", _ecore_evas_constructor_sdl},
   {"software_16_sdl", _ecore_evas_constructor_sdl16},
 #endif
 
   /* independent */
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
   {"buffer", _ecore_evas_constructor_buffer},
 #endif
   {NULL, NULL}
@@ -1852,7 +1854,7 @@ ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, in
  * @param layer
  * @param hot_x The x coordinate of the cursor's hot spot
  * @param hot_y The y coordinate of the cursor's hot spot
- * 
+ *
  * This function makes the mouse cursor over @p ee be the image specified by
  * @p file. The actual point within the image that the mouse is at is specified
  * by @p hot_x and @p hot_y, which are coordinates with respect to the top left
@@ -2325,18 +2327,17 @@ ecore_evas_ignore_events_get(const Ecore_Evas *ee)
       return ee->ignore_events ? 1 : 0;
 }
 
-EAPI void *
+EAPI Ecore_Window
 ecore_evas_window_get(const Ecore_Evas *ee)
 {
    if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
    {
       ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
          "ecore_evas_window_get");
-      return NULL;
+      return 0;
    }
 
-   if (ee->engine.func->fn_window_get) return ee->engine.func->fn_window_get(ee);
-   return NULL;
+   return ee->prop.window;
 }
 
 /* fps debug calls - for debugging how much time your app actually spends */
@@ -2398,19 +2399,30 @@ _ecore_evas_fps_debug_shutdown(void)
 void
 _ecore_evas_fps_debug_rendertime_add(double t)
 {
-   if ((_ecore_evas_fps_debug_fd >= 0) &&
-       (_ecore_evas_fps_rendertime_mmap))
-     {
-	unsigned int tm;
+   static double rtime = 0.0;
+   static double rlapse = 0.0;
+   static int frames = 0;
+   static int flapse = 0;
+   double tim;
 
-	tm = (unsigned int)(t * 1000000.0);
-	/* i know its not 100% theoretically guaranteed, but i'd say a write */
-	/* of an int could be considered atomic for all practical purposes */
-	/* oh and since this is cumulative, 1 second = 1,000,000 ticks, so */
-	/* this can run for about 4294 seconds becore looping. if you are */
-	/* doing performance testing in one run for over an hour... well */
-	/* time to restart or handle a loop condition :) */
-	*(_ecore_evas_fps_rendertime_mmap) += tm;
+   tim = ecore_time_get();
+   rtime += t;
+   frames++;
+   if (rlapse == 0.0)
+     {
+        rlapse = tim;
+        flapse = frames;
+     }
+   else if ((tim - rlapse) >= 0.5)
+     {
+        printf("FRAME: %i, FPS: %3.1f, RTIME %3.0f%%\n",
+               frames,
+               (frames - flapse) / (tim - rlapse),
+               (100.0 * rtime) / (tim - rlapse)
+               );
+        rlapse = tim;
+        flapse = frames;
+        rtime = 0.0;
      }
 }
 
@@ -2456,7 +2468,7 @@ _ecore_evas_cb_idle_flush(void *data)
 }
 
 static int
-_ecore_evas_async_events_fd_handler(void *data, Ecore_Fd_Handler *fd_handler)
+_ecore_evas_async_events_fd_handler(void *data __UNUSED__, Ecore_Fd_Handler *fd_handler __UNUSED__)
 {
    evas_async_events_process();
 
@@ -2472,3 +2484,39 @@ _ecore_evas_idle_timeout_update(Ecore_Evas *ee)
 						 _ecore_evas_cb_idle_flush,
 						 ee);
 }
+
+void
+_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
+{
+   ee->mouse.x = x;
+   ee->mouse.y = y;
+   if (ee->prop.cursor.object)
+     {
+	evas_object_show(ee->prop.cursor.object);
+	if (ee->rotation == 0)
+	  evas_object_move(ee->prop.cursor.object,
+			   x - ee->prop.cursor.hot.x,
+			   y - ee->prop.cursor.hot.y);
+	else if (ee->rotation == 90)
+	  evas_object_move(ee->prop.cursor.object,
+			   ee->h - y - 1 - ee->prop.cursor.hot.x,
+			   x - ee->prop.cursor.hot.y);
+	else if (ee->rotation == 180)
+	  evas_object_move(ee->prop.cursor.object,
+			   ee->w - x - 1 - ee->prop.cursor.hot.x,
+			   ee->h - y - 1 - ee->prop.cursor.hot.y);
+	else if (ee->rotation == 270)
+	  evas_object_move(ee->prop.cursor.object,
+			   y - ee->prop.cursor.hot.x,
+			   ee->w - x - 1 - ee->prop.cursor.hot.y);
+     }
+   if (ee->rotation == 0)
+     evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
+   else if (ee->rotation == 90)
+     evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
+   else if (ee->rotation == 180)
+     evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
+   else if (ee->rotation == 270)
+     evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
+}
+
diff --git a/src/lib/ecore_evas/ecore_evas_buffer.c b/src/lib/ecore_evas/ecore_evas_buffer.c
index 866b700..dd43569 100644
--- a/src/lib/ecore_evas/ecore_evas_buffer.c
+++ b/src/lib/ecore_evas/ecore_evas_buffer.c
@@ -1,28 +1,21 @@
-
 #ifdef HAVE_CONFIG_H
 # include <config.h>
 #endif
 
-#include "Ecore.h"
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 static int _ecore_evas_init_count = 0;
 
 static int _ecore_evas_fps_debug = 0;
 
 static Ecore_Evas *ecore_evases = NULL;
 
-static void
-_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-}
-
 static int
 _ecore_evas_buffer_init(void)
 {
@@ -422,7 +415,6 @@ static const Ecore_Evas_Engine_Func _ecore_buffer_engine_func =
      NULL,
      NULL,
      NULL,
-     NULL,
      NULL
 };
 #endif
@@ -435,7 +427,7 @@ static const Ecore_Evas_Engine_Func _ecore_buffer_engine_func =
 EAPI Ecore_Evas *
 ecore_evas_buffer_new(int w, int h)
 {
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    Evas_Engine_Info_Buffer *einfo;
    Ecore_Evas *ee;
    int rmethod;
@@ -514,7 +506,7 @@ ecore_evas_buffer_new(int w, int h)
 EAPI const void *
 ecore_evas_buffer_pixels_get(Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    _ecore_evas_buffer_render(ee);
    return ee->engine.buffer.pixels;
 #else
@@ -525,7 +517,7 @@ ecore_evas_buffer_pixels_get(Ecore_Evas *ee)
 EAPI Evas_Object *
 ecore_evas_object_image_new(Ecore_Evas *ee_target)
 {
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    Evas_Object *o;
    Evas_Engine_Info_Buffer *einfo;
    Ecore_Evas *ee;
diff --git a/src/lib/ecore_evas/ecore_evas_directfb.c b/src/lib/ecore_evas/ecore_evas_directfb.c
index fc26d9a..f92d646 100644
--- a/src/lib/ecore_evas/ecore_evas_directfb.c
+++ b/src/lib/ecore_evas/ecore_evas_directfb.c
@@ -8,14 +8,14 @@
 
 #include <string.h>
 
-#include "Ecore.h"
-#include "ecore_private.h"
-#include "ecore_evas_private.h"
-#include "Ecore_Evas.h"
+#include <Ecore.h>
 #ifdef BUILD_ECORE_EVAS_DIRECTFB
-#include "Ecore_DirectFB.h"
+#include <Ecore_DirectFB.h>
 #endif
 
+#include "ecore_private.h"
+#include "ecore_evas_private.h"
+#include "Ecore_Evas.h"
 
 #ifdef BUILD_ECORE_EVAS_DIRECTFB
 static int _ecore_evas_init_count = 0;
@@ -33,7 +33,7 @@ _ecore_evas_directfb_render(Ecore_Evas *ee)
    Eina_List *updates, *ll;
    Ecore_Evas *ee2;
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
      {
 	if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
@@ -55,9 +55,10 @@ static int
 _ecore_evas_directfb_idle_enter(void *data __UNUSED__)
 {
    Ecore_List2 *l;
-   double t1 = 0.;
-   double t2 = 0.;
-   
+   double t1 = 0.0;
+   double t2 = 0.0;
+
+   if (!ecore_evases) return 1;
    if (_ecore_evas_fps_debug)
      {
 	t1 = ecore_time_get();
@@ -65,7 +66,7 @@ _ecore_evas_directfb_idle_enter(void *data __UNUSED__)
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
      {
 	Ecore_Evas *ee;
-	
+
 	ee = (Ecore_Evas *)l;
 	_ecore_evas_directfb_render(ee);
      }
@@ -77,81 +78,18 @@ _ecore_evas_directfb_idle_enter(void *data __UNUSED__)
    return 1;
 }
 
-static char *
-_ecore_evas_directfb_winid_str_get(Ecore_X_Window win)
-{
-   const char *vals = "qWeRtYuIoP5-$&<~";
-   static char id[9];
-   unsigned int val; 
-   val = (unsigned int)win;
-   id[0] = vals[(val >> 28) & 0xf];    
-   id[1] = vals[(val >> 24) & 0xf];
-   id[2] = vals[(val >> 20) & 0xf];
-   id[3] = vals[(val >> 16) & 0xf];
-   id[4] = vals[(val >> 12) & 0xf];
-   id[5] = vals[(val >>  8) & 0xf];
-   id[6] = vals[(val >>  4) & 0xf];
-   id[7] = vals[(val      ) & 0xf];
-   id[8] = 0;
-   return id;
-}
-
-
-static Ecore_Evas *
-_ecore_evas_directfb_match(DFBWindowID win)
-{
-   Ecore_Evas *ee;
-
-   ee = eina_hash_find(ecore_evases_hash, _ecore_evas_directfb_winid_str_get(win));
-   return ee;
-}
-
-static void
-_ecore_evas_directfb_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-
-   if (ee->prop.cursor.object)
-     {
-	evas_object_show(ee->prop.cursor.object);
-	if (ee->rotation == 0)
-	  evas_object_move(ee->prop.cursor.object,x - ee->prop.cursor.hot.x,y - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 90)
-	  evas_object_move(ee->prop.cursor.object,
-                           ee->h - y - 1 - ee->prop.cursor.hot.x,
-                           x - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 180)
-	  evas_object_move(ee->prop.cursor.object,
-                           ee->w - x - 1 - ee->prop.cursor.hot.x,
-                           ee->h - y - 1 - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 270)
-	  evas_object_move(ee->prop.cursor.object,
-                           y - ee->prop.cursor.hot.x,
-                           ee->w - x - 1 - ee->prop.cursor.hot.y);
-     }
-   if (ee->rotation == 0)
-     evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-   else if (ee->rotation == 90)
-     evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
-   else if (ee->rotation == 180)
-     evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
-   else if (ee->rotation == 270)
-     evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
-}
-
-
-static int 
+static int
 _ecore_evas_directfb_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Key_Down *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
-   evas_event_feed_key_down(ee->evas, e->name, NULL, e->string, e->key_compose, e->time, NULL);
+   evas_event_feed_key_down(ee->evas, e->name, e->name, e->string,
+                            e->key_compose, e->time, NULL);
    return 1;
 }
 
@@ -160,13 +98,14 @@ _ecore_evas_directfb_event_key_up(void *data __UNUSED__, int type __UNUSED__, vo
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Key_Up *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
-   evas_event_feed_key_up(ee->evas, e->name, NULL, e->string, e->key_compose, e->time, NULL);
-   return 1;	
+   evas_event_feed_key_up(ee->evas, e->name, e->name, e->string,
+                          e->key_compose, e->time, NULL);
+   return 1;
 }
 
 static int
@@ -174,13 +113,13 @@ _ecore_evas_directfb_event_motion(void *data __UNUSED__, int type __UNUSED__, vo
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Motion *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
-   _ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
-   return 1;	
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
+   return 1;
 }
 
 static int
@@ -188,14 +127,14 @@ _ecore_evas_directfb_event_button_down(void *data __UNUSED__, int type __UNUSED_
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Button_Down *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
-   // _ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
+   // _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
    evas_event_feed_mouse_down(ee->evas, e->button, EVAS_BUTTON_NONE, e->time, NULL);
-   return 1;	
+   return 1;
 }
 
 static int
@@ -204,14 +143,14 @@ _ecore_evas_directfb_event_button_up(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Button_Up *e;
    Evas_Button_Flags flags = EVAS_BUTTON_NONE;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
-   //_ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
+   //_ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
    evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
-   return 1;	
+   return 1;
 }
 
 static int
@@ -219,14 +158,14 @@ _ecore_evas_directfb_event_enter(void *data __UNUSED__, int type __UNUSED__, voi
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Enter *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
    evas_event_feed_mouse_in(ee->evas, e->time, NULL);
-   //_ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
-   return 1;	
+   //_ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
+   return 1;
 }
 
 static int
@@ -234,16 +173,16 @@ _ecore_evas_directfb_event_leave(void *data __UNUSED__, int type __UNUSED__, voi
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Leave *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
    evas_event_feed_mouse_out(ee->evas, e->time, NULL);
-   //_ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
+   //_ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
    if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
    if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
-   return 1;	
+   return 1;
 }
 
 static int
@@ -251,13 +190,13 @@ _ecore_evas_directfb_event_wheel(void *data __UNUSED__, int type __UNUSED__, voi
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Wheel *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
    evas_event_feed_mouse_wheel(ee->evas, e->direction, e->z, e->time, NULL);
-   return 1;	
+   return 1;
 }
 
 static int
@@ -265,13 +204,13 @@ _ecore_evas_directfb_event_got_focus(void *data __UNUSED__, int type __UNUSED__,
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Got_Focus *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
    ee->prop.focused = 1;
-   return 1;	
+   return 1;
 }
 
 static int
@@ -279,15 +218,15 @@ _ecore_evas_directfb_event_lost_focus(void *data __UNUSED__, int type __UNUSED__
 {
    Ecore_Evas *ee;
    Ecore_DirectFB_Event_Lost_Focus *e;
-   
+
    e = event;
    ee = _ecore_evas_directfb_match(e->win);
-   
+
    if (!ee) return 1; /* pass on event */
    ee->prop.focused = 0;
-   return 1;	
+   return 1;
 }
-	
+
 int
 _ecore_evas_directfb_shutdown(void)
 {
@@ -295,7 +234,7 @@ _ecore_evas_directfb_shutdown(void)
    if (_ecore_evas_init_count == 0)
      {
 	int i;
-	
+
 	while (ecore_evases) _ecore_evas_free(ecore_evases);
 	for (i = 0; i < 8; i++)
 	  ecore_event_handler_del(ecore_evas_event_handlers[i]);
@@ -306,7 +245,7 @@ _ecore_evas_directfb_shutdown(void)
    if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
    return _ecore_evas_init_count;
 }
-	
+
 
 
 
@@ -319,7 +258,7 @@ _ecore_evas_directfb_init(void)
    if (getenv("ECORE_EVAS_FPS_DEBUG")) _ecore_evas_fps_debug = 1;
    ecore_evas_directfb_idle_enterer = ecore_idle_enterer_add(_ecore_evas_directfb_idle_enter, NULL);
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
-   
+
    ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_DIRECTFB_EVENT_KEY_DOWN, _ecore_evas_directfb_event_key_down, NULL);
    ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_DIRECTFB_EVENT_KEY_UP, _ecore_evas_directfb_event_key_up, NULL);
    ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_DIRECTFB_EVENT_BUTTON_DOWN, _ecore_evas_directfb_event_button_down, NULL);
@@ -344,7 +283,7 @@ static void
 _ecore_evas_directfb_free(Ecore_Evas *ee)
 {
    eina_hash_del(ecore_evases_hash, _ecore_evas_directfb_winid_str_get(ee->engine.directfb.window->id), ee);
-   ecore_directfb_window_del(ee->engine.directfb.window);
+   ecore_directfb_window_free(ee->engine.directfb.window);
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
    _ecore_evas_directfb_shutdown();
    ecore_directfb_shutdown();
@@ -356,7 +295,7 @@ _ecore_evas_directfb_move(Ecore_Evas *ee, int x, int y)
    ecore_directfb_window_move(ee->engine.directfb.window, x, y);
 }
 
-static void 
+static void
 _ecore_evas_directfb_resize(Ecore_Evas *ee, int w, int h)
 {
    if ((w == ee->w) && (h == ee->h)) return;
@@ -405,14 +344,24 @@ _ecore_evas_directfb_shaped_set(Ecore_Evas *ee, int shaped)
      ecore_directfb_window_shaped_set(ee->engine.directfb.window, 1);
    else
      ecore_directfb_window_shaped_set(ee->engine.directfb.window, 0);
-   
+
+}
+
+static void
+_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Ecore_Evas *ee;
+
+   ee = data;
+   if (ee)
+     ee->prop.cursor.object = NULL;
 }
 
 static void
 _ecore_evas_directfb_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
 {
    int x, y;
-   
+
    if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object);
 
    if (obj == NULL)
@@ -423,7 +372,7 @@ _ecore_evas_directfb_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int lay
 	ee->prop.cursor.hot.y = 0;
 	ecore_directfb_window_cursor_show(ee->engine.directfb.window, 1);
 	return;
-	
+
      }
 
    ee->prop.cursor.object = obj;
@@ -439,6 +388,8 @@ _ecore_evas_directfb_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int lay
    evas_object_pass_events_set(ee->prop.cursor.object, 1);
    if (evas_pointer_inside_get(ee->evas))
      evas_object_show(ee->prop.cursor.object);
+
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _ecore_evas_object_cursor_del, ee);
 }
 
 static void
@@ -448,10 +399,10 @@ _ecore_evas_directfb_fullscreen_set(Ecore_Evas *ee, int on)
    int w;
    int h;
    int resized = 0;
-   
-   if (((ee->prop.fullscreen) && (on)) || ((!ee->prop.fullscreen) && (!on))) 
+
+   if (((ee->prop.fullscreen) && (on)) || ((!ee->prop.fullscreen) && (!on)))
      return;
-   
+
    if (on)
      ecore_directfb_window_fullscreen_set(ee->engine.directfb.window, 1);
    else
@@ -486,17 +437,13 @@ _ecore_evas_directfb_fullscreen_set(Ecore_Evas *ee, int on)
 	if(ee->func.fn_resize) ee->func.fn_resize(ee);
      }
 }
-#endif
 
 static void *
 _ecore_evas_directfb_window_get(const Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_DIRECTFB
    return ee->engine.directfb.window;
-#else
-   return 0;
-#endif
 }
+#endif
 
 #ifdef BUILD_ECORE_EVAS_DIRECTFB
 static const Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
@@ -543,56 +490,49 @@ static const Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
      _ecore_evas_directfb_fullscreen_set,/* fullscreen */
      NULL,				/* avoid damage */
      NULL,				/* withdrawn */
-     NULL,      			/* sticky */
+     NULL,				/* sticky */
      NULL,                              /* ignore events */
-     NULL,                              /* alpha */
-     _ecore_evas_directfb_window_get    /* window_get */
+     NULL                               /* alpha */
 };
 #endif
 
 /* api */
 /*******/
 
-Ecore_DirectFB_Window *
-ecore_evas_directfb_window_get(const Ecore_Evas *ee)
-{
-   return (Ecore_DirectFB_Window *) _ecore_evas_directfb_window_get(ee);
-}
-
+#ifdef BUILD_ECORE_EVAS_DIRECTFB
 EAPI Ecore_Evas *
 ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h)
 {
-#ifdef BUILD_ECORE_EVAS_DIRECTFB
    Evas_Engine_Info_DirectFB *einfo;
    Ecore_Evas *ee;
    Ecore_DirectFB_Window *window;
    int rmethod;
-   
+
    rmethod = evas_render_method_lookup("directfb");
    if (!rmethod) return NULL;
    if (!ecore_directfb_init(disp_name)) return NULL;
    ee = calloc(1, sizeof(Ecore_Evas));
    if (!ee) return NULL;
-   
+
    ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
    _ecore_evas_directfb_init();
    ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_directfb_engine_func;
-   
+
    ee->driver = "directfb";
    if (disp_name) ee->name = strdup(disp_name);
-   
+
    if (w < 1) w = 1;
    if (h < 1) h = 1;
-   
+
    ee->rotation = 0;
    ee->visible = 1;
    ee->x = x;
    ee->y = y;
    ee->w = w;
    ee->h = h;
-   ee->prop.layer = 1;	
+   ee->prop.layer = 1;
    ee->prop.fullscreen = 0;
-   
+
    /* init evas here */
    ee->evas = evas_new();
    evas_data_attach_set(ee->evas, ee);
@@ -600,7 +540,7 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
    evas_output_size_set(ee->evas, w, h);
    evas_output_viewport_set(ee->evas, 0, 0, w, h);
    einfo = (Evas_Engine_Info_DirectFB *)evas_engine_info_get(ee->evas);
-   
+
    window = ecore_directfb_window_new(x,y,w,h);
    ee->engine.directfb.window = window;
    if (einfo)
@@ -615,9 +555,25 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
    eina_hash_add(ecore_evases_hash, _ecore_evas_directfb_winid_str_get(ee->engine.directfb.window->id), ee);
 
    return ee;
+}
 #else
-   disp_name = NULL;
-   windowed = x = y = w = h = 0;
+EAPI Ecore_Evas *
+ecore_evas_directfb_new(const char *disp_name __UNUSED__, int windowed __UNUSED__, int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
+}
 #endif
+
+#ifdef BUILD_ECORE_EVAS_DIRECTFB
+EAPI Ecore_DirectFB_Window *
+ecore_evas_directfb_window_get(const Ecore_Evas *ee)
+{
+   return (Ecore_DirectFB_Window *) _ecore_evas_directfb_window_get(ee);
+}
+#else
+EAPI Ecore_DirectFB_Window *
+ecore_evas_directfb_window_get(const Ecore_Evas *ee __UNUSED__)
+{
+  return NULL;
 }
+#endif
diff --git a/src/lib/ecore_evas/ecore_evas_fb.c b/src/lib/ecore_evas/ecore_evas_fb.c
index f918bcd..8a712c9 100644
--- a/src/lib/ecore_evas/ecore_evas_fb.c
+++ b/src/lib/ecore_evas/ecore_evas_fb.c
@@ -9,30 +9,31 @@
 #include <sys/types.h>
 #include <dirent.h>
 
-#include "Ecore.h"
+#include <Ecore.h>
+#ifdef BUILD_ECORE_EVAS_FB
+#include <Ecore_Fb.h>
+#include <ecore_fb_private.h>
+#endif
+
 #include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
-#ifdef BUILD_ECORE_EVAS_FB
-#include "Ecore_Fb.h"
-#include "ecore_fb_private.h"
-#endif
 
 #ifdef BUILD_ECORE_EVAS_FB
 static int _ecore_evas_init_count = 0;
 
 static int _ecore_evas_fps_debug = 0;
 static char *ecore_evas_default_display = "0";
-static Ecore_List *ecore_evas_input_devices = NULL;
+static Eina_List *ecore_evas_input_devices = NULL;
 static Ecore_Evas *ecore_evases = NULL;
 static Ecore_Event_Handler *ecore_evas_event_handlers[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
 static Ecore_Idle_Enterer *ecore_evas_idle_enterer = NULL;
 
 static void
-_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
+_ecore_evas_mouse_move_process_fb(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
 {
    int fbw, fbh;
-   
+
    ee->mouse.x = x;
    ee->mouse.y = y;
    ecore_fb_size_get(&fbw, &fbh);
@@ -63,7 +64,7 @@ _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timest
    else if (ee->rotation == 180)
      evas_event_feed_mouse_move(ee->evas, (fbw - ee->w) + ee->w - x - 1, (fbh - ee->h) + ee->h - y - 1, timestamp, NULL);
    else if (ee->rotation == 270)
-     evas_event_feed_mouse_move(ee->evas, y, (fbw - ee->w) + ee->w - x - 1, timestamp, NULL);   
+     evas_event_feed_mouse_move(ee->evas, y, (fbw - ee->w) + ee->w - x - 1, timestamp, NULL);
 }
 
 static Ecore_Evas *
@@ -76,33 +77,32 @@ static void
 _ecore_evas_fb_lose(void *data __UNUSED__)
 {
    Ecore_List2 *l;
+   Eina_List *ll;
    Ecore_Fb_Input_Device *dev;
 
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
      {
 	Ecore_Evas *ee;
-	
+
 	ee = (Ecore_Evas *)l;
 	ee->visible = 0;
      }
-   if (ecore_evas_input_devices)
-     {
-	ecore_list_first_goto(ecore_evas_input_devices);
-	while ((dev = ecore_list_next(ecore_evas_input_devices)))
-	  ecore_fb_input_device_listen(dev, 0);
-     }
+
+   EINA_LIST_FOREACH(ecore_evas_input_devices, ll, dev)
+     ecore_fb_input_device_listen(dev, 0);
 }
 
 static void
 _ecore_evas_fb_gain(void *data __UNUSED__)
 {
    Ecore_List2 *l;
+   Eina_List *ll;
    Ecore_Fb_Input_Device *dev;
 
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
      {
 	Ecore_Evas *ee;
-	
+
 	ee = (Ecore_Evas *)l;
 	ee->visible = 1;
 	if ((ee->rotation == 90) || (ee->rotation == 270))
@@ -110,12 +110,9 @@ _ecore_evas_fb_gain(void *data __UNUSED__)
 	else
 	  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
      }
-   if (ecore_evas_input_devices)
-     {
-	ecore_list_first_goto(ecore_evas_input_devices);
-	while ((dev = ecore_list_next(ecore_evas_input_devices)))
-	  ecore_fb_input_device_listen(dev, 1);
-     }
+
+   EINA_LIST_FOREACH(ecore_evas_input_devices, ll, dev)
+     ecore_fb_input_device_listen(dev, 1);
 }
 
 static int
@@ -123,7 +120,7 @@ _ecore_evas_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *eve
 {
    Ecore_Evas *ee;
    Ecore_Fb_Event_Key_Down *e;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
@@ -136,7 +133,7 @@ _ecore_evas_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event
 {
    Ecore_Evas *ee;
    Ecore_Fb_Event_Key_Up *e;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
@@ -150,11 +147,11 @@ _ecore_evas_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas *ee;
    Ecore_Fb_Event_Mouse_Button_Down *e;
    Evas_Button_Flags flags = EVAS_BUTTON_NONE;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
+   _ecore_evas_mouse_move_process_fb(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
    if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
    if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
    evas_event_feed_mouse_down(ee->evas, e->button, flags, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
@@ -166,11 +163,11 @@ _ecore_evas_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, vo
 {
    Ecore_Evas *ee;
    Ecore_Fb_Event_Mouse_Button_Up *e;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
+   _ecore_evas_mouse_move_process_fb(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
    evas_event_feed_mouse_up(ee->evas, e->button, EVAS_BUTTON_NONE, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
    return 0; /* dont pass it on */
 }
@@ -180,11 +177,11 @@ _ecore_evas_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *e
 {
    Ecore_Evas *ee;
    Ecore_Fb_Event_Mouse_Move *e;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
+   _ecore_evas_mouse_move_process_fb(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
    return 0; /* dont pass it on */
 }
 
@@ -193,11 +190,11 @@ _ecore_evas_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *
 {
    Ecore_Evas *ee;
    Ecore_Fb_Event_Mouse_Wheel *e;
-   
+
    e = event;
    ee = _ecore_evas_fb_match();
    if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
+   _ecore_evas_mouse_move_process_fb(ee, e->x, e->y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
    return 0; /* dont pass it on */
 }
 
@@ -205,9 +202,10 @@ static int
 _ecore_evas_idle_enter(void *data __UNUSED__)
 {
    Ecore_List2 *l;
-   double t1 = 0.;
-   double t2 = 0.;
+   double t1 = 0.0;
+   double t2 = 0.0;
 
+   if (!ecore_evases) return 1;
    if (_ecore_evas_fps_debug)
      {
 	t1 = ecore_time_get();
@@ -215,26 +213,26 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
      {
 	Ecore_Evas *ee;
-	
+
 	ee = (Ecore_Evas *)l;
 	if (ee->visible)
 	  {
 	     Eina_List *updates;
-	     
-#ifdef BUILD_ECORE_EVAS_BUFFER
+
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 	     Eina_List *ll;
 	     Ecore_Evas *ee2;
 #endif
 	     if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 	     EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
 	       {
 		  if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
 		  _ecore_evas_buffer_render(ee2);
 		  if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
 	       }
-#endif	     
- 	     updates = evas_render_updates(ee->evas);
+#endif
+	     updates = evas_render_updates(ee->evas);
 	     if (updates)
 	       {
 		  evas_render_updates_free(updates);
@@ -260,62 +258,62 @@ _ecore_evas_fb_init(int w, int h)
    Ecore_Fb_Input_Device_Cap caps;
    int mouse_handled = 0;
    int keyboard_handled = 0;
-   
+
    DIR *input_dir;
    struct dirent *input_entry;
-   
+
    _ecore_evas_init_count++;
    if (_ecore_evas_init_count > 1) return _ecore_evas_init_count;
-   
+
    if (getenv("ECORE_EVAS_FPS_DEBUG")) _ecore_evas_fps_debug = 1;
    ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL);
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
    /* register all input devices */
    input_dir = opendir("/dev/input/");
    if (!input_dir) return _ecore_evas_init_count;
-   
-   ecore_evas_input_devices = ecore_list_new();
+
    while ((input_entry = readdir(input_dir)))
      {
 	char device_path[256];
-	
+
 	if (strncmp(input_entry->d_name, "event", 5) != 0)
 	  continue;
-	
+
 	snprintf(device_path, 256, "/dev/input/%s", input_entry->d_name);
 	if (!(device = ecore_fb_input_device_open(device_path)))
 	  continue;
-	
+
 	caps = ecore_fb_input_device_cap_get(device);
 
-	if (ecore_evas_input_devices)
+	/* Mouse */
+#ifdef HAVE_TSLIB
+	if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
+#else
+	if ((caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE) || (caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
+#endif
 	  {
-	     /* Mouse */
-	     if (caps & ECORE_FB_INPUT_DEVICE_CAP_RELATIVE)
+	     ecore_fb_input_device_axis_size_set(device, w, h);
+	     ecore_fb_input_device_listen(device,1);
+	     ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
+	     if (!mouse_handled)
 	       {
-		  ecore_fb_input_device_axis_size_set(device, w, h);
-		  ecore_fb_input_device_listen(device,1);
-		  ecore_list_append(ecore_evas_input_devices, device);
-		  if (!mouse_handled)
-		    {
-		       ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL);
-		       ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL);
-		       ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL);
-		       ecore_evas_event_handlers[5]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL);
-		       mouse_handled = 1;
-		    }
+		  ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_event_mouse_button_down, NULL);
+		  ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, _ecore_evas_event_mouse_button_up, NULL);
+		  ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_MOVE, _ecore_evas_event_mouse_move, NULL);
+		  ecore_evas_event_handlers[5]  = ecore_event_handler_add(ECORE_FB_EVENT_MOUSE_WHEEL, _ecore_evas_event_mouse_wheel, NULL);
+		  mouse_handled = 1;
 	       }
-	     /* Keyboard */
-	     else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && !(caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
+	  }
+	/* Keyboard */
+	else if ((caps & ECORE_FB_INPUT_DEVICE_CAP_KEYS_OR_BUTTONS) && !(caps & ECORE_FB_INPUT_DEVICE_CAP_ABSOLUTE))
+	  {
+	     ecore_fb_input_device_listen(device,1);
+	     ecore_evas_input_devices = eina_list_append(ecore_evas_input_devices, device);
+	     if (!keyboard_handled)
 	       {
-		  ecore_fb_input_device_listen(device,1);
-		  ecore_list_append(ecore_evas_input_devices, device);
-		  if (!keyboard_handled)
-		    {
-		       ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, NULL);
-		       ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
-		       keyboard_handled = 1;
-		    }
+		  ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_FB_EVENT_KEY_DOWN, _ecore_evas_event_key_down, NULL);
+		  ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_FB_EVENT_KEY_UP, _ecore_evas_event_key_up, NULL);
+		  keyboard_handled = 1;
 	       }
 	  }
      }
@@ -335,7 +333,7 @@ _ecore_evas_fb_init(int w, int h)
 static void
 _ecore_evas_fb_free(Ecore_Evas *ee)
 {
-   ecore_evases = _ecore_list2_remove(ecore_evases, ee);   
+   ecore_evases = _ecore_list2_remove(ecore_evases, ee);
    _ecore_evas_fb_shutdown();
    ecore_fb_shutdown();
 }
@@ -358,7 +356,7 @@ _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
        evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
        evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
      }
-   if (ee->func.fn_resize) ee->func.fn_resize(ee);	
+   if (ee->func.fn_resize) ee->func.fn_resize(ee);
 }
 
 static void
@@ -379,7 +377,7 @@ _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int
        evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
        evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
      }
-   if (ee->func.fn_resize) ee->func.fn_resize(ee);	
+   if (ee->func.fn_resize) ee->func.fn_resize(ee);
 }
 
 static void
@@ -387,7 +385,7 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation)
 {
    Evas_Engine_Info_FB *einfo;
    int rot_dif;
-   
+
    if (ee->rotation == rotation) return;
    einfo = (Evas_Engine_Info_FB *)evas_engine_info_get(ee->evas);
    if (!einfo) return;
@@ -395,13 +393,13 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation)
    if (rot_dif < 0) rot_dif = -rot_dif;
    if (rot_dif != 180)
      {
-	
+
 	einfo->info.rotation = rotation;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	if (!ee->prop.fullscreen)
 	  {
 	     int tmp;
-	     
+
 	     tmp = ee->w;
 	     ee->w = ee->h;
 	     ee->h = tmp;
@@ -431,15 +429,25 @@ _ecore_evas_rotation_set(Ecore_Evas *ee, int rotation)
      evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w);
    else
      evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-   _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
+   _ecore_evas_mouse_move_process_fb(ee, ee->mouse.x, ee->mouse.y, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff));
    if (ee->func.fn_resize) ee->func.fn_resize(ee);
 }
 
 static void
+_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Ecore_Evas *ee;
+
+   ee = data;
+   if (ee)
+     ee->prop.cursor.object = NULL;
+}
+
+static void
 _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
 {
    int x, y;
-   
+
    if (ee->prop.cursor.object) evas_object_del(ee->prop.cursor.object);
 
    if (obj == NULL)
@@ -457,25 +465,29 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
    ee->prop.cursor.hot.y = hot_y;
    evas_pointer_output_xy_get(ee->evas, &x, &y);
    evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
-   evas_object_move(ee->prop.cursor.object, 
+   evas_object_move(ee->prop.cursor.object,
 		    x - ee->prop.cursor.hot.x,
 		    y - ee->prop.cursor.hot.y);
    evas_object_pass_events_set(ee->prop.cursor.object, 1);
    if (evas_pointer_inside_get(ee->evas))
      evas_object_show(ee->prop.cursor.object);
+
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _ecore_evas_object_cursor_del, ee);
 }
 
 static void
 _ecore_evas_fullscreen_set(Ecore_Evas *ee, int on)
 {
+   Eina_List *l;
+   Ecore_Fb_Input_Device *dev;
    int resized = 0;
-   
+
    if (((ee->prop.fullscreen) && (on)) ||
        ((!ee->prop.fullscreen) && (!on))) return;
    if (on)
      {
 	int w, h;
-	
+
 	ee->engine.fb.real_w = ee->w;
 	ee->engine.fb.real_h = ee->h;
 	w = ee->w;
@@ -503,21 +515,15 @@ _ecore_evas_fullscreen_set(Ecore_Evas *ee, int on)
 	evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
      }
    ee->prop.fullscreen = on;
+   EINA_LIST_FOREACH(ecore_evas_input_devices, l, dev)
+     ecore_fb_input_device_axis_size_set(dev, ee->w, ee->h);
    /* rescale the input device area */
-   if (ecore_evas_input_devices)
-     {
-	Ecore_Fb_Input_Device *dev;
-	
-	ecore_list_first_goto(ecore_evas_input_devices);
-	while ((dev = ecore_list_next(ecore_evas_input_devices)))
-	  ecore_fb_input_device_axis_size_set(dev, ee->w, ee->h);
-     }
    if (resized)
      {
-	if (ee->func.fn_resize) ee->func.fn_resize(ee); 
+	if (ee->func.fn_resize) ee->func.fn_resize(ee);
      }
 }
-    
+
 int
 _ecore_evas_fb_shutdown(void)
 {
@@ -525,7 +531,7 @@ _ecore_evas_fb_shutdown(void)
    if (_ecore_evas_init_count == 0)
      {
 	int i;
-   
+
 	while (ecore_evases) _ecore_evas_free(ecore_evases);
 	for (i = 0; i < 5; i++)
 	  ecore_event_handler_del(ecore_evas_event_handlers[i]);
@@ -583,6 +589,7 @@ static const Ecore_Evas_Engine_Func _ecore_fb_engine_func =
      NULL,
      NULL,
      NULL,
+     NULL,
      NULL
 };
 #endif
@@ -592,10 +599,10 @@ static const Ecore_Evas_Engine_Func _ecore_fb_engine_func =
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_FB
 EAPI Ecore_Evas *
 ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
 {
-#ifdef BUILD_ECORE_EVAS_FB
    Evas_Engine_Info_FB *einfo;
    Ecore_Evas *ee;
 
@@ -606,7 +613,7 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
 
    rmethod = evas_render_method_lookup("fb");
    if (!rmethod) return NULL;
-   
+
    if (!ecore_fb_init(disp_name)) return NULL;
    ecore_fb_callback_gain_set(_ecore_evas_fb_gain, NULL);
    ecore_fb_callback_lose_set(_ecore_evas_fb_lose, NULL);
@@ -614,11 +621,11 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
    if (!ee) return NULL;
 
    ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
-   
+
    _ecore_evas_fb_init(w, h);
-   
+
    ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_fb_engine_func;
-   
+
    ee->driver = "fb";
    if (disp_name) ee->name = strdup(disp_name);
 
@@ -639,7 +646,7 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
    ee->prop.fullscreen = 0;
    ee->prop.withdrawn = 0;
    ee->prop.sticky = 0;
-   
+
    /* init evas here */
    ee->evas = evas_new();
    evas_data_attach_set(ee->evas, ee);
@@ -675,14 +682,16 @@ ecore_evas_fb_new(const char *disp_name, int rotation, int w, int h)
    evas_key_lock_add(ee->evas, "Caps_Lock");
    evas_key_lock_add(ee->evas, "Num_Lock");
    evas_key_lock_add(ee->evas, "Scroll_Lock");
-   
+
    evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
    return ee;
+}
 #else
-   disp_name = NULL;
-   rotation = w = h = 0;
+EAPI Ecore_Evas *
+ecore_evas_fb_new(const char *disp_name __UNUSED__, int rotation __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
-#endif   
 }
+#endif
diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h
index 4d32413..2070877 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -8,8 +8,6 @@
 # include <config.h>
 #endif
 
-#include "Ecore_Data.h"
-
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
@@ -19,6 +17,9 @@
 #endif
 
 #include <Evas.h>
+#include <ecore_private.h>
+#include <Ecore_Data.h>
+#include <Ecore_Input.h>
 
 #define ECORE_MAGIC_EVAS 0x76543211
 
@@ -35,7 +36,7 @@
 #  endif
 #  ifdef BUILD_ECORE_EVAS_XRENDER_XCB
 #   include <xcb/render.h>
-#   include <Evas_Engine_XRender_Xcb.h>
+#   include <Evas_Engine_XRender_X11.h>
 #  endif
 # endif
 # ifdef HAVE_ECORE_X_XLIB
@@ -66,7 +67,7 @@
 # include "Ecore_DirectFB.h"
 #endif
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 # include <Evas_Engine_Buffer.h>
 #endif
 
@@ -93,8 +94,10 @@
 
 
 #define IDLE_FLUSH_TIME 0.5
+#ifndef _ECORE_EVAS_H
+typedef struct _Ecore_Evas Ecore_Evas;
+#endif
 
-typedef struct _Ecore_Evas             Ecore_Evas;
 typedef struct _Ecore_Evas_Engine      Ecore_Evas_Engine;
 typedef struct _Ecore_Evas_Engine_Func Ecore_Evas_Engine_Func;
 
@@ -145,7 +148,6 @@ struct _Ecore_Evas_Engine_Func
    void        (*fn_sticky_set) (Ecore_Evas *ee, int sticky);
    void        (*fn_ignore_events_set) (Ecore_Evas *ee, int ignore);
    void        (*fn_alpha_set) (Ecore_Evas *ee, int alpha);
-   void       *(*fn_window_get) (const Ecore_Evas *ee);
 };
 
 struct _Ecore_Evas_Engine
@@ -155,7 +157,6 @@ struct _Ecore_Evas_Engine
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
    struct {
       Ecore_X_Window win_root;
-      Ecore_X_Window win;
       Eina_List     *win_extra;
       Ecore_X_Pixmap pmap;
       Ecore_X_Pixmap mask;
@@ -189,7 +190,7 @@ struct _Ecore_Evas_Engine
       int real_h;
    } fb;
 #endif
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    struct {
       void *pixels;
       Evas_Object *image;
@@ -203,7 +204,6 @@ struct _Ecore_Evas_Engine
 #ifdef BUILD_ECORE_EVAS_WIN32
    struct {
       Ecore_Win32_Window *parent;
-      Ecore_Win32_Window *window;
      struct {
        unsigned char fullscreen : 1;
      } state;
@@ -264,6 +264,7 @@ struct _Ecore_Evas
 	 } hot;
       } cursor;
       int             layer;
+      Ecore_Window    window;
       unsigned char   avoid_damage;
       char            focused      : 1;
       char            iconified    : 1;
@@ -306,7 +307,7 @@ int _ecore_evas_x_shutdown(void);
 #ifdef BUILD_ECORE_EVAS_FB
 int _ecore_evas_fb_shutdown(void);
 #endif
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
 int _ecore_evas_buffer_shutdown(void);
 void _ecore_evas_buffer_render(Ecore_Evas *ee);
 #endif
@@ -325,5 +326,6 @@ void _ecore_evas_fps_debug_shutdown(void);
 void _ecore_evas_fps_debug_rendertime_add(double t);
 void _ecore_evas_free(Ecore_Evas *ee);
 void _ecore_evas_idle_timeout_update(Ecore_Evas *ee);
+void _ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp);
 
 #endif
diff --git a/src/lib/ecore_evas/ecore_evas_quartz.c b/src/lib/ecore_evas/ecore_evas_quartz.c
index 9ed0cef..07231f4 100644
--- a/src/lib/ecore_evas/ecore_evas_quartz.c
+++ b/src/lib/ecore_evas/ecore_evas_quartz.c
@@ -11,6 +11,8 @@
 #endif
 
 #include "Ecore.h"
+#include "Ecore_Input.h"
+
 #include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
@@ -21,11 +23,11 @@
 
 static int                      _ecore_evas_init_count = 0;
 static Ecore_Evas               *ecore_evases = NULL;
-static Ecore_Event_Handler      *ecore_evas_event_handlers[10] = {
-   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+static Ecore_Event_Handler      *ecore_evas_event_handlers[4] = {
+   NULL, NULL, NULL, NULL
 };
 static Ecore_Idle_Enterer       *ecore_evas_idle_enterer = NULL;
-static Ecore_Idler              *ecore_evas_event = NULL;
+static Ecore_Poller             *ecore_evas_event = NULL;
 
 static const char               *ecore_evas_quartz_default = "EFL Quartz";
 
@@ -55,7 +57,7 @@ static NSWindow * main_window;
    if(ctx != NULL)
    {
       Ecore_List2  *l;
-      
+
       for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
       {
          Ecore_Evas *ee;
@@ -78,19 +80,6 @@ static NSWindow * main_window;
 
 @end
 
-static void
-_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   if (ee->prop.cursor.object)
-   {
-      evas_object_show(ee->prop.cursor.object);
-      evas_object_move(ee->prop.cursor.object, x - ee->prop.cursor.hot.x, y - ee->prop.cursor.hot.y);
-   }
-   evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-}
-
 static Ecore_Evas *
 _ecore_evas_quartz_match(void)
 {
@@ -98,144 +87,6 @@ _ecore_evas_quartz_match(void)
 }
 
 static int
-_ecore_evas_quartz_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Quartz_Event_Key_Down     *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-
-   if (!ee) return 1;
-   // pass on event
-   evas_event_feed_key_down(ee->evas, e->keyname, NULL, e->keycompose, NULL, e->time, NULL);
-
-   return 0; // dont pass it on
-}
-
-static int
-_ecore_evas_quartz_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Quartz_Event_Key_Up       *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-
-   if (!ee) return 1;
-   // pass on event
-   evas_event_feed_key_up(ee->evas, e->keyname, NULL, e->keycompose, NULL, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_quartz_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Quartz_Event_Mouse_Move *e;
-   Ecore_Evas *ee;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-
-   if (!ee) return 1; // pass on event
-   
-   NSWindow * win = ((NSWindow*) (e->window));
-   
-   // Also notify on entering or leaving the window
-   NSPoint mouseLoc = [win convertBaseToScreen:NSMakePoint(e->x, e->y)];
-   
-   if(NSPointInRect(mouseLoc, [win frame]))
-   {
-      evas_event_feed_mouse_in(ee, 0, NULL);
-      
-      int w, h;
-      evas_output_size_get(ee->evas, &w, &h);
-      e->y = h - e->y;
-
-      if (e->y >= 0) // Don't register movement in titlebar!
-         _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   }
-   else
-   {
-      evas_event_feed_mouse_out(ee, 0, NULL);
-   }
-   return 0;
-}
-
-static int
-_ecore_evas_quartz_event_button_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Quartz_Event_Mouse_Button_Down    *e;
-   Ecore_Evas                           *ee;
-   Evas_Button_Flags                    flags;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-   flags = EVAS_BUTTON_NONE;
-   
-   if (!ee) return 1;
-   
-   int w, h;
-   evas_output_size_get(ee->evas, &w, &h);
-   e->y = h - e->y;
-   
-   // pass on event
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   
-   if (e->y >= 0) // Don't register clicks in titlebar!
-      evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_quartz_event_button_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Quartz_Event_Mouse_Button_Up      *e;
-   Ecore_Evas                           *ee;
-   Evas_Button_Flags                    flags;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-   flags = EVAS_BUTTON_NONE;
-
-   if (!ee) return 1;
-   
-   int w, h;
-   evas_output_size_get(ee->evas, &w, &h);
-   e->y = h - e->y;
-   
-   // pass on event
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   
-   if (e->y >= 0) // Don't register clicks in titlebar!
-      evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_quartz_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   /*Ecore_Quartz_Event_Mouse_Wheel  *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_quartz_match();
-
-   if (!ee) return 1; // pass on event
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   evas_event_feed_mouse_wheel(ee->evas, e->direction, e->wheel, e->time, NULL);
-
-   return 0;*/
-}
-
-static int
 _ecore_evas_quartz_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
    Ecore_Evas                   *ee;
@@ -302,7 +153,7 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
    {
       Ecore_Evas *ee = (Ecore_Evas *)l;
-      
+
       if (ee->visible)
          evas_render(ee->evas);
       else
@@ -327,18 +178,13 @@ _ecore_evas_quartz_init(int w, int h)
    if (_ecore_evas_init_count > 1) return _ecore_evas_init_count;
 
    ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL);
-   ecore_evas_event = ecore_timer_add(0.008, _ecore_evas_quartz_event, NULL);
-
-   ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_KEY_DOWN, _ecore_evas_quartz_event_key_down, NULL);
-   ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_KEY_UP, _ecore_evas_quartz_event_key_up, NULL);
-   ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_quartz_event_button_down, NULL);
-   ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_MOUSE_BUTTON_UP, _ecore_evas_quartz_event_button_up, NULL);
-   ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_MOUSE_MOVE, _ecore_evas_quartz_event_mouse_move, NULL);
-   ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_MOUSE_WHEEL, _ecore_evas_quartz_event_mouse_wheel, NULL);
-   ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_GOT_FOCUS, _ecore_evas_quartz_event_got_focus, NULL);
-   ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_LOST_FOCUS, _ecore_evas_quartz_event_lost_focus, NULL);
-   ecore_evas_event_handlers[8] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_RESIZE, _ecore_evas_quartz_event_video_resize, NULL);
-   ecore_evas_event_handlers[9] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_EXPOSE, _ecore_evas_quartz_event_video_expose, NULL);
+   ecore_evas_event = ecore_poller_add(ECORE_POLLER_CORE, 1, ecore_evas_event, NULL);
+   ecore_poller_poll_interval_set(ECORE_POLLER_CORE, 0.006);
+
+   ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_GOT_FOCUS, _ecore_evas_quartz_event_got_focus, NULL);
+   ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_LOST_FOCUS, _ecore_evas_quartz_event_lost_focus, NULL);
+   ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_RESIZE, _ecore_evas_quartz_event_video_resize, NULL);
+   ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_QUARTZ_EVENT_EXPOSE, _ecore_evas_quartz_event_video_expose, NULL);
 
    return _ecore_evas_init_count;
 }
@@ -352,13 +198,13 @@ _ecore_evas_quartz_shutdown(void)
       int i;
 
       while (ecore_evases) _ecore_evas_free(ecore_evases);
-      
+
       for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++)
          ecore_event_handler_del(ecore_evas_event_handlers[i]);
-         
+      ecore_event_evas_shutdown();
       ecore_idle_enterer_del(ecore_evas_idle_enterer);
       ecore_evas_idle_enterer = NULL;
-      ecore_timer_del(ecore_evas_event);
+      ecore_poller_del(ecore_evas_event);
       ecore_evas_event = NULL;
    }
    if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
@@ -369,6 +215,7 @@ static void
 _ecore_evas_quartz_free(Ecore_Evas *ee)
 {
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+   ecore_event_window_unregister(0);
    _ecore_evas_quartz_shutdown();
    ecore_quartz_shutdown();
 }
@@ -402,6 +249,16 @@ _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int
 }
 
 static void
+_ecore_evas_object_cursor_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   Ecore_Evas *ee;
+
+   ee = data;
+   if (ee)
+     ee->prop.cursor.object = NULL;
+}
+
+static void
 _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
 {
    int x, y;
@@ -421,17 +278,19 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
    ee->prop.cursor.layer = layer;
    ee->prop.cursor.hot.x = hot_x;
    ee->prop.cursor.hot.y = hot_y;
-   
+
    evas_pointer_output_xy_get(ee->evas, &x, &y);
    evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
    evas_object_move(ee->prop.cursor.object,
                     x - ee->prop.cursor.hot.x,
                     y - ee->prop.cursor.hot.y);
-   
+
    evas_object_pass_events_set(ee->prop.cursor.object, 1);
-   
+
    if (evas_pointer_inside_get(ee->evas))
       evas_object_show(ee->prop.cursor.object);
+
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _ecore_evas_object_cursor_del, ee);
 }
 
 static const Ecore_Evas_Engine_Func _ecore_quartz_engine_func =
@@ -478,12 +337,11 @@ static const Ecore_Evas_Engine_Func _ecore_quartz_engine_func =
    NULL,
    NULL,
    NULL,
-   NULL,
    NULL
 };
 #endif
 
-EAPI Ecore_Evas*
+EAPI Ecore_Evas *
 ecore_evas_quartz_new(const char* name, int w, int h)
 {
 #ifdef BUILD_ECORE_EVAS_QUARTZ
@@ -500,16 +358,21 @@ ecore_evas_quartz_new(const char* name, int w, int h)
    if (!ecore_quartz_init(name)) return NULL;
 
    ee = calloc(1, sizeof(Ecore_Evas));
-   if (!ee) return NULL;
+   if (!ee)
+     goto shutdown_ecore_quartz;
 
    ECORE_MAGIC_SET(ee, ECORE_MAGIC_EVAS);
 
    _ecore_evas_quartz_init(w, h);
 
+   ecore_event_window_register(0, ee, ee->evas, _ecore_evas_mouse_move_process);
+
    ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_quartz_engine_func;
 
    ee->driver = "quartz";
    if (name) ee->name = strdup(name);
+   if (!ee->name)
+     goto free_ee;
 
    if (w < 1) w = 1;
    if (h < 1) h = 1;
@@ -529,9 +392,11 @@ ecore_evas_quartz_new(const char* name, int w, int h)
 
    // init evas here
    ee->evas = evas_new();
+   if (!ee->evas)
+     goto free_name;
    evas_data_attach_set(ee->evas, ee);
    evas_output_method_set(ee->evas, rmethod);
-   
+
    // Set up the Cocoa runtime
    [[NSAutoreleasePool alloc] init];
    [NSApplication sharedApplication];
@@ -542,45 +407,50 @@ ecore_evas_quartz_new(const char* name, int w, int h)
    TransformProcessType (&psn, kProcessTransformToForegroundApplication);
 
    [NSApp finishLaunching];
-   
+
    // Create our main window, and embed an EvasView in it
    main_window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0,0,w,h) styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask | NSMiniaturizableWindowMask) backing:NSBackingStoreBuffered defer:NO screen:nil];
+   /* FIXME: manage the case where main_window is NULL witht a goto free_evas; */
    [main_window makeKeyAndOrderFront:NSApp];
    [main_window setTitle:[NSString stringWithUTF8String:name]];
    [main_window makeMainWindow];
    [main_window setAcceptsMouseMovedEvents:YES];
    [NSApp activateIgnoringOtherApps:YES];
-   
+
    evas_view = [[EvasView alloc] initWithFrame:NSMakeRect(0,0,w,h)];
    [[main_window contentView] addSubview:evas_view];
-   
+
    // drawRect: must be run at least once, to make sure we've set ctx
    [evas_view display];
-   
+
    evas_output_size_set(ee->evas, w, h);
    evas_output_viewport_set(ee->evas, 0, 0, w, h);
 
    einfo = (Evas_Engine_Info_Quartz*) evas_engine_info_get(ee->evas);
-   if (einfo)
-   {
-      einfo->info.context = [[evas_view context] retain];
-      evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
-   }
-   
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
+   if (!einfo)
+     goto free_window;
+
+   einfo->info.context = [[evas_view context] retain];
+   evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 
    evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
    return ee;
+
+ free_window:
+   /* FIXME: free window here */
+ free_evas:
+   free(ee->evas);
+ free_name:
+   free(ee->name);
+ free_ee:
+   _ecore_evas_quartz_shutdown();
+   free(ee);
+ shutdown_ecore_quartz:
+   ecore_quartz_shutdown();
+
+   return NULL;
 #else
    fprintf(stderr, "OUTCH !\n");
    return NULL;
diff --git a/src/lib/ecore_evas/ecore_evas_sdl.c b/src/lib/ecore_evas/ecore_evas_sdl.c
index 306b2a0..40adc6b 100644
--- a/src/lib/ecore_evas/ecore_evas_sdl.c
+++ b/src/lib/ecore_evas/ecore_evas_sdl.c
@@ -6,16 +6,17 @@
 # include <config.h>
 #endif
 
-#include "Ecore.h"
-#include "ecore_private.h"
+#include <Ecore.h>
+#include <Ecore_Input.h>
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
+#include <Ecore_Sdl.h>
+#include <Evas_Engine_SDL.h>
+#endif
+
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
-#ifdef BUILD_ECORE_EVAS_SDL
-#include "Ecore_Sdl.h"
-#include "Evas_Engine_SDL.h"
-#endif
 
-#ifdef BUILD_ECORE_EVAS_SDL
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
 
 /* static char *ecore_evas_default_display = "0"; */
 /* static Ecore_List *ecore_evas_input_devices = NULL; */
@@ -25,29 +26,14 @@ static int                      _ecore_evas_init_count = 0;
 static int                      _ecore_evas_fps_debug = 0;
 #endif /* _WIN32 */
 static Ecore_Evas               *ecore_evases = NULL;
-static Ecore_Event_Handler      *ecore_evas_event_handlers[10] = {
-   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
+static Ecore_Event_Handler      *ecore_evas_event_handlers[4] = {
+   NULL, NULL, NULL, NULL
 };
 static Ecore_Idle_Enterer       *ecore_evas_idle_enterer = NULL;
-static Ecore_Idler              *ecore_evas_event = NULL;
+static Ecore_Poller             *ecore_evas_event = NULL;
 
 static const char               *ecore_evas_sdl_default = "EFL SDL";
 
-static void
-_ecore_evas_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   if (ee->prop.cursor.object)
-     {
-	evas_object_show(ee->prop.cursor.object);
-        evas_object_move(ee->prop.cursor.object,
-                         x - ee->prop.cursor.hot.x,
-                         y - ee->prop.cursor.hot.y);
-     }
-   evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-}
-
 static Ecore_Evas *
 _ecore_evas_sdl_match(void)
 {
@@ -55,112 +41,7 @@ _ecore_evas_sdl_match(void)
 }
 
 static int
-_ecore_evas_sdl_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Key_Down     *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-
-   if (!ee) return 1;
-   /* pass on event */
-   evas_event_feed_key_down(ee->evas, e->keyname, NULL, e->keycompose, NULL, e->time, NULL);
-
-   return 0; /* dont pass it on */
-}
-
-static int
-_ecore_evas_sdl_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Key_Up       *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-
-   if (!ee) return 1;
-   /* pass on event */
-   evas_event_feed_key_up(ee->evas, e->keyname, NULL, e->keycompose, NULL, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_sdl_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Mouse_Move *e;
-   Ecore_Evas *ee;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-
-   if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-
-   return 0;
-}
-
-static int
-_ecore_evas_sdl_event_button_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Mouse_Button_Down    *e;
-   Ecore_Evas                           *ee;
-   Evas_Button_Flags                    flags;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-   flags = EVAS_BUTTON_NONE;
-
-   if (!ee) return 1;
-   /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_sdl_event_button_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Mouse_Button_Up      *e;
-   Ecore_Evas                           *ee;
-   Evas_Button_Flags                    flags;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-   flags = EVAS_BUTTON_NONE;
-
-   if (!ee) return 1;
-   /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_sdl_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Sdl_Event_Mouse_Wheel  *e;
-   Ecore_Evas                   *ee;
-
-   e = event;
-   ee = _ecore_evas_sdl_match();
-
-   if (!ee) return 1; /* pass on event */
-   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
-   evas_event_feed_mouse_wheel(ee->evas, e->direction, e->wheel, e->time, NULL);
-
-   return 0;
-}
-
-static int
-_ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event)
+_ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
 {
    Ecore_Evas                   *ee;
 
@@ -174,7 +55,7 @@ _ecore_evas_sdl_event_got_focus(void *data __UNUSED__, int type __UNUSED__, void
 }
 
 static int
-_ecore_evas_sdl_event_lost_focus(void *data __UNUSED__, int type __UNUSED__, void *event)
+_ecore_evas_sdl_event_lost_focus(void *data __UNUSED__, int type __UNUSED__, void *event __UNUSED__)
 {
    Ecore_Evas                   *ee;
 
@@ -235,9 +116,10 @@ static int
 _ecore_evas_idle_enter(void *data __UNUSED__)
 {
    Ecore_List2  *l;
-   double       t1 = 0.;
-   double       t2 = 0.;
+   double       t1 = 0.0;
+   double       t2 = 0.0;
 
+   if (!ecore_evases) return 1;
 #ifndef _WIN32
    if (_ecore_evas_fps_debug)
      {
@@ -247,9 +129,22 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
    for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
      {
 	Ecore_Evas *ee;
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
+	Eina_List *ll;
+	Ecore_Evas *ee2;
+#endif
 
 	ee = (Ecore_Evas *)l;
 
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
+	EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
+	  {
+	     if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
+	     _ecore_evas_buffer_render(ee2);
+	     if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
+	  }
+#endif
+
 	if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
 
 	if (ee->prop.avoid_damage) _ecore_evas_render(ee);
@@ -273,7 +168,7 @@ _ecore_evas_idle_enter(void *data __UNUSED__)
 }
 
 static int
-_ecore_evas_sdl_event(void *data)
+_ecore_evas_sdl_event(void *data __UNUSED__)
 {
    ecore_sdl_feed_events();
 
@@ -281,7 +176,7 @@ _ecore_evas_sdl_event(void *data)
 }
 
 static int
-_ecore_evas_sdl_init(int w, int h)
+_ecore_evas_sdl_init(int w __UNUSED__, int h __UNUSED__)
 {
    _ecore_evas_init_count++;
    if (_ecore_evas_init_count > 1) return _ecore_evas_init_count;
@@ -290,21 +185,18 @@ _ecore_evas_sdl_init(int w, int h)
    if (getenv("ECORE_EVAS_FPS_DEBUG")) _ecore_evas_fps_debug = 1;
 #endif /* _WIN32 */
    ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL);
-   ecore_evas_event = ecore_timer_add(0.008, _ecore_evas_sdl_event, NULL);
+   ecore_evas_event = ecore_poller_add(ECORE_POLLER_CORE, 1, _ecore_evas_sdl_event, NULL);
+   ecore_poller_poll_interval_set(ECORE_POLLER_CORE, 0.006);
 #ifndef _WIN32
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
 #endif /* _WIN32 */
 
-   ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_SDL_EVENT_KEY_DOWN, _ecore_evas_sdl_event_key_down, NULL);
-   ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_SDL_EVENT_KEY_UP, _ecore_evas_sdl_event_key_up, NULL);
-   ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_sdl_event_button_down, NULL);
-   ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_SDL_EVENT_MOUSE_BUTTON_UP, _ecore_evas_sdl_event_button_up, NULL);
-   ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_SDL_EVENT_MOUSE_MOVE, _ecore_evas_sdl_event_mouse_move, NULL);
-   ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_SDL_EVENT_MOUSE_WHEEL, _ecore_evas_sdl_event_mouse_wheel, NULL);
-   ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_SDL_EVENT_GOT_FOCUS, _ecore_evas_sdl_event_got_focus, NULL);
-   ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_SDL_EVENT_LOST_FOCUS, _ecore_evas_sdl_event_lost_focus, NULL);
-   ecore_evas_event_handlers[8] = ecore_event_handler_add(ECORE_SDL_EVENT_RESIZE, _ecore_evas_sdl_event_video_resize, NULL);
-   ecore_evas_event_handlers[9] = ecore_event_handler_add(ECORE_SDL_EVENT_EXPOSE, _ecore_evas_sdl_event_video_expose, NULL);
+   ecore_event_evas_init();
+
+   ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_SDL_EVENT_GOT_FOCUS, _ecore_evas_sdl_event_got_focus, NULL);
+   ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_SDL_EVENT_LOST_FOCUS, _ecore_evas_sdl_event_lost_focus, NULL);
+   ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_SDL_EVENT_RESIZE, _ecore_evas_sdl_event_video_resize, NULL);
+   ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_SDL_EVENT_EXPOSE, _ecore_evas_sdl_event_video_expose, NULL);
 
    return _ecore_evas_init_count;
 }
@@ -317,12 +209,14 @@ _ecore_evas_sdl_shutdown(void)
      {
 	int i;
 
-	while (ecore_evases) _ecore_evas_free(ecore_evases);
+        while (ecore_evases) _ecore_evas_free(ecore_evases);
+
         for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof (Ecore_Event_Handler*); i++)
 	  ecore_event_handler_del(ecore_evas_event_handlers[i]);
+	ecore_event_evas_shutdown();
 	ecore_idle_enterer_del(ecore_evas_idle_enterer);
 	ecore_evas_idle_enterer = NULL;
-        ecore_timer_del(ecore_evas_event);
+        ecore_poller_del(ecore_evas_event);
         ecore_evas_event = NULL;
 #ifndef _WIN32
 	if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
@@ -336,6 +230,7 @@ static void
 _ecore_evas_sdl_free(Ecore_Evas *ee)
 {
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
+   ecore_event_window_unregister(0);
    _ecore_evas_sdl_shutdown();
    ecore_sdl_shutdown();
 }
@@ -369,6 +264,16 @@ _ecore_evas_move_resize(Ecore_Evas *ee, int x __UNUSED__, int y __UNUSED__, int
 }
 
 static void
+_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Ecore_Evas *ee;
+
+   ee = data;
+   if (ee)
+     ee->prop.cursor.object = NULL;
+}
+
+static void
 _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
 {
    int x, y;
@@ -396,6 +301,8 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int h
    evas_object_pass_events_set(ee->prop.cursor.object, 1);
    if (evas_pointer_inside_get(ee->evas))
      evas_object_show(ee->prop.cursor.object);
+
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _ecore_evas_object_cursor_del, ee);
 }
 
 static const Ecore_Evas_Engine_Func _ecore_sdl_engine_func =
@@ -444,7 +351,6 @@ static const Ecore_Evas_Engine_Func _ecore_sdl_engine_func =
    NULL,
    NULL,
    NULL,
-   NULL,
    NULL
 };
 
@@ -459,8 +365,6 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
 
    if (ecore_evases) return NULL;
 
-   if (!ecore_sdl_init(name)) return NULL;
-
    ee = calloc(1, sizeof(Ecore_Evas));
    if (!ee) return NULL;
 
@@ -487,6 +391,7 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
    ee->prop.fullscreen = fullscreen;
    ee->prop.withdrawn = 0;
    ee->prop.sticky = 0;
+   ee->prop.window = 0;
 
    /* init evas here */
    ee->evas = evas_new();
@@ -506,20 +411,21 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
         einfo->info.alpha = alpha;
         evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
 
-   evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
+   if (!ecore_sdl_init(name))
+     {
+	evas_free(ee->evas);
+	if (ee->name) free(ee->name);
+	free(ee);
+	return NULL;
+     }
 
    _ecore_evas_sdl_init(w, h);
 
+   ecore_event_window_register(0, ee, ee->evas, _ecore_evas_mouse_move_process);
+
+   evas_event_feed_mouse_in(ee->evas, (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff), NULL);
+
    SDL_ShowCursor(SDL_DISABLE);
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
@@ -527,10 +433,10 @@ _ecore_evas_internal_sdl_new(int rmethod, const char* name, int w, int h, int fu
 }
 #endif
 
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
 EAPI Ecore_Evas*
 ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
 {
-#ifdef BUILD_ECORE_EVAS_SDL
    Ecore_Evas          *ee;
    int                  rmethod;
 
@@ -540,16 +446,20 @@ ecore_evas_sdl_new(const char* name, int w, int h, int fullscreen, int hwsurface
    ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha);
    ee->driver = "sdl";
    return ee;
+}
 #else
+EAPI Ecore_Evas*
+ecore_evas_sdl_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED__, int fullscreen __UNUSED__, int hwsurface __UNUSED__, int noframe __UNUSED__, int alpha __UNUSED__)
+{
    fprintf(stderr, "OUTCH !\n");
    return NULL;
-#endif
 }
+#endif
 
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_SDL
 EAPI Ecore_Evas*
 ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurface, int noframe, int alpha)
 {
-#ifdef BUILD_ECORE_EVAS_SDL
    Ecore_Evas          *ee;
    int                  rmethod;
 
@@ -559,8 +469,12 @@ ecore_evas_sdl16_new(const char* name, int w, int h, int fullscreen, int hwsurfa
    ee = _ecore_evas_internal_sdl_new(rmethod, name, w, h, fullscreen, hwsurface, noframe, alpha);
    ee->driver = "software_16_sdl";
    return ee;
+}
 #else
+EAPI Ecore_Evas*
+ecore_evas_sdl16_new(const char* name __UNUSED__, int w __UNUSED__, int h __UNUSED__, int fullscreen __UNUSED__, int hwsurface __UNUSED__, int noframe __UNUSED__, int alpha __UNUSED__)
+{
    fprintf(stderr, "OUTCH !\n");
    return NULL;
-#endif
 }
+#endif
diff --git a/src/lib/ecore_evas/ecore_evas_util.c b/src/lib/ecore_evas/ecore_evas_util.c
index 67c24fc..d5b6580 100644
--- a/src/lib/ecore_evas/ecore_evas_util.c
+++ b/src/lib/ecore_evas/ecore_evas_util.c
@@ -8,12 +8,12 @@
 
 #include <string.h>
 
-#include "Ecore.h"
+#include <Ecore.h>
+
 #include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
 
-
 static const char ASSOCIATE_KEY[] = "__Ecore_Evas_Associate";
 
 static void _ecore_evas_object_associate(Ecore_Evas *ee, Evas_Object *obj, Ecore_Evas_Object_Associate_Flags flags);
@@ -61,7 +61,7 @@ _evas_object_associate_del(Evas_Object *obj)
 /* Interceptors Callbacks */
 
 static void
-_ecore_evas_obj_intercept_move(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y)
+_ecore_evas_obj_intercept_move(void *data, Evas_Object *obj __UNUSED__, Evas_Coord x, Evas_Coord y)
 {
    Ecore_Evas *ee = data;
    // FIXME: account for frame
@@ -69,33 +69,33 @@ _ecore_evas_obj_intercept_move(void *data, Evas_Object *obj, Evas_Coord x, Evas_
 }
 
 static void
-_ecore_evas_obj_intercept_raise(void *data, Evas_Object *obj)
+_ecore_evas_obj_intercept_raise(void *data, Evas_Object *obj __UNUSED__)
 {
    Ecore_Evas *ee = data;
    ecore_evas_raise(ee);
 }
 
 static void
-_ecore_evas_obj_intercept_lower(void *data, Evas_Object *obj)
+_ecore_evas_obj_intercept_lower(void *data, Evas_Object *obj __UNUSED__)
 {
    Ecore_Evas *ee = data;
    ecore_evas_lower(ee);
 }
 
 static void
-_ecore_evas_obj_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above)
+_ecore_evas_obj_intercept_stack_above(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Object *above __UNUSED__)
 {
    fprintf(stderr, "TODO: %s\n", __FUNCTION__);
 }
 
 static void
-_ecore_evas_obj_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below)
+_ecore_evas_obj_intercept_stack_below(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Object *below __UNUSED__)
 {
    fprintf(stderr, "TODO: %s\n", __FUNCTION__);
 }
 
 static void
-_ecore_evas_obj_intercept_layer_set(void *data, Evas_Object *obj, int l)
+_ecore_evas_obj_intercept_layer_set(void *data, Evas_Object *obj __UNUSED__, int l)
 {
    Ecore_Evas *ee = data;
    ecore_evas_layer_set(ee, l);
@@ -104,21 +104,21 @@ _ecore_evas_obj_intercept_layer_set(void *data, Evas_Object *obj, int l)
 /* Event Callbacks */
 
 static void
-_ecore_evas_obj_callback_show(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_show(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    ecore_evas_show(ee);
 }
 
 static void
-_ecore_evas_obj_callback_hide(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_hide(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    ecore_evas_hide(ee);
 }
 
 static void
-_ecore_evas_obj_callback_resize(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_resize(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    Evas_Coord ow, oh, w, h;
@@ -130,7 +130,7 @@ _ecore_evas_obj_callback_resize(void *data, Evas *e, Evas_Object *obj, void *eve
 }
 
 static void
-_ecore_evas_obj_callback_changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    Evas_Coord w, h;
@@ -145,7 +145,7 @@ _ecore_evas_obj_callback_changed_size_hints(void *data, Evas *e, Evas_Object *ob
 }
 
 static void
-_ecore_evas_obj_callback_del(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_del(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    _ecore_evas_object_dissociate(ee, obj);
@@ -153,7 +153,7 @@ _ecore_evas_obj_callback_del(void *data, Evas *e, Evas_Object *obj, void *event_
 }
 
 static void
-_ecore_evas_obj_callback_del_dissociate(void *data, Evas *e, Evas_Object *obj, void *event_info)
+_ecore_evas_obj_callback_del_dissociate(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
    Ecore_Evas *ee = data;
    _ecore_evas_object_dissociate(ee, obj);
@@ -463,7 +463,7 @@ _ecore_evas_object_dissociate(Ecore_Evas *ee, Evas_Object *obj)
  * when this option is executed.
  */
 unsigned char
-ecore_getopt_callback_ecore_evas_list_engines(const Ecore_Getopt *parser, const Ecore_Getopt_Desc *desc, const char *str, void *data, Ecore_Getopt_Value *storage)
+ecore_getopt_callback_ecore_evas_list_engines(const Ecore_Getopt *parser __UNUSED__, const Ecore_Getopt_Desc *desc __UNUSED__, const char *str __UNUSED__, void *data, Ecore_Getopt_Value *storage)
 {
    Eina_List  *lst, *n;
    const char *engine;
diff --git a/src/lib/ecore_evas/ecore_evas_win32.c b/src/lib/ecore_evas/ecore_evas_win32.c
index 8fc711c..82e1153 100644
--- a/src/lib/ecore_evas/ecore_evas_win32.c
+++ b/src/lib/ecore_evas/ecore_evas_win32.c
@@ -8,20 +8,22 @@
 
 #include <stdlib.h> /* for NULL */
 
-#include "Ecore.h"
-#include "ecore_private.h"
+#include <Ecore.h>
 #ifdef BUILD_ECORE_EVAS_WIN32
-# include "Ecore_Win32.h"
-# include "ecore_win32_private.h"
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+# undef WIN32_LEAN_AND_MEAN
+# include <Ecore_Win32.h>
+# include <ecore_win32_private.h>
 #endif /* BUILD_ECORE_EVAS_WIN32 */
 
+#include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
 
-
 #ifdef BUILD_ECORE_EVAS_WIN32
 
-#define ECORE_EVAS_EVENT_COUNT 14
+#define ECORE_EVAS_EVENT_COUNT 6
 
 static int _ecore_evas_init_count = 0;
 static int _ecore_evas_fps_debug  = 0;
@@ -31,18 +33,6 @@ static Ecore_Idle_Enterer  *ecore_evas_idle_enterer = NULL;
 static Ecore_Evas          *ecore_evases = NULL;
 static Eina_Hash           *ecore_evases_hash = NULL;
 
-static int _ecore_evas_win32_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event);
-
-static int _ecore_evas_win32_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event);
-
-static int _ecore_evas_win32_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__, void *event);
-
-static int _ecore_evas_win32_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, void *event);
-
-static int _ecore_evas_win32_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event);
-
-static int _ecore_evas_win32_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event);
-
 static int _ecore_evas_win32_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event);
 
 static int _ecore_evas_win32_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event);
@@ -65,12 +55,10 @@ static void
 _ecore_evas_win32_render(Ecore_Evas *ee)
 {
    Eina_List *updates;
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    Eina_List *ll;
    Ecore_Evas *ee2;
-#endif
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
    EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
      {
 	if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
@@ -111,6 +99,7 @@ _ecore_evas_win32_idle_enter(void *data __UNUSED__)
    double       t1 = 0.0;
    double       t2 = 0.0;
 
+   if (!ecore_evases) return 1;
    if (_ecore_evas_fps_debug)
      {
 	t1 = ecore_time_get();
@@ -143,21 +132,16 @@ _ecore_evas_win32_init(void)
 
    ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_win32_idle_enter, NULL);
 
-   ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_WIN32_EVENT_KEY_DOWN, _ecore_evas_win32_event_key_down, NULL);
-   ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_WIN32_EVENT_KEY_UP, _ecore_evas_win32_event_key_up, NULL);
-   ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_win32_event_mouse_button_down, NULL);
-   ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_BUTTON_UP, _ecore_evas_win32_event_mouse_button_up, NULL);
-   ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_WHEEL, _ecore_evas_win32_event_mouse_wheel, NULL);
-   ecore_evas_event_handlers[5]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_MOVE, _ecore_evas_win32_event_mouse_move, NULL);
-   ecore_evas_event_handlers[6]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_IN, _ecore_evas_win32_event_mouse_in, NULL);
-   ecore_evas_event_handlers[7]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_OUT, _ecore_evas_win32_event_mouse_out, NULL);
-   ecore_evas_event_handlers[8]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL);
-   ecore_evas_event_handlers[9]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL);
-   ecore_evas_event_handlers[10]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL);
-   ecore_evas_event_handlers[11]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL);
-   ecore_evas_event_handlers[12]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL);
-   ecore_evas_event_handlers[13]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL);
+   ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_IN, _ecore_evas_win32_event_mouse_in, NULL);
+   ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_OUT, _ecore_evas_win32_event_mouse_out, NULL);
+   ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL);
+   ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL);
+   ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL);
+   ecore_evas_event_handlers[5]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL);
+   ecore_evas_event_handlers[6]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL);
+   ecore_evas_event_handlers[7]  = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL);
 
+   ecore_event_evas_init();
    return _ecore_evas_init_count;
 }
 
@@ -174,6 +158,7 @@ _ecore_evas_win32_shutdown(void)
 	  ecore_event_handler_del(ecore_evas_event_handlers[i]);
 	ecore_idle_enterer_del(ecore_evas_idle_enterer);
 	ecore_evas_idle_enterer = NULL;
+	ecore_event_evas_shutdown();
      }
 
    if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
@@ -181,199 +166,24 @@ _ecore_evas_win32_shutdown(void)
    return _ecore_evas_init_count;
 }
 
-static char *
-_ecore_evas_win32_winid_str_get(Ecore_Win32_Window *window)
-{
-   static char  id[9];
-   const char  *vals = "qWeRtYuIoP5-$&<~";
-   unsigned int val;
-
-   val = (unsigned int)window;
-   id[0] = vals[(val >> 28) & 0xf];
-   id[1] = vals[(val >> 24) & 0xf];
-   id[2] = vals[(val >> 20) & 0xf];
-   id[3] = vals[(val >> 16) & 0xf];
-   id[4] = vals[(val >> 12) & 0xf];
-   id[5] = vals[(val >>  8) & 0xf];
-   id[6] = vals[(val >>  4) & 0xf];
-   id[7] = vals[(val      ) & 0xf];
-   id[8] = 0;
-
-   return id;
-}
-
-static Ecore_Evas *
-_ecore_evas_win32_match(Ecore_Win32_Window *window)
-{
-   Ecore_Evas *ee;
-
-   ee = eina_hash_find(ecore_evases_hash, _ecore_evas_win32_winid_str_get(window));
-
-   return ee;
-}
-
-static int
-_ecore_evas_win32_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas                 *ee;
-   Ecore_Win32_Event_Key_Down *e;
-
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->keycompose, NULL, e->time, NULL);
-
-   return 1;
-}
-
-static int
-_ecore_evas_win32_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas               *ee;
-   Ecore_Win32_Event_Key_Up *e;
-
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->keycompose, NULL, e->time, NULL);
-
-   return 1;
-}
-
-static int
-_ecore_evas_win32_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas                          *ee;
-   Ecore_Win32_Event_Mouse_Button_Down *e;
-   Evas_Button_Flags                    flags = EVAS_BUTTON_NONE;
-
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
-
-   printf (" * ee event button down %f %d %d\n", e->time, e->x, e->y);
-
-   return 1;
-}
-
-static int
-_ecore_evas_win32_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas                        *ee;
-   Ecore_Win32_Event_Mouse_Button_Up *e;
-   Evas_Button_Flags                  flags = EVAS_BUTTON_NONE;
-
-   printf (" * ee event button up 0 \n");
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
-
-   printf (" * ee event button up\n");
-
-   return 1;
-}
-
-static int
-_ecore_evas_win32_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas                    *ee;
-   Ecore_Win32_Event_Mouse_Wheel *e;
-
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   evas_event_feed_mouse_wheel(ee->evas, e->direction, e->z, e->time, NULL);
-
-   return 1;
-}
-
-static void
-_ecore_evas_win32_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   if (ee->prop.cursor.object)
-     {
-	evas_object_show(ee->prop.cursor.object);
-	if (ee->rotation == 0)
-	  evas_object_move(ee->prop.cursor.object,
-			   x - ee->prop.cursor.hot.x,
-			   y - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 90)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->h - y - 1 - ee->prop.cursor.hot.x,
-			   x - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 180)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->w - x - 1 - ee->prop.cursor.hot.x,
-			   ee->h - y - 1 - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 270)
-	  evas_object_move(ee->prop.cursor.object,
-			   y - ee->prop.cursor.hot.x,
-			   ee->w - x - 1 - ee->prop.cursor.hot.y);
-     }
-   if (ee->rotation == 0)
-     evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-   else if (ee->rotation == 90)
-     evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
-   else if (ee->rotation == 180)
-     evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
-   else if (ee->rotation == 270)
-     evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
-}
-
-static int
-_ecore_evas_win32_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas                   *ee;
-   Ecore_Win32_Event_Mouse_Move *e;
-
-   e = event;
-   ee = _ecore_evas_win32_match(e->window);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
-   /* FIXME to do */
-/*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   _ecore_evas_win32_mouse_move_process(ee, e->x, e->y, e->time);
-
-   return 1;
-}
-
 static int
 _ecore_evas_win32_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
    Ecore_Evas                 *ee;
    Ecore_Win32_Event_Mouse_In *e;
 
+   EINA_ERROR_PINFO("mouse in\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
 
    if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
    /* FIXME to do */
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
    evas_event_feed_mouse_in(ee->evas, e->time, NULL);
-   _ecore_evas_win32_mouse_move_process(ee, e->x, e->y, e->time);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
 
    return 1;
 }
@@ -384,14 +194,16 @@ _ecore_evas_win32_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, vo
    Ecore_Evas                  *ee;
    Ecore_Win32_Event_Mouse_Out *e;
 
+   EINA_ERROR_PINFO("mouse out\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
 
    /* FIXME to do */
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   _ecore_evas_win32_mouse_move_process(ee, e->x, e->y, e->time);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
 
    evas_event_feed_mouse_out(ee->evas, e->time, NULL);
    if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
@@ -406,10 +218,12 @@ _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__
    Ecore_Evas                      *ee;
    Ecore_Win32_Event_Window_Damage *e;
 
+   EINA_ERROR_PINFO("window damage\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
 
    if (ee->prop.avoid_damage)
      {
@@ -421,7 +235,6 @@ _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__
      }
    else
      {
-       printf (" * ee window event damage\n");
         if (ee->rotation == 0)
           evas_damage_rectangle_add(ee->evas,
                                     e->x,
@@ -457,14 +270,15 @@ _ecore_evas_win32_event_window_destroy(void *data __UNUSED__, int type __UNUSED_
    Ecore_Evas                       *ee;
    Ecore_Win32_Event_Window_Destroy *e;
 
+   EINA_ERROR_PINFO("window destroy\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
    if (ee->func.fn_destroy) ee->func.fn_destroy(ee);
    ecore_evas_free(ee);
 
-   printf (" * ee event destroy\n");
    return 1;
 }
 
@@ -474,11 +288,12 @@ _ecore_evas_win32_event_window_show(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas                    *ee;
    Ecore_Win32_Event_Window_Show *e;
 
-   printf (" * ee window event show\n");
+   EINA_ERROR_PINFO("window show\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
    if (ee->visible) return 0; /* dont pass it on */
    ee->visible = 1;
    if (ee->func.fn_show) ee->func.fn_show(ee);
@@ -492,10 +307,12 @@ _ecore_evas_win32_event_window_hide(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas                    *ee;
    Ecore_Win32_Event_Window_Hide *e;
 
+   EINA_ERROR_PINFO("window hide\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
    if (!ee->visible) return 0; /* dont pass it on */
    ee->visible = 0;
    if (ee->func.fn_hide) ee->func.fn_hide(ee);
@@ -509,10 +326,12 @@ _ecore_evas_win32_event_window_configure(void *data __UNUSED__, int type __UNUSE
    Ecore_Evas                         *ee;
    Ecore_Win32_Event_Window_Configure *e;
 
+   EINA_ERROR_PINFO("window configure\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
 
    if ((ee->x != e->x) || (ee->y != e->y))
      {
@@ -523,7 +342,6 @@ _ecore_evas_win32_event_window_configure(void *data __UNUSED__, int type __UNUSE
 
    if ((ee->w != e->width) || (ee->h != e->height))
      {
-       printf (" * ee resize : 1\n");
         ee->w = e->width;
         ee->h = e->height;
         if ((ee->rotation == 90) || (ee->rotation == 270))
@@ -533,7 +351,6 @@ _ecore_evas_win32_event_window_configure(void *data __UNUSED__, int type __UNUSE
           }
         else
           {
-            printf (" * ee resize : 2\n");
              evas_output_size_set(ee->evas, ee->w, ee->h);
              evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
           }
@@ -548,15 +365,13 @@ _ecore_evas_win32_event_window_configure(void *data __UNUSED__, int type __UNUSE
         if ((ee->expecting_resize.w > 0) &&
             (ee->expecting_resize.h > 0))
           {
-            printf (" * ee resize : 3\n");
              if ((ee->expecting_resize.w == ee->w) &&
                  (ee->expecting_resize.h == ee->h))
-               _ecore_evas_win32_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
-                                                    ecore_win32_current_time_get());
+               _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+					      ecore_win32_current_time_get());
              ee->expecting_resize.w = 0;
              ee->expecting_resize.h = 0;
           }
-        printf (" * ee resize : 4\n");
         if (ee->func.fn_resize) ee->func.fn_resize(ee);
      }
 
@@ -569,10 +384,12 @@ _ecore_evas_win32_event_window_delete_request(void *data __UNUSED__, int type __
    Ecore_Evas                              *ee;
    Ecore_Win32_Event_Window_Delete_Request *e;
 
+   EINA_ERROR_PINFO("window delete request\n");
+
    e = event;
-   ee = _ecore_evas_win32_match(e->window);
+   ee = ecore_event_window_match(e->window);
    if (!ee) return 1; /* pass on event */
-   if (e->window != ee->engine.win32.window) return 1;
+   if (e->window != ee->prop.window) return 1;
    if (ee->func.fn_delete_request) ee->func.fn_delete_request(ee);
 
    printf (" * ee event delete\n");
@@ -585,8 +402,10 @@ _ecore_evas_win32_event_window_delete_request(void *data __UNUSED__, int type __
 static void
 _ecore_evas_win32_free(Ecore_Evas *ee)
 {
-   ecore_win32_window_del(ee->engine.win32.window);
-   eina_hash_del(ecore_evases_hash, _ecore_evas_win32_winid_str_get(ee->engine.win32.window), ee);
+   EINA_ERROR_PINFO("ecore evas free\n");
+
+   ecore_win32_window_free(ee->prop.window);
+   ecore_event_window_unregister(ee->prop.window);
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
    _ecore_evas_win32_shutdown();
    ecore_win32_shutdown();
@@ -602,11 +421,13 @@ _ecore_evas_win32_callback_delete_request_set(Ecore_Evas *ee,
 static void
 _ecore_evas_win32_move(Ecore_Evas *ee, int x, int y)
 {
+  EINA_ERROR_PINFO("ecore evas move (%dx%d)\n", x, y);
+
    if ((x != ee->x) || (y != ee->y))
      {
         ee->x = x;
         ee->y = y;
-        ecore_win32_window_move(ee->engine.win32.window, x, y);
+        ecore_win32_window_move(ee->prop.window, x, y);
         if (ee->func.fn_move) ee->func.fn_move(ee);
      }
 }
@@ -614,12 +435,13 @@ _ecore_evas_win32_move(Ecore_Evas *ee, int x, int y)
 static void
 _ecore_evas_win32_resize(Ecore_Evas *ee, int width, int height)
 {
-  printf (" * _ecore_evas_win32_resize %d %d\n", width, height);
+   EINA_ERROR_PINFO("ecore evas resize (%dx%d)\n", width, height);
+
    if ((ee->w != width) || (ee->h != height))
      {
         ee->w = width;
         ee->h = height;
-        ecore_win32_window_resize(ee->engine.win32.window, width, height);
+        ecore_win32_window_resize(ee->prop.window, width, height);
         if ((ee->rotation == 90) || (ee->rotation == 270))
           {
              evas_output_size_set(ee->evas, ee->h, ee->w);
@@ -639,7 +461,8 @@ _ecore_evas_win32_resize(Ecore_Evas *ee, int width, int height)
 static void
 _ecore_evas_win32_move_resize(Ecore_Evas *ee, int x, int y, int width, int height)
 {
-  printf (" * _ecore_evas_win32_resize\n");
+   EINA_ERROR_PINFO("ecore evas resize (%dx%d %dx%d)\n", x, y, width, height);
+
    if ((ee->w != width) || (ee->h != height) || (x != ee->x) || (y != ee->y))
      {
         int change_size = 0;
@@ -652,7 +475,7 @@ _ecore_evas_win32_move_resize(Ecore_Evas *ee, int x, int y, int width, int heigh
         ee->y = y;
         ee->w = width;
         ee->h = height;
-        ecore_win32_window_move_resize(ee->engine.win32.window, x, y, width, height);
+        ecore_win32_window_move_resize(ee->prop.window, x, y, width, height);
         if ((ee->rotation == 90) || (ee->rotation == 270))
           {
              evas_output_size_set(ee->evas, ee->h, ee->w);
@@ -680,6 +503,8 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
 {
    int rot_dif;
 
+   EINA_ERROR_PINFO("ecore evas rotation: %s\n", rotation ? "yes" : "no");
+
    if (ee->rotation == rotation) return;
    rot_dif = ee->rotation - rotation;
    if (rot_dif < 0) rot_dif = -rot_dif;
@@ -699,7 +524,7 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	     if (!ee->prop.fullscreen)
 	       {
-		  ecore_win32_window_resize(ee->engine.win32.window, ee->h, ee->w);
+		  ecore_win32_window_resize(ee->prop.window, ee->h, ee->w);
 		  ee->expecting_resize.w = ee->h;
 		  ee->expecting_resize.h = ee->w;
 	       }
@@ -707,8 +532,8 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
 	       {
 		  int w, h;
 
-		  ecore_win32_window_size_get(ee->engine.win32.window, &w, &h);
-		  ecore_win32_window_resize(ee->engine.win32.window, h, w);
+		  ecore_win32_window_size_get(ee->prop.window, &w, &h);
+		  ecore_win32_window_resize(ee->prop.window, h, w);
 		  if ((rotation == 0) || (rotation == 180))
 		    {
 		       evas_output_size_set(ee->evas, ee->w, ee->h);
@@ -730,15 +555,15 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
 	     ecore_evas_size_max_set(ee, maxh, maxw);
 	     ecore_evas_size_base_set(ee, baseh, basew);
 	     ecore_evas_size_step_set(ee, steph, stepw);
-	     _ecore_evas_win32_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
-                                                  ecore_win32_current_time_get());
+	     _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+					    ecore_win32_current_time_get());
 	  }
 	else
 	  {
 	     einfo->info.rotation = rotation;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	     ee->rotation = rotation;
-	     _ecore_evas_win32_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+	     _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
                                                   ecore_win32_current_time_get());
 	     if (ee->func.fn_resize) ee->func.fn_resize(ee);
 	  }
@@ -753,53 +578,64 @@ _ecore_evas_win32_rotation_set(Ecore_Evas *ee, int rotation)
 static void
 _ecore_evas_win32_show(Ecore_Evas *ee)
 {
-  printf (" * ee window show\n");
+   EINA_ERROR_PINFO("ecore evas show\n");
+
    ee->should_be_visible = 1;
    if (ee->prop.avoid_damage)
      _ecore_evas_win32_render(ee);
-   ecore_win32_window_show(ee->engine.win32.window);
+   ecore_win32_window_show(ee->prop.window);
 /*    if (ee->prop.fullscreen) */
-/*      ecore_win32_window_focus(ee->engine.win32.window); */
+/*      ecore_win32_window_focus(ee->prop.window); */
 }
 
 static void
 _ecore_evas_win32_hide(Ecore_Evas *ee)
 {
-   ecore_win32_window_hide(ee->engine.win32.window);
+   EINA_ERROR_PINFO("ecore evas hide\n");
+
+   ecore_win32_window_hide(ee->prop.window);
    ee->should_be_visible = 0;
 }
 
 static void
 _ecore_evas_win32_raise(Ecore_Evas *ee)
 {
+   EINA_ERROR_PINFO("ecore evas raise\n");
+
    if (!ee->prop.fullscreen)
-     ecore_win32_window_raise(ee->engine.win32.window);
+     ecore_win32_window_raise(ee->prop.window);
    else
-     ecore_win32_window_raise(ee->engine.win32.window);
+     ecore_win32_window_raise(ee->prop.window);
 }
 
 static void
 _ecore_evas_win32_lower(Ecore_Evas *ee)
 {
+   EINA_ERROR_PINFO("ecore evas lower\n");
+
    if (!ee->prop.fullscreen)
-     ecore_win32_window_lower(ee->engine.win32.window);
+     ecore_win32_window_lower(ee->prop.window);
    else
-     ecore_win32_window_lower(ee->engine.win32.window);
+     ecore_win32_window_lower(ee->prop.window);
 }
 
 static void
 _ecore_evas_win32_activate(Ecore_Evas *ee)
 {
-   ecore_win32_window_focus_set(ee->engine.win32.window);
+   EINA_ERROR_PINFO("ecore evas activate\n");
+
+   ecore_win32_window_focus_set(ee->prop.window);
 }
 
 static void
 _ecore_evas_win32_title_set(Ecore_Evas *ee, const char *title)
 {
+   EINA_ERROR_PINFO("ecore evas title set\n");
+
    if (ee->prop.title) free(ee->prop.title);
    ee->prop.title = NULL;
    if (title) ee->prop.title = strdup(title);
-   ecore_win32_window_title_set(ee->engine.win32.window, ee->prop.title);
+   ecore_win32_window_title_set(ee->prop.window, ee->prop.title);
 }
 
 static void
@@ -810,7 +646,7 @@ _ecore_evas_win32_size_min_set(Ecore_Evas *ee, int width, int height)
    if ((ee->prop.min.w == width) && (ee->prop.min.h == height)) return;
    ee->prop.min.w = width;
    ee->prop.min.h = height;
-   ecore_win32_window_size_min_set(ee->engine.win32.window, width, height);
+   ecore_win32_window_size_min_set(ee->prop.window, width, height);
 }
 
 static void
@@ -821,7 +657,7 @@ _ecore_evas_win32_size_max_set(Ecore_Evas *ee, int width, int height)
    if ((ee->prop.max.w == width) && (ee->prop.max.h == height)) return;
    ee->prop.max.w = width;
    ee->prop.max.h = height;
-   ecore_win32_window_size_max_set(ee->engine.win32.window, width, height);
+   ecore_win32_window_size_max_set(ee->prop.window, width, height);
 }
 
 static void
@@ -832,7 +668,7 @@ _ecore_evas_win32_size_base_set(Ecore_Evas *ee, int width, int height)
    if ((ee->prop.base.w == width) && (ee->prop.base.h == height)) return;
    ee->prop.base.w = width;
    ee->prop.base.h = height;
-   ecore_win32_window_size_base_set(ee->engine.win32.window, width, height);
+   ecore_win32_window_size_base_set(ee->prop.window, width, height);
 }
 
 static void
@@ -843,7 +679,7 @@ _ecore_evas_win32_size_step_set(Ecore_Evas *ee, int width, int height)
    if ((ee->prop.step.w == width) && (ee->prop.step.h == height)) return;
    ee->prop.step.w = width;
    ee->prop.step.h = height;
-   ecore_win32_window_size_step_set(ee->engine.win32.window, width, height);
+   ecore_win32_window_size_step_set(ee->prop.window, width, height);
 }
 
 static void
@@ -860,7 +696,7 @@ _ecore_evas_win32_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho
 	ee->prop.cursor.layer = 0;
 	ee->prop.cursor.hot.x = 0;
 	ee->prop.cursor.hot.y = 0;
-	ecore_win32_window_cursor_show(ee->engine.win32.window, 1);
+	ecore_win32_window_cursor_show(ee->prop.window, 1);
 	return;
      }
 
@@ -869,7 +705,7 @@ _ecore_evas_win32_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho
    ee->prop.cursor.hot.x = hot_x;
    ee->prop.cursor.hot.y = hot_y;
 
-   ecore_win32_window_cursor_show(ee->engine.win32.window, 0);
+   ecore_win32_window_cursor_show(ee->prop.window, 0);
 
    evas_pointer_output_xy_get(ee->evas, &x, &y);
    evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
@@ -885,7 +721,7 @@ _ecore_evas_win32_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int ho
 static void
 _ecore_evas_win32_focus_set(Ecore_Evas *ee, int on __UNUSED__)
 {
-   ecore_win32_window_focus_set(ee->engine.win32.window);
+   ecore_win32_window_focus_set(ee->prop.window);
 }
 
 static void
@@ -894,7 +730,7 @@ _ecore_evas_win32_iconified_set(Ecore_Evas *ee, int on)
 /*    if (((ee->prop.borderless) && (on)) || */
 /*        ((!ee->prop.borderless) && (!on))) return; */
    ee->prop.iconified = on;
-   ecore_win32_window_iconified_set(ee->engine.win32.window, ee->prop.iconified);
+   ecore_win32_window_iconified_set(ee->prop.window, ee->prop.iconified);
 }
 
 static void
@@ -903,7 +739,7 @@ _ecore_evas_win32_borderless_set(Ecore_Evas *ee, int on)
    if (((ee->prop.borderless) && (on)) ||
        ((!ee->prop.borderless) && (!on))) return;
    ee->prop.borderless = on;
-   ecore_win32_window_borderless_set(ee->engine.win32.window, ee->prop.borderless);
+   ecore_win32_window_borderless_set(ee->prop.window, ee->prop.borderless);
 }
 
 static void
@@ -911,6 +747,8 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
 {
    struct _Ecore_Win32_Window *window;
 
+   EINA_ERROR_PINFO("ecore evas fullscreen set\n");
+
    if ((ee->engine.win32.state.fullscreen && on) ||
       (!ee->engine.win32.state.fullscreen && !on))
      return;
@@ -918,12 +756,12 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
    ee->engine.win32.state.fullscreen = on;
    ee->prop.fullscreen = on;
 
-   window = (struct _Ecore_Win32_Window *)ee->engine.win32.window;
+   window = (struct _Ecore_Win32_Window *)ee->prop.window;
 
    if (on != 0)
    {
-      ecore_win32_window_shape_set(ee->engine.win32.window, 0, 0, NULL);
-      ecore_win32_window_fullscreen_set(ee->engine.win32.window, on);
+      ecore_win32_window_shape_set(ee->prop.window, 0, 0, NULL);
+      ecore_win32_window_fullscreen_set(ee->prop.window, on);
    }
    else
    {
@@ -934,9 +772,9 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
                                    window->shape.mask);
    }
 
-#ifdef BUILD_ECORE_EVAS_DIRECT3D
    if (strcmp(ee->driver, "direct3d") == 0)
      {
+#ifdef BUILD_ECORE_EVAS_DIRECT3D
         Evas_Engine_Info_Direct3D *einfo;
 
         einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ecore_evas_get(ee));
@@ -946,12 +784,12 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
              einfo->info.layered = window->shape.layered;
              evas_engine_info_set(ecore_evas_get(ee), (Evas_Engine_Info *)einfo);
           }
-     }
 #endif /* BUILD_ECORE_EVAS_DIRECT3D */
+     }
 
-#ifdef BUILD_ECORE_EVAS_SOFTWRE_DDRAW
    if (strcmp(ee->driver, "software_ddraw") == 0)
      {
+#ifdef BUILD_ECORE_EVAS_SOFTWRE_DDRAW
         Evas_Engine_Info_Software_DDraw *einfo;
 
         einfo = (Evas_Engine_Info_Direct3D *)evas_engine_info_get(ecore_evas_get(ee));
@@ -961,17 +799,11 @@ _ecore_evas_win32_fullscreen_set(Ecore_Evas *ee, int on)
 /*           einfo->info.layered = window->shape.layered; */
              evas_engine_info_set(ecore_evas_get(ee), (Evas_Engine_Info *)einfo);
           }
-     }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
+     }
 }
 
 
-static void *
-_ecore_evas_win32_window_get(const Ecore_Evas *ee)
-{
-   return ee->engine.win32.window;
-}
-
 static const Ecore_Evas_Engine_Func _ecore_win32_engine_func =
 {
    _ecore_evas_win32_free,
@@ -1018,8 +850,7 @@ static const Ecore_Evas_Engine_Func _ecore_win32_engine_func =
      NULL, /* _ecore_evas_x_withdrawn_set */
      NULL, /* _ecore_evas_x_sticky_set */
      NULL, /* _ecore_evas_x_ignore_events_set */
-     NULL, /* _ecore_evas_x_alpha_set */
-     _ecore_evas_win32_window_get
+     NULL  /* _ecore_evas_x_alpha_set */
 };
 
 #endif /* BUILD_ECORE_EVAS_WIN32 */
@@ -1047,7 +878,7 @@ _ecore_evas_engine_software_ddraw_init(Ecore_Evas *ee)
    if (einfo)
      {
         /* FIXME: REDRAW_DEBUG missing for now */
-        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
+        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->prop.window)->window;
         einfo->info.depth = ecore_win32_screen_depth_get();
         einfo->info.rotation = 0;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
@@ -1078,7 +909,7 @@ _ecore_evas_engine_direct3d_init(Ecore_Evas *ee)
    if (einfo)
      {
         /* FIXME: REDRAW_DEBUG missing for now */
-        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
+        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->prop.window)->window;
         einfo->info.depth = ecore_win32_screen_depth_get();
         einfo->info.rotation = 0;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
@@ -1109,7 +940,7 @@ _ecore_evas_engine_opengl_glew_init(Ecore_Evas *ee)
    if (einfo)
      {
         /* FIXME: REDRAW_DEBUG missing for now */
-        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
+        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->prop.window)->window;
         einfo->info.depth = ecore_win32_screen_depth_get();
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
@@ -1118,7 +949,7 @@ _ecore_evas_engine_opengl_glew_init(Ecore_Evas *ee)
 }
 #endif /* BUILD_ECORE_EVAS_OPENGL_GLEW */
 
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
 static int
 _ecore_evas_engine_software_16_ddraw_init(Ecore_Evas *ee)
 {
@@ -1142,7 +973,7 @@ _ecore_evas_engine_software_16_ddraw_init(Ecore_Evas *ee)
    if (einfo)
      {
         /* FIXME: REDRAW_DEBUG missing for now */
-        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->engine.win32.window)->window;
+        einfo->info.window = ((struct _Ecore_Win32_Window *)ee->prop.window)->window;
         einfo->info.depth = ecore_win32_screen_depth_get();
         einfo->info.rotation = 0;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
@@ -1150,7 +981,7 @@ _ecore_evas_engine_software_16_ddraw_init(Ecore_Evas *ee)
 
    return 1;
 }
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW */
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW */
 
 #ifdef BUILD_ECORE_EVAS_WIN32
 static Ecore_Evas *
@@ -1189,6 +1020,7 @@ _ecore_evas_win32_new_internal(int (*_ecore_evas_engine_init)(Ecore_Evas *ee),
    ee->prop.request_pos = 0;
    ee->prop.sticky = 0;
    /* FIXME: sticky to add */
+   ee->prop.window = 0;
 
    /* init evas here */
    ee->evas = evas_new();
@@ -1197,8 +1029,8 @@ _ecore_evas_win32_new_internal(int (*_ecore_evas_engine_init)(Ecore_Evas *ee),
    evas_output_viewport_set(ee->evas, 0, 0, width, height);
 
    ee->engine.win32.parent = parent;
-   ee->engine.win32.window = ecore_win32_window_new(parent, x, y, width, height);
-   if (!ee->engine.win32.window)
+   ee->prop.window = ecore_win32_window_new(parent, x, y, width, height);
+   if (!ee->prop.window)
      {
         _ecore_evas_win32_shutdown();
         free(ee);
@@ -1212,25 +1044,16 @@ _ecore_evas_win32_new_internal(int (*_ecore_evas_engine_init)(Ecore_Evas *ee),
         return NULL;
      }
 
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
-
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
-   if (!ecore_evases_hash)
-     ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(ecore_evases_hash, _ecore_evas_win32_winid_str_get(ee->engine.win32.window), ee);
+   ecore_event_window_register(ee->prop.window, ee, ee->evas, _ecore_evas_mouse_move_process);
 
    return ee;
 }
+
 #endif /* BUILD_ECORE_EVAS_WIN32 */
 
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
+
 EAPI Ecore_Evas *
 ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
                               int                 x,
@@ -1238,23 +1061,31 @@ ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent,
                               int                 width,
                               int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_DDRAW
    return _ecore_evas_win32_new_internal(_ecore_evas_engine_software_ddraw_init,
                                          parent,
                                          x,
                                          y,
                                          width,
                                          height);
+}
+
 #else
+
+EAPI Ecore_Evas *
+ecore_evas_software_ddraw_new(Ecore_Win32_Window *parent __UNUSED__,
+                              int                 x __UNUSED__,
+                              int                 y __UNUSED__,
+                              int                 width __UNUSED__,
+                              int                 height __UNUSED__)
+{
    return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
 }
 
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_DDRAW */
+
+
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW
+
 EAPI Ecore_Evas *
 ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent,
                                  int                 x,
@@ -1262,23 +1093,31 @@ ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent,
                                  int                 width,
                                  int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW
    return _ecore_evas_win32_new_internal(_ecore_evas_engine_software_16_ddraw_init,
                                          parent,
                                          x,
                                          y,
                                          width,
                                          height);
+}
+
 #else
+
+EAPI Ecore_Evas *
+ecore_evas_software_16_ddraw_new(Ecore_Win32_Window *parent __UNUSED__,
+                                 int                 x __UNUSED__,
+                                 int                 y __UNUSED__,
+                                 int                 width __UNUSED__,
+                                 int                 height __UNUSED__)
+{
    return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_DIRECTDRAW */
 }
 
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_DDRAW */
+
+
+#ifdef BUILD_ECORE_EVAS_DIRECT3D
+
 EAPI Ecore_Evas *
 ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
                         int                 x,
@@ -1286,23 +1125,31 @@ ecore_evas_direct3d_new(Ecore_Win32_Window *parent,
                         int                 width,
                         int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_DIRECT3D
    return _ecore_evas_win32_new_internal(_ecore_evas_engine_direct3d_init,
                                          parent,
                                          x,
                                          y,
                                          width,
                                          height);
+}
+
 #else
+
+EAPI Ecore_Evas *
+ecore_evas_direct3d_new(Ecore_Win32_Window *parent __UNUSED__,
+                        int                 x __UNUSED__,
+                        int                 y __UNUSED__,
+                        int                 width __UNUSED__,
+                        int                 height __UNUSED__)
+{
    return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_DIRECT3D */
 }
 
+#endif /* ! BUILD_ECORE_EVAS_DIRECT3D */
+
+
+#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
+
 EAPI Ecore_Evas *
 ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
                        int                 x,
@@ -1310,30 +1157,43 @@ ecore_evas_gl_glew_new(Ecore_Win32_Window *parent,
                        int                 width,
                        int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_GLEW
    return _ecore_evas_win32_new_internal(_ecore_evas_engine_opengl_glew_init,
                                          parent,
                                          x,
                                          y,
                                          width,
                                          height);
+}
+
 #else
+
+EAPI Ecore_Evas *
+ecore_evas_gl_glew_new(Ecore_Win32_Window *parent __UNUSED__,
+                       int                 x __UNUSED__,
+                       int                 y __UNUSED__,
+                       int                 width __UNUSED__,
+                       int                 height __UNUSED__)
+{
    return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* BUILD_ECORE_EVAS_OPENGL_GLEW */
 }
 
+#endif /* BUILD_ECORE_EVAS_OPENGL_GLEW */
+
+
+#ifdef BUILD_ECORE_EVAS_WIN32
+
 EAPI Ecore_Win32_Window *
 ecore_evas_win32_window_get(const Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_WIN32
-   return (Ecore_Win32_Window *) _ecore_evas_win32_window_get(ee);
+   return (Ecore_Win32_Window *) ecore_evas_window_get(ee);
+}
+
 #else
+
+EAPI Ecore_Win32_Window *
+ecore_evas_win32_window_get(const Ecore_Evas *ee __UNUSED__)
+{
    return NULL;
-   ee = NULL;
-#endif /* BUILD_ECORE_EVAS_WIN32 */
 }
+
+#endif /* BUILD_ECORE_EVAS_WIN32 */
diff --git a/src/lib/ecore_evas/ecore_evas_wince.c b/src/lib/ecore_evas/ecore_evas_wince.c
index 1dd022e..eb217c7 100644
--- a/src/lib/ecore_evas/ecore_evas_wince.c
+++ b/src/lib/ecore_evas/ecore_evas_wince.c
@@ -8,20 +8,19 @@
 
 #include <stdlib.h> /* for NULL */
 
-#include "Ecore.h"
-#include "ecore_private.h"
+#include <Ecore.h>
 #ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 # undef WIN32_LEAN_AND_MEAN
-# include "Ecore_WinCE.h"
-# include "ecore_wince_private.h"
+# include <Ecore_WinCE.h>
+# include <ecore_wince_private.h>
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 
+#include "ecore_private.h"
 #include "ecore_evas_private.h"
 #include "Ecore_Evas.h"
 
-
 #ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
 
 #define ECORE_EVAS_EVENT_COUNT 12
@@ -64,12 +63,10 @@ static void
 _ecore_evas_wince_render(Ecore_Evas *ee)
 {
    Eina_List *updates = NULL;
-#ifdef BUILD_ECORE_EVAS_BUFFER
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    Eina_List *ll;
    Ecore_Evas *ee2;
-#endif
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
    EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
      {
 	if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
@@ -110,6 +107,7 @@ _ecore_evas_wince_idle_enter(void *data __UNUSED__)
    double       t1 = 0.0;
    double       t2 = 0.0;
 
+   if (!ecore_evases) return 1;
    if (_ecore_evas_fps_debug)
      {
 	t1 = ecore_time_get();
@@ -211,41 +209,6 @@ _ecore_evas_wince_match(Ecore_WinCE_Window *window)
    return ee;
 }
 
-static void
-_ecore_evas_wince_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   if (ee->prop.cursor.object)
-     {
-	evas_object_show(ee->prop.cursor.object);
-	if (ee->rotation == 0)
-	  evas_object_move(ee->prop.cursor.object,
-			   x - ee->prop.cursor.hot.x,
-			   y - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 90)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->h - y - 1 - ee->prop.cursor.hot.x,
-			   x - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 180)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->w - x - 1 - ee->prop.cursor.hot.x,
-			   ee->h - y - 1 - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 270)
-	  evas_object_move(ee->prop.cursor.object,
-			   y - ee->prop.cursor.hot.x,
-			   ee->w - x - 1 - ee->prop.cursor.hot.y);
-     }
-   if (ee->rotation == 0)
-     evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-   else if (ee->rotation == 90)
-     evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
-   else if (ee->rotation == 180)
-     evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
-   else if (ee->rotation == 270)
-     evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
-}
-
 static int
 _ecore_evas_wince_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
@@ -253,6 +216,9 @@ _ecore_evas_wince_event_key_down(void *data __UNUSED__, int type __UNUSED__, voi
    Ecore_WinCE_Event_Key_Down *e;
 
    e = event;
+
+   EINA_ERROR_PINFO("key down (%f %s %s %s)\n", e->time, e->keyname, e->keysymbol, e->keycompose);
+
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
    /* FIXME to do */
@@ -269,6 +235,9 @@ _ecore_evas_wince_event_key_up(void *data __UNUSED__, int type __UNUSED__, void
    Ecore_WinCE_Event_Key_Up *e;
 
    e = event;
+
+   EINA_ERROR_PINFO("key up (%f %s %s %s)\n", e->time, e->keyname, e->keysymbol, e->keycompose);
+
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
    /* FIXME to do */
@@ -286,6 +255,9 @@ _ecore_evas_wince_event_mouse_button_down(void *data __UNUSED__, int type __UNUS
    Evas_Button_Flags                    flags = EVAS_BUTTON_NONE;
 
    e = event;
+
+   EINA_ERROR_PINFO("mouse button down (%f %dx%d)\n", e->time, e->x, e->y);
+
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
    if (e->window != ee->engine.wince.window) return 1;
@@ -293,11 +265,8 @@ _ecore_evas_wince_event_mouse_button_down(void *data __UNUSED__, int type __UNUS
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
    if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
    if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   printf ("feed evas event\n");
    evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
 
-   printf (" * ee event button down %f %d %d\n", e->time, e->x, e->y);
-
    return 1;
 }
 
@@ -308,8 +277,10 @@ _ecore_evas_wince_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED
    Ecore_WinCE_Event_Mouse_Button_Up *e;
    Evas_Button_Flags                  flags = EVAS_BUTTON_NONE;
 
-   printf (" * ee event button up 0 \n");
    e = event;
+
+   EINA_ERROR_PINFO("mouse button up (%f %dx%d)\n", e->time, e->x, e->y);
+
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
    if (e->window != ee->engine.wince.window) return 1;
@@ -319,8 +290,6 @@ _ecore_evas_wince_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED
    if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
    evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
 
-   printf (" * ee event button up\n");
-
    return 1;
 }
 
@@ -330,13 +299,15 @@ _ecore_evas_wince_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, v
    Ecore_Evas                   *ee;
    Ecore_WinCE_Event_Mouse_Move *e;
 
+   EINA_ERROR_PINFO("mouse move\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
    if (e->window != ee->engine.wince.window) return 1;
    /* FIXME to do */
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   _ecore_evas_wince_mouse_move_process(ee, e->x, e->y, e->time);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
 
    return 1;
 }
@@ -347,6 +318,8 @@ _ecore_evas_wince_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, voi
    Ecore_Evas                 *ee;
    Ecore_WinCE_Event_Mouse_In *e;
 
+   EINA_ERROR_PINFO("mouse in\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
@@ -356,8 +329,7 @@ _ecore_evas_wince_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, voi
    /* FIXME to do */
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
    evas_event_feed_mouse_in(ee->evas, e->time, NULL);
-   _ecore_evas_wince_mouse_move_process(ee, e->x, e->y, e->time);
-   printf (" * ee event mouse in\n");
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
 
    return 1;
 }
@@ -368,6 +340,8 @@ _ecore_evas_wince_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, vo
    Ecore_Evas                  *ee;
    Ecore_WinCE_Event_Mouse_Out *e;
 
+   EINA_ERROR_PINFO("mouse out\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
@@ -375,12 +349,11 @@ _ecore_evas_wince_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, vo
 
    /* FIXME to do */
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
-   _ecore_evas_wince_mouse_move_process(ee, e->x, e->y, e->time);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
 
    evas_event_feed_mouse_out(ee->evas, e->time, NULL);
    if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
    if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
-   printf (" * ee event mouse out\n");
 
    return 1;
 }
@@ -391,6 +364,8 @@ _ecore_evas_wince_event_window_damage(void *data __UNUSED__, int type __UNUSED__
    Ecore_Evas                      *ee;
    Ecore_WinCE_Event_Window_Damage *e;
 
+   EINA_ERROR_PINFO("window damage\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if (!ee) return 1; /* pass on event */
@@ -402,7 +377,6 @@ _ecore_evas_wince_event_window_damage(void *data __UNUSED__, int type __UNUSED__
      }
    else
      {
-       printf (" * ee window event damage\n");
         if (ee->rotation == 0)
           evas_damage_rectangle_add(ee->evas,
                                     e->x,
@@ -438,6 +412,8 @@ _ecore_evas_wince_event_window_destroy(void *data __UNUSED__, int type __UNUSED_
    Ecore_Evas                       *ee;
    Ecore_WinCE_Event_Window_Destroy *e;
 
+   EINA_ERROR_PINFO("window destroy\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if (!ee) return 1; /* pass on event */
@@ -445,7 +421,6 @@ _ecore_evas_wince_event_window_destroy(void *data __UNUSED__, int type __UNUSED_
    if (ee->func.fn_destroy) ee->func.fn_destroy(ee);
    ecore_evas_free(ee);
 
-   printf (" * ee event destroy\n");
    return 1;
 }
 
@@ -455,7 +430,8 @@ _ecore_evas_wince_event_window_show(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas                    *ee;
    Ecore_WinCE_Event_Window_Show *e;
 
-   printf (" * ee window event show\n");
+   EINA_ERROR_PINFO("window show\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if (!ee) return 1; /* pass on event */
@@ -473,6 +449,8 @@ _ecore_evas_wince_event_window_hide(void *data __UNUSED__, int type __UNUSED__,
    Ecore_Evas                    *ee;
    Ecore_WinCE_Event_Window_Hide *e;
 
+   EINA_ERROR_PINFO("window hide\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if (!ee) return 1; /* pass on event */
@@ -490,13 +468,14 @@ _ecore_evas_wince_event_window_delete_request(void *data __UNUSED__, int type __
    Ecore_Evas                              *ee;
    Ecore_WinCE_Event_Window_Delete_Request *e;
 
+   EINA_ERROR_PINFO("window delete request\n");
+
    e = event;
    ee = _ecore_evas_wince_match(e->window);
    if (!ee) return 1; /* pass on event */
    if (e->window != ee->engine.wince.window) return 1;
    if (ee->func.fn_delete_request) ee->func.fn_delete_request(ee);
 
-   printf (" * ee event delete\n");
    return 1;
 }
 
@@ -506,7 +485,9 @@ _ecore_evas_wince_event_window_delete_request(void *data __UNUSED__, int type __
 static void
 _ecore_evas_wince_free(Ecore_Evas *ee)
 {
-   ecore_wince_window_del(ee->engine.wince.window);
+   EINA_ERROR_PINFO("ecore evas free\n");
+
+   ecore_wince_window_free(ee->engine.wince.window);
    eina_hash_del(ecore_evases_hash, _ecore_evas_wince_winid_str_get(ee->engine.wince.window), ee);
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
    _ecore_evas_wince_shutdown();
@@ -523,6 +504,8 @@ _ecore_evas_wince_callback_delete_request_set(Ecore_Evas *ee,
 static void
 _ecore_evas_wince_move(Ecore_Evas *ee, int x, int y)
 {
+  EINA_ERROR_PINFO("ecore evas move (%dx%d)\n", x, y);
+
    if ((x != ee->x) || (y != ee->y))
      {
         ee->x = x;
@@ -535,7 +518,8 @@ _ecore_evas_wince_move(Ecore_Evas *ee, int x, int y)
 static void
 _ecore_evas_wince_resize(Ecore_Evas *ee, int width, int height)
 {
-  printf (" * _ecore_evas_wince_resize %d %d\n", width, height);
+   EINA_ERROR_PINFO("ecore evas resize (%dx%d)\n", width, height);
+
    if ((ee->w != width) || (ee->h != height))
      {
         ee->w = width;
@@ -560,7 +544,8 @@ _ecore_evas_wince_resize(Ecore_Evas *ee, int width, int height)
 static void
 _ecore_evas_wince_move_resize(Ecore_Evas *ee, int x, int y, int width, int height)
 {
-  printf (" * _ecore_evas_wince_resize\n");
+   EINA_ERROR_PINFO("ecore evas resize (%dx%d %dx%d)\n", x, y, width, height);
+
    if ((ee->w != width) || (ee->h != height) || (x != ee->x) || (y != ee->y))
      {
         int change_size = 0;
@@ -606,72 +591,73 @@ _ecore_evas_wince_move_resize(Ecore_Evas *ee, int x, int y, int width, int heigh
 /*    if (rot_dif < 0) rot_dif = -rot_dif; */
 /*    if (!strcmp(ee->driver, "software_ddraw")) */
 /*      { */
-/* 	Evas_Engine_Info_Software_16_WinCE *einfo; */
-
-/* 	einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(ee->evas); */
-/* 	if (!einfo) return; */
-/* 	if (rot_dif != 180) */
-/* 	  { */
-/* 	     int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */
-
-/* 	     einfo->info.rotation = rotation; */
-/* 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
-/* 	     if (!ee->prop.fullscreen) */
-/* 	       { */
-/* 		  ecore_wince_window_resize(ee->engine.wince.window, ee->h, ee->w); */
-/* 		  ee->expecting_resize.w = ee->h; */
-/* 		  ee->expecting_resize.h = ee->w; */
-/* 	       } */
-/* 	     else */
-/* 	       { */
-/* 		  int w, h; */
-
-/* 		  ecore_wince_window_size_get(ee->engine.wince.window, &w, &h); */
-/* 		  ecore_wince_window_resize(ee->engine.wince.window, h, w); */
-/* 		  if ((rotation == 0) || (rotation == 180)) */
-/* 		    { */
-/* 		       evas_output_size_set(ee->evas, ee->w, ee->h); */
-/* 		       evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */
-/* 		    } */
-/* 		  else */
-/* 		    { */
-/* 		       evas_output_size_set(ee->evas, ee->h, ee->w); */
-/* 		       evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); */
-/* 		    } */
-/* 		  if (ee->func.fn_resize) ee->func.fn_resize(ee); */
-/* 	       } */
-/* 	     ecore_evas_size_min_get(ee, &minw, &minh); */
-/* 	     ecore_evas_size_max_get(ee, &maxw, &maxh); */
-/* 	     ecore_evas_size_base_get(ee, &basew, &baseh); */
-/* 	     ecore_evas_size_step_get(ee, &stepw, &steph); */
-/* 	     ee->rotation = rotation; */
-/* 	     ecore_evas_size_min_set(ee, minh, minw); */
-/* 	     ecore_evas_size_max_set(ee, maxh, maxw); */
-/* 	     ecore_evas_size_base_set(ee, baseh, basew); */
-/* 	     ecore_evas_size_step_set(ee, steph, stepw); */
-/* 	     _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
+/*	Evas_Engine_Info_Software_16_WinCE *einfo; */
+
+/*	einfo = (Evas_Engine_Info_Software_16_WinCE *)evas_engine_info_get(ee->evas); */
+/*	if (!einfo) return; */
+/*	if (rot_dif != 180) */
+/*	  { */
+/*	     int minw, minh, maxw, maxh, basew, baseh, stepw, steph; */
+
+/*	     einfo->info.rotation = rotation; */
+/*	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
+/*	     if (!ee->prop.fullscreen) */
+/*	       { */
+/*		  ecore_wince_window_resize(ee->engine.wince.window, ee->h, ee->w); */
+/*		  ee->expecting_resize.w = ee->h; */
+/*		  ee->expecting_resize.h = ee->w; */
+/*	       } */
+/*	     else */
+/*	       { */
+/*		  int w, h; */
+
+/*		  ecore_wince_window_size_get(ee->engine.wince.window, &w, &h); */
+/*		  ecore_wince_window_resize(ee->engine.wince.window, h, w); */
+/*		  if ((rotation == 0) || (rotation == 180)) */
+/*		    { */
+/*		       evas_output_size_set(ee->evas, ee->w, ee->h); */
+/*		       evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h); */
+/*		    } */
+/*		  else */
+/*		    { */
+/*		       evas_output_size_set(ee->evas, ee->h, ee->w); */
+/*		       evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w); */
+/*		    } */
+/*		  if (ee->func.fn_resize) ee->func.fn_resize(ee); */
+/*	       } */
+/*	     ecore_evas_size_min_get(ee, &minw, &minh); */
+/*	     ecore_evas_size_max_get(ee, &maxw, &maxh); */
+/*	     ecore_evas_size_base_get(ee, &basew, &baseh); */
+/*	     ecore_evas_size_step_get(ee, &stepw, &steph); */
+/*	     ee->rotation = rotation; */
+/*	     ecore_evas_size_min_set(ee, minh, minw); */
+/*	     ecore_evas_size_max_set(ee, maxh, maxw); */
+/*	     ecore_evas_size_base_set(ee, baseh, basew); */
+/*	     ecore_evas_size_step_set(ee, steph, stepw); */
+/*	     _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
 /*                                                   ecore_wince_current_time_get()); */
-/* 	  } */
-/* 	else */
-/* 	  { */
-/* 	     einfo->info.rotation = rotation; */
-/* 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
-/* 	     ee->rotation = rotation; */
-/* 	     _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
+/*	  } */
+/*	else */
+/*	  { */
+/*	     einfo->info.rotation = rotation; */
+/*	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
+/*	     ee->rotation = rotation; */
+/*	     _ecore_evas_wince_mouse_move_process(ee, ee->mouse.x, ee->mouse.y, */
 /*                                                   ecore_wince_current_time_get()); */
-/* 	     if (ee->func.fn_resize) ee->func.fn_resize(ee); */
-/* 	  } */
-/* 	if ((ee->rotation == 90) || (ee->rotation == 270)) */
-/* 	  evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */
-/* 	else */
-/* 	  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); */
+/*	     if (ee->func.fn_resize) ee->func.fn_resize(ee); */
+/*	  } */
+/*	if ((ee->rotation == 90) || (ee->rotation == 270)) */
+/*	  evas_damage_rectangle_add(ee->evas, 0, 0, ee->h, ee->w); */
+/*	else */
+/*	  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h); */
 /*      } */
 /* } */
 
 static void
 _ecore_evas_wince_show(Ecore_Evas *ee)
 {
-  printf (" * ee window show\n");
+   EINA_ERROR_PINFO("ecore evas show\n");
+
    ee->should_be_visible = 1;
    if (ee->prop.avoid_damage)
      _ecore_evas_wince_render(ee);
@@ -683,6 +669,8 @@ _ecore_evas_wince_show(Ecore_Evas *ee)
 static void
 _ecore_evas_wince_hide(Ecore_Evas *ee)
 {
+   EINA_ERROR_PINFO("ecore evas hide\n");
+
    ecore_wince_window_hide(ee->engine.wince.window);
    ee->should_be_visible = 0;
 }
@@ -708,6 +696,8 @@ _ecore_evas_wince_hide(Ecore_Evas *ee)
 static void
 _ecore_evas_wince_title_set(Ecore_Evas *ee, const char *title)
 {
+   EINA_ERROR_PINFO("ecore evas title set\n");
+
    if (ee->prop.title) free(ee->prop.title);
    ee->prop.title = NULL;
    if (title) ee->prop.title = strdup(title);
@@ -824,6 +814,8 @@ _ecore_evas_wince_fullscreen_set(Ecore_Evas *ee, int on)
    Evas_Engine_Info_Software_16_WinCE *einfo;
    struct _Ecore_WinCE_Window         *window;
 
+   EINA_ERROR_PINFO("ecore evas fullscreen set\n");
+
    if ((ee->engine.wince.state.fullscreen && on) ||
       (!ee->engine.wince.state.fullscreen && !on))
      return;
@@ -864,7 +856,6 @@ _ecore_evas_wince_fullscreen_set(Ecore_Evas *ee, int on)
      {
         einfo->info.fullscreen = !!on;
 /*         einfo->info.layered = window->shape.layered; */
-        printf ("_ecore_evas_wince_fullscreen_set : %d\n", einfo->info.fullscreen);
         evas_engine_info_set(ecore_evas_get(ee), (Evas_Engine_Info *)einfo);
      }
 }
@@ -872,57 +863,59 @@ _ecore_evas_wince_fullscreen_set(Ecore_Evas *ee, int on)
 static void *
 _ecore_evas_wince_window_get(const Ecore_Evas *ee)
 {
+   EINA_ERROR_PINFO("ecore evas window get\n");
+
    return ee->engine.wince.window;
 }
 
 static const Ecore_Evas_Engine_Func _ecore_wince_engine_func =
 {
    _ecore_evas_wince_free,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     _ecore_evas_wince_callback_delete_request_set,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
-     NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   _ecore_evas_wince_callback_delete_request_set,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
+   NULL,
    _ecore_evas_wince_move,
-     NULL,
+   NULL,
    _ecore_evas_wince_resize,
    _ecore_evas_wince_move_resize,
    NULL, //_ecore_evas_wince_rotation_set,
-     NULL, /* _ecore_evas_x_shaped_set */
-     _ecore_evas_wince_show,
-     _ecore_evas_wince_hide,
+   NULL, /* _ecore_evas_x_shaped_set */
+   _ecore_evas_wince_show,
+   _ecore_evas_wince_hide,
    NULL, //_ecore_evas_wince_raise,
    NULL, //_ecore_evas_wince_lower,
    NULL, //_ecore_evas_wince_activate,
    _ecore_evas_wince_title_set,
-     NULL, /* _ecore_evas_x_name_class_set */
+   NULL, /* _ecore_evas_x_name_class_set */
    NULL, //_ecore_evas_wince_size_min_set,
    NULL, //_ecore_evas_wince_size_max_set,
    NULL, //_ecore_evas_wince_size_base_set,
    NULL, //_ecore_evas_wince_size_step_set,
-     _ecore_evas_wince_cursor_set,
-     NULL, /* _ecore_evas_x_layer_set */
+   _ecore_evas_wince_cursor_set,
+   NULL, /* _ecore_evas_x_layer_set */
    NULL, //_ecore_evas_wince_focus_set,
-     NULL, //_ecore_evas_wince_iconified_set,
-     NULL, //_ecore_evas_wince_borderless_set,
-     NULL, /* _ecore_evas_x_override_set */
-     NULL,
-     _ecore_evas_wince_fullscreen_set,
-     NULL, /* _ecore_evas_x_avoid_damage_set */
-     NULL, /* _ecore_evas_x_withdrawn_set */
-     NULL, /* _ecore_evas_x_sticky_set */
-     NULL, /* _ecore_evas_x_ignore_events_set */
-     NULL, /* _ecore_evas_x_alpha_set */
-     _ecore_evas_wince_window_get
+   NULL, //_ecore_evas_wince_iconified_set,
+   NULL, //_ecore_evas_wince_borderless_set,
+   NULL, /* _ecore_evas_x_override_set */
+   NULL,
+   _ecore_evas_wince_fullscreen_set,
+   NULL, /* _ecore_evas_x_avoid_damage_set */
+   NULL, /* _ecore_evas_x_withdrawn_set */
+   NULL, /* _ecore_evas_x_sticky_set */
+   NULL, /* _ecore_evas_x_ignore_events_set */
+   NULL, /* _ecore_evas_x_alpha_set */
+   _ecore_evas_wince_window_get
 };
 
 /* API */
@@ -1033,6 +1026,21 @@ ecore_evas_software_wince_new_internal(int                 backend,
 
    return ee;
 }
+
+#else
+
+static Ecore_Evas *
+ecore_evas_software_wince_new_internal(int                 backend __UNUSED__,
+                                       Ecore_WinCE_Window *parent __UNUSED__,
+                                       int                 x __UNUSED__,
+                                       int                 y __UNUSED__,
+                                       int                 width __UNUSED__,
+                                       int                 height __UNUSED__,
+                                       int                 fullscreen __UNUSED__)
+{
+   return NULL;
+}
+
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 
 
@@ -1043,16 +1051,7 @@ ecore_evas_software_wince_new(Ecore_WinCE_Window *parent,
                               int                 width,
                               int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return ecore_evas_software_wince_new_internal(0, parent, x, y, width, height, 1);
-#else
-   return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
 
 EAPI Ecore_Evas *
@@ -1062,16 +1061,7 @@ ecore_evas_software_wince_fb_new(Ecore_WinCE_Window *parent,
                                  int                 width,
                                  int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return ecore_evas_software_wince_new_internal(1, parent, x, y, width, height, 1);
-#else
-   return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
 
 EAPI Ecore_Evas *
@@ -1081,16 +1071,7 @@ ecore_evas_software_wince_gapi_new(Ecore_WinCE_Window *parent,
                                    int                 width,
                                    int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return ecore_evas_software_wince_new_internal(2, parent, x, y, width, height, 1);
-#else
-   return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
 
 EAPI Ecore_Evas *
@@ -1100,16 +1081,7 @@ ecore_evas_software_wince_ddraw_new(Ecore_WinCE_Window *parent,
                                     int                 width,
                                     int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return ecore_evas_software_wince_new_internal(3, parent, x, y, width, height, 1);
-#else
-   return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
 
 EAPI Ecore_Evas *
@@ -1119,24 +1091,23 @@ ecore_evas_software_wince_gdi_new(Ecore_WinCE_Window *parent,
                                   int                 width,
                                   int                 height)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return ecore_evas_software_wince_new_internal(4, parent, x, y, width, height, 0);
-#else
-   return NULL;
-   parent = NULL;
-   x = 0;
-   y = 0;
-   width = 0;
-   height = 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
 
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
+
 EAPI Ecore_WinCE_Window *
 ecore_evas_software_wince_window_get(const Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_SOFTWARE_16_WINCE
    return (Ecore_WinCE_Window *) _ecore_evas_wince_window_get(ee);
+}
+
 #else
+
+EAPI Ecore_WinCE_Window *
+ecore_evas_software_wince_window_get(const Ecore_Evas *ee __UNUSED__)
+{
    return NULL;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
 }
+
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_WINCE */
diff --git a/src/lib/ecore_evas/ecore_evas_x.c b/src/lib/ecore_evas/ecore_evas_x.c
index ca06b9f..0462e4c 100644
--- a/src/lib/ecore_evas/ecore_evas_x.c
+++ b/src/lib/ecore_evas/ecore_evas_x.c
@@ -8,11 +8,11 @@
 
 #include <string.h>
 
-#include "Ecore.h"
-#include "ecore_private.h"
+#include <Ecore.h>
+#include <Ecore_Input.h>
 #ifdef BUILD_ECORE_EVAS_X11
-# include "Ecore_X.h"
-# include "Ecore_X_Atoms.h"
+# include <Ecore_X.h>
+# include <Ecore_X_Atoms.h>
 #endif
 
 #include "ecore_evas_private.h"
@@ -24,8 +24,7 @@ static int _ecore_evas_init_count = 0;
 static int _ecore_evas_fps_debug = 0;
 
 static Ecore_Evas *ecore_evases = NULL;
-static Eina_Hash *ecore_evases_hash = NULL;
-static Ecore_Event_Handler *ecore_evas_event_handlers[18];
+static Ecore_Event_Handler *ecore_evas_event_handlers[12];
 static Ecore_Idle_Enterer *ecore_evas_idle_enterer = NULL;
 
 #ifdef HAVE_ECORE_X_XCB
@@ -139,17 +138,16 @@ _ecore_evas_x_gl_window_new(Ecore_Evas *ee, Ecore_X_Window parent, int x, int y,
 #endif /* HAVE_ECORE_X_XCB */
 #endif
 
-static void
+static int
 _ecore_evas_x_render(Ecore_Evas *ee)
 {
-  Evas_Rectangle *r;
-  Eina_List *updates, *l;
-#ifdef BUILD_ECORE_EVAS_BUFFER
+   Evas_Rectangle *r;
+   Eina_List *updates, *l;
+   int rend = 0;
+#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
    Eina_List *ll;
    Ecore_Evas *ee2;
-#endif
 
-#ifdef BUILD_ECORE_EVAS_BUFFER
    EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
      {
 	if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
@@ -165,17 +163,15 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 	  {
 	     if (updates)
 	       {
- 		  EINA_LIST_FOREACH(updates, l, r)
-		    ecore_x_window_area_clear(ee->engine.x.win, r->x, r->y, r->w, r->h);
+		  EINA_LIST_FOREACH(updates, l, r)
+		    ecore_x_window_area_clear(ee->prop.window, r->x, r->y, r->w, r->h);
 		  if ((ee->shaped) && (updates))
-		    ecore_x_window_shape_mask_set(ee->engine.x.win, ee->engine.x.mask);
+		    ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
 		  if ((ee->alpha) && (updates))
-		    ecore_x_window_shape_input_mask_set(ee->engine.x.win, ee->engine.x.mask);
-	       }
-	     if (updates)
-	       {
+		    ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask);
 		  evas_render_updates_free(updates);
 		  _ecore_evas_idle_timeout_update(ee);
+                  rend = 1;
 	       }
 	  }
 	else
@@ -227,7 +223,7 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 	       {
 		  /* if we have a damage pixmap - we can avoid exposures by
 		   * disabling them just for setting the mask */
-		  ecore_x_event_mask_set(ee->engine.x.win,
+		  ecore_x_event_mask_set(ee->prop.window,
 					 ECORE_X_EVENT_MASK_KEY_DOWN |
 					 ECORE_X_EVENT_MASK_KEY_UP |
 					 ECORE_X_EVENT_MASK_MOUSE_DOWN |
@@ -243,9 +239,9 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 					 ECORE_X_EVENT_MASK_WINDOW_COLORMAP
 					 );
 		  if ((ee->shaped) && (updates))
-		    ecore_x_window_shape_mask_set(ee->engine.x.win, ee->engine.x.mask);
+		    ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
 		  /* and re-enable them again */
-		  ecore_x_event_mask_set(ee->engine.x.win,
+		  ecore_x_event_mask_set(ee->prop.window,
 					 ECORE_X_EVENT_MASK_KEY_DOWN |
 					 ECORE_X_EVENT_MASK_KEY_UP |
 					 ECORE_X_EVENT_MASK_MOUSE_DOWN |
@@ -264,13 +260,13 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 		  /* debug rendering */
 		  /*
 		   XSetForeground(ecore_x_display_get(), ee->engine.x.gc, rand());
-		   XFillRectangle(ecore_x_display_get(), ee->engine.x.win, ee->engine.x.gc,
+		   XFillRectangle(ecore_x_display_get(), ee->prop.window, ee->engine.x.gc,
 		   0, 0, ee->w, ee->h);
 		   XSync(ecore_x_display_get(), False);
 		   usleep(20000);
 		   XSync(ecore_x_display_get(), False);
 		   */
-		  ecore_x_pixmap_paste(ee->engine.x.pmap, ee->engine.x.win, ee->engine.x.gc,
+		  ecore_x_pixmap_paste(ee->engine.x.pmap, ee->prop.window, ee->engine.x.gc,
 				       0, 0, ee->w, ee->h, 0, 0);
 		  XDestroyRegion(ee->engine.x.damages);
 		  ee->engine.x.damages = 0;
@@ -280,6 +276,7 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 	       {
 		  evas_render_updates_free(updates);
 		  _ecore_evas_idle_timeout_update(ee);
+                  rend = 1;
 	       }
 	  }
      }
@@ -292,9 +289,10 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 	     updates = evas_render_updates(ee->evas);
 	     if (updates)
 	       {
-		  ecore_x_window_shape_mask_set(ee->engine.x.win, ee->engine.x.mask);
+		  ecore_x_window_shape_mask_set(ee->prop.window, ee->engine.x.mask);
 		  evas_render_updates_free(updates);
 		  _ecore_evas_idle_timeout_update(ee);
+                  rend = 1;
 	       }
 	  }
 	else
@@ -304,84 +302,22 @@ _ecore_evas_x_render(Ecore_Evas *ee)
 	       {
 		  evas_render_updates_free(updates);
 		  if (ee->alpha)
-		    ecore_x_window_shape_input_mask_set(ee->engine.x.win, ee->engine.x.mask);
+		    ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask);
 		  _ecore_evas_idle_timeout_update(ee);
+                  rend = 1;
 	       }
 	  }
      }
    else
      evas_norender(ee->evas);
    if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
-}
-
-static void
-_ecore_evas_x_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned int timestamp)
-{
-   ee->mouse.x = x;
-   ee->mouse.y = y;
-   if (ee->prop.cursor.object)
-     {
-	evas_object_show(ee->prop.cursor.object);
-	if (ee->rotation == 0)
-	  evas_object_move(ee->prop.cursor.object,
-			   x - ee->prop.cursor.hot.x,
-			   y - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 90)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->h - y - 1 - ee->prop.cursor.hot.x,
-			   x - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 180)
-	  evas_object_move(ee->prop.cursor.object,
-			   ee->w - x - 1 - ee->prop.cursor.hot.x,
-			   ee->h - y - 1 - ee->prop.cursor.hot.y);
-	else if (ee->rotation == 270)
-	  evas_object_move(ee->prop.cursor.object,
-			   y - ee->prop.cursor.hot.x,
-			   ee->w - x - 1 - ee->prop.cursor.hot.y);
-     }
-   if (ee->rotation == 0)
-     evas_event_feed_mouse_move(ee->evas, x, y, timestamp, NULL);
-   else if (ee->rotation == 90)
-     evas_event_feed_mouse_move(ee->evas, ee->h - y - 1, x, timestamp, NULL);
-   else if (ee->rotation == 180)
-     evas_event_feed_mouse_move(ee->evas, ee->w - x - 1, ee->h - y - 1, timestamp, NULL);
-   else if (ee->rotation == 270)
-     evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
-}
-
-static char *
-_ecore_evas_x_winid_str_get(Ecore_X_Window win)
-{
-   const char *vals = "qWeRtYuIoP5-$&<~";
-   static char id[9];
-   unsigned int val;
-
-   val = (unsigned int)win;
-   id[0] = vals[(val >> 28) & 0xf];
-   id[1] = vals[(val >> 24) & 0xf];
-   id[2] = vals[(val >> 20) & 0xf];
-   id[3] = vals[(val >> 16) & 0xf];
-   id[4] = vals[(val >> 12) & 0xf];
-   id[5] = vals[(val >>  8) & 0xf];
-   id[6] = vals[(val >>  4) & 0xf];
-   id[7] = vals[(val      ) & 0xf];
-   id[8] = 0;
-   return id;
-}
-
-static Ecore_Evas *
-_ecore_evas_x_match(Ecore_X_Window win)
-{
-   Ecore_Evas *ee;
-
-   ee = eina_hash_find(ecore_evases_hash, _ecore_evas_x_winid_str_get(win));
-   return ee;
+   return rend;
 }
 
 static void
 _ecore_evas_x_resize_shape(Ecore_Evas *ee)
 {
-   if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
+   if (!strcmp(ee->driver, "software_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 	Evas_Engine_Info_Software_X11 *einfo;
@@ -389,90 +325,68 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
 	einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
 	if (einfo)
 	  {
+             unsigned int    foreground;
+	     Ecore_X_GC      gc;
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-             xcb_rectangle_t     rectangle;
-	     Ecore_X_GC          gc;
-             uint32_t            value_list;
-# else
-	     GC gc;
-	     XGCValues gcv;
-# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
+             xcb_rectangle_t rectangle;
+# endif /* BUILD_ECORE_EVAS_SOFTWARE_XCB */
 
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
-	     ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	     ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+             foreground = 0;
+             gc = ecore_x_gc_new(ee->engine.x.mask,
+                                 ECORE_X_GC_VALUE_MASK_FOREGROUND,
+                                 &foreground);
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-             gc = xcb_generate_id(ecore_x_connection_get());
-	     value_list = 0;
-             xcb_create_gc(ecore_x_connection_get(), gc, ee->engine.x.mask,
-                           XCB_GC_FOREGROUND, &value_list);
              rectangle.x = 0;
              rectangle.y = 0;
              rectangle.width = ee->w;
              rectangle.height = ee->h;
 	     xcb_poly_fill_rectangle(ecore_x_connection_get(), ee->engine.x.mask, gc,
                                      1, &rectangle);
-	     xcb_free_gc(ecore_x_connection_get(), gc);
 # else
-	     gcv.foreground = 0;
-	     gc = XCreateGC(ecore_x_display_get(), ee->engine.x.mask,
-			    GCForeground,
-			    &gcv);
 	     XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
 			    0, 0, ee->w, ee->h);
-	     XFreeGC(ecore_x_display_get(), gc);
 # endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
+             ecore_x_gc_del(gc);
 	     einfo->info.mask = ee->engine.x.mask;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	     evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
 	  }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
      }
-   else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
+   else if (!strcmp(ee->driver, "xrender_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-	Evas_Engine_Info_XRender_Xcb *einfo;
-
-	einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
-# else
 	Evas_Engine_Info_XRender_X11 *einfo;
 
 	einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
 	if (einfo)
 	  {
+             unsigned int    foreground;
+	     Ecore_X_GC      gc;
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
              xcb_rectangle_t rectangle;
-	     Ecore_X_GC      gc;
-             uint32_t        value_list;
-# else
-	     GC gc;
-	     XGCValues gcv;
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
+# endif /* BUILD_ECORE_EVAS_XRENDER_XCB */
 
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
-	     ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	     ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+             foreground = 0;
+             ecore_x_gc_new(ee->engine.x.mask,
+                            ECORE_X_GC_VALUE_MASK_FOREGROUND,
+                            &foreground);
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-             gc = xcb_generate_id(ecore_x_connection_get());
-	     value_list = 0;
-	     xcb_create_gc(ecore_x_connection_get(), gc, ee->engine.x.mask,
-                           XCB_GC_FOREGROUND, &value_list);
              rectangle.x = 0;
              rectangle.y = 0;
              rectangle.width = ee->w;
              rectangle.height = ee->h;
 	     xcb_poly_fill_rectangle(ecore_x_connection_get(), ee->engine.x.mask, gc,
                                      1, &rectangle);
-	     xcb_free_gc(ecore_x_connection_get(), gc);
 # else
-	     gcv.foreground = 0;
-	     gc = XCreateGC(ecore_x_display_get(), ee->engine.x.mask,
-			    GCForeground,
-			    &gcv);
 	     XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
 			    0, 0, ee->w, ee->h);
-	     XFreeGC(ecore_x_display_get(), gc);
 # endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
+             ecore_x_gc_del(gc);
 	     einfo->info.mask = ee->engine.x.mask;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	     evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
@@ -493,7 +407,7 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
 	     XGCValues gcv;
 
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
-	     ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	     ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
 	     einfo->info.mask = ee->engine.x.mask;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	     evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
@@ -503,125 +417,6 @@ _ecore_evas_x_resize_shape(Ecore_Evas *ee)
      }
 }
 
-static void
-_ecore_evas_x_modifier_locks_update(Ecore_Evas *ee, int modifiers)
-{
-   if (modifiers & ECORE_X_MODIFIER_SHIFT)
-     evas_key_modifier_on(ee->evas, "Shift");
-   else
-     evas_key_modifier_off(ee->evas, "Shift");
-   if (modifiers & ECORE_X_MODIFIER_CTRL)
-     evas_key_modifier_on(ee->evas, "Control");
-   else
-     evas_key_modifier_off(ee->evas, "Control");
-   if (modifiers & ECORE_X_MODIFIER_ALT)
-     evas_key_modifier_on(ee->evas, "Alt");
-   else
-     evas_key_modifier_off(ee->evas, "Alt");
-   if (modifiers & ECORE_X_MODIFIER_WIN)
-     {
-	evas_key_modifier_on(ee->evas, "Super");
-	evas_key_modifier_on(ee->evas, "Hyper");
-     }
-   else
-     {
-	evas_key_modifier_off(ee->evas, "Super");
-	evas_key_modifier_off(ee->evas, "Hyper");
-     }
-   if (modifiers & ECORE_X_LOCK_SCROLL)
-     evas_key_lock_on(ee->evas, "Scroll_Lock");
-   else
-     evas_key_lock_off(ee->evas, "Scroll_Lock");
-   if (modifiers & ECORE_X_LOCK_NUM)
-     evas_key_lock_on(ee->evas, "Num_Lock");
-   else
-     evas_key_lock_off(ee->evas, "Num_Lock");
-   if (modifiers & ECORE_X_LOCK_CAPS)
-     evas_key_lock_on(ee->evas, "Caps_Lock");
-   else
-     evas_key_lock_off(ee->evas, "Caps_Lock");
-}
-
-static int
-_ecore_evas_x_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Key_Down *e;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
-   return 1;
-}
-
-static int
-_ecore_evas_x_event_key_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Key_Up *e;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
-   return 1;
-}
-
-static int
-_ecore_evas_x_event_mouse_button_down(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Mouse_Button_Down *e;
-   Evas_Button_Flags flags = EVAS_BUTTON_NONE;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_down(ee->evas, e->button, flags, e->time, NULL);
-   return 1;
-}
-
-static int
-_ecore_evas_x_event_mouse_button_up(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Mouse_Button_Up *e;
-   Evas_Button_Flags flags = EVAS_BUTTON_NONE;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
-   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
-   evas_event_feed_mouse_up(ee->evas, e->button, flags, e->time, NULL);
-   return 1;
-}
-
-static int
-_ecore_evas_x_event_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Mouse_Wheel *e;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   evas_event_feed_mouse_wheel(ee->evas, e->direction, e->z, e->time, NULL);
-
-   return 1;
-}
-
 /* TODO: we need to make this work for all the states, not just sticky */
 static int
 _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__, void *event)
@@ -630,9 +425,9 @@ _ecore_evas_x_event_property_change(void *data __UNUSED__, int type __UNUSED__,
    Ecore_X_Event_Window_Property *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (e->atom == ECORE_X_ATOM_NET_WM_STATE)
      {
 	unsigned int i, num;
@@ -731,9 +526,9 @@ _ecore_evas_x_event_visibility_change(void *data __UNUSED__, int type __UNUSED__
    Ecore_X_Event_Window_Visibility_Change *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
 //   printf("VIS CHANGE OBSCURED: %p %i\n", ee, e->fully_obscured);
    if (e->fully_obscured) ee->draw_ok = 0;
    else ee->draw_ok = 1;
@@ -741,70 +536,53 @@ _ecore_evas_x_event_visibility_change(void *data __UNUSED__, int type __UNUSED__
 }
 
 static int
-_ecore_evas_x_event_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event)
-{
-   Ecore_Evas *ee;
-   Ecore_X_Event_Mouse_Move *e;
-
-   e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   _ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
-   return 1;
-}
-
-static int
 _ecore_evas_x_event_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event)
 {
    Ecore_Evas *ee;
    Ecore_X_Event_Mouse_In *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-/*
-     {
-	time_t t;
-	char *ct;
-
-	const char *modes[] = {
-	   "MODE_NORMAL",
-	     "MODE_WHILE_GRABBED",
-	     "MODE_GRAB",
-	     "MODE_UNGRAB"
-	};
-	const char *details[] = {
-	   "DETAIL_ANCESTOR",
-	     "DETAIL_VIRTUAL",
-	     "DETAIL_INFERIOR",
-	     "DETAIL_NON_LINEAR",
-	     "DETAIL_NON_LINEAR_VIRTUAL",
-	     "DETAIL_POINTER",
-	     "DETAIL_POINTER_ROOT",
-	     "DETAIL_DETAIL_NONE"
-	};
-	t = time(NULL);
-	ct = ctime(&t);
-	ct[strlen(ct) - 1] = 0;
-	printf("@@ ->IN 0x%x 0x%x %s md=%s dt=%s\n",
-	       e->win, e->event_win,
-	       ct,
-	       modes[e->mode],
-	       details[e->detail]);
-     }
- */
-// disable. causes mroe problems than it fixes
-//   if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
-//       (e->mode == ECORE_X_EVENT_MODE_UNGRAB))
-//     return 0;
-/* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
+   if (e->win != ee->prop.window) return 1;
+/*    { */
+/*       time_t t; */
+/*       char *ct; */
+
+/*       const char *modes[] = { */
+/*	"MODE_NORMAL", */
+/*	"MODE_WHILE_GRABBED", */
+/*	"MODE_GRAB", */
+/*	"MODE_UNGRAB" */
+/*       }; */
+/*       const char *details[] = { */
+/*	"DETAIL_ANCESTOR", */
+/*	"DETAIL_VIRTUAL", */
+/*	"DETAIL_INFERIOR", */
+/*	"DETAIL_NON_LINEAR", */
+/*	"DETAIL_NON_LINEAR_VIRTUAL", */
+/*	"DETAIL_POINTER", */
+/*	"DETAIL_POINTER_ROOT", */
+/*	"DETAIL_DETAIL_NONE" */
+/*       }; */
+/*       t = time(NULL); */
+/*       ct = ctime(&t); */
+/*       ct[strlen(ct) - 1] = 0; */
+/*       printf("@@ ->IN 0x%x 0x%x %s md=%s dt=%s\n", */
+/*	     e->win, e->event_win, */
+/*	     ct, */
+/*	     modes[e->mode], */
+/*	     details[e->detail]); */
+/*    } */
+   // disable. causes mroe problems than it fixes
+   //   if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
+   //       (e->mode == ECORE_X_EVENT_MODE_UNGRAB))
+   //     return 0;
+   /* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
    if (ee->func.fn_mouse_in) ee->func.fn_mouse_in(ee);
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
+   ecore_event_evas_modifier_lock_update(ee->evas, e->modifiers);
    evas_event_feed_mouse_in(ee->evas, e->time, NULL);
-   _ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
    return 1;
 }
 
@@ -815,47 +593,46 @@ _ecore_evas_x_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *
    Ecore_X_Event_Mouse_Out *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
-   if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
-/*
-     {
-	time_t t;
-	char *ct;
-
-	const char *modes[] = {
-	   "MODE_NORMAL",
-	     "MODE_WHILE_GRABBED",
-	     "MODE_GRAB",
-	     "MODE_UNGRAB"
-	};
-	const char *details[] = {
-	   "DETAIL_ANCESTOR",
-	     "DETAIL_VIRTUAL",
-	     "DETAIL_INFERIOR",
-	     "DETAIL_NON_LINEAR",
-	     "DETAIL_NON_LINEAR_VIRTUAL",
-	     "DETAIL_POINTER",
-	     "DETAIL_POINTER_ROOT",
-	     "DETAIL_DETAIL_NONE"
-	};
-	t = time(NULL);
-	ct = ctime(&t);
-	ct[strlen(ct) - 1] = 0;
-	printf("@@ ->OUT 0x%x 0x%x %s md=%s dt=%s\n",
-	       e->win, e->event_win,
-	       ct,
-	       modes[e->mode],
-	       details[e->detail]);
-     }
- */
-// disable. causes more problems than it fixes
-//   if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
-//       (e->mode == ECORE_X_EVENT_MODE_UNGRAB))
-//     return 0;
-/* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
-   _ecore_evas_x_modifier_locks_update(ee, e->modifiers);
-   _ecore_evas_x_mouse_move_process(ee, e->x, e->y, e->time);
+   ee = ecore_event_window_match(e->win);
+   if ((!ee) || (ee->ignore_events)) return 1;
+   /* pass on event */
+   if (e->win != ee->prop.window) return 1;
+/*    { */
+/*       time_t t; */
+/*       char *ct; */
+
+/*       const char *modes[] = { */
+/*	"MODE_NORMAL", */
+/*	"MODE_WHILE_GRABBED", */
+/*	"MODE_GRAB", */
+/*	"MODE_UNGRAB" */
+/*       }; */
+/*       const char *details[] = { */
+/*	"DETAIL_ANCESTOR", */
+/*	"DETAIL_VIRTUAL", */
+/*	"DETAIL_INFERIOR", */
+/*	"DETAIL_NON_LINEAR", */
+/*	"DETAIL_NON_LINEAR_VIRTUAL", */
+/*	"DETAIL_POINTER", */
+/*	"DETAIL_POINTER_ROOT", */
+/*	"DETAIL_DETAIL_NONE" */
+/*       }; */
+/*       t = time(NULL); */
+/*       ct = ctime(&t); */
+/*       ct[strlen(ct) - 1] = 0; */
+/*       printf("@@ ->OUT 0x%x 0x%x %s md=%s dt=%s\n", */
+/*	     e->win, e->event_win, */
+/*	     ct, */
+/*	     modes[e->mode], */
+/*	     details[e->detail]); */
+/*    } */
+   // disable. causes more problems than it fixes
+   //   if ((e->mode == ECORE_X_EVENT_MODE_GRAB) ||
+   //       (e->mode == ECORE_X_EVENT_MODE_UNGRAB))
+   //     return 0;
+   /* if (e->mode != ECORE_X_EVENT_MODE_NORMAL) return 0; */
+   ecore_event_evas_modifier_lock_update(ee->evas, e->modifiers);
+   _ecore_evas_mouse_move_process(ee, e->x, e->y, e->time);
    if (e->mode == ECORE_X_EVENT_MODE_GRAB)
      evas_event_feed_mouse_cancel(ee->evas, e->time, NULL);
    evas_event_feed_mouse_out(ee->evas, e->time, NULL);
@@ -871,9 +648,9 @@ _ecore_evas_x_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__,
    Ecore_X_Event_Window_Focus_In *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    ee->prop.focused = 1;
    if (ee->func.fn_focus_in) ee->func.fn_focus_in(ee);
    return 1;
@@ -886,11 +663,11 @@ _ecore_evas_x_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__,
    Ecore_X_Event_Window_Focus_Out *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if ((!ee) || (ee->ignore_events)) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->prop.fullscreen)
-     ecore_x_window_focus(ee->engine.x.win);
+     ecore_x_window_focus(ee->prop.window);
    ee->prop.focused = 0;
    if (ee->func.fn_focus_out) ee->func.fn_focus_out(ee);
    return 1;
@@ -903,9 +680,9 @@ _ecore_evas_x_event_window_damage(void *data __UNUSED__, int type __UNUSED__, vo
    Ecore_X_Event_Window_Damage *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->engine.x.using_bg_pixmap) return 1;
 //   printf("EXPOSE %p [%i] %i %i %ix%i\n", ee, ee->prop.avoid_damage, e->x, e->y, e->w, e->h);
    if (ee->prop.avoid_damage)
@@ -975,9 +752,9 @@ _ecore_evas_x_event_window_destroy(void *data __UNUSED__, int type __UNUSED__, v
    Ecore_X_Event_Window_Destroy *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->func.fn_destroy) ee->func.fn_destroy(ee);
    ecore_evas_free(ee);
    return 1;
@@ -990,9 +767,9 @@ _ecore_evas_x_event_window_configure(void *data __UNUSED__, int type __UNUSED__,
    Ecore_X_Event_Window_Configure *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->engine.x.direct_resize) return 1;
 
    if ((e->from_wm) || (ee->prop.override))
@@ -1033,8 +810,8 @@ _ecore_evas_x_event_window_configure(void *data __UNUSED__, int type __UNUSED__,
 	  {
 	     if ((ee->expecting_resize.w == ee->w) &&
 		 (ee->expecting_resize.h == ee->h))
-	       _ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
-						ecore_x_current_time_get());
+	       _ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+					      ecore_x_current_time_get());
 	     ee->expecting_resize.w = 0;
 	     ee->expecting_resize.h = 0;
 	  }
@@ -1050,9 +827,9 @@ _ecore_evas_x_event_window_delete_request(void *data __UNUSED__, int type __UNUS
    Ecore_X_Event_Window_Delete_Request *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->func.fn_delete_request) ee->func.fn_delete_request(ee);
    return 1;
 }
@@ -1064,9 +841,9 @@ _ecore_evas_x_event_window_show(void *data __UNUSED__, int type __UNUSED__, void
    Ecore_X_Event_Window_Show *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (ee->visible) return 0; /* dont pass it on */
 //   printf("SHOW EVENT %p\n", ee);
    ee->visible = 1;
@@ -1081,9 +858,9 @@ _ecore_evas_x_event_window_hide(void *data __UNUSED__, int type __UNUSED__, void
    Ecore_X_Event_Window_Hide *e;
 
    e = event;
-   ee = _ecore_evas_x_match(e->win);
+   ee = ecore_event_window_match(e->win);
    if (!ee) return 1; /* pass on event */
-   if (e->win != ee->engine.x.win) return 1;
+   if (e->win != ee->prop.window) return 1;
    if (!ee->visible) return 0; /* dont pass it on */
 //   printf("HIDE EVENT %p\n", ee);
    ee->visible = 0;
@@ -1097,10 +874,10 @@ static void
 _ecore_evas_x_size_pos_hints_update(Ecore_Evas *ee)
 {
 # ifdef HAVE_ECORE_X_XCB
-   ecore_x_icccm_size_pos_hints_get_prefetch(ee->engine.x.win);
+   ecore_x_icccm_size_pos_hints_get_prefetch(ee->prop.window);
    ecore_x_icccm_size_pos_hints_get_fetch();
 # endif /* HAVE_ECORE_X_XCB */
-   ecore_x_icccm_size_pos_hints_set(ee->engine.x.win,
+   ecore_x_icccm_size_pos_hints_set(ee->prop.window,
 				    ee->prop.request_pos /*request_pos */,
 				    ECORE_X_GRAVITY_NW /* gravity */,
 				    ee->prop.min.w /* min_w */,
@@ -1154,7 +931,7 @@ _ecore_evas_x_state_update(Ecore_Evas *ee)
    if (ee->engine.x.state.below)
      state[num++] = ECORE_X_WINDOW_STATE_BELOW;
 
-   ecore_x_netwm_window_state_set(ee->engine.x.win, state, num);
+   ecore_x_netwm_window_state_set(ee->prop.window, state, num);
 }
 
 static void
@@ -1169,14 +946,14 @@ _ecore_evas_x_layer_update(Ecore_Evas *ee)
 	     if (ee->engine.x.state.above)
 	       {
 		  ee->engine.x.state.above = 0;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
 	       }
 	     if (!ee->engine.x.state.below)
 	       {
 		  ee->engine.x.state.below = 1;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_BELOW, -1, 1);
 	       }
@@ -1186,14 +963,14 @@ _ecore_evas_x_layer_update(Ecore_Evas *ee)
 	     if (ee->engine.x.state.below)
 	       {
 		  ee->engine.x.state.below = 0;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_BELOW, -1, 0);
 	       }
 	     if (!ee->engine.x.state.above)
 	       {
 		  ee->engine.x.state.above = 1;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_ABOVE, -1, 1);
 	       }
@@ -1203,14 +980,14 @@ _ecore_evas_x_layer_update(Ecore_Evas *ee)
 	     if (ee->engine.x.state.below)
 	       {
 		  ee->engine.x.state.below = 0;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_BELOW, -1, 0);
 	       }
 	     if (ee->engine.x.state.above)
 	       {
 		  ee->engine.x.state.above = 0;
-		  ecore_x_netwm_state_request_send(ee->engine.x.win,
+		  ecore_x_netwm_state_request_send(ee->prop.window,
 						   ee->engine.x.win_root,
 						   ECORE_X_WINDOW_STATE_ABOVE, -1, 0);
 	       }
@@ -1256,7 +1033,9 @@ _ecore_evas_x_idle_enter(void *data __UNUSED__)
    Ecore_List2 *l;
    double t1 = 0.0;
    double t2 = 0.0;
+   int rend = 0;
 
+   if (!ecore_evases) return 1;
    if (_ecore_evas_fps_debug)
      {
 	t1 = ecore_time_get();
@@ -1266,13 +1045,14 @@ _ecore_evas_x_idle_enter(void *data __UNUSED__)
 	Ecore_Evas *ee;
 
 	ee = (Ecore_Evas *)l;
-	_ecore_evas_x_render(ee);
+	rend |= _ecore_evas_x_render(ee);
      }
    ecore_x_flush();
    if (_ecore_evas_fps_debug)
      {
 	t2 = ecore_time_get();
-	_ecore_evas_fps_debug_rendertime_add(t2 - t1);
+	if (rend)
+          _ecore_evas_fps_debug_rendertime_add(t2 - t1);
      }
    return 1;
 }
@@ -1284,24 +1064,19 @@ _ecore_evas_x_init(void)
    if (_ecore_evas_init_count > 1) return _ecore_evas_init_count;
    if (getenv("ECORE_EVAS_FPS_DEBUG")) _ecore_evas_fps_debug = 1;
    ecore_evas_idle_enterer = ecore_idle_enterer_add(_ecore_evas_x_idle_enter, NULL);
-   ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_X_EVENT_KEY_DOWN, _ecore_evas_x_event_key_down, NULL);
-   ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_X_EVENT_KEY_UP, _ecore_evas_x_event_key_up, NULL);
-   ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN, _ecore_evas_x_event_mouse_button_down, NULL);
-   ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_BUTTON_UP, _ecore_evas_x_event_mouse_button_up, NULL);
-   ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_MOVE, _ecore_evas_x_event_mouse_move, NULL);
-   ecore_evas_event_handlers[5]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _ecore_evas_x_event_mouse_in, NULL);
-   ecore_evas_event_handlers[6]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, _ecore_evas_x_event_mouse_out, NULL);
-   ecore_evas_event_handlers[7]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_IN, _ecore_evas_x_event_window_focus_in, NULL);
-   ecore_evas_event_handlers[8]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_OUT, _ecore_evas_x_event_window_focus_out, NULL);
-   ecore_evas_event_handlers[9]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DAMAGE, _ecore_evas_x_event_window_damage, NULL);
-   ecore_evas_event_handlers[10] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DESTROY, _ecore_evas_x_event_window_destroy, NULL);
-   ecore_evas_event_handlers[11] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CONFIGURE, _ecore_evas_x_event_window_configure, NULL);
-   ecore_evas_event_handlers[12] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_x_event_window_delete_request, NULL);
-   ecore_evas_event_handlers[13] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_SHOW, _ecore_evas_x_event_window_show, NULL);
-   ecore_evas_event_handlers[14] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_HIDE, _ecore_evas_x_event_window_hide, NULL);
-   ecore_evas_event_handlers[15] = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_WHEEL, _ecore_evas_x_event_mouse_wheel, NULL);
-   ecore_evas_event_handlers[16] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY, _ecore_evas_x_event_property_change, NULL);
-   ecore_evas_event_handlers[17] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE, _ecore_evas_x_event_visibility_change, NULL);
+   ecore_evas_event_handlers[0]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _ecore_evas_x_event_mouse_in, NULL);
+   ecore_evas_event_handlers[1]  = ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, _ecore_evas_x_event_mouse_out, NULL);
+   ecore_evas_event_handlers[2]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_IN, _ecore_evas_x_event_window_focus_in, NULL);
+   ecore_evas_event_handlers[3]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_FOCUS_OUT, _ecore_evas_x_event_window_focus_out, NULL);
+   ecore_evas_event_handlers[4]  = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DAMAGE, _ecore_evas_x_event_window_damage, NULL);
+   ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DESTROY, _ecore_evas_x_event_window_destroy, NULL);
+   ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_CONFIGURE, _ecore_evas_x_event_window_configure, NULL);
+   ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_x_event_window_delete_request, NULL);
+   ecore_evas_event_handlers[8] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_SHOW, _ecore_evas_x_event_window_show, NULL);
+   ecore_evas_event_handlers[9] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_HIDE, _ecore_evas_x_event_window_hide, NULL);
+   ecore_evas_event_handlers[10] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_PROPERTY, _ecore_evas_x_event_property_change, NULL);
+   ecore_evas_event_handlers[11] = ecore_event_handler_add(ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE, _ecore_evas_x_event_visibility_change, NULL);
+   ecore_event_evas_init();
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
    return _ecore_evas_init_count;
 }
@@ -1309,7 +1084,7 @@ _ecore_evas_x_init(void)
 static void
 _ecore_evas_x_free(Ecore_Evas *ee)
 {
-   ecore_x_window_del(ee->engine.x.win);
+   ecore_x_window_free(ee->prop.window);
    if (ee->engine.x.pmap) ecore_x_pixmap_del(ee->engine.x.pmap);
    if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
    if (ee->engine.x.gc) ecore_x_gc_del(ee->engine.x.gc);
@@ -1322,18 +1097,18 @@ _ecore_evas_x_free(Ecore_Evas *ee)
    ee->engine.x.mask = 0;
    ee->engine.x.gc = 0;
 #ifdef HAVE_ECORE_X_XCB
-# warning [XCB] No Region code
+#warning [XCB] No Region code
 #else
    ee->engine.x.damages = 0;
 #endif /* ! HAVE_ECORE_X_XCB */
-   eina_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_event_window_unregister(ee->prop.window);
    while (ee->engine.x.win_extra)
      {
 	Ecore_X_Window *winp;
 
 	winp = ee->engine.x.win_extra->data;
 	ee->engine.x.win_extra = eina_list_remove_list(ee->engine.x.win_extra, ee->engine.x.win_extra);
-	eina_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(*winp), ee);
+	ecore_event_window_unregister(*winp);
 	free(winp);
      }
    ecore_evases = _ecore_list2_remove(ecore_evases, ee);
@@ -1346,13 +1121,13 @@ static void
 _ecore_evas_x_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee))
 {
 #ifdef HAVE_ECORE_X_XCB
-   ecore_x_icccm_protocol_get_prefetch(ee->engine.x.win);
+   ecore_x_icccm_protocol_get_prefetch(ee->prop.window);
    ecore_x_icccm_protocol_get_fetch();
 #endif /* HAVE_ECORE_X_XCB */
    if (func)
-     ecore_x_icccm_protocol_set(ee->engine.x.win, ECORE_X_WM_PROTOCOL_DELETE_REQUEST, 1);
+     ecore_x_icccm_protocol_set(ee->prop.window, ECORE_X_WM_PROTOCOL_DELETE_REQUEST, 1);
    else
-     ecore_x_icccm_protocol_set(ee->engine.x.win, ECORE_X_WM_PROTOCOL_DELETE_REQUEST, 0);
+     ecore_x_icccm_protocol_set(ee->prop.window, ECORE_X_WM_PROTOCOL_DELETE_REQUEST, 0);
    ee->func.fn_delete_request = func;
 #ifdef HAVE_ECORE_X_XCB
    ecore_xcb_reply_free();
@@ -1370,7 +1145,7 @@ _ecore_evas_x_move(Ecore_Evas *ee, int x, int y)
 	       {
 		  ee->x = x;
 		  ee->y = y;
-		  ecore_x_window_move(ee->engine.x.win, x, y);
+		  ecore_x_window_move(ee->prop.window, x, y);
 		  if (!ee->should_be_visible)
 		    {
 		       /* We need to request pos */
@@ -1383,7 +1158,7 @@ _ecore_evas_x_move(Ecore_Evas *ee, int x, int y)
      }
    else
      {
-	ecore_x_window_move(ee->engine.x.win, x, y);
+	ecore_x_window_move(ee->prop.window, x, y);
 	if (!ee->should_be_visible)
 	  {
 	     /* We need to request pos */
@@ -1420,7 +1195,7 @@ _ecore_evas_x_resize(Ecore_Evas *ee, int w, int h)
      {
 	if ((ee->w != w) || (ee->h != h))
 	  {
-	     ecore_x_window_resize(ee->engine.x.win, w, h);
+	     ecore_x_window_resize(ee->prop.window, w, h);
 	     ee->w = w;
 	     ee->h = h;
 	     if ((ee->rotation == 90) || (ee->rotation == 270))
@@ -1447,7 +1222,7 @@ _ecore_evas_x_resize(Ecore_Evas *ee, int w, int h)
 	  }
      }
    else
-     ecore_x_window_resize(ee->engine.x.win, w, h);
+     ecore_x_window_resize(ee->prop.window, w, h);
 }
 
 static void
@@ -1464,7 +1239,7 @@ _ecore_evas_x_move_resize(Ecore_Evas *ee, int x, int y, int w, int h)
 	       {
 		  if ((x != ee->x) || (y != ee->y)) change_pos = 1;
 	       }
-	     ecore_x_window_move_resize(ee->engine.x.win, x, y, w, h);
+	     ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
 	     if (!ee->engine.x.managed)
 	       {
 		  ee->x = x;
@@ -1504,7 +1279,7 @@ _ecore_evas_x_move_resize(Ecore_Evas *ee, int x, int y, int w, int h)
      }
    else
      {
-	ecore_x_window_move_resize(ee->engine.x.win, x, y, w, h);
+	ecore_x_window_move_resize(ee->prop.window, x, y, w, h);
 	if (!ee->engine.x.managed)
 	  {
 	     ee->x = x;
@@ -1529,7 +1304,7 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation,
 	evas_engine_info_set(ee->evas, einfo);
 	if (!ee->prop.fullscreen)
 	  {
-	     ecore_x_window_resize(ee->engine.x.win, ee->h, ee->w);
+	     ecore_x_window_resize(ee->prop.window, ee->h, ee->w);
 	     ee->expecting_resize.w = ee->h;
 	     ee->expecting_resize.h = ee->w;
 	  }
@@ -1537,8 +1312,8 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation,
 	  {
 	     int w, h;
 
-	     ecore_x_window_size_get(ee->engine.x.win, &w, &h);
-	     ecore_x_window_resize(ee->engine.x.win, h, w);
+	     ecore_x_window_size_get(ee->prop.window, &w, &h);
+	     ecore_x_window_resize(ee->prop.window, h, w);
 	     if ((rotation == 0) || (rotation == 180))
 	       {
 		  evas_output_size_set(ee->evas, ee->w, ee->h);
@@ -1560,15 +1335,15 @@ _ecore_evas_x_rotation_set_internal(Ecore_Evas *ee, int rotation,
 	ecore_evas_size_max_set(ee, maxh, maxw);
 	ecore_evas_size_base_set(ee, baseh, basew);
 	ecore_evas_size_step_set(ee, steph, stepw);
-	_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
-					 ecore_x_current_time_get());
+	_ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+				       ecore_x_current_time_get());
      }
    else
      {
 	evas_engine_info_set(ee->evas, einfo);
 	ee->rotation = rotation;
-	_ecore_evas_x_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
-					 ecore_x_current_time_get());
+	_ecore_evas_mouse_move_process(ee, ee->mouse.x, ee->mouse.y,
+				       ecore_x_current_time_get());
 	if (ee->func.fn_resize) ee->func.fn_resize(ee);
      }
 
@@ -1584,7 +1359,7 @@ _ecore_evas_x_rotation_set(Ecore_Evas *ee, int rotation)
    if (ee->rotation == rotation) return;
    if (!strcmp(ee->driver, "opengl_x11")) return;
    if (!strcmp(ee->driver, "xrender_x11")) return;
-   if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
+   if (!strcmp(ee->driver, "software_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 	Evas_Engine_Info_Software_X11 *einfo;
@@ -1616,7 +1391,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
    if (((ee->shaped) && (shaped)) || ((!ee->shaped) && (!shaped)))
      return;
    if (!strcmp(ee->driver, "opengl_x11")) return;
-   if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
+   if (!strcmp(ee->driver, "software_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 	Evas_Engine_Info_Software_X11 *einfo;
@@ -1627,24 +1402,19 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 	  {
 	     if (ee->shaped)
 	       {
+                  unsigned int    foreground;
+                  Ecore_X_GC      gc;
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
                   xcb_rectangle_t rectangle;
-		  Ecore_X_GC      gc;
-		  uint32_t        value_list;
-# else
-		  GC gc;
-		  XGCValues gcv;
 # endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
 
 		  if (!ee->engine.x.mask)
-		    ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+		    ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+                  foreground = 0;
+                  gc = ecore_x_gc_new(ee->engine.x.mask,
+                                      ECORE_X_GC_VALUE_MASK_FOREGROUND,
+                                      &foreground);
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-                  gc = xcb_generate_id(ecore_x_connection_get());
-		  value_list = 0;
-		  xcb_create_gc(ecore_x_connection_get(),
-                                gc, ee->engine.x.mask,
-				XCB_GC_FOREGROUND,
-                                &value_list);
                   rectangle.x = 0;
                   rectangle.y = 0;
                   rectangle.width = ee->w;
@@ -1652,20 +1422,15 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  xcb_poly_fill_rectangle(ecore_x_connection_get(),
                                           ee->engine.x.mask, gc,
                                           1, &rectangle);
-		  xcb_free_gc(ecore_x_connection_get(), gc);
 # else
-		  gcv.foreground = 0;
-		  gc = XCreateGC(ecore_x_display_get(), ee->engine.x.mask,
-				 GCForeground,
-				 &gcv);
 		  XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
 				 0, 0, ee->w, ee->h);
-		  XFreeGC(ecore_x_display_get(), gc);
 # endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
+                  ecore_x_gc_del(gc);
 		  einfo->info.mask = ee->engine.x.mask;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 		  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-		  ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+		  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	       }
 	     else
 	       {
@@ -1673,49 +1438,36 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  ee->engine.x.mask = 0;
 		  einfo->info.mask = 0;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
-		  ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
-		  ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+		  ecore_x_window_shape_mask_set(ee->prop.window, 0);
+		  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	       }
 	  }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
      }
-   else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
+   else if (!strcmp(ee->driver, "xrender_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-	Evas_Engine_Info_XRender_Xcb *einfo;
-# else
 	Evas_Engine_Info_XRender_X11 *einfo;
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 	ee->shaped = shaped;
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-	einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
-# else
 	einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
 	if (einfo)
 	  {
 	     if (ee->shaped)
 	       {
+                  unsigned int    foreground;
+                  Ecore_X_GC      gc;
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
                   xcb_rectangle_t rectangle;
-		  Ecore_X_GC      gc;
-		  uint32_t        value_list;
-# else
-		  GC gc;
-		  XGCValues gcv;
 # endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 		  if (!ee->engine.x.mask)
-		    ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+		    ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
+                  foreground = 0;
+                  gc = ecore_x_gc_new(ee->engine.x.mask,
+                                      ECORE_X_GC_VALUE_MASK_FOREGROUND,
+                                      &foreground);
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-                  gc = xcb_generate_id(ecore_x_connection_get());
-		  value_list = 0;
-		  xcb_create_gc(ecore_x_connection_get(),
-                                gc, ee->engine.x.mask,
-				XCB_GC_FOREGROUND,
-                                &value_list);
                   rectangle.x = 0;
                   rectangle.y = 0;
                   rectangle.width = ee->w;
@@ -1723,20 +1475,15 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  xcb_poly_fill_rectangle(ecore_x_connection_get(),
                                           ee->engine.x.mask, gc,
                                           1, &rectangle);
-		  xcb_free_gc(ecore_x_connection_get(), gc);
 # else
-		  gcv.foreground = 0;
-		  gc = XCreateGC(ecore_x_display_get(), ee->engine.x.mask,
-				 GCForeground,
-				 &gcv);
 		  XFillRectangle(ecore_x_display_get(), ee->engine.x.mask, gc,
 				 0, 0, ee->w, ee->h);
-		  XFreeGC(ecore_x_display_get(), gc);
 # endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
+                  ecore_x_gc_del(gc);
 		  einfo->info.mask = ee->engine.x.mask;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 		  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-		  ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+		  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	       }
 	     else
 	       {
@@ -1744,8 +1491,8 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  ee->engine.x.mask = 0;
 		  einfo->info.mask = 0;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
-		  ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
-		  ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+		  ecore_x_window_shape_mask_set(ee->prop.window, 0);
+		  ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	       }
 	  }
 #endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
@@ -1765,7 +1512,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  GC gc;
 		  XGCValues gcv;
 
-		  ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+		  ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
 		  einfo->info.mask = ee->engine.x.mask;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 		  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
@@ -1776,7 +1523,7 @@ _ecore_evas_x_shaped_set(Ecore_Evas *ee, int shaped)
 		  ee->engine.x.mask = 0;
 		  einfo->info.mask = 0;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
-		  ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
+		  ecore_x_window_shape_mask_set(ee->prop.window, 0);
 	       }
 	  }
 # endif /* XXX no shaped window support for software_16_x11 */
@@ -1801,7 +1548,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
    if (((ee->alpha) && (alpha)) || ((!ee->alpha) && (!alpha)))
      return;
 
-   if (!strcmp(ee->driver, "software_x11") || !strcmp(ee->driver, "software_xcb"))
+   if (!strcmp(ee->driver, "software_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 	Evas_Engine_Info_Software_X11 *einfo;
@@ -1813,33 +1560,33 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
 
 	ee->shaped = 0;
 	ee->alpha = alpha;
-	ecore_x_window_del(ee->engine.x.win);
-	eina_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_free(ee->prop.window);
+	ecore_event_window_unregister(ee->prop.window);
 	if (ee->alpha)
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (!ee->engine.x.mask)
-	       ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	       ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
 	  }
 	else
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
 	     ee->engine.x.mask = 0;
-	     ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+	     ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	  }
 
 	einfo->info.destination_alpha = alpha;
 
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-	cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->engine.x.win);
-	cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->engine.x.win);
+	cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+	cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
 
 	reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
 	reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
@@ -1849,7 +1596,7 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
 	free(reply_geom);
 	free(reply_attr);
 # else
-	XGetWindowAttributes(ecore_x_display_get(), ee->engine.x.win, &att);
+	XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
 	einfo->info.visual = att.visual;
 	einfo->info.colormap = att.colormap;
 	einfo->info.depth = att.depth;
@@ -1858,25 +1605,23 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
 //	if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
 //	ee->engine.x.mask = 0;
 	einfo->info.mask = ee->engine.x.mask;
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.drawable = ee->prop.window;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-	ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
-	if (!ecore_evases_hash)
-	  ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-	eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_shape_mask_set(ee->prop.window, 0);
+	ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
 	if (ee->prop.borderless)
-	  ecore_x_mwm_borderless_set(ee->engine.x.win, ee->prop.borderless);
-	if (ee->visible) ecore_x_window_show(ee->engine.x.win);
-	if (ee->prop.focused) ecore_x_window_focus(ee->engine.x.win);
+	  ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+	if (ee->visible) ecore_x_window_show(ee->prop.window);
+	if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
 	if (ee->prop.title)
 	  {
-	     ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
-	     ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
+	     ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+	     ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
 	  }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_X11 || BUILD_ECORE_EVAS_SOFTWARE_XCB */
      }
-   else if (!strcmp(ee->driver, "xrender_x11") || !strcmp(ee->driver, "xrender_xcb"))
+   else if (!strcmp(ee->driver, "xrender_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 	Evas_Engine_Info_XRender_X11 *einfo;
@@ -1887,59 +1632,57 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
 
 	ee->shaped = 0;
 	ee->alpha = alpha;
-	ecore_x_window_del(ee->engine.x.win);
-	eina_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_free(ee->prop.window);
+	ecore_event_window_unregister(ee->prop.window);
 	if (ee->alpha)
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (!ee->engine.x.mask)
-	       ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	       ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
 	  }
 	else
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
 	     ee->engine.x.mask = 0;
-	     ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+	     ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	  }
 
 	einfo->info.destination_alpha = alpha;
 
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-	cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->engine.x.win);
+	cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
 	reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
 
 	einfo->info.visual = reply_attr->visual;
 	free(reply_attr);
 # else
-	XGetWindowAttributes(ecore_x_display_get(), ee->engine.x.win, &att);
+	XGetWindowAttributes(ecore_x_display_get(), ee->prop.window, &att);
 	einfo->info.visual = att.visual;
 # endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 //	if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
 //	ee->engine.x.mask = 0;
         einfo->info.mask = ee->engine.x.mask;
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.drawable = ee->prop.window;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-	ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
-	if (!ecore_evases_hash)
-	  ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-	eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_shape_mask_set(ee->prop.window, 0);
+	ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
 	if (ee->prop.borderless)
-	  ecore_x_mwm_borderless_set(ee->engine.x.win, ee->prop.borderless);
-	if (ee->visible) ecore_x_window_show(ee->engine.x.win);
-	if (ee->prop.focused) ecore_x_window_focus(ee->engine.x.win);
+	  ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+	if (ee->visible) ecore_x_window_show(ee->prop.window);
+	if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
 	if (ee->prop.title)
 	  {
-	     ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
-	     ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
+	     ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+	     ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
 	  }
 #endif /* BUILD_ECORE_EVAS_XRENDER_X11 || BUILD_ECORE_EVAS_XRENDER_XCB */
      }
@@ -1953,26 +1696,26 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
 
 	ee->shaped = 0;
 	ee->alpha = alpha;
-	ecore_x_window_del(ee->engine.x.win);
-	eina_hash_del(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_free(ee->prop.window);
+	ecore_event_window_unregister(ee->prop.window);
 	if (ee->alpha)
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_argb_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (!ee->engine.x.mask)
-	       ee->engine.x.mask = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 1);
+	       ee->engine.x.mask = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 1);
 	  }
 	else
 	  {
 	     if (ee->prop.override)
-	       ee->engine.x.win = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_override_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     else
-	       ee->engine.x.win = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
+	       ee->prop.window = ecore_x_window_new(ee->engine.x.win_root, ee->x, ee->y, ee->w, ee->h);
 	     if (ee->engine.x.mask) ecore_x_pixmap_del(ee->engine.x.mask);
 	     ee->engine.x.mask = 0;
-	     ecore_x_window_shape_input_mask_set(ee->engine.x.win, 0);
+	     ecore_x_window_shape_input_mask_set(ee->prop.window, 0);
 	  }
 
 # if 0 /* XXX no alpha window support for software_16_x11 */
@@ -1985,37 +1728,25 @@ _ecore_evas_x_alpha_set(Ecore_Evas *ee, int alpha)
         einfo->info.mask = ee->engine.x.mask;
 # endif /* XXX no shaped window support for software_16_x11 */
 
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.drawable = ee->prop.window;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
-	ecore_x_window_shape_mask_set(ee->engine.x.win, 0);
-	if (!ecore_evases_hash)
-	  ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-	eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+	ecore_x_window_shape_mask_set(ee->prop.window, 0);
+	ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
 	if (ee->prop.borderless)
-	  ecore_x_mwm_borderless_set(ee->engine.x.win, ee->prop.borderless);
-	if (ee->visible) ecore_x_window_show(ee->engine.x.win);
-	if (ee->prop.focused) ecore_x_window_focus(ee->engine.x.win);
+	  ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
+	if (ee->visible) ecore_x_window_show(ee->prop.window);
+	if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
 	if (ee->prop.title)
 	  {
-	     ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
-	     ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
+	     ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+	     ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
 	  }
 #endif /* BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
      }
 }
 #endif /* BUILD_ECORE_EVAS_X11 */
 
-static void *
-_ecore_evas_x_window_get(const Ecore_Evas *ee)
-{
-#ifdef BUILD_ECORE_EVAS_X11
-  return (void *) (long)ee->engine.x.win;
-#else
-   return 0;
-#endif /* BUILD_ECORE_EVAS_X11 */
-}
-
 #ifdef BUILD_ECORE_EVAS_X11
 static void
 _ecore_evas_x_show(Ecore_Evas *ee)
@@ -2023,15 +1754,15 @@ _ecore_evas_x_show(Ecore_Evas *ee)
    ee->should_be_visible = 1;
    if (ee->prop.avoid_damage)
      _ecore_evas_x_render(ee);
-   ecore_x_window_show(ee->engine.x.win);
+   ecore_x_window_show(ee->prop.window);
    if (ee->prop.fullscreen)
-     ecore_x_window_focus(ee->engine.x.win);
+     ecore_x_window_focus(ee->prop.window);
 }
 
 static void
 _ecore_evas_x_hide(Ecore_Evas *ee)
 {
-   ecore_x_window_hide(ee->engine.x.win);
+   ecore_x_window_hide(ee->prop.window);
    ee->should_be_visible = 0;
 }
 
@@ -2039,25 +1770,25 @@ static void
 _ecore_evas_x_raise(Ecore_Evas *ee)
 {
    if (!ee->prop.fullscreen)
-     ecore_x_window_raise(ee->engine.x.win);
+     ecore_x_window_raise(ee->prop.window);
    else
-     ecore_x_window_raise(ee->engine.x.win);
+     ecore_x_window_raise(ee->prop.window);
 }
 
 static void
 _ecore_evas_x_lower(Ecore_Evas *ee)
 {
    if (!ee->prop.fullscreen)
-     ecore_x_window_lower(ee->engine.x.win);
+     ecore_x_window_lower(ee->prop.window);
    else
-     ecore_x_window_lower(ee->engine.x.win);
+     ecore_x_window_lower(ee->prop.window);
 }
 
 static void
 _ecore_evas_x_activate(Ecore_Evas *ee)
 {
    ecore_x_netwm_client_active_request(ee->engine.x.win_root,
-				       ee->engine.x.win, 2, 0);
+				       ee->prop.window, 2, 0);
 }
 
 static void
@@ -2066,8 +1797,8 @@ _ecore_evas_x_title_set(Ecore_Evas *ee, const char *t)
    if (ee->prop.title) free(ee->prop.title);
    ee->prop.title = NULL;
    if (t) ee->prop.title = strdup(t);
-   ecore_x_icccm_title_set(ee->engine.x.win, ee->prop.title);
-   ecore_x_netwm_name_set(ee->engine.x.win, ee->prop.title);
+   ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
+   ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
 }
 
 static void
@@ -2079,7 +1810,7 @@ _ecore_evas_x_name_class_set(Ecore_Evas *ee, const char *n, const char *c)
    ee->prop.clas = NULL;
    ee->prop.name = strdup(n);
    ee->prop.clas = strdup(c);
-   ecore_x_icccm_name_class_set(ee->engine.x.win, ee->prop.name, ee->prop.clas);
+   ecore_x_icccm_name_class_set(ee->prop.window, ee->prop.name, ee->prop.clas);
 }
 
 static void
@@ -2127,6 +1858,16 @@ _ecore_evas_x_size_step_set(Ecore_Evas *ee, int w, int h)
 }
 
 static void
+_ecore_evas_object_cursor_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   Ecore_Evas *ee;
+
+   ee = data;
+   if (ee)
+     ee->prop.cursor.object = NULL;
+}
+
+static void
 _ecore_evas_x_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int hot_x, int hot_y)
 {
    int x, y;
@@ -2139,7 +1880,7 @@ _ecore_evas_x_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int
 	ee->prop.cursor.layer = 0;
 	ee->prop.cursor.hot.x = 0;
 	ee->prop.cursor.hot.y = 0;
-	ecore_x_window_cursor_show(ee->engine.x.win, 1);
+	ecore_x_window_cursor_show(ee->prop.window, 1);
 	return;
      }
 
@@ -2148,7 +1889,7 @@ _ecore_evas_x_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int
    ee->prop.cursor.hot.x = hot_x;
    ee->prop.cursor.hot.y = hot_y;
 
-   ecore_x_window_cursor_show(ee->engine.x.win, 0);
+   ecore_x_window_cursor_show(ee->prop.window, 0);
 
    evas_pointer_output_xy_get(ee->evas, &x, &y);
    evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
@@ -2158,6 +1899,8 @@ _ecore_evas_x_object_cursor_set(Ecore_Evas *ee, Evas_Object *obj, int layer, int
    evas_object_pass_events_set(ee->prop.cursor.object, 1);
    if (evas_pointer_inside_get(ee->evas))
      evas_object_show(ee->prop.cursor.object);
+
+   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _ecore_evas_object_cursor_del, ee);
 }
 
 /*
@@ -2186,7 +1929,7 @@ _ecore_evas_x_layer_set(Ecore_Evas *ee, int layer)
 static void
 _ecore_evas_x_focus_set(Ecore_Evas *ee, int on __UNUSED__)
 {
-   ecore_x_window_focus(ee->engine.x.win);
+   ecore_x_window_focus(ee->prop.window);
 }
 
 static void
@@ -2197,7 +1940,7 @@ _ecore_evas_x_iconified_set(Ecore_Evas *ee, int on)
    ee->prop.iconified = on;
    if (on)
      {
-	ecore_x_icccm_hints_set(ee->engine.x.win,
+	ecore_x_icccm_hints_set(ee->prop.window,
 				1 /* accepts_focus */,
 				ECORE_X_WINDOW_STATE_HINT_ICONIC /* initial_state */,
 				0 /* icon_pixmap */,
@@ -2205,11 +1948,11 @@ _ecore_evas_x_iconified_set(Ecore_Evas *ee, int on)
 				0 /* icon_window */,
 				0 /* window_group */,
 				0 /* is_urgent */);
-	ecore_x_icccm_iconic_request_send(ee->engine.x.win, ee->engine.x.win_root);
+	ecore_x_icccm_iconic_request_send(ee->prop.window, ee->engine.x.win_root);
      }
    else
      {
-	ecore_x_icccm_hints_set(ee->engine.x.win,
+	ecore_x_icccm_hints_set(ee->prop.window,
 				1 /* accepts_focus */,
 				ECORE_X_WINDOW_STATE_HINT_NORMAL /* initial_state */,
 				0 /* icon_pixmap */,
@@ -2227,7 +1970,7 @@ _ecore_evas_x_borderless_set(Ecore_Evas *ee, int on)
    if (((ee->prop.borderless) && (on)) ||
        ((!ee->prop.borderless) && (!on))) return;
    ee->prop.borderless = on;
-   ecore_x_mwm_borderless_set(ee->engine.x.win, ee->prop.borderless);
+   ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
 }
 
 /* FIXME: This function changes the initial state of the ee
@@ -2246,7 +1989,7 @@ _ecore_evas_x_withdrawn_set(Ecore_Evas *ee, int withdrawn)
    else
      hint = ECORE_X_WINDOW_STATE_HINT_NORMAL;
 
-   ecore_x_icccm_hints_set(ee->engine.x.win,
+   ecore_x_icccm_hints_set(ee->prop.window,
 			   1 /* accepts_focus */,
 			   hint /* initial_state */,
 			   0 /* icon_pixmap */,
@@ -2269,7 +2012,7 @@ _ecore_evas_x_sticky_set(Ecore_Evas *ee, int sticky)
     */
    ee->engine.x.state.sticky = sticky;
    if (ee->should_be_visible)
-     ecore_x_netwm_state_request_send(ee->engine.x.win, ee->engine.x.win_root,
+     ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
 				      ECORE_X_WINDOW_STATE_STICKY, -1, sticky);
    else
      _ecore_evas_x_state_update(ee);
@@ -2284,14 +2027,14 @@ _ecore_evas_x_ignore_events_set(Ecore_Evas *ee, int ignore)
    if (ignore)
      {
 	ee->ignore_events = 1;
-	if (ee->engine.x.win)
-	  ecore_x_window_ignore_set(ee->engine.x.win, 1);
+	if (ee->prop.window)
+	  ecore_x_window_ignore_set(ee->prop.window, 1);
      }
    else
      {
 	ee->ignore_events = 0;
-	if (ee->engine.x.win)
-	  ecore_x_window_ignore_set(ee->engine.x.win, 0);
+	if (ee->prop.window)
+	  ecore_x_window_ignore_set(ee->prop.window, 0);
      }
 }
 
@@ -2307,7 +2050,7 @@ _ecore_evas_x_reinit_win(Ecore_Evas *ee)
 	einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(ee->evas);
 	if (einfo)
 	  {
-	     einfo->info.drawable = ee->engine.x.win;
+	     einfo->info.drawable = ee->prop.window;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	  }
 #endif
@@ -2320,7 +2063,7 @@ _ecore_evas_x_reinit_win(Ecore_Evas *ee)
 	einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
 	if (einfo)
 	  {
-	     einfo->info.drawable = ee->engine.x.win;
+	     einfo->info.drawable = ee->prop.window;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	  }
 #endif
@@ -2333,7 +2076,7 @@ _ecore_evas_x_reinit_win(Ecore_Evas *ee)
 	einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
 	if (einfo)
 	  {
-	     einfo->info.drawable = ee->engine.x.win;
+	     einfo->info.drawable = ee->prop.window;
 	     evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	  }
 #endif
@@ -2346,10 +2089,10 @@ _ecore_evas_x_override_set(Ecore_Evas *ee, int on)
 {
    if (((ee->prop.override) && (on)) ||
        ((!ee->prop.override) && (!on))) return;
-   ecore_x_window_hide(ee->engine.x.win);
-   ecore_x_window_override_set(ee->engine.x.win, on);
-   if (ee->visible) ecore_x_window_show(ee->engine.x.win);
-   if (ee->prop.focused) ecore_x_window_focus(ee->engine.x.win);
+   ecore_x_window_hide(ee->prop.window);
+   ecore_x_window_override_set(ee->prop.window, on);
+   if (ee->visible) ecore_x_window_show(ee->prop.window);
+   if (ee->prop.focused) ecore_x_window_focus(ee->prop.window);
    ee->prop.override = on;
 }
 
@@ -2363,7 +2106,7 @@ _ecore_evas_x_fullscreen_set(Ecore_Evas *ee, int on)
     * i.e. reposition, resize, and change borderless hint */
    ee->engine.x.state.fullscreen = on;
    if (ee->should_be_visible)
-     ecore_x_netwm_state_request_send(ee->engine.x.win, ee->engine.x.win_root,
+     ecore_x_netwm_state_request_send(ee->prop.window, ee->engine.x.win_root,
 				      ECORE_X_WINDOW_STATE_FULLSCREEN, -1, on);
    else
      _ecore_evas_x_state_update(ee);
@@ -2376,7 +2119,7 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
    if (!strcmp(ee->driver, "opengl_x11")) return;
    if (!strcmp(ee->driver, "xrender_x11")) return;
 
-   if ((!strcmp(ee->driver, "software_x11")) || (!strcmp(ee->driver, "software_xcb")))
+   if (!strcmp(ee->driver, "software_x11"))
      {
 #if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 	Evas_Engine_Info_Software_X11 *einfo;
@@ -2387,8 +2130,8 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 	  {
 	     if (ee->prop.avoid_damage)
 	       {
-		  ee->engine.x.pmap = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, einfo->info.depth);
-		  ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap);
+		  ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, einfo->info.depth);
+		  ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
 		  einfo->info.drawable = ee->engine.x.pmap;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 		  if ((ee->rotation == 90) || (ee->rotation == 270))
@@ -2398,14 +2141,14 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 		  if (ee->prop.avoid_damage == ECORE_EVAS_AVOID_DAMAGE_BUILT_IN)
 		    {
 		       ee->engine.x.using_bg_pixmap = 1;
-		       ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
-		       ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
+		       ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
+		       ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
 		    }
 		  if (ee->engine.x.direct_resize)
 		    {
 		       /* Turn this off for now
 			  ee->engine.x.using_bg_pixmap = 1;
-			  ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
+			  ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
 		       */
 		    }
 	       }
@@ -2415,13 +2158,13 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 		  if (ee->engine.x.gc) ecore_x_gc_del(ee->engine.x.gc);
 		  if (ee->engine.x.using_bg_pixmap)
 		    {
-		       ecore_x_window_pixmap_set(ee->engine.x.win, 0);
+		       ecore_x_window_pixmap_set(ee->prop.window, 0);
 		       ee->engine.x.using_bg_pixmap = 0;
-		       ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
+		       ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
 		    }
 		  ee->engine.x.pmap = 0;
 		  ee->engine.x.gc = 0;
-		  einfo->info.drawable = ee->engine.x.win;
+		  einfo->info.drawable = ee->prop.window;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	       }
 	  }
@@ -2438,8 +2181,8 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 	  {
 	     if (ee->prop.avoid_damage)
 	       {
-		  ee->engine.x.pmap = ecore_x_pixmap_new(ee->engine.x.win, ee->w, ee->h, 16);
-		  ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap);
+		  ee->engine.x.pmap = ecore_x_pixmap_new(ee->prop.window, ee->w, ee->h, 16);
+		  ee->engine.x.gc = ecore_x_gc_new(ee->engine.x.pmap, 0, NULL);
 		  einfo->info.drawable = ee->engine.x.pmap;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 		  if ((ee->rotation == 90) || (ee->rotation == 270))
@@ -2450,7 +2193,7 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 		    {
 		       /* Turn this off for now
 			  ee->engine.x.using_bg_pixmap = 1;
-			  ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
+			  ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
 		       */
 		    }
 	       }
@@ -2460,12 +2203,12 @@ _ecore_evas_x_avoid_damage_set(Ecore_Evas *ee, int on)
 		  if (ee->engine.x.gc) ecore_x_gc_del(ee->engine.x.gc);
 		  if (ee->engine.x.using_bg_pixmap)
 		    {
-		       ecore_x_window_pixmap_set(ee->engine.x.win, 0);
+		       ecore_x_window_pixmap_set(ee->prop.window, 0);
 		       ee->engine.x.using_bg_pixmap = 0;
 		    }
 		  ee->engine.x.pmap = 0;
 		  ee->engine.x.gc = 0;
-		  einfo->info.drawable = ee->engine.x.win;
+		  einfo->info.drawable = ee->prop.window;
 		  evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
 	       }
 	  }
@@ -2482,11 +2225,12 @@ _ecore_evas_x_shutdown(void)
 	int i;
 
 	while (ecore_evases) _ecore_evas_free(ecore_evases);
-	for (i = 0; i < 18; i++)
+	for (i = 0; i < sizeof(ecore_evas_event_handlers) / sizeof(Ecore_Event_Handler*); i++)
 	  ecore_event_handler_del(ecore_evas_event_handlers[i]);
 	ecore_idle_enterer_del(ecore_evas_idle_enterer);
 	ecore_evas_idle_enterer = NULL;
 	if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_shutdown();
+	ecore_event_evas_shutdown();
      }
    if (_ecore_evas_init_count < 0) _ecore_evas_init_count = 0;
    return _ecore_evas_init_count;
@@ -2538,8 +2282,7 @@ static const Ecore_Evas_Engine_Func _ecore_x_engine_func =
      _ecore_evas_x_withdrawn_set,
      _ecore_evas_x_sticky_set,
      _ecore_evas_x_ignore_events_set,
-     _ecore_evas_x_alpha_set,
-     _ecore_evas_x_window_get
+     _ecore_evas_x_alpha_set
 };
 #endif /* BUILD_ECORE_EVAS_X11 */
 
@@ -2553,11 +2296,11 @@ static const Ecore_Evas_Engine_Func _ecore_x_engine_func =
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 EAPI Ecore_Evas *
 ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 			    int x, int y, int w, int h)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
    Evas_Engine_Info_Software_X11 *einfo;
    Ecore_Evas *ee;
    int argb = 0;
@@ -2576,11 +2319,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 
    ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_x_engine_func;
 
-# ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-   ee->driver = "software_xcb";
-# else
    ee->driver = "software_x11";
-# endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
    if (disp_name) ee->name = strdup(disp_name);
 
    if (w < 1) w = 1;
@@ -2610,17 +2349,17 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
        /* FIXME: round trip in ecore_x_window_argb_get */
 	if (ecore_x_window_argb_get(parent))
 	  {
-	     ee->engine.x.win = ecore_x_window_argb_new(parent, x, y, w, h);
+	     ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
 	     argb = 1;
 	  }
 	else
-	  ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+	  ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
      }
    else
-     ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+     ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
    if (getenv("DESKTOP_STARTUP_ID"))
      {
-	ecore_x_netwm_startup_id_set(ee->engine.x.win,
+	ecore_x_netwm_startup_id_set(ee->prop.window,
 				     getenv("DESKTOP_STARTUP_ID"));
 	/* NB: on linux this may simply empty the env as opposed to completely
 	 * unset it to being empty - unsure as solartis libc crashes looking
@@ -2639,7 +2378,6 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 
 	/* FIXME: this is inefficient as its a round trip */
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
-        einfo->info.backend = 1;
 	screen = ecore_x_default_screen_get();
         iter = xcb_setup_roots_iterator (xcb_get_setup (ecore_x_connection_get()));
 	if (iter.rem > 1)
@@ -2678,7 +2416,6 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
                }
 	  }
 # else
-        einfo->info.backend = 0;
 	screen = DefaultScreen(ecore_x_display_get());
 	if (ScreenCount(ecore_x_display_get()) > 1)
 	  {
@@ -2716,13 +2453,15 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 	       redraw_debug = 0;
 	  }
 # ifdef BUILD_ECORE_EVAS_SOFTWARE_XCB
+        einfo->info.backend = 1;
 	einfo->info.connection = ecore_x_connection_get();
 	einfo->info.screen = screen;
 # else
+        einfo->info.backend = 0;
 	einfo->info.connection = ecore_x_display_get();
 	einfo->info.screen = NULL;
 # endif /* ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.drawable = ee->prop.window;
 	if (argb)
 	  {
 	/* FIXME: round trip */
@@ -2732,8 +2471,8 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
              xcb_get_geometry_reply_t          *reply_geom;
              xcb_get_window_attributes_reply_t *reply_attr;
 
-	     cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->engine.x.win);
-	     cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->engine.x.win);
+	     cookie_geom = xcb_get_geometry_unchecked(ecore_x_connection_get(), ee->prop.window);
+	     cookie_attr = xcb_get_window_attributes_unchecked(ecore_x_connection_get(), ee->prop.window);
 
              reply_geom = xcb_get_geometry_reply(ecore_x_connection_get(), cookie_geom, NULL);
              reply_attr = xcb_get_window_attributes_reply(ecore_x_connection_get(), cookie_attr, NULL);
@@ -2749,7 +2488,7 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 # else
 	     XWindowAttributes at;
 
-	     if (XGetWindowAttributes(ecore_x_display_get(), ee->engine.x.win,
+	     if (XGetWindowAttributes(ecore_x_display_get(), ee->prop.window,
 				      &at))
 	       {
 		  einfo->info.visual   = at.visual;
@@ -2779,65 +2518,48 @@ ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent,
 	einfo->info.debug    = redraw_debug;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
-   if (!ecore_evases_hash)
-     ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+   ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
    return ee;
+}
 #else
+EAPI Ecore_Evas *
+ecore_evas_software_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
+			    int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_X11 && ! BUILD_ECORE_EVAS_SOFTWARE_XCB */
 }
+#endif
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 EAPI Ecore_X_Window
 ecore_evas_software_x11_window_get(const Ecore_Evas *ee)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
-  return (Ecore_X_Window) (long)_ecore_evas_x_window_get(ee);
-#else
-   return 0;
-#endif
+   return (Ecore_X_Window) ecore_evas_window_get(ee);
 }
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- */
+#else
 EAPI Ecore_X_Window
-ecore_evas_software_x11_subwindow_get(const Ecore_Evas *ee)
+ecore_evas_software_x11_window_get(const Ecore_Evas *ee __UNUSED__)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
-  return (Ecore_X_Window) (long)_ecore_evas_x_window_get(ee);
-#else
    return 0;
-#endif
 }
+#endif
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 EAPI void
 ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
    ee->engine.x.direct_resize = on;
    if (ee->prop.avoid_damage)
      {
@@ -2845,47 +2567,54 @@ ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on)
 	  {
 /* turn this off for now
 	     ee->engine.x.using_bg_pixmap = 1;
-	     ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
+	     ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
  */
 	  }
 	else
 	  {
 /* turn this off too- bg pixmap is controlled by avoid damage directly
 	     ee->engine.x.using_bg_pixmap = 0;
-	     ecore_x_window_pixmap_set(ee->engine.x.win, 0);
-	     ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
+	     ecore_x_window_pixmap_set(ee->prop.window, 0);
+	     ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
  */
 	  }
      }
+}
 #else
-   return;
-#endif
+EAPI void
+ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee __UNUSED__, int on __UNUSED__)
+{
 }
+#endif
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 EAPI int
 ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
    return ee->engine.x.direct_resize;
+}
 #else
+EAPI int
+ecore_evas_software_x11_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
+{
    return 0;
-#endif
 }
+#endif
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
 EAPI void
 ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
 {
-#if defined (BUILD_ECORE_EVAS_SOFTWARE_X11) || defined (BUILD_ECORE_EVAS_SOFTWARE_XCB)
    Ecore_X_Window *winp;
 
    winp = malloc(sizeof(Ecore_X_Window));
@@ -2893,24 +2622,26 @@ ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window wi
      {
 	*winp = win;
 	ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
-	if (!ecore_evases_hash)
-	  ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-	eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(win), ee);
+	ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
      }
+}
 #else
-#endif
+EAPI void
+ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Window win __UNUSED__)
+{
 }
+#endif
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 EAPI Ecore_Evas *
 ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
 		      int x, int y, int w, int h)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 # ifdef HAVE_ECORE_X_XCB
    Ecore_Evas *ee = NULL;
 # else
@@ -2959,139 +2690,123 @@ ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent,
    einfo = (Evas_Engine_Info_GL_X11 *)evas_engine_info_get(ee->evas);
    if (einfo)
      {
-	ee->engine.x.win = _ecore_evas_x_gl_window_new(ee, ee->engine.x.win_root, x, y, w, h, 0);
+	ee->prop.window = _ecore_evas_x_gl_window_new(ee, ee->engine.x.win_root, x, y, w, h, 0);
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
    if (getenv("DESKTOP_STARTUP_ID"))
      {
-	ecore_x_netwm_startup_id_set(ee->engine.x.win,
+	ecore_x_netwm_startup_id_set(ee->prop.window,
 				     getenv("DESKTOP_STARTUP_ID"));
 	/* NB: on linux this may simply empty the env as opposed to completely
 	 * unset it to being empty - unsure as solartis libc crashes looking
 	 * for the '=' char */
 //	putenv((char*)"DESKTOP_STARTUP_ID=");
      }
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
-   if (!ecore_evases_hash)
-     ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+   ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
 # endif /* HAVE_ECORE_X_XCB */
 
    return ee;
+}
 #else
-   disp_name = NULL;
-   parent = 0;
-   x = y = w = h = 0;
+EAPI Ecore_Evas *
+ecore_evas_gl_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
+		      int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 EAPI Ecore_X_Window
 ecore_evas_gl_x11_window_get(const Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
-   return 0;
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
+   return (Ecore_X_Window) ecore_evas_window_get(ee);
 }
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- */
+#else
 EAPI Ecore_X_Window
-ecore_evas_gl_x11_subwindow_get(const Ecore_Evas *ee)
+ecore_evas_gl_x11_window_get(const Ecore_Evas *ee __UNUSED__)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 EAPI void
 ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
    ee->engine.x.direct_resize = on;
+}
 #else
-   return;
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
+EAPI void
+ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee __UNUSED__, int on __UNUSED__)
+{
 }
+#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 EAPI int
 ecore_evas_gl_x11_direct_resize_get(const Ecore_Evas *ee)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
    return ee->engine.x.direct_resize;
+}
 #else
+EAPI int
+ecore_evas_gl_x11_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
+{
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#ifdef BUILD_ECORE_EVAS_OPENGL_X11
 EAPI void
 ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
 {
-#ifdef BUILD_ECORE_EVAS_OPENGL_X11
    ecore_evas_software_x11_extra_event_window_add(ee, win);
-#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 }
+#else
+EAPI void
+ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Window win __UNUSED__)
+{
+}
+#endif /* ! BUILD_ECORE_EVAS_OPENGL_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 EAPI Ecore_Evas *
 ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
 		      int x, int y, int w, int h)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-   Evas_Engine_Info_XRender_Xcb *einfo;
-# else
    Evas_Engine_Info_XRender_X11 *einfo;
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
    Ecore_Evas *ee;
    int rmethod;
 
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-   rmethod = evas_render_method_lookup("xrender_xcb");
-# else
    rmethod = evas_render_method_lookup("xrender_x11");
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
    if (!rmethod) return NULL;
    if (!ecore_x_init(disp_name)) return NULL;
    ee = calloc(1, sizeof(Ecore_Evas));
@@ -3103,11 +2818,7 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
 
    ee->engine.func = (Ecore_Evas_Engine_Func *)&_ecore_x_engine_func;
 
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-   ee->driver = "xrender_xcb";
-# else
    ee->driver = "xrender_x11";
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
    if (disp_name) ee->name = strdup(disp_name);
 
    if (w < 1) w = 1;
@@ -3132,21 +2843,17 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
    evas_output_viewport_set(ee->evas, 0, 0, w, h);
 
    ee->engine.x.win_root = parent;
-   ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+   ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
    if (getenv("DESKTOP_STARTUP_ID"))
      {
-	ecore_x_netwm_startup_id_set(ee->engine.x.win,
+	ecore_x_netwm_startup_id_set(ee->prop.window,
 				     getenv("DESKTOP_STARTUP_ID"));
 	/* NB: on linux this may simply empty the env as opposed to completely
 	 * unset it to being empty - unsure as solartis libc crashes looking
 	 * for the '=' char */
 //	putenv((char*)"DESKTOP_STARTUP_ID=");
      }
-# ifdef BUILD_ECORE_EVAS_XRENDER_XCB
-   einfo = (Evas_Engine_Info_XRender_Xcb *)evas_engine_info_get(ee->evas);
-# else
    einfo = (Evas_Engine_Info_XRender_X11 *)evas_engine_info_get(ee->evas);
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
    if (einfo)
      {
 # ifdef BUILD_ECORE_EVAS_XRENDER_XCB
@@ -3191,11 +2898,11 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
                   if (reply) free(reply);
                }
 	  }
-	einfo->info.conn   = ecore_x_connection_get();
-        /* FIXME: uncomment that once the XCB render engine has that member */
-/*	einfo->info.screen = screen; */
+	einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB;
+	einfo->info.connection = ecore_x_connection_get();
+	einfo->info.screen = screen;
 	einfo->info.visual = screen->root_visual;
-# else
+# elif BUILD_ECORE_EVAS_XRENDER_X11
 	int screen;
 
 	/* FIXME: this is inefficient as its a round trip */
@@ -3226,117 +2933,112 @@ ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent,
 		  free(roots);
 	       }
 	  }
-	einfo->info.display  = ecore_x_display_get();
-	einfo->info.visual   = DefaultVisual(ecore_x_display_get(), screen);
-# endif /* ! BUILD_ECORE_EVAS_XRENDER_XCB */
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.backend = EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB;
+	einfo->info.connection = ecore_x_display_get();
+	einfo->info.screen = NULL;
+	einfo->info.visual = DefaultVisual(ecore_x_display_get(), screen);
+# endif /* BUILD_ECORE_EVAS_XRENDER_(XCB|X11) */
+	einfo->info.drawable = ee->prop.window;
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
-   if (!ecore_evases_hash)
-     ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+   ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
    return ee;
+}
 #else
+EAPI Ecore_Evas *
+ecore_evas_xrender_x11_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
+                           int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 }
+#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 EAPI Ecore_X_Window
 ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
-   return 0;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
+   return (Ecore_X_Window) ecore_evas_window_get(ee);
 }
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- */
+#else
 EAPI Ecore_X_Window
-ecore_evas_xrender_x11_subwindow_get(const Ecore_Evas *ee)
+ecore_evas_xrender_x11_window_get(const Ecore_Evas *ee __UNUSED__)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 }
+#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 EAPI void
 ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
    ee->engine.x.direct_resize = on;
+}
 #else
-   return;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
+EAPI void
+ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee __UNUSED__, int on __UNUSED__)
+{
 }
+#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 EAPI int
 ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
    return ee->engine.x.direct_resize;
+}
 #else
+EAPI int
+ecore_evas_xrender_x11_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
+{
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 }
+#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
 EAPI void
 ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
 {
-#if defined (BUILD_ECORE_EVAS_XRENDER_X11) || defined (BUILD_ECORE_EVAS_XRENDER_XCB)
    ecore_evas_software_x11_extra_event_window_add(ee, win);
+}
 #else
-   return;
-#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
+EAPI void
+ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Window win __UNUSED__)
+{
 }
+#endif /* ! BUILD_ECORE_EVAS_XRENDER_X11 && ! BUILD_ECORE_EVAS_XRENDER_XCB */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
 EAPI Ecore_Evas *
 ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
                                int x, int y, int w, int h)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
    Evas_Engine_Info_Software_16_X11 *einfo;
    Ecore_Evas *ee;
    int argb = 0;
@@ -3385,17 +3087,17 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
        /* FIXME: round trip in ecore_x_window_argb_get */
 	if (ecore_x_window_argb_get(parent))
 	  {
-	     ee->engine.x.win = ecore_x_window_argb_new(parent, x, y, w, h);
+	     ee->prop.window = ecore_x_window_argb_new(parent, x, y, w, h);
 	     argb = 1;
 	  }
 	else
-	  ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+	  ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
      }
    else
-     ee->engine.x.win = ecore_x_window_new(parent, x, y, w, h);
+     ee->prop.window = ecore_x_window_new(parent, x, y, w, h);
    if (getenv("DESKTOP_STARTUP_ID"))
      {
-	ecore_x_netwm_startup_id_set(ee->engine.x.win,
+	ecore_x_netwm_startup_id_set(ee->prop.window,
 				     getenv("DESKTOP_STARTUP_ID"));
 	/* NB: on linux this may simply empty the env as opposed to completely
 	 * unset it to being empty - unsure as solartis libc crashes looking
@@ -3444,69 +3146,52 @@ ecore_evas_software_x11_16_new(const char *disp_name, Ecore_X_Window parent,
 	       redraw_debug = 0;
 	  }
 	einfo->info.display  = ecore_x_display_get();
-	einfo->info.drawable = ee->engine.x.win;
+	einfo->info.drawable = ee->prop.window;
 
 	evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
      }
-   evas_key_modifier_add(ee->evas, "Shift");
-   evas_key_modifier_add(ee->evas, "Control");
-   evas_key_modifier_add(ee->evas, "Alt");
-   evas_key_modifier_add(ee->evas, "Meta");
-   evas_key_modifier_add(ee->evas, "Hyper");
-   evas_key_modifier_add(ee->evas, "Super");
-   evas_key_lock_add(ee->evas, "Caps_Lock");
-   evas_key_lock_add(ee->evas, "Num_Lock");
-   evas_key_lock_add(ee->evas, "Scroll_Lock");
 
    ecore_evases = _ecore_list2_prepend(ecore_evases, ee);
-   if (!ecore_evases_hash)
-     ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-   eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(ee->engine.x.win), ee);
+   ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
    return ee;
+}
 #else
+EAPI Ecore_Evas *
+ecore_evas_software_x11_16_new(const char *disp_name __UNUSED__, Ecore_X_Window parent __UNUSED__,
+                               int x __UNUSED__, int y __UNUSED__, int w __UNUSED__, int h __UNUSED__)
+{
    return NULL;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
 EAPI Ecore_X_Window
 ecore_evas_software_x11_16_window_get(const Ecore_Evas *ee)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
-   return 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
+   return (Ecore_X_Window) ecore_evas_window_get(ee);
 }
-
-/**
- * To be documented.
- *
- * FIXME: To be fixed.
- */
+#else
 EAPI Ecore_X_Window
-ecore_evas_software_x11_16_subwindow_get(const Ecore_Evas *ee)
+ecore_evas_software_x11_16_window_get(const Ecore_Evas *ee __UNUSED__)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
-   return (Ecore_X_Window) _ecore_evas_x_window_get(ee);
-#else
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
 EAPI void
 ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
    ee->engine.x.direct_resize = on;
    if (ee->prop.avoid_damage)
      {
@@ -3514,47 +3199,54 @@ ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee, int on)
 	  {
 /* turn this off for now
 	     ee->engine.x.using_bg_pixmap = 1;
-	     ecore_x_window_pixmap_set(ee->engine.x.win, ee->engine.x.pmap);
+	     ecore_x_window_pixmap_set(ee->prop.window, ee->engine.x.pmap);
  */
 	  }
 	else
 	  {
 /* turn this off too- bg pixmap is controlled by avoid damage directly
 	     ee->engine.x.using_bg_pixmap = 0;
-	     ecore_x_window_pixmap_set(ee->engine.x.win, 0);
-	     ecore_x_window_area_expose(ee->engine.x.win, 0, 0, ee->w, ee->h);
+	     ecore_x_window_pixmap_set(ee->prop.window, 0);
+	     ecore_x_window_area_expose(ee->prop.window, 0, 0, ee->w, ee->h);
  */
 	  }
      }
+}
 #else
-   return;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
+EAPI void
+ecore_evas_software_x11_16_direct_resize_set(Ecore_Evas *ee __UNUSED__, int on __UNUSED__)
+{
 }
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
 EAPI int
 ecore_evas_software_x11_16_direct_resize_get(const Ecore_Evas *ee)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
    return ee->engine.x.direct_resize;
+}
 #else
+EAPI int
+ecore_evas_software_x11_16_direct_resize_get(const Ecore_Evas *ee __UNUSED__)
+{
    return 0;
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 }
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
 
 /**
  * To be documented.
  *
  * FIXME: To be fixed.
  */
+#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
 EAPI void
 ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win)
 {
-#if BUILD_ECORE_EVAS_SOFTWARE_16_X11
    Ecore_X_Window *winp;
 
    winp = malloc(sizeof(Ecore_X_Window));
@@ -3562,10 +3254,12 @@ ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window
      {
 	*winp = win;
 	ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
-	if(!ecore_evases_hash)
-	  ecore_evases_hash = eina_hash_string_superfast_new(NULL);
-	eina_hash_add(ecore_evases_hash, _ecore_evas_x_winid_str_get(win), ee);
+	ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
      }
+}
 #else
-#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
+EAPI void
+ecore_evas_software_x11_16_extra_event_window_add(Ecore_Evas *ee __UNUSED__, Ecore_X_Window win __UNUSED__)
+{
 }
+#endif /* ! BUILD_ECORE_EVAS_SOFTWARE_16_X11 */
diff --git a/src/lib/ecore_fb/Makefile.am b/src/lib/ecore_fb/Makefile.am
index bbdc934..2d82071 100644
--- a/src/lib/ecore_fb/Makefile.am
+++ b/src/lib/ecore_fb/Makefile.am
@@ -3,6 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at TSLIB_CFLAGS@ \
 @EINA_CFLAGS@
 
 if BUILD_ECORE_FB
@@ -21,11 +22,11 @@ ecore_fb_ts.c
 # ecore_fb_ps2.c
 
 libecore_fb_la_LIBADD = \
- at tslib_libs@ \
+ at TSLIB_LIBS@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
 @EINA_LIBS@
 
-libecore_fb_la_LDFLAGS = -version-info @version_info@
+libecore_fb_la_LDFLAGS = -version-info @version_info@ @ecore_fb_release_info@
 
 endif
 
diff --git a/src/lib/ecore_fb/Makefile.in b/src/lib/ecore_fb/Makefile.in
index af2df25..7121bef 100644
--- a/src/lib/ecore_fb/Makefile.in
+++ b/src/lib/ecore_fb/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -113,72 +117,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -187,8 +176,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -203,6 +190,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -243,6 +232,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -266,6 +257,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -286,36 +278,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -335,6 +347,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -343,17 +356,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -362,7 +382,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -371,6 +390,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at TSLIB_CFLAGS@ \
 @EINA_CFLAGS@
 
 @BUILD_ECORE_FB_TRUE at lib_LTLIBRARIES = libecore_fb.la
@@ -387,11 +407,11 @@ AM_CPPFLAGS = \
 # ecore_fb_kbd.c
 # ecore_fb_ps2.c
 @BUILD_ECORE_FB_TRUE at libecore_fb_la_LIBADD = \
- at BUILD_ECORE_FB_TRUE@@tslib_libs@ \
+ at BUILD_ECORE_FB_TRUE@@TSLIB_LIBS@ \
 @BUILD_ECORE_FB_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_FB_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_FB_TRUE@libecore_fb_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_FB_TRUE@libecore_fb_la_LDFLAGS = -version-info @version_info@ @ecore_fb_release_info@
 EXTRA_DIST = \
 ecore_fb_private.h \
 ecore_fb_keytable.h
diff --git a/src/lib/ecore_fb/ecore_fb_li.c b/src/lib/ecore_fb/ecore_fb_li.c
index bc0e11f..7b864e8 100644
--- a/src/lib/ecore_fb/ecore_fb_li.c
+++ b/src/lib/ecore_fb/ecore_fb_li.c
@@ -11,7 +11,7 @@
 
 #define CLICK_THRESHOLD_DEFAULT 0.25
 
-static Ecore_List *_ecore_fb_li_devices = NULL;
+static Eina_List *_ecore_fb_li_devices = NULL;
 
 static const char *_ecore_fb_li_kbd_syms[128 * 6] =
 {
@@ -258,15 +258,15 @@ _ecore_fb_li_device_event_rel(Ecore_Fb_Input_Device *dev, struct input_event *ie
 static void
 _ecore_fb_li_device_event_abs(Ecore_Fb_Input_Device *dev, struct input_event *iev)
 {
+	static int prev_pressure = 0;
+	int pressure;
+
 	if(!dev->listen)
 		return;
 	switch(iev->code)
 	{
 		case ABS_X:
-		case ABS_Y:
-		{
-			Ecore_Fb_Event_Mouse_Move *ev;
-			if((iev->code == ABS_X) && (dev->mouse.w != 0))
+			if(dev->mouse.w != 0)
 			{
 				int tmp;
 
@@ -277,8 +277,12 @@ _ecore_fb_li_device_event_abs(Ecore_Fb_Input_Device *dev, struct input_event *ie
 					dev->mouse.x = dev->mouse.w;
 				else
 					dev->mouse.x = tmp;
+				dev->mouse.event = ECORE_FB_EVENT_MOUSE_MOVE;
 			}
-			else if((iev->code == ABS_Y) && (dev->mouse.h != 0))
+			break;
+
+		case ABS_Y:
+			if(dev->mouse.h != 0)
 			{
 				int tmp;
 
@@ -289,21 +293,62 @@ _ecore_fb_li_device_event_abs(Ecore_Fb_Input_Device *dev, struct input_event *ie
 					dev->mouse.y = dev->mouse.h;
 				else
 					dev->mouse.y = tmp;
+				dev->mouse.event = ECORE_FB_EVENT_MOUSE_MOVE;
 			}
-			ev = calloc(1,sizeof(Ecore_Fb_Event_Mouse_Move));
-			ev->x = dev->mouse.x;
-			ev->y = dev->mouse.y;
-			ev->dev = dev;
-
-			ecore_event_add(ECORE_FB_EVENT_MOUSE_MOVE, ev, NULL, NULL);
 			break;
-		}
+
 		case ABS_PRESSURE:
-			/* TODO emulate a button press */
+			pressure = iev->value;
+			if ((pressure) && (!prev_pressure))
+			{
+				/* DOWN: mouse is down, but was not now */
+				dev->mouse.event = ECORE_FB_EVENT_MOUSE_BUTTON_DOWN;
+			}
+			else if ((!pressure) && (prev_pressure))
+			{
+				/* UP: mouse was down, but is not now */
+				dev->mouse.event = ECORE_FB_EVENT_MOUSE_BUTTON_UP;
+			}
+			prev_pressure = pressure;
 			break;
 	}
 }
 
+static void
+_ecore_fb_li_device_event_syn(Ecore_Fb_Input_Device *dev, struct input_event *iev)
+{
+	if(!dev->listen)
+		return;
+
+	if(dev->mouse.event == ECORE_FB_EVENT_MOUSE_MOVE)
+	{
+		Ecore_Fb_Event_Mouse_Move *ev;
+		ev = calloc(1,sizeof(Ecore_Fb_Event_Mouse_Move));
+		ev->x = dev->mouse.x;
+		ev->y = dev->mouse.y;
+		ev->dev = dev;
+		ecore_event_add(ECORE_FB_EVENT_MOUSE_MOVE, ev, NULL, NULL);
+	}
+	else if(dev->mouse.event == ECORE_FB_EVENT_MOUSE_BUTTON_DOWN)
+	{
+		Ecore_Fb_Event_Mouse_Button_Down *ev;
+		ev = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Down));
+		ev->x = dev->mouse.x;
+		ev->y = dev->mouse.y;
+		ev->button = 1;
+		ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
+	}
+	else if(dev->mouse.event == ECORE_FB_EVENT_MOUSE_BUTTON_UP)
+	{
+		Ecore_Fb_Event_Mouse_Button_Up *ev;
+		ev = calloc(1, sizeof(Ecore_Fb_Event_Mouse_Button_Up));
+		ev->x = dev->mouse.x;
+		ev->y = dev->mouse.y;
+		ev->button = 1;
+		ecore_event_add(ECORE_FB_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
+	}
+}
+
 static int
 _ecore_fb_li_device_fd_callback(void *data, Ecore_Fd_Handler *fdh)
 {
@@ -320,6 +365,9 @@ _ecore_fb_li_device_fd_callback(void *data, Ecore_Fd_Handler *fdh)
 	{
 		switch(ev[i].type)
 		{
+			case EV_SYN:
+				_ecore_fb_li_device_event_syn(dev, &ev[i]);
+				break;
 			case EV_ABS:
 				_ecore_fb_li_device_event_abs(dev, &ev[i]);
 				break;
@@ -374,9 +422,6 @@ ecore_fb_input_device_open(const char *dev)
 	device = calloc(1, sizeof(Ecore_Fb_Input_Device));
 	if(!device) return NULL;
 
-	if(!_ecore_fb_li_devices)
-		_ecore_fb_li_devices = ecore_list_new();
-
 	if((fd = open(dev, O_RDONLY, O_NONBLOCK)) < 0)
 	{
 		fprintf(stderr, "[ecore_fb_li:device_open] %s %s", dev, strerror(errno));
@@ -433,7 +478,7 @@ ecore_fb_input_device_open(const char *dev)
 			break;
 		}
 	}
-	ecore_list_append(_ecore_fb_li_devices, device);
+	_ecore_fb_li_devices = eina_list_append(_ecore_fb_li_devices, device);
 	return device;
 
 	error_caps:
@@ -450,8 +495,7 @@ ecore_fb_input_device_close(Ecore_Fb_Input_Device *dev)
 	/* close the fd */
 	close(dev->fd);
 	/* remove the element from the list */
-	if(ecore_list_goto(_ecore_fb_li_devices, dev))
-		ecore_list_remove(_ecore_fb_li_devices);
+	_ecore_fb_li_devices = eina_list_remove(_ecore_fb_li_devices, dev);
 	free(dev);
 }
 
diff --git a/src/lib/ecore_fb/ecore_fb_private.h b/src/lib/ecore_fb/ecore_fb_private.h
index 6b56281..0732361 100644
--- a/src/lib/ecore_fb/ecore_fb_private.h
+++ b/src/lib/ecore_fb/ecore_fb_private.h
@@ -20,8 +20,8 @@
  #define kernel_ulong_t unsigned long 
  #define BITS_PER_LONG 32
  #include <linux/input.h>
- #undef kernel_ulong_t <-added
- #undef BITS_PER_LONG <-added
+ #undef kernel_ulong_t
+ #undef BITS_PER_LONG
 #else
  #include <linux/input.h>
 #endif
@@ -53,7 +53,7 @@ struct _Ecore_Fb_Input_Device
 		/* absolute axis */
 		int min_w, min_h;
 		double rel_w, rel_h;
-
+		int event;
 	} mouse;
 	struct
 	{
diff --git a/src/lib/ecore_file/Ecore_File.h b/src/lib/ecore_file/Ecore_File.h
index 03c2355..c9c7c92 100644
--- a/src/lib/ecore_file/Ecore_File.h
+++ b/src/lib/ecore_file/Ecore_File.h
@@ -69,9 +69,12 @@ extern "C" {
    EAPI int         ecore_file_exists       (const char *file);
    EAPI int         ecore_file_is_dir       (const char *file);
    EAPI int         ecore_file_mkdir        (const char *dir);
+   EAPI int         ecore_file_mkdirs       (const char **dirs);
+   EAPI int         ecore_file_mksubdirs    (const char *base, const char **subdirs);
    EAPI int         ecore_file_rmdir        (const char *dir);
    EAPI int         ecore_file_recursive_rm (const char *dir);
    EAPI int         ecore_file_mkpath       (const char *path);
+   EAPI int         ecore_file_mkpaths      (const char **paths);
    EAPI int         ecore_file_cp           (const char *src, const char *dst);
    EAPI int         ecore_file_mv           (const char *src, const char *dst);
    EAPI int         ecore_file_symlink      (const char *src, const char *dest);
@@ -84,7 +87,7 @@ extern "C" {
    EAPI int         ecore_file_can_write    (const char *file);
    EAPI int         ecore_file_can_exec     (const char *file);
    EAPI char       *ecore_file_readlink     (const char *link);
-   EAPI Ecore_List *ecore_file_ls           (const char *dir);
+   EAPI Eina_List  *ecore_file_ls           (const char *dir);
    EAPI char       *ecore_file_app_exe_get  (const char *app);
    EAPI char       *ecore_file_escape_name  (const char *filename);
    EAPI char       *ecore_file_strip_ext    (const char *file);
@@ -100,7 +103,7 @@ extern "C" {
 
    EAPI int         ecore_file_path_dir_exists(const char *in_dir);
    EAPI int         ecore_file_app_installed(const char *exe);
-   EAPI Ecore_List *ecore_file_app_list(void);
+   EAPI Eina_List  *ecore_file_app_list(void);
 
    EAPI int         ecore_file_download(const char *url, const char *dst,
 					void (*completion_cb)(void *data,
diff --git a/src/lib/ecore_file/Makefile.am b/src/lib/ecore_file/Makefile.am
index 01978f0..dc54468 100644
--- a/src/lib/ecore_file/Makefile.am
+++ b/src/lib/ecore_file/Makefile.am
@@ -4,6 +4,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_con \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_FILE_BUILD@ \
 @CURL_CFLAGS@ \
 @EVIL_CFLAGS@ \
 @EINA_CFLAGS@ \
@@ -34,7 +35,7 @@ $(lib_ecore_con_la) \
 @EVIL_LIBS@ \
 @EINA_LIBS@
 
-libecore_file_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_file_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_file_release_info@
 
 endif
 
diff --git a/src/lib/ecore_file/Makefile.in b/src/lib/ecore_file/Makefile.in
index 4c246d4..a99b213 100644
--- a/src/lib/ecore_file/Makefile.in
+++ b/src/lib/ecore_file/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -118,72 +122,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -192,8 +181,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -208,6 +195,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -248,6 +237,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -271,6 +262,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -291,36 +283,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -340,6 +352,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -348,17 +361,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -367,7 +387,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -377,6 +396,7 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_con \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_FILE_BUILD@ \
 @CURL_CFLAGS@ \
 @EVIL_CFLAGS@ \
 @EINA_CFLAGS@ \
@@ -400,7 +420,7 @@ AM_CFLAGS = @WIN32_CFLAGS@
 @BUILD_ECORE_FILE_TRUE@@EVIL_LIBS@ \
 @BUILD_ECORE_FILE_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_FILE_TRUE@libecore_file_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_FILE_TRUE@libecore_file_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_file_release_info@
 EXTRA_DIST = ecore_file_private.h
 all: all-am
 
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index eb3f4f0..31a8e88 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -6,6 +6,7 @@
 # include <config.h>
 #endif
 
+#include <Ecore_Str.h>
 #include <stdio.h>
 #include <string.h>
 #include <sys/types.h>
@@ -54,7 +55,7 @@ ecore_file_init()
 //     goto error;
    return init;
 
-error:
+//error:
 
    ecore_file_monitor_shutdown();
    ecore_file_path_shutdown();
@@ -155,6 +156,117 @@ ecore_file_mkdir(const char *dir)
 }
 
 /**
+ * Create complete directory in a batch.
+ *
+ * @param dirs list of directories, null terminated.
+ * @return number of successfull directories created, -1 if dirs is NULL.
+ *
+ * @see ecore_file_mkdir() and ecore_file_mkpaths()
+ */
+EAPI int
+ecore_file_mkdirs(const char **dirs)
+{
+   if (!dirs) return -1;
+   int i = 0;
+   for (; *dirs != NULL; dirs++)
+     if (ecore_file_mkdir(*dirs))
+       i++;
+   return i;
+}
+
+/**
+ * Create complete list of sub-directories in a batch (optimized).
+ *
+ * @param base the base directory to act on, will be created if does
+ *     not exists.
+ * @param subdirs list of directories, null terminated. These are
+ *     created similarly to ecore_file_mkdir(), so same mode and whole
+ *     path to that point must exists. So if creating base/a/b/c,
+ *     provide subdirs with "a", "a/b" and "a/b/c" in that order!
+ *
+ * @return number of successfull directories created, -1 if subdirs or
+ *     base is NULL or invalid.
+ *
+ * @see ecore_file_mkdir() and ecore_file_mkpaths()
+ */
+EAPI int
+ecore_file_mksubdirs(const char *base, const char **subdirs)
+{
+#ifndef HAVE_ATFILE_SOURCE
+   char buf[PATH_MAX];
+   int baselen;
+#else
+   int fd;
+   DIR *dir;
+#endif
+   int i;
+
+   if (!subdirs) return -1;
+   if ((!base) || (base[0] == '\0')) return -1;
+
+   if ((!ecore_file_is_dir(base)) && (!ecore_file_mkpath(base)))
+     return 0;
+
+#ifndef HAVE_ATFILE_SOURCE
+   baselen = ecore_strlcpy(buf, base, sizeof(buf));
+   if ((baselen < 1) || (baselen + 1 >= (int)sizeof(buf)))
+     return 0;
+
+   if (buf[baselen - 1] != '/')
+     {
+	buf[baselen] = '/';
+	baselen++;
+     }
+#else
+   dir = opendir(base);
+   if (!dir)
+     return 0;
+   fd = dirfd(dir);
+#endif
+
+   i = 0;
+   for (; *subdirs != NULL; subdirs++)
+     {
+	struct stat st;
+
+#ifndef HAVE_ATFILE_SOURCE
+	ecore_strlcpy(buf + baselen, *subdirs, sizeof(buf) - baselen);
+	if (stat(buf, &st) == 0)
+#else
+	if (fstatat(fd, *subdirs, &st, 0) == 0)
+#endif
+	  {
+	     if (S_ISDIR(st.st_mode))
+	       {
+		  i++;
+		  continue;
+	       }
+	  }
+	else
+	  {
+	     if (errno == ENOENT)
+	       {
+#ifndef HAVE_ATFILE_SOURCE
+		  if (mkdir(buf, default_mode) == 0)
+#else
+		  if (mkdirat(fd, *subdirs, default_mode) == 0)
+#endif
+		    {
+		       i++;
+		       continue;
+		    }
+		 }
+	    }
+     }
+
+#ifdef HAVE_ATFILE_SOURCE
+   closedir(dir);
+#endif
+
+   return i;
+}
+
+/**
  * Delete the given dir
  * @param  dir The name of the directory to delete
  * @return 1 on success, 0 on failure
@@ -231,36 +343,65 @@ ecore_file_recursive_rm(const char *dir)
    return 1;
 }
 
+static inline int
+_ecore_file_mkpath_if_not_exists(const char *path)
+{
+   struct stat st;
+   if (stat(path, &st) < 0)
+     return ecore_file_mkdir(path);
+   else if (!S_ISDIR(st.st_mode))
+     return 0;
+   else
+     return 1;
+}
+
 /**
  * Create a complete path
  * @param  path The path to create
  * @return 1 on success, 0 on failure
+ *
+ * @see ecore_file_mkpaths() and ecore_file_mkdir()
  */
 EAPI int
 ecore_file_mkpath(const char *path)
 {
    char ss[PATH_MAX];
-   int  i;
+   unsigned int i;
 
-   ss[0] = 0;
-   i = 0;
-   while (path[i])
+   if (ecore_file_is_dir(path))
+     return 1;
+
+   for (i = 0; path[i] != '\0'; ss[i] = path[i], i++)
      {
 	if (i == sizeof(ss) - 1) return 0;
-	ss[i] = path[i];
-	ss[i + 1] = 0;
-	if (path[i] == '/')
+	if ((path[i] == '/') && (i > 0))
 	  {
-	     ss[i] = 0;
-	     if ((ecore_file_exists(ss)) && (!ecore_file_is_dir(ss))) return 0;
-	     else if (!ecore_file_exists(ss)) ecore_file_mkdir(ss);
-	     ss[i] = '/';
+	     ss[i] = '\0';
+	     if (!_ecore_file_mkpath_if_not_exists(ss))
+	       return 0;
 	  }
-	i++;
      }
-   if ((ecore_file_exists(ss)) && (!ecore_file_is_dir(ss))) return 0;
-   else if (!ecore_file_exists(ss)) ecore_file_mkdir(ss);
-   return 1;
+   ss[i] = '\0';
+   return _ecore_file_mkpath_if_not_exists(ss);
+}
+
+/**
+ * Create complete paths in a batch.
+ *
+ * @param paths list of paths, null terminated.
+ * @return number of successfull paths created, -1 if paths is NULL.
+ *
+ * @see ecore_file_mkpath() and ecore_file_mkdirs()
+ */
+EAPI int
+ecore_file_mkpaths(const char **paths)
+{
+   if (!paths) return -1;
+   int i = 0;
+   for (; *paths != NULL; paths++)
+     if (ecore_file_mkpath(*paths))
+       i++;
+   return i;
 }
 
 /**
@@ -509,36 +650,32 @@ ecore_file_readlink(const char *link)
  * For more information see the manual pages of strcoll and setlocale.
  * The list will not contain the directory entries for '.' and '..'.
  * @param  dir The name of the directory to list
- * @return Return an Ecore_List containing all the files in the directory;
+ * @return Return an Eina_List containing all the files in the directory;
  *         on failure it returns NULL.
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_file_ls(const char *dir)
 {
    char               *f;
    DIR                *dirp;
    struct dirent      *dp;
-   Ecore_List         *list;
+   Eina_List         *list = NULL;
 
    dirp = opendir(dir);
    if (!dirp) return NULL;
 
-   list = ecore_list_new();
-   ecore_list_free_cb_set(list, free);
-
    while ((dp = readdir(dirp)))
      {
 	if ((strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, "..")))
 	  {
 	       f = strdup(dp->d_name);
-	       ecore_list_append(list, f);
+	       list = eina_list_append(list, f);
 	  }
      }
    closedir(dirp);
 
-   ecore_list_sort(list, ECORE_COMPARE_CB(strcoll), ECORE_SORT_MIN);
+   list = eina_list_sort(list, ECORE_SORT_MIN, ECORE_COMPARE_CB(strcoll));
 
-   ecore_list_first_goto(list);
    return list;
 }
 
diff --git a/src/lib/ecore_file/ecore_file_download.c b/src/lib/ecore_file/ecore_file_download.c
index 4506f72..c855c71 100644
--- a/src/lib/ecore_file/ecore_file_download.c
+++ b/src/lib/ecore_file/ecore_file_download.c
@@ -45,7 +45,7 @@ static void _ecore_file_download_abort(Ecore_File_Download_Job *job);
 static int			 init = 0;
 static Ecore_Event_Handler	*_url_complete_handler = NULL;
 static Ecore_Event_Handler	*_url_progress_download = NULL;
-static Ecore_List		*_job_list;
+static Eina_List		*_job_list;
 
 EAPI int
 ecore_file_download_init(void)
@@ -60,11 +60,6 @@ ecore_file_download_init(void)
 	_url_progress_download = ecore_event_handler_add(ECORE_CON_EVENT_URL_PROGRESS, _ecore_file_download_url_progress_cb, NULL);
 #endif
      }
-   if (!_job_list)
-     {
-	_job_list = ecore_list_new();
-	if (!_job_list) return 0;
-     }
 
    return 1;
 #else
@@ -84,9 +79,7 @@ ecore_file_download_shutdown(void)
 	  ecore_event_handler_del(_url_progress_download);
 	_url_complete_handler = NULL;
 	_url_progress_download = NULL;
-	if (_job_list)
-	  ecore_list_destroy(_job_list);
-	_job_list = NULL;
+	ecore_file_download_abort_all();
      }
 
    return ecore_con_url_shutdown();
@@ -98,16 +91,10 @@ ecore_file_download_shutdown(void)
 EAPI void
 ecore_file_download_abort_all(void)
 {
-   if (!ecore_list_empty_is(_job_list))
-     {
 	Ecore_File_Download_Job *job;
 
-	while ((job = ecore_list_first_remove(_job_list)))
-	  {
+   EINA_LIST_FREE(_job_list, job)
 	     _ecore_file_download_abort(job);
-	  }
-     }
-   ecore_list_clear(_job_list);
 }
 
 /**
@@ -212,10 +199,10 @@ _ecore_file_download_url_complete_cb(void *data, int type, void *event)
    Ecore_Con_Event_Url_Complete	*ev = event;
    Ecore_File_Download_Job	*job;
 
-   job = ecore_list_find(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
+   job = eina_list_search_unsorted(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
    if (!ECORE_MAGIC_CHECK(job, ECORE_MAGIC_FILE_DOWNLOAD_JOB)) return 1;
 
-   ecore_list_remove(_job_list);
+   _job_list = eina_list_remove(_job_list, job);
 
    if (job->completion_cb)
      job->completion_cb(ecore_con_url_data_get(job->url_con), job->dst, !ev->status);
@@ -233,7 +220,7 @@ _ecore_file_download_url_progress_cb(void *data, int type, void *event)
    Ecore_Con_Event_Url_Progress	*ev = event;
    Ecore_File_Download_Job	*job;
 
-   job = ecore_list_find(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
+   job = eina_list_search_unsorted(_job_list, _ecore_file_download_url_compare_job, ev->url_con);
    if (!ECORE_MAGIC_CHECK(job, ECORE_MAGIC_FILE_DOWNLOAD_JOB)) return 1;
 
    if (job->progress_cb)
@@ -241,7 +228,7 @@ _ecore_file_download_url_progress_cb(void *data, int type, void *event)
 			  (long int) ev->down.total, (long int) ev->down.now,
 			  (long int) ev->up.total, (long int) ev->up.now) != 0)
        {
-	  ecore_list_remove(_job_list);
+	  _job_list = eina_list_remove(_job_list, job);
 	  _ecore_file_download_abort(job);
        }
 
@@ -285,7 +272,7 @@ _ecore_file_download_curl(const char *url, const char *dst,
 
    job->completion_cb = completion_cb;
    job->progress_cb = progress_cb;
-   ecore_list_append(_job_list, job);
+   _job_list = eina_list_append(_job_list, job);
 
    ecore_con_url_send(job->url_con, NULL, 0, NULL);
 
diff --git a/src/lib/ecore_file/ecore_file_monitor_poll.c b/src/lib/ecore_file/ecore_file_monitor_poll.c
index 6573539..76bdc70 100644
--- a/src/lib/ecore_file/ecore_file_monitor_poll.c
+++ b/src/lib/ecore_file/ecore_file_monitor_poll.c
@@ -117,29 +117,28 @@ ecore_file_monitor_poll_add(const char *path,
 	if (ecore_file_is_dir(em->path))
 	  {
 	     /* Check for subdirs */
-	     Ecore_List *files;
+	     Eina_List *files;
 	     char *file;
 
 	     files = ecore_file_ls(em->path);
-	     if (files)
-	       {
-		  while ((file = ecore_list_next(files)))
+	     EINA_LIST_FREE(files, file)
 		    {
 		       Ecore_File *f;
 		       char buf[PATH_MAX];
 
 		       f = calloc(1, sizeof(Ecore_File));
 		       if (!f)
+		    {
+		       free(file);
 			 continue;
+		    }
 
 		       snprintf(buf, sizeof(buf), "%s/%s", em->path, file);
-		       f->name = strdup(file);
+		  f->name = file;
 		       f->mtime = ecore_file_mod_time(buf);
 		       f->is_dir = ecore_file_is_dir(buf);
 		       em->files = _ecore_list2_append(em->files, f);
 		    }
-		  ecore_list_destroy(files);
-	       }
 	  }
      }
    else
@@ -307,7 +306,8 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
 	/* Check for new files */
 	if (ECORE_FILE_MONITOR_POLL(em)->mtime < mtime)
 	  {
-	     Ecore_List *files;
+	     Eina_List *files;
+	     Eina_List *l;
 	     char *file;
 
 	     /* Files have been added or removed */
@@ -315,7 +315,7 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
 	     if (files)
 	       { 
 		  /* Are we a directory? We should check first, rather than rely on null here*/
-		  while ((file = ecore_list_next(files)))
+		  EINA_LIST_FOREACH(files, l, file)
 		    {
 		       Ecore_File *f;
 		       char buf[PATH_MAX];
@@ -331,7 +331,7 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
 		       
 		       f->name = strdup(file);
 		       f->mtime = ecore_file_mod_time(buf);
-		       f->is_dir = ecore_file_is_dir(buf);
+		       f->is_dir = ecore_file_mod_time(buf);
 		       if (f->is_dir)
 			 event = ECORE_FILE_EVENT_CREATED_DIRECTORY;
 		       else
@@ -339,7 +339,12 @@ _ecore_file_monitor_poll_check(Ecore_File_Monitor *em)
 		       em->func(em->data, em, event, buf);
 		       em->files = _ecore_list2_append(em->files, f);
 		    }
-		  ecore_list_destroy(files);
+		  while (files)
+		    {
+		       file = eina_list_data_get(files);
+		       free(file);
+		       files = eina_list_remove_list(files, files);
+		    }
 	       }
 	     
 	     if (!ecore_file_is_dir(em->path))
diff --git a/src/lib/ecore_file/ecore_file_path.c b/src/lib/ecore_file/ecore_file_path.c
index de2b4dc..dd1e95f 100644
--- a/src/lib/ecore_file/ecore_file_path.c
+++ b/src/lib/ecore_file/ecore_file_path.c
@@ -12,36 +12,35 @@
 #include "ecore_file_private.h"
 
 static int init = 0;
-static Ecore_List *__ecore_file_path_bin = NULL;
+static Eina_List *__ecore_file_path_bin = NULL;
 
-static Ecore_List *_ecore_file_path_from_env(const char *env);
+static Eina_List *_ecore_file_path_from_env(const char *env);
 
 int
 ecore_file_path_init(void)
 {
    if (++init != 1) return init;
    __ecore_file_path_bin = _ecore_file_path_from_env("PATH");
-   ecore_list_free_cb_set(__ecore_file_path_bin, free);
    return init;
 }
 
 int
 ecore_file_path_shutdown(void)
 {
+   char *dir;
+
    if (--init != 0) return init;
-   ecore_list_destroy(__ecore_file_path_bin);
-   __ecore_file_path_bin = NULL;
+   EINA_LIST_FREE(__ecore_file_path_bin, dir)
+     free(dir);
    return init;
 }
 
-Ecore_List *
+Eina_List *
 _ecore_file_path_from_env(const char *env)
 {
-   Ecore_List *path;
+   Eina_List *path = NULL;
    char *env_path, *p, *last;
 
-   path = ecore_list_new();
-
    env_path = getenv(env);
    if (!env_path)
      return path;
@@ -56,12 +55,12 @@ _ecore_file_path_from_env(const char *env)
         if (!*p)
           {
 	     if (!ecore_file_path_dir_exists(last))
-	       ecore_list_append(path, strdup(last));
+	       path = eina_list_append(path, strdup(last));
              last = p + 1;
           }
      }
    if (p > last)
-     ecore_list_append(path, strdup(last));
+     path = eina_list_append(path, strdup(last));
 
    free(env_path);
    return path;
@@ -75,14 +74,16 @@ _ecore_file_path_from_env(const char *env)
 EAPI int
 ecore_file_path_dir_exists(const char *in_dir)
 {
+   Eina_List *l;
    char *dir;
 
    if (!__ecore_file_path_bin) return 0;
-   ecore_list_first_goto(__ecore_file_path_bin);
-   while ((dir = ecore_list_next(__ecore_file_path_bin)) != NULL)
+   EINA_LIST_FOREACH(__ecore_file_path_bin, l, dir)
      {
-	if (!strcmp(dir, in_dir)) return 1;
+	if (strcmp(dir, in_dir))
+	  return 1;
      }
+
    return 0;
 }
 
@@ -96,50 +97,47 @@ ecore_file_path_dir_exists(const char *in_dir)
 EAPI int
 ecore_file_app_installed(const char *exe)
 {
+   Eina_List *l;
    char *dir;
    char  buf[PATH_MAX];
 
    if (!exe) return 0;
    if (ecore_file_can_exec(exe)) return 1;
 
-   ecore_list_first_goto(__ecore_file_path_bin);
-   while ((dir = ecore_list_next(__ecore_file_path_bin)) != NULL)
+   EINA_LIST_FOREACH(__ecore_file_path_bin, l, dir)
      {
 	snprintf(buf, sizeof(buf), "%s/%s", dir, exe);
-	if (ecore_file_can_exec(buf)) return 1;
+	if (ecore_file_can_exec(buf))
+	  return 1;
      }
+
    return 0;
 }
 
 /**
  * Get a list of all the applications installed on the system
- * @return An Ecore_List containing all the executable files in the system
+ * @return An Eina_List containing all the executable files in the system
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_file_app_list(void)
 {
-   Ecore_List *list, *files;
+   Eina_List *list = NULL;
+   Eina_List *files;
+   Eina_List *l;
    char  buf[PATH_MAX], *dir, *exe;
    
-   list = ecore_list_new();
-   if (!list) return NULL;
-   ecore_list_free_cb_set(list, free);
-   ecore_list_first_goto(__ecore_file_path_bin);
-   while ((dir = ecore_list_next(__ecore_file_path_bin)) != NULL)
+   EINA_LIST_FOREACH(__ecore_file_path_bin, l, dir)
      {
 	files = ecore_file_ls(dir);
-	if (files)
-	  {
-	     ecore_list_first_goto(files);
-	     while ((exe = ecore_list_next(files)) != NULL)
+	EINA_LIST_FREE(files, exe)
 	       {
 		  snprintf(buf, sizeof(buf), "%s/%s", dir, exe);
 		  if ((ecore_file_can_exec(buf)) &&
 		      (!ecore_file_is_dir(buf)))
-		    ecore_list_append(list, strdup(buf));
-	       }
-	     ecore_list_destroy(files);
+	       list = eina_list_append(list, strdup(buf));
+	     free(exe);
 	  }
      }
+
    return list;
 }
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index 71f890f..1ae8708 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -294,8 +294,8 @@ extern "C" {
    EAPI int                           ecore_imf_init(void);
    EAPI int                           ecore_imf_shutdown(void);
 
-   EAPI Ecore_List                   *ecore_imf_context_available_ids_get(void);
-   EAPI Ecore_List                   *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type);
+   EAPI Eina_List                    *ecore_imf_context_available_ids_get(void);
+   EAPI Eina_List                    *ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type);
    EAPI const char                   *ecore_imf_context_default_id_get(void);
    EAPI const char                   *ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type);
    EAPI const Ecore_IMF_Context_Info *ecore_imf_context_info_by_id_get(const char *id);
diff --git a/src/lib/ecore_imf/Makefile.am b/src/lib/ecore_imf/Makefile.am
index ba0b251..385ae8c 100644
--- a/src/lib/ecore_imf/Makefile.am
+++ b/src/lib/ecore_imf/Makefile.am
@@ -4,6 +4,7 @@ if BUILD_ECORE_IMF
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -DPACKAGE_LIB_DIR=\"$(libdir)\" \
+ at EFL_ECORE_IMF_BUILD@ \
 @EVIL_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -23,7 +24,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \
 @EINA_LIBS@ \
 @EVIL_LIBS@
 
-libecore_imf_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_imf_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_imf_release_info@
 endif
 
 EXTRA_DIST = ecore_imf_private.h
diff --git a/src/lib/ecore_imf/Makefile.in b/src/lib/ecore_imf/Makefile.in
index 0fc0c0a..63b3760 100644
--- a/src/lib/ecore_imf/Makefile.in
+++ b/src/lib/ecore_imf/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -112,72 +116,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -186,8 +175,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -202,6 +189,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -242,6 +231,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -265,6 +256,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -285,36 +277,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -334,6 +346,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -342,17 +355,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -361,7 +381,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -370,6 +389,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_IMF_TRUE at AM_CPPFLAGS = \
 @BUILD_ECORE_IMF_TRUE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_IMF_TRUE at -DPACKAGE_LIB_DIR=\"$(libdir)\" \
+ at BUILD_ECORE_IMF_TRUE@@EFL_ECORE_IMF_BUILD@ \
 @BUILD_ECORE_IMF_TRUE@@EVIL_CFLAGS@ \
 @BUILD_ECORE_IMF_TRUE@@EINA_CFLAGS@
 
@@ -388,7 +408,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_IMF_TRUE@@EINA_LIBS@ \
 @BUILD_ECORE_IMF_TRUE@@EVIL_LIBS@
 
- at BUILD_ECORE_IMF_TRUE@libecore_imf_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_IMF_TRUE@libecore_imf_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_imf_release_info@
 EXTRA_DIST = ecore_imf_private.h
 all: all-am
 
diff --git a/src/lib/ecore_imf/ecore_imf.c b/src/lib/ecore_imf/ecore_imf.c
index 5290d37..66470eb 100644
--- a/src/lib/ecore_imf/ecore_imf.c
+++ b/src/lib/ecore_imf/ecore_imf.c
@@ -7,6 +7,7 @@
 #endif
 
 #include <Ecore.h>
+#include <ecore_private.h>
 
 #include "Ecore_IMF.h"
 #include "ecore_imf_private.h"
diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c
index 827b794..09ffc71 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -11,6 +11,7 @@
 #include <locale.h>
 
 #include <Ecore.h>
+#include <ecore_private.h>
 
 #include "Ecore_IMF.h"
 #include "ecore_imf_private.h"
@@ -24,20 +25,20 @@
 /**
  * Get the list of the available Input Method Context ids.
  *
- * Note that the caller is responsible for freeing the Ecore_List
+ * Note that the caller is responsible for freeing the Eina_List
  * when finished with it. There is no need to finish the list strings.
  *
- * @return Return an Ecore_List of strings;
+ * @return Return an EIna_List of strings;
  *         on failure it returns NULL.
  * @ingroup Ecore_IMF_Context_Group
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_imf_context_available_ids_get(void)
 {
    return ecore_imf_module_context_ids_get();
 }
 
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type)
 {
    return ecore_imf_module_context_ids_by_canvas_type_get(canvas_type);
@@ -85,7 +86,7 @@ EAPI const char *
 ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
 {
    const char *id;
-   Ecore_List *modules;
+   Eina_List *modules;
    Ecore_IMF_Module *module;
    char *locale;
    char *tmp;
@@ -113,8 +114,7 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
 
    id = NULL;
 
-   ecore_list_first_goto(modules);
-   while ((module = ecore_list_next(modules)))
+   EINA_LIST_FREE(modules, module)
      {
 	if (canvas_type &&
 	    strcmp(module->info->canvas_type, canvas_type) == 0)
@@ -135,7 +135,6 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type)
 	      p = q ? q + 1 : NULL;
 	  }
      }
-   ecore_list_destroy(modules);
 
    free(locale);
    return id;
diff --git a/src/lib/ecore_imf/ecore_imf_module.c b/src/lib/ecore_imf/ecore_imf_module.c
index 78de2dc..9ae303e 100644
--- a/src/lib/ecore_imf/ecore_imf_module.c
+++ b/src/lib/ecore_imf/ecore_imf_module.c
@@ -11,6 +11,9 @@
 #include <string.h>
 #include <limits.h>
 
+#include <ecore_private.h>
+
+#include "Ecore_IMF.h"
 #include "ecore_imf_private.h"
 
 static void _ecore_imf_module_load_all(void);
@@ -66,33 +69,25 @@ ecore_imf_module_shutdown(void)
 static Eina_Bool
 _hash_module_available_get(const Eina_Hash *hash, int *data, void *list)
 {
-  ecore_list_append(list, data);
+  *(Eina_List**)list = eina_list_append(*(Eina_List**)list, data);
   return EINA_TRUE;
 }
 
-Ecore_List *
+Eina_List *
 ecore_imf_module_available_get(void)
 {
-   Ecore_List *values;
+   Eina_List *values = NULL;
    Eina_Iterator *it = NULL;
 
    if (!modules) return NULL;
 
-   values = ecore_list_new();
-   if (!values) return NULL;
-
    it = eina_hash_iterator_data_new(modules);
    if (!it)
-     {
-       ecore_list_destroy(values);
        return NULL;
-     }
 
-   eina_iterator_foreach(it, EINA_EACH(_hash_module_available_get), values);
+   eina_iterator_foreach(it, EINA_EACH(_hash_module_available_get), &values);
    eina_iterator_free(it);
 
-   ecore_list_first_goto(values);
-
    return values;
 }
 
@@ -128,29 +123,23 @@ ecore_imf_module_context_create(const char *ctx_id)
 static Eina_Bool
 _hash_ids_get(const Eina_Hash *hash, const char *key, void *list)
 {
-  ecore_list_append(list, key);
+  *(Eina_List**)list = eina_list_append(*(Eina_List**)list, key);
   return EINA_TRUE;
 }
 
-Ecore_List *
+Eina_List *
 ecore_imf_module_context_ids_get(void)
 {
-   Ecore_List *l = NULL;
+   Eina_List *l = NULL;
    Eina_Iterator *it = NULL;
 
    if (!modules) return NULL;
 
-   l = ecore_list_new();
-   if (!l) return NULL;
-
    it = eina_hash_iterator_key_new(modules);
    if (!it)
-     {
-       ecore_list_destroy(l);
        return NULL;
-     }
 
-   eina_iterator_foreach(it, EINA_EACH(_hash_ids_get), l);
+   eina_iterator_foreach(it, EINA_EACH(_hash_ids_get), &l);
    eina_iterator_free(it);
 
    return l;
@@ -163,16 +152,16 @@ _hash_ids_by_canvas_type_get(const Eina_Hash *hash, void *data, void *fdata)
    Ecore_IMF_Selector *selector = fdata;
 
    if (!strcmp(module->info->canvas_type, selector->toselect))
-     ecore_list_append(selector->selected, (void *)module->info->id);
+     selector->selected = eina_list_append(selector->selected, (void *)module->info->id);
 
    return EINA_TRUE;
 }
 
-Ecore_List *
+Eina_List *
 ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type)
 {
    Ecore_IMF_Selector selector;
-   Ecore_List *values;
+   Eina_List *values = NULL;
    Eina_Iterator *it = NULL;
 
    if (!modules) return NULL;
@@ -180,30 +169,22 @@ ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type)
    if (!canvas_type)
      return ecore_imf_module_context_ids_get();
 
-   values = ecore_list_new();
-   if (!values) return NULL;
-
    it = eina_hash_iterator_data_new(modules);
    if (!it)
-     {
-       ecore_list_destroy(values);
        return NULL;
-     }
 
    selector.toselect = canvas_type;
    selector.selected = values;
    eina_iterator_foreach(it, EINA_EACH(_hash_ids_by_canvas_type_get), &selector);
    eina_iterator_free(it);
 
-   ecore_list_first_goto(values);
-
    return values;
 }
 
 static void
 _ecore_imf_module_load_all(void)
 {
-   Ecore_List *avail;
+   Eina_List *avail;
    char *filename;
    Ecore_Plugin *plugin;
    const Ecore_IMF_Context_Info *info = NULL;
@@ -213,8 +194,7 @@ _ecore_imf_module_load_all(void)
    avail = ecore_plugin_available_get(ecore_imf_modules_path);
    if (!avail) return;
 
-   ecore_list_first_goto(avail);
-   while ((filename = ecore_list_next(avail)))
+   EINA_LIST_FREE(avail, filename)
      {
 	plugin = ecore_plugin_load(ecore_imf_modules_path, filename, NULL);
 	if (!plugin)
@@ -255,8 +235,6 @@ _ecore_imf_module_load_all(void)
 
 	_ecore_imf_module_append(plugin, info, imf_module_create);
      }
-
-   ecore_list_destroy(avail);
 }
 
 static void
@@ -267,7 +245,7 @@ _ecore_imf_module_append(Ecore_Plugin *plugin,
    Ecore_IMF_Module *module;
 
    if (!modules)
-     modules = eina_hash_string_superfast_new(_ecore_imf_module_free);
+     modules = eina_hash_string_superfast_new(EINA_FREE_CB(_ecore_imf_module_free));
 
    module = malloc(sizeof(Ecore_IMF_Module));
    module->plugin = plugin;
diff --git a/src/lib/ecore_imf/ecore_imf_private.h b/src/lib/ecore_imf/ecore_imf_private.h
index dd951e2..123757c 100644
--- a/src/lib/ecore_imf/ecore_imf_private.h
+++ b/src/lib/ecore_imf/ecore_imf_private.h
@@ -1,10 +1,6 @@
 #ifndef _ECORE_IMF_PRIVATE_H
 #define _ECORE_IMF_PRIVATE_H
 
-#include "Ecore_IMF.h"
-
-#include "ecore_private.h"
-
 #define ECORE_MAGIC_CONTEXT 0x56c1b39a
 
 typedef struct _Ecore_IMF_Module Ecore_IMF_Module;
@@ -29,10 +25,10 @@ struct _Ecore_IMF_Module
 
 void               ecore_imf_module_init(void);
 void               ecore_imf_module_shutdown(void);
-Ecore_List        *ecore_imf_module_available_get(void);
+Eina_List         *ecore_imf_module_available_get(void);
 Ecore_IMF_Module  *ecore_imf_module_get(const char *ctx_id);
 Ecore_IMF_Context *ecore_imf_module_context_create(const char *ctx_id);
-Ecore_List        *ecore_imf_module_context_ids_get(void);
-Ecore_List        *ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type);
+Eina_List         *ecore_imf_module_context_ids_get(void);
+Eina_List         *ecore_imf_module_context_ids_by_canvas_type_get(const char *canvas_type);
 
 #endif
diff --git a/src/lib/ecore_imf_evas/Makefile.am b/src/lib/ecore_imf_evas/Makefile.am
index e4d60a9..2455944 100644
--- a/src/lib/ecore_imf_evas/Makefile.am
+++ b/src/lib/ecore_imf_evas/Makefile.am
@@ -4,6 +4,7 @@ if BUILD_ECORE_IMF_EVAS
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_imf \
+ at EFL_ECORE_IMF_BUILD@ \
 @EVAS_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -19,5 +20,5 @@ $(top_builddir)/src/lib/ecore_imf/libecore_imf.la \
 @EVAS_LIBS@ \
 @EINA_LIBS@
 
-libecore_imf_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_imf_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_imf_evas_release_info@
 endif
diff --git a/src/lib/ecore_imf_evas/Makefile.in b/src/lib/ecore_imf_evas/Makefile.in
index 91508f7..8491ecb 100644
--- a/src/lib/ecore_imf_evas/Makefile.in
+++ b/src/lib/ecore_imf_evas/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -112,72 +116,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -186,8 +175,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -202,6 +189,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -242,6 +231,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -265,6 +256,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -285,36 +277,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -334,6 +346,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -342,17 +355,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -361,7 +381,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -370,6 +389,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_IMF_EVAS_TRUE at AM_CPPFLAGS = \
 @BUILD_ECORE_IMF_EVAS_TRUE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_IMF_EVAS_TRUE at -I$(top_srcdir)/src/lib/ecore_imf \
+ at BUILD_ECORE_IMF_EVAS_TRUE@@EFL_ECORE_IMF_BUILD@ \
 @BUILD_ECORE_IMF_EVAS_TRUE@@EVAS_CFLAGS@ \
 @BUILD_ECORE_IMF_EVAS_TRUE@@EINA_CFLAGS@
 
@@ -385,7 +405,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_IMF_EVAS_TRUE@@EVAS_LIBS@ \
 @BUILD_ECORE_IMF_EVAS_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_IMF_EVAS_TRUE@libecore_imf_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_IMF_EVAS_TRUE@libecore_imf_evas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_imf_evas_release_info@
 all: all-am
 
 .SUFFIXES:
diff --git a/src/lib/ecore_input/Ecore_Input.h b/src/lib/ecore_input/Ecore_Input.h
new file mode 100644
index 0000000..bfb32f8
--- /dev/null
+++ b/src/lib/ecore_input/Ecore_Input.h
@@ -0,0 +1,226 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+
+#ifndef _ECORE_INPUT_H
+#define _ECORE_INPUT_H
+
+
+#include <Evas.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_ECORE_INPUT_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_ECORE_INPUT_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EAPI extern int ECORE_EVENT_KEY_DOWN;
+EAPI extern int ECORE_EVENT_KEY_UP;
+EAPI extern int ECORE_EVENT_MOUSE_BUTTON_DOWN;
+EAPI extern int ECORE_EVENT_MOUSE_BUTTON_UP;
+EAPI extern int ECORE_EVENT_MOUSE_MOVE;
+EAPI extern int ECORE_EVENT_MOUSE_WHEEL;
+EAPI extern int ECORE_EVENT_MOUSE_IN;
+EAPI extern int ECORE_EVENT_MOUSE_OUT;
+
+#define ECORE_EVENT_MODIFIER_SHIFT	0x0001
+#define ECORE_EVENT_MODIFIER_CTRL	0x0002
+#define ECORE_EVENT_MODIFIER_ALT	0x0004
+#define ECORE_EVENT_MODIFIER_WIN	0x0008
+#define ECORE_EVENT_MODIFIER_SCROLL	0x0010
+#define ECORE_EVENT_MODIFIER_NUM	0x0020
+#define ECORE_EVENT_MODIFIER_CAPS	0x0040
+#define ECORE_EVENT_LOCK_SCROLL		0x0080
+#define ECORE_EVENT_LOCK_NUM		0x0100
+#define ECORE_EVENT_LOCK_CAPS		0x0200
+
+typedef uintptr_t Ecore_Window;
+
+typedef struct _Ecore_Event_Key Ecore_Event_Key;
+struct _Ecore_Event_Key
+{
+   const char	*keyname;
+   const char	*key;
+   const char	*string;
+   const char	*compose;
+   Ecore_Window  window;
+   Ecore_Window  root_window;
+   Ecore_Window	 event_window;
+
+   unsigned int	 timestamp;
+   unsigned int  modifiers;
+
+   int           same_screen;
+};
+
+typedef struct _Ecore_Event_Mouse_Button Ecore_Event_Mouse_Button;
+struct _Ecore_Event_Mouse_Button
+{
+   Ecore_Window  window;
+   Ecore_Window  root_window;
+   Ecore_Window	 event_window;
+
+   unsigned int	 timestamp;
+   unsigned int	 modifiers;
+   unsigned int  buttons;
+   unsigned int  double_click;
+   unsigned int  triple_click;
+   int           same_screen;
+
+   int		 x;
+   int		 y;
+   struct
+   {
+      int	 x;
+      int	 y;
+   } root;
+};
+
+typedef struct _Ecore_Event_Mouse_Wheel Ecore_Event_Mouse_Wheel;
+struct _Ecore_Event_Mouse_Wheel
+{
+   Ecore_Window	 window;
+   Ecore_Window  root_window;
+   Ecore_Window	 event_window;
+
+   unsigned int	 timestamp;
+   unsigned int	 modifiers;
+
+   int           same_screen;
+   int		 direction;
+   int		 z;
+
+   int		 x;
+   int		 y;
+   struct
+   {
+      int	 x;
+      int	 y;
+   } root;
+};
+
+typedef struct _Ecore_Event_Mouse_Move Ecore_Event_Mouse_Move;
+struct _Ecore_Event_Mouse_Move
+{
+   Ecore_Window	 window;
+   Ecore_Window  root_window;
+   Ecore_Window	 event_window;
+
+   unsigned int	 timestamp;
+   unsigned int	 modifiers;
+
+   int           same_screen;
+
+   int		 x;
+   int		 y;
+   struct
+   {
+      int	 x;
+      int	 y;
+   } root;
+};
+
+typedef struct _Ecore_Event_Mouse_IO Ecore_Event_Mouse_IO;
+struct _Ecore_Event_Mouse_IO
+{
+   Ecore_Window	 window;
+   Ecore_Window	 event_window;
+
+   unsigned int	 timestamp;
+   unsigned int  modifiers;
+
+   int		 x;
+   int		 y;
+};
+
+enum _Ecore_Event_Modifier
+{
+  ECORE_NONE,
+  ECORE_SHIFT,
+  ECORE_CTRL,
+  ECORE_ALT,
+  ECORE_WIN,
+  ECORE_SCROLL,
+  ECORE_CAPS,
+  ECORE_LAST
+};
+
+enum _Ecore_Event_Press
+{
+  ECORE_DOWN,
+  ECORE_UP
+};
+
+enum _Ecore_Event_IO
+{
+  ECORE_IN,
+  ECORE_OUT
+};
+
+typedef enum _Ecore_Event_IO Ecore_Event_IO;
+typedef enum _Ecore_Event_Press Ecore_Event_Press;
+typedef enum _Ecore_Event_Modifier Ecore_Event_Modifier;
+
+typedef struct _Ecore_Event_Modifiers Ecore_Event_Modifiers;
+struct _Ecore_Event_Modifiers
+{
+   unsigned int size;
+   unsigned int array[ECORE_LAST];
+};
+
+typedef void (*Ecore_Event_Mouse_Move_Cb)(void *window, int x, int y, unsigned int timestamp);
+
+EAPI int	 ecore_event_init(void);
+EAPI int	 ecore_event_shutdown(void);
+
+EAPI Ecore_Event_Modifier ecore_event_update_modifier(const char *key, Ecore_Event_Modifiers *modifiers, int inc);
+EAPI unsigned int ecore_event_modifier_mask(Ecore_Event_Modifier modifier);
+
+EAPI int	 ecore_event_evas_init(void);
+EAPI int	 ecore_event_evas_shutdown(void);
+
+EAPI int	 ecore_event_evas_key_down(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_key_up(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_button_up(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_button_down(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_wheel(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_move(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_in(void *data, int type, void *event);
+EAPI int	 ecore_event_evas_mouse_out(void *data, int type, void *event);
+
+EAPI void        ecore_event_window_register(Ecore_Window id, void *window, Evas *evas, Ecore_Event_Mouse_Move_Cb move_mouse);
+EAPI void        ecore_event_window_unregister(Ecore_Window id);
+EAPI void*       ecore_event_window_match(Ecore_Window id);
+EAPI void        ecore_event_window_ignore_events(Ecore_Window id, int ignore_event);
+
+EAPI void	 ecore_event_evas_modifier_lock_update(Evas *e, unsigned int modifiers);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/lib/ecore_input/Makefile.am b/src/lib/ecore_input/Makefile.am
new file mode 100644
index 0000000..0fc8078
--- /dev/null
+++ b/src/lib/ecore_input/Makefile.am
@@ -0,0 +1,24 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_INPUT_BUILD@ \
+ at EVAS_CFLAGS@
+
+if BUILD_ECORE_INPUT
+
+lib_LTLIBRARIES = libecore_input.la
+include_HEADERS = Ecore_Input.h
+
+libecore_input_la_SOURCES = \
+ecore_input.c
+
+libecore_input_la_LIBADD = \
+$(top_builddir)/src/lib/ecore/libecore.la \
+ at EVAS_LIBS@ \
+ at EVIL_LIBS@
+
+libecore_input_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_input_release_info@
+
+endif
diff --git a/src/lib/ecore_wince/Makefile.in b/src/lib/ecore_input/Makefile.in
similarity index 83%
copy from src/lib/ecore_wince/Makefile.in
copy to src/lib/ecore_input/Makefile.in
index 9a04ee9..7242f40 100644
--- a/src/lib/ecore_wince/Makefile.in
+++ b/src/lib/ecore_input/Makefile.in
@@ -33,14 +33,18 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-subdir = src/lib/ecore_wince
+subdir = src/lib/ecore_input
 DIST_COMMON = $(am__include_HEADERS_DIST) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -55,17 +59,14 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
- at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
-am__libecore_wince_la_SOURCES_DIST = ecore_wince.c ecore_wince_event.c \
-	ecore_wince_window.c
- at BUILD_ECORE_WINCE_TRUE@am_libecore_wince_la_OBJECTS = ecore_wince.lo \
- at BUILD_ECORE_WINCE_TRUE@	ecore_wince_event.lo \
- at BUILD_ECORE_WINCE_TRUE@	ecore_wince_window.lo
-libecore_wince_la_OBJECTS = $(am_libecore_wince_la_OBJECTS)
-libecore_wince_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ at BUILD_ECORE_INPUT_TRUE@libecore_input_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
+am__libecore_input_la_SOURCES_DIST = ecore_input.c
+ at BUILD_ECORE_INPUT_TRUE@am_libecore_input_la_OBJECTS = ecore_input.lo
+libecore_input_la_OBJECTS = $(am_libecore_input_la_OBJECTS)
+libecore_input_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libecore_wince_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ECORE_WINCE_TRUE@am_libecore_wince_la_rpath = -rpath $(libdir)
+	$(libecore_input_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_ECORE_INPUT_TRUE@am_libecore_input_la_rpath = -rpath $(libdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -78,9 +79,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(libecore_wince_la_SOURCES)
-DIST_SOURCES = $(am__libecore_wince_la_SOURCES_DIST)
-am__include_HEADERS_DIST = Ecore_WinCE.h
+SOURCES = $(libecore_input_la_SOURCES)
+DIST_SOURCES = $(am__libecore_input_la_SOURCES_DIST)
+am__include_HEADERS_DIST = Ecore_Input.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
 ETAGS = etags
@@ -113,72 +114,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -187,8 +173,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -203,6 +187,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -243,6 +229,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -266,6 +254,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -286,36 +275,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -335,6 +344,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -343,17 +353,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -362,7 +379,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -371,25 +387,20 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
- at EINA_CFLAGS@
+ at EFL_ECORE_INPUT_BUILD@ \
+ at EVAS_CFLAGS@
 
-AM_CFLAGS = @WIN32_CFLAGS@
- at BUILD_ECORE_WINCE_TRUE@lib_LTLIBRARIES = libecore_wince.la
- at BUILD_ECORE_WINCE_TRUE@include_HEADERS = \
- at BUILD_ECORE_WINCE_TRUE@Ecore_WinCE.h
+ at BUILD_ECORE_INPUT_TRUE@lib_LTLIBRARIES = libecore_input.la
+ at BUILD_ECORE_INPUT_TRUE@include_HEADERS = Ecore_Input.h
+ at BUILD_ECORE_INPUT_TRUE@libecore_input_la_SOURCES = \
+ at BUILD_ECORE_INPUT_TRUE@ecore_input.c
 
- at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_SOURCES = \
- at BUILD_ECORE_WINCE_TRUE@ecore_wince.c \
- at BUILD_ECORE_WINCE_TRUE@ecore_wince_event.c \
- at BUILD_ECORE_WINCE_TRUE@ecore_wince_window.c
+ at BUILD_ECORE_INPUT_TRUE@libecore_input_la_LIBADD = \
+ at BUILD_ECORE_INPUT_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_INPUT_TRUE@@EVAS_LIBS@ \
+ at BUILD_ECORE_INPUT_TRUE@@EVIL_LIBS@
 
- at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_LIBADD = \
- at BUILD_ECORE_WINCE_TRUE@@WIN32_LIBS@ \
- at BUILD_ECORE_WINCE_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_WINCE_TRUE@@EINA_LIBS@
-
- at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
-EXTRA_DIST = ecore_wince_private.h
+ at BUILD_ECORE_INPUT_TRUE@libecore_input_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_input_release_info@
 all: all-am
 
 .SUFFIXES:
@@ -403,9 +414,9 @@ $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/lib/ecore_wince/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/lib/ecore_input/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/lib/ecore_wince/Makefile
+	  $(AUTOMAKE) --gnu  src/lib/ecore_input/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -450,8 +461,8 @@ clean-libLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libecore_wince.la: $(libecore_wince_la_OBJECTS) $(libecore_wince_la_DEPENDENCIES) 
-	$(libecore_wince_la_LINK) $(am_libecore_wince_la_rpath) $(libecore_wince_la_OBJECTS) $(libecore_wince_la_LIBADD) $(LIBS)
+libecore_input.la: $(libecore_input_la_OBJECTS) $(libecore_input_la_DEPENDENCIES) 
+	$(libecore_input_la_LINK) $(am_libecore_input_la_rpath) $(libecore_input_la_OBJECTS) $(libecore_input_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -459,9 +470,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_wince.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_wince_event.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_wince_window.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_input.Plo at am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/src/lib/ecore_input/ecore_input.c b/src/lib/ecore_input/ecore_input.c
new file mode 100644
index 0000000..79f5b43
--- /dev/null
+++ b/src/lib/ecore_input/ecore_input.c
@@ -0,0 +1,407 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include "Ecore.h"
+#include "ecore_private.h"
+#include "Ecore_Input.h"
+#include "Evas.h"
+
+
+typedef struct _Ecore_Input_Window Ecore_Input_Window;
+struct _Ecore_Input_Window
+{
+   Evas *evas;
+   void *window;
+   Ecore_Event_Mouse_Move_Cb move_mouse;
+   int ignore_event;
+};
+
+EAPI int ECORE_EVENT_KEY_DOWN = 0;
+EAPI int ECORE_EVENT_KEY_UP = 0;
+EAPI int ECORE_EVENT_MOUSE_BUTTON_DOWN = 0;
+EAPI int ECORE_EVENT_MOUSE_BUTTON_UP = 0;
+EAPI int ECORE_EVENT_MOUSE_MOVE = 0;
+EAPI int ECORE_EVENT_MOUSE_WHEEL = 0;
+EAPI int ECORE_EVENT_MOUSE_IN = 0;
+EAPI int ECORE_EVENT_MOUSE_OUT = 0;
+
+static int _ecore_event_init_count = 0;
+
+static Ecore_Event_Handler *ecore_event_evas_handlers[8];
+static Eina_Hash *_window_hash = NULL;
+
+static int _ecore_event_evas_init_count = 0;
+
+EAPI void
+ecore_event_evas_modifier_lock_update(Evas *e, unsigned int modifiers)
+{
+   if (modifiers & ECORE_EVENT_MODIFIER_SHIFT)
+     evas_key_modifier_on(e, "Shift");
+   else evas_key_modifier_off(e, "Shift");
+
+   if (modifiers & ECORE_EVENT_MODIFIER_CTRL)
+     evas_key_modifier_on(e, "Control");
+   else evas_key_modifier_off(e, "Control");
+
+   if (modifiers & ECORE_EVENT_MODIFIER_ALT)
+     evas_key_modifier_on(e, "Alt");
+   else evas_key_modifier_off(e, "Alt");
+
+   if (modifiers & ECORE_EVENT_MODIFIER_WIN)
+     {
+	evas_key_modifier_on(e, "Super");
+	evas_key_modifier_on(e, "Hyper");
+     }
+   else
+     {
+	evas_key_modifier_off(e, "Super");
+	evas_key_modifier_off(e, "Hyper");
+     }
+
+   if (modifiers & ECORE_EVENT_LOCK_SCROLL)
+     evas_key_lock_on(e, "Scroll_Lock");
+   else evas_key_lock_off(e, "Scroll_Lock");
+
+   if (modifiers & ECORE_EVENT_LOCK_NUM)
+     evas_key_lock_on(e, "Num_Lock");
+   else evas_key_lock_off(e, "Num_Lock");
+
+   if (modifiers & ECORE_EVENT_LOCK_CAPS)
+     evas_key_lock_on(e, "Caps_Lock");
+   else evas_key_lock_off(e, "Caps_Lock");
+}
+
+EAPI void
+ecore_event_window_register(Ecore_Window id, void *window, Evas *evas, Ecore_Event_Mouse_Move_Cb move_mouse)
+{
+   Ecore_Input_Window *new;
+
+   new = malloc(sizeof (Ecore_Input_Window));
+   if (!new) return ;
+
+   new->evas = evas;
+   new->window = window;
+   new->move_mouse = move_mouse;
+   new->ignore_event = 0;
+
+   eina_hash_add(_window_hash, &id, new);
+
+   evas_key_modifier_add(evas, "Shift");
+   evas_key_modifier_add(evas, "Control");
+   evas_key_modifier_add(evas, "Alt");
+   evas_key_modifier_add(evas, "Meta");
+   evas_key_modifier_add(evas, "Hyper");
+   evas_key_modifier_add(evas, "Super");
+   evas_key_lock_add(evas, "Caps_Lock");
+   evas_key_lock_add(evas, "Num_Lock");
+   evas_key_lock_add(evas, "Scroll_Lock");
+}
+
+EAPI void
+ecore_event_window_unregister(Ecore_Window id)
+{
+   eina_hash_del(_window_hash, &id, NULL);
+}
+
+EAPI void*
+ecore_event_window_match(Ecore_Window id)
+{
+   Ecore_Input_Window *lookup;
+
+   lookup = eina_hash_find(_window_hash, &id);
+   if (lookup) return lookup->window;
+   return NULL;
+}
+
+EAPI void
+ecore_event_window_ignore_events(Ecore_Window id, int ignore_event)
+{
+   Ecore_Input_Window *lookup;
+
+   lookup = eina_hash_find(_window_hash, &id);
+   if (!lookup) return ;
+   lookup->ignore_event = ignore_event;
+}
+
+static Ecore_Input_Window*
+_ecore_event_window_match(Ecore_Window id)
+{
+   Ecore_Input_Window *lookup;
+
+   lookup = eina_hash_find(_window_hash, &id);
+   if (!lookup) return NULL;
+   if (lookup->ignore_event) return NULL; /* Pass on event. */
+   return lookup;
+}
+
+static int
+_ecore_event_evas_key(Ecore_Event_Key *e, Ecore_Event_Press press)
+{
+   Ecore_Input_Window *lookup;
+
+   lookup = _ecore_event_window_match(e->window);
+   if (!lookup) return 1;
+   ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+   if (press == ECORE_DOWN)
+     evas_event_feed_key_down(lookup->evas, e->keyname, e->key, e->string, e->compose, e->timestamp, NULL);
+   else
+     evas_event_feed_key_up(lookup->evas, e->keyname, e->key, e->string, e->compose, e->timestamp, NULL);
+   return 1;
+}
+
+static int
+_ecore_event_evas_mouse_button(Ecore_Event_Mouse_Button *e, Ecore_Event_Press press)
+{
+   Ecore_Input_Window *lookup;
+   Evas_Button_Flags flags = EVAS_BUTTON_NONE;
+
+   lookup = _ecore_event_window_match(e->window);
+   if (!lookup) return 1;
+   ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+   if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
+   if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
+   if (press == ECORE_DOWN)
+     evas_event_feed_mouse_down(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+   else
+     evas_event_feed_mouse_up(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+   return 1;
+}
+
+static int
+_ecore_event_evas_mouse_io(Ecore_Event_Mouse_IO *e, Ecore_Event_IO io)
+{
+   Ecore_Input_Window *lookup;
+
+   lookup = _ecore_event_window_match(e->window);
+   if (!lookup) return 1;
+   ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+   switch (io)
+     {
+      case ECORE_IN:
+	 evas_event_feed_mouse_in(lookup->evas, e->timestamp, NULL);
+	 break;
+      case ECORE_OUT:
+	 evas_event_feed_mouse_out(lookup->evas, e->timestamp, NULL);
+	 break;
+      default:
+	 break;
+     }
+
+   lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
+   return 1;
+}
+
+EAPI int
+ecore_event_evas_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   return _ecore_event_evas_key((Ecore_Event_Key*) event, ECORE_DOWN);
+}
+
+EAPI int
+ecore_event_evas_key_up(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   return _ecore_event_evas_key((Ecore_Event_Key*) event, ECORE_UP);
+}
+
+EAPI int
+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);
+}
+
+EAPI int
+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);
+}
+
+EAPI int
+ecore_event_evas_mouse_wheel(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   Ecore_Event_Mouse_Wheel *e;
+   Ecore_Input_Window *lookup;
+
+   e = event;
+   lookup = _ecore_event_window_match(e->window);
+   if (!lookup) return 1;
+   ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+   evas_event_feed_mouse_wheel(lookup->evas, e->direction, e->z, e->timestamp, NULL);
+
+   return 1;
+}
+
+EAPI int
+ecore_event_evas_mouse_move(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   Ecore_Event_Mouse_Move *e;
+   Ecore_Input_Window *lookup;
+
+   e = event;
+   lookup = _ecore_event_window_match(e->window);
+   if (!lookup) return 1;
+   ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+   lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
+   return 1;
+}
+
+EAPI int
+ecore_event_evas_mouse_in(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   return _ecore_event_evas_mouse_io((Ecore_Event_Mouse_IO*) event, ECORE_IN);
+}
+
+EAPI int
+ecore_event_evas_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event)
+{
+   return _ecore_event_evas_mouse_io((Ecore_Event_Mouse_IO*) event, ECORE_OUT);
+}
+
+EAPI int
+ecore_event_evas_init(void)
+{
+   if (!_ecore_event_evas_init_count)
+     {
+	ecore_init();
+	ecore_event_init();
+
+	ecore_event_evas_handlers[0] = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN,
+							       ecore_event_evas_key_down,
+							       NULL);
+	ecore_event_evas_handlers[1] = ecore_event_handler_add(ECORE_EVENT_KEY_UP,
+							       ecore_event_evas_key_up,
+							       NULL);
+	ecore_event_evas_handlers[2] = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN,
+							       ecore_event_evas_mouse_button_down,
+							       NULL);
+	ecore_event_evas_handlers[3] = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP,
+							       ecore_event_evas_mouse_button_up,
+							       NULL);
+	ecore_event_evas_handlers[4] = ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE,
+							       ecore_event_evas_mouse_move,
+							       NULL);
+	ecore_event_evas_handlers[5] = ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL,
+							       ecore_event_evas_mouse_wheel,
+							       NULL);
+	ecore_event_evas_handlers[6] = ecore_event_handler_add(ECORE_EVENT_MOUSE_IN,
+							       ecore_event_evas_mouse_in,
+							       NULL);
+	ecore_event_evas_handlers[7] = ecore_event_handler_add(ECORE_EVENT_MOUSE_OUT,
+							       ecore_event_evas_mouse_out,
+							       NULL);
+
+	_window_hash = eina_hash_pointer_new(free);
+     }
+   return ++_ecore_event_evas_init_count;
+}
+
+EAPI int
+ecore_event_evas_shutdown(void)
+{
+   if (_ecore_event_evas_init_count == 1)
+     {
+	int i;
+
+        eina_hash_free(_window_hash);
+        _window_hash = NULL;
+	for (i = 0; i < sizeof(ecore_event_evas_handlers)/sizeof(Ecore_Event_Handler*); ++i)
+	  {
+	     ecore_event_handler_del(ecore_event_evas_handlers[i]);
+	     ecore_event_evas_handlers[i] = NULL;
+	  }
+
+	ecore_event_shutdown();
+	ecore_shutdown();
+     }
+   return --_ecore_event_evas_init_count;
+}
+
+typedef struct _Ecore_Event_Modifier_Match Ecore_Event_Modifier_Match;
+struct _Ecore_Event_Modifier_Match
+{
+   const char *key;
+   Ecore_Event_Modifier modifier;
+   unsigned int event_modifier;
+};
+
+static const Ecore_Event_Modifier_Match matchs[] = {
+  { "Shift_L", ECORE_SHIFT, ECORE_EVENT_MODIFIER_SHIFT },
+  { "Shift_R", ECORE_SHIFT, ECORE_EVENT_MODIFIER_SHIFT },
+  { "Alt_L", ECORE_ALT, ECORE_EVENT_MODIFIER_ALT },
+  { "Alt_R", ECORE_ALT, ECORE_EVENT_MODIFIER_ALT },
+  { "Control_L", ECORE_CTRL, ECORE_EVENT_MODIFIER_CTRL },
+  { "Control_R", ECORE_CTRL, ECORE_EVENT_MODIFIER_CTRL },
+  { "Caps_Lock", ECORE_CAPS, ECORE_EVENT_MODIFIER_CAPS },
+  { "Super_L", ECORE_WIN, ECORE_EVENT_MODIFIER_WIN },
+  { "Super_R", ECORE_WIN, ECORE_EVENT_MODIFIER_WIN },
+  { "Scroll_Lock", ECORE_SCROLL, ECORE_EVENT_MODIFIER_SCROLL }
+};
+
+EAPI unsigned int
+ecore_event_modifier_mask(Ecore_Event_Modifier modifier)
+{
+   int i;
+
+   for (i = 0; i < sizeof (matchs) / sizeof (Ecore_Event_Modifier_Match); i++)
+     if (matchs[i].modifier == modifier)
+       return matchs[i].event_modifier;
+
+   return 0;
+}
+
+EAPI Ecore_Event_Modifier
+ecore_event_update_modifier(const char *key, Ecore_Event_Modifiers *modifiers, int inc)
+{
+   int i;
+
+   for (i = 0; i < sizeof (matchs) / sizeof (Ecore_Event_Modifier_Match); i++)
+     if (strcmp(matchs[i].key, key) == 0)
+       {
+	  if (modifiers && matchs[i].modifier < modifiers->size)
+	    modifiers->array[matchs[i].modifier] += inc;
+	  return matchs[i].modifier;
+       }
+
+   return ECORE_NONE;
+}
+
+EAPI int
+ecore_event_init(void)
+{
+   if (!_ecore_event_init_count)
+     {
+	ECORE_EVENT_KEY_DOWN = ecore_event_type_new();
+	ECORE_EVENT_KEY_UP = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_BUTTON_DOWN = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_BUTTON_UP = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_MOVE = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_WHEEL = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_IN = ecore_event_type_new();
+	ECORE_EVENT_MOUSE_OUT = ecore_event_type_new();
+     }
+   return ++_ecore_event_init_count;
+}
+
+EAPI int
+ecore_event_shutdown(void)
+{
+   if (_ecore_event_init_count == 1)
+     {
+	ECORE_EVENT_KEY_DOWN = 0;
+	ECORE_EVENT_KEY_UP = 0;
+	ECORE_EVENT_MOUSE_BUTTON_DOWN = 0;
+	ECORE_EVENT_MOUSE_BUTTON_UP = 0;
+	ECORE_EVENT_MOUSE_MOVE = 0;
+	ECORE_EVENT_MOUSE_WHEEL = 0;
+	ECORE_EVENT_MOUSE_IN = 0;
+	ECORE_EVENT_MOUSE_OUT = 0;
+     }
+   return ++_ecore_event_init_count;
+}
diff --git a/src/lib/ecore_ipc/Ecore_Ipc.h b/src/lib/ecore_ipc/Ecore_Ipc.h
index 8e07366..9c26a74 100644
--- a/src/lib/ecore_ipc/Ecore_Ipc.h
+++ b/src/lib/ecore_ipc/Ecore_Ipc.h
@@ -297,7 +297,7 @@ EAPI unsigned long long _ecore_ipc_swap_64(unsigned long long v);
    EAPI void             *ecore_ipc_server_del(Ecore_Ipc_Server *svr);
    EAPI void             *ecore_ipc_server_data_get(Ecore_Ipc_Server *svr);
    EAPI int               ecore_ipc_server_connected_get(Ecore_Ipc_Server *svr);
-   EAPI Ecore_List       *ecore_ipc_server_clients_get(Ecore_Ipc_Server *svr);
+   EAPI Eina_List        *ecore_ipc_server_clients_get(Ecore_Ipc_Server *svr);
    /* FIXME: this needs to become an ipc message */
    EAPI int               ecore_ipc_server_send(Ecore_Ipc_Server *svr, int major, int minor, int ref, int ref_to, int response, const void *data, int size);
    EAPI void              ecore_ipc_server_client_limit_set(Ecore_Ipc_Server *svr, int client_limit, char reject_excess_clients);
diff --git a/src/lib/ecore_ipc/Makefile.am b/src/lib/ecore_ipc/Makefile.am
index a11158d..17c7d24 100644
--- a/src/lib/ecore_ipc/Makefile.am
+++ b/src/lib/ecore_ipc/Makefile.am
@@ -24,7 +24,7 @@ $(top_builddir)/src/lib/ecore_con/libecore_con.la \
 @SSL_LIBS@ \
 @EINA_LIBS@
 
-libecore_ipc_la_LDFLAGS = -version-info @version_info@
+libecore_ipc_la_LDFLAGS = -version-info @version_info@ @ecore_ipc_release_info@
 
 endif
 
diff --git a/src/lib/ecore_ipc/Makefile.in b/src/lib/ecore_ipc/Makefile.in
index 6ef6b2e..0bfb88f 100644
--- a/src/lib/ecore_ipc/Makefile.in
+++ b/src/lib/ecore_ipc/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -111,72 +115,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -185,8 +174,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -201,6 +188,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -241,6 +230,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -264,6 +255,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -284,36 +276,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -333,6 +345,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -341,17 +354,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -360,7 +380,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -388,7 +407,7 @@ AM_CPPFLAGS = \
 @BUILD_ECORE_IPC_TRUE@@SSL_LIBS@ \
 @BUILD_ECORE_IPC_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_IPC_TRUE@libecore_ipc_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_IPC_TRUE@libecore_ipc_la_LDFLAGS = -version-info @version_info@ @ecore_ipc_release_info@
 EXTRA_DIST = ecore_ipc_private.h
 all: all-am
 
diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c
index 6bfc04b..bc0bc40 100644
--- a/src/lib/ecore_ipc/ecore_ipc.c
+++ b/src/lib/ecore_ipc/ecore_ipc.c
@@ -241,7 +241,7 @@ EAPI int ECORE_IPC_EVENT_CLIENT_DATA = 0;
 EAPI int ECORE_IPC_EVENT_SERVER_DATA = 0;
 
 static int                  init_count = 0;
-static Ecore_Ipc_Server    *servers = NULL;
+static Eina_List           *servers = NULL;
 static Ecore_Event_Handler *handler[6];
 
 /**
@@ -300,7 +300,7 @@ ecore_ipc_shutdown(void)
 
    if (--init_count != 0) return init_count;
 
-   while (servers) ecore_ipc_server_del(servers);
+   while (servers) ecore_ipc_server_del(eina_list_data_get(servers));
 
    for (i = 0; i < 6; i++)
      ecore_event_handler_del(handler[i]);
@@ -364,9 +364,7 @@ ecore_ipc_server_add(Ecore_Ipc_Type compl_type, const char *name, int port, cons
      }
    svr->max_buf_size = 32 * 1024;
    svr->data = (void *)data;
-   svr->client_list = ecore_list_new();
-   ecore_list_init(svr->client_list);
-   servers = _ecore_list2_append(servers, svr);
+   servers = eina_list_append(servers, svr);
    ECORE_MAGIC_SET(svr, ECORE_MAGIC_IPC_SERVER);
    return svr;
 }
@@ -422,7 +420,7 @@ ecore_ipc_server_connect(Ecore_Ipc_Type compl_type, char *name, int port, const
      }
    svr->max_buf_size = -1;
    svr->data = (void *)data;
-   servers = _ecore_list2_append(servers, svr);
+   servers = eina_list_append(servers, svr);
    ECORE_MAGIC_SET(svr, ECORE_MAGIC_IPC_SERVER);
    return svr;
 }
@@ -444,17 +442,21 @@ ecore_ipc_server_del(Ecore_Ipc_Server *svr)
 			 "ecore_ipc_server_del");
 	return NULL;
      }
+   if (svr->delete_me) return NULL;
+
    data = svr->data;
    svr->data = NULL;
    svr->delete_me = 1;
    if (svr->event_count == 0)
      {
-	while (svr->clients)
-	  ecore_ipc_client_del((Ecore_Ipc_Client *)svr->clients);
+	Ecore_Ipc_Client *cl;
+
+	EINA_LIST_FREE(svr->clients, cl)
+	  ecore_ipc_client_del(cl);
 	ecore_con_server_del(svr->server);
-	servers = _ecore_list2_remove(servers, svr);
+	servers = eina_list_remove(servers, svr);
+
 	if (svr->buf) free(svr->buf);
-	if (svr->client_list) ecore_list_destroy(svr->client_list);
 	ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE);
 	free(svr);
      }
@@ -500,10 +502,10 @@ ecore_ipc_server_connected_get(Ecore_Ipc_Server *svr)
 /**
  * Retrieves the list of clients for this server.
  * @param   svr The given IPC server.
- * @return  An Ecore_List with the clients.
+ * @return  An Eina_List with the clients.
  * @ingroup Ecore_IPC_Server_Group
  */
-EAPI Ecore_List *
+EAPI Eina_List *
 ecore_ipc_server_clients_get(Ecore_Ipc_Server *svr)
 {
    if (!ECORE_MAGIC_CHECK(svr, ECORE_MAGIC_IPC_SERVER))
@@ -860,7 +862,7 @@ ecore_ipc_client_del(Ecore_Ipc_Client *cl)
      {
 	svr = ecore_con_server_data_get(ecore_con_client_server_get(cl->client));
 	ecore_con_client_del(cl->client);
-	svr->clients = _ecore_list2_remove(svr->clients, cl);
+	svr->clients = eina_list_remove(svr->clients, cl);
 	if (cl->buf) free(cl->buf);
 	ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE);
 	free(cl);
@@ -1000,7 +1002,7 @@ _ecore_ipc_event_client_add(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Client_Add *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Client *cl;
@@ -1013,8 +1015,8 @@ _ecore_ipc_event_client_add(void *data __UNUSED__, int ev_type __UNUSED__, void
 	cl->client = e->client;
 	cl->max_buf_size = 32 * 1024;
 	ecore_con_client_data_set(cl->client, (void *)cl);
-	svr->clients = _ecore_list2_append(svr->clients, cl);
-	ecore_list_append(svr->client_list, cl);
+	svr->clients = eina_list_append(svr->clients, cl);
+	svr->client_list = eina_list_append(svr->client_list, cl);
 	if (!cl->delete_me)
 	  {
 	     Ecore_Ipc_Event_Client_Add *e2;
@@ -1038,7 +1040,7 @@ _ecore_ipc_event_client_del(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Client_Del *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Client *cl;
@@ -1049,9 +1051,7 @@ _ecore_ipc_event_client_del(void *data __UNUSED__, int ev_type __UNUSED__, void
 	     Ecore_Ipc_Server *svr;
 
 	     svr = ecore_con_server_data_get(ecore_con_client_server_get(e->client));
-	     ecore_list_goto(svr->client_list, cl);
-	     ecore_list_remove(svr->client_list);
-	     ecore_list_first_goto(svr->client_list);
+	     svr->client_list = eina_list_remove(svr->client_list, cl);
 	     if (!cl->delete_me)
 	       {
 		  e2 = calloc(1, sizeof(Ecore_Ipc_Event_Client_Del));
@@ -1074,7 +1074,7 @@ _ecore_ipc_event_server_add(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Server_Add *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(e->server))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(e->server))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Server *svr;
@@ -1103,7 +1103,7 @@ _ecore_ipc_event_server_del(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Server_Del *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(e->server))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(e->server))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Server *svr;
@@ -1173,7 +1173,7 @@ _ecore_ipc_event_client_data(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Client_Data *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(ecore_con_client_server_get(e->client)))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Client *cl;
@@ -1365,7 +1365,7 @@ _ecore_ipc_event_server_data(void *data __UNUSED__, int ev_type __UNUSED__, void
    Ecore_Con_Event_Server_Data *e;
 
    e = ev;
-   if (!_ecore_list2_find(servers, ecore_con_server_data_get(e->server))) return 1;
+   if (!eina_list_data_find(servers, ecore_con_server_data_get(e->server))) return 1;
    /* handling code here */
      {
 	Ecore_Ipc_Server *svr;
diff --git a/src/lib/ecore_ipc/ecore_ipc_private.h b/src/lib/ecore_ipc/ecore_ipc_private.h
index f8813a8..9595975 100644
--- a/src/lib/ecore_ipc/ecore_ipc_private.h
+++ b/src/lib/ecore_ipc/ecore_ipc_private.h
@@ -39,7 +39,6 @@ __attribute__ ((packed));
 
 struct _Ecore_Ipc_Client
 {
-   Ecore_List        __list_data;
    ECORE_MAGIC;
    Ecore_Con_Client  *client;
    void              *data;
@@ -57,11 +56,10 @@ struct _Ecore_Ipc_Client
    
 struct _Ecore_Ipc_Server
 {
-   Ecore_List        __list_data;
    ECORE_MAGIC;
    Ecore_Con_Server *server;
-   Ecore_Ipc_Client *clients;
-   Ecore_List       *client_list;
+   Eina_List        *clients;
+   Eina_List        *client_list;
    void              *data;
    unsigned char     *buf;
    int                buf_size;
diff --git a/src/lib/ecore_job/Makefile.am b/src/lib/ecore_job/Makefile.am
index b78d876..6116d70 100644
--- a/src/lib/ecore_job/Makefile.am
+++ b/src/lib/ecore_job/Makefile.am
@@ -3,6 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_JOB_BUILD@ \
 @EVIL_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -22,7 +23,7 @@ $(top_builddir)/src/lib/ecore/libecore.la \
 @EINA_LIBS@ \
 @EVIL_LIBS@
 
-libecore_job_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_job_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_job_release_info@
 
 endif
 
diff --git a/src/lib/ecore_job/Makefile.in b/src/lib/ecore_job/Makefile.in
index 06a4375..ef87435 100644
--- a/src/lib/ecore_job/Makefile.in
+++ b/src/lib/ecore_job/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -110,72 +114,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -184,8 +173,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -200,6 +187,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -240,6 +229,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -263,6 +254,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -283,36 +275,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -332,6 +344,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -340,17 +353,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -359,7 +379,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -368,6 +387,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_JOB_BUILD@ \
 @EVIL_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -384,7 +404,7 @@ AM_CFLAGS = @WIN32_CFLAGS@
 @BUILD_ECORE_JOB_TRUE@@EINA_LIBS@ \
 @BUILD_ECORE_JOB_TRUE@@EVIL_LIBS@
 
- at BUILD_ECORE_JOB_TRUE@libecore_job_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_JOB_TRUE@libecore_job_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_job_release_info@
 EXTRA_DIST = ecore_job_private.h
 all: all-am
 
diff --git a/src/lib/ecore_quartz/Ecore_Quartz.h b/src/lib/ecore_quartz/Ecore_Quartz.h
index 7d05a6b..d01c7b5 100644
--- a/src/lib/ecore_quartz/Ecore_Quartz.h
+++ b/src/lib/ecore_quartz/Ecore_Quartz.h
@@ -23,73 +23,11 @@
 extern "C" {
 #endif
 
-EAPI extern int ECORE_QUARTZ_EVENT_KEY_DOWN;
-EAPI extern int ECORE_QUARTZ_EVENT_KEY_UP;
-EAPI extern int ECORE_QUARTZ_EVENT_MOUSE_BUTTON_DOWN;
-EAPI extern int ECORE_QUARTZ_EVENT_MOUSE_BUTTON_UP;
-EAPI extern int ECORE_QUARTZ_EVENT_MOUSE_MOVE;
-EAPI extern int ECORE_QUARTZ_EVENT_MOUSE_WHEEL;
 EAPI extern int ECORE_QUARTZ_EVENT_GOT_FOCUS;
 EAPI extern int ECORE_QUARTZ_EVENT_LOST_FOCUS;
 EAPI extern int ECORE_QUARTZ_EVENT_RESIZE;
 EAPI extern int ECORE_QUARTZ_EVENT_EXPOSE;
 
-typedef struct _Ecore_Quartz_Event_Key_Down Ecore_Quartz_Event_Key_Down;
-struct _Ecore_Quartz_Event_Key_Down /** Quartz Key Down event */
-{
-   const char      *keyname; /**< The name of the key that was pressed */
-   const char      *keycompose; /**< The UTF-8 string conversion if any */
-   unsigned int    time;
-};
-
-typedef struct _Ecore_Quartz_Event_Key_Up Ecore_Quartz_Event_Key_Up;
-struct _Ecore_Quartz_Event_Key_Up /** Quartz Key Up event */
-{
-   const char      *keyname; /**< The name of the key that was released */
-   const char      *keycompose; /**< The UTF-8 string conversion if any */
-   unsigned int    time;
-};
-
-typedef struct _Ecore_Quartz_Event_Mouse_Button_Down Ecore_Quartz_Event_Mouse_Button_Down;
-struct _Ecore_Quartz_Event_Mouse_Button_Down /** Quartz Mouse Down event */
-{
-   int             button; /**< Mouse button that was pressed (1 - 32) */
-   int             x; /**< Mouse co-ordinates when mouse button was pressed */
-   int             y; /**< Mouse co-ordinates when mouse button was pressed */
-   int             double_click : 1; /**< Set if click was a double click */
-   int             triple_click : 1; /**< Set if click was a triple click  */
-   unsigned int    time;
-};
-
-typedef struct _Ecore_Quartz_Event_Mouse_Button_Up Ecore_Quartz_Event_Mouse_Button_Up;
-struct _Ecore_Quartz_Event_Mouse_Button_Up /** Quartz Mouse Up event */
-{
-   int             button; /**< Mouse button that was released (1 - 32) */
-   int             x; /**< Mouse co-ordinates when mouse button was raised */
-   int             y; /**< Mouse co-ordinates when mouse button was raised */
-   int             double_click : 1; /**< Set if click was a double click */
-   int             triple_click : 1; /**< Set if click was a triple click  */
-   unsigned int    time;
-};
-
-typedef struct _Ecore_Quartz_Event_Mouse_Move Ecore_Quartz_Event_Mouse_Move;
-struct _Ecore_Quartz_Event_Mouse_Move /** Quartz Mouse Move event */ 
-{
-   int             x; /**< Mouse co-ordinates where the mouse cursor moved to */
-   int             y; /**< Mouse co-ordinates where the mouse cursor moved to */
-   unsigned int    time;
-   void            *window; /**< Need the NSWindow in order to convert coords */
-};
-
-typedef struct _Ecore_Quartz_Event_Mouse_Wheel Ecore_Quartz_Event_Mouse_Wheel;
-struct _Ecore_Quartz_Event_Mouse_Wheel /** Quartz Mouse Wheel event */
-{
-   int             x,y;
-   int             direction; /* 0 = vertical, 1 = horizontal */
-   int             wheel; /* value 1 (left/up), -1 (right/down) */
-   unsigned int    time;
-};
-
 typedef struct _Ecore_Quartz_Event_Video_Resize Ecore_Quartz_Event_Video_Resize;
 struct _Ecore_Quartz_Event_Video_Resize
 {
diff --git a/src/lib/ecore_quartz/Makefile.am b/src/lib/ecore_quartz/Makefile.am
index 981609b..e58bed1 100644
--- a/src/lib/ecore_quartz/Makefile.am
+++ b/src/lib/ecore_quartz/Makefile.am
@@ -2,8 +2,11 @@ MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
- at QUARTZ_CFLAGS@ @EINA_CFLAGS@
+-I$(top_builddir)/src/lib/ecore_input \
+ at EVAS_CFLAGS@ \
+ at EINA_CFLAGS@
 
 if BUILD_ECORE_QUARTZ
 
@@ -12,20 +15,14 @@ include_HEADERS = \
 Ecore_Quartz.h
 
 libecore_quartz_la_SOURCES = \
-Ecore_Quartz.h
-
-### add to SOURCES one we know how to fix:
-# /usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in
-# AM_CONDITIONAL
-# ecore_quartz.m
+ecore_quartz.m
 
 libecore_quartz_la_LIBADD = \
 $(top_builddir)/src/lib/ecore/libecore.la \
- at QUARTZ_LIBS@ \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at EVAS_LIBS@ \
 @EINA_LIBS@
 
-libecore_quartz_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_quartz_la_LDFLAGS = @quartz_ldflags@ -version-info @version_info@ @ecore_quartz_release_info@
 
 endif
-
-EXTRA_DIST = ecore_quartz.m
diff --git a/src/lib/ecore_quartz/Makefile.in b/src/lib/ecore_quartz/Makefile.in
index 7f747bd..c383564 100644
--- a/src/lib/ecore_quartz/Makefile.in
+++ b/src/lib/ecore_quartz/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -55,24 +59,28 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
- at BUILD_ECORE_QUARTZ_TRUE@libecore_quartz_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
-am__libecore_quartz_la_SOURCES_DIST = Ecore_Quartz.h
-am_libecore_quartz_la_OBJECTS =
+ at BUILD_ECORE_QUARTZ_TRUE@libecore_quartz_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_QUARTZ_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
+am__libecore_quartz_la_SOURCES_DIST = ecore_quartz.m
+ at BUILD_ECORE_QUARTZ_TRUE@am_libecore_quartz_la_OBJECTS =  \
+ at BUILD_ECORE_QUARTZ_TRUE@	ecore_quartz.lo
 libecore_quartz_la_OBJECTS = $(am_libecore_quartz_la_OBJECTS)
-libecore_quartz_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libecore_quartz_la_LDFLAGS) $(LDFLAGS) -o $@
+libecore_quartz_la_LINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(OBJCLD) $(AM_OBJCFLAGS) \
+	$(OBJCFLAGS) $(libecore_quartz_la_LDFLAGS) $(LDFLAGS) -o $@
 @BUILD_ECORE_QUARTZ_TRUE at am_libecore_quartz_la_rpath = -rpath \
 @BUILD_ECORE_QUARTZ_TRUE@	$(libdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
+LTOBJCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
+OBJCLD = $(OBJC)
+OBJCLINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
 SOURCES = $(libecore_quartz_la_SOURCES)
 DIST_SOURCES = $(am__libecore_quartz_la_SOURCES_DIST)
@@ -109,72 +117,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -183,8 +176,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -199,6 +190,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -239,6 +232,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -262,6 +257,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -282,36 +278,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -331,6 +347,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -339,17 +356,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -358,7 +382,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -366,31 +389,30 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
- at QUARTZ_CFLAGS@ @EINA_CFLAGS@
+-I$(top_builddir)/src/lib/ecore_input \
+ at EVAS_CFLAGS@ \
+ at EINA_CFLAGS@
 
 @BUILD_ECORE_QUARTZ_TRUE at lib_LTLIBRARIES = libecore_quartz.la
 @BUILD_ECORE_QUARTZ_TRUE at include_HEADERS = \
 @BUILD_ECORE_QUARTZ_TRUE at Ecore_Quartz.h
 
 @BUILD_ECORE_QUARTZ_TRUE at libecore_quartz_la_SOURCES = \
- at BUILD_ECORE_QUARTZ_TRUE@Ecore_Quartz.h
-
+ at BUILD_ECORE_QUARTZ_TRUE@ecore_quartz.m
 
-### add to SOURCES one we know how to fix:
-# /usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in
-# AM_CONDITIONAL
-# ecore_quartz.m
 @BUILD_ECORE_QUARTZ_TRUE at libecore_quartz_la_LIBADD = \
 @BUILD_ECORE_QUARTZ_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_QUARTZ_TRUE@@QUARTZ_LIBS@ \
+ at BUILD_ECORE_QUARTZ_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at BUILD_ECORE_QUARTZ_TRUE@@EVAS_LIBS@ \
 @BUILD_ECORE_QUARTZ_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_QUARTZ_TRUE@libecore_quartz_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
-EXTRA_DIST = ecore_quartz.m
+ at BUILD_ECORE_QUARTZ_TRUE@libecore_quartz_la_LDFLAGS = @quartz_ldflags@ -version-info @version_info@ @ecore_quartz_release_info@
 all: all-am
 
 .SUFFIXES:
+.SUFFIXES: .lo .m .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -456,6 +478,29 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ecore_quartz.Plo at am__quote@
+
+.m.o:
+ at am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepOBJC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepOBJC_FALSE@	$(OBJCCOMPILE) -c -o $@ $<
+
+.m.obj:
+ at am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepOBJC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepOBJC_FALSE@	$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.m.lo:
+ at am__fastdepOBJC_TRUE@	$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepOBJC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepOBJC_FALSE@	$(LTOBJCCOMPILE) -c -o $@ $<
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -590,6 +635,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
 	mostlyclean-am
 
 distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-tags
@@ -623,6 +669,7 @@ install-ps: install-ps-am
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
diff --git a/src/lib/ecore_quartz/ecore_quartz.m b/src/lib/ecore_quartz/ecore_quartz.m
index 71e4a19..ff6dc56 100644
--- a/src/lib/ecore_quartz/ecore_quartz.m
+++ b/src/lib/ecore_quartz/ecore_quartz.m
@@ -1,17 +1,18 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <Cocoa/Cocoa.h>
 
+#include <Eina.h>
+
+#include <ecore_private.h>
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "Ecore_Quartz.h"
-#include "ecore_private.h"
-#include "Ecore.h"
-#include "Ecore_Data.h"
 #include "Ecore_Quartz_Keys.h"
 
-EAPI int ECORE_QUARTZ_EVENT_KEY_DOWN = 0;
-EAPI int ECORE_QUARTZ_EVENT_KEY_UP = 0;
-EAPI int ECORE_QUARTZ_EVENT_MOUSE_BUTTON_DOWN = 0;
-EAPI int ECORE_QUARTZ_EVENT_MOUSE_BUTTON_UP = 0;
-EAPI int ECORE_QUARTZ_EVENT_MOUSE_MOVE = 0;
-EAPI int ECORE_QUARTZ_EVENT_MOUSE_WHEEL = 0;
 EAPI int ECORE_QUARTZ_EVENT_GOT_FOCUS = 0;
 EAPI int ECORE_QUARTZ_EVENT_LOST_FOCUS = 0;
 EAPI int ECORE_QUARTZ_EVENT_RESIZE = 0;
@@ -24,20 +25,17 @@ static int old_flags;
 EAPI int
 ecore_quartz_init(const char *name __UNUSED__)
 {
-	if (!_ecore_quartz_init_count)
-	{
-      ECORE_QUARTZ_EVENT_KEY_DOWN          = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_KEY_UP            = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_MOUSE_BUTTON_DOWN = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_MOUSE_BUTTON_UP   = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_MOUSE_MOVE        = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_MOUSE_WHEEL       = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_GOT_FOCUS         = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_LOST_FOCUS        = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_RESIZE            = ecore_event_type_new();
-      ECORE_QUARTZ_EVENT_EXPOSE            = ecore_event_type_new();
-	}
-	return ++_ecore_quartz_init_count;
+   if (!_ecore_quartz_init_count)
+     {
+        ECORE_QUARTZ_EVENT_GOT_FOCUS         = ecore_event_type_new();
+        ECORE_QUARTZ_EVENT_LOST_FOCUS        = ecore_event_type_new();
+        ECORE_QUARTZ_EVENT_RESIZE            = ecore_event_type_new();
+        ECORE_QUARTZ_EVENT_EXPOSE            = ecore_event_type_new();
+     }
+
+   ecore_event_init();
+
+   return ++_ecore_quartz_init_count;
 }
 
 /**
@@ -49,8 +47,11 @@ ecore_quartz_init(const char *name __UNUSED__)
 EAPI int
 ecore_quartz_shutdown(void)
 {
-	_ecore_quartz_init_count--;
-	return _ecore_quartz_init_count;
+   _ecore_quartz_init_count--;
+
+   ecore_event_shutdown();
+
+   return _ecore_quartz_init_count;
 }
 
 EAPI void
@@ -63,9 +64,9 @@ ecore_quartz_feed_events(void)
                                          dequeue:YES];
    [date release];
    if (!event) return; // SDL loops until null; maybe we should do that too. or not.
-   
+
    unsigned int time = (unsigned int)((unsigned long long)(ecore_time_get() * 1000.0) & 0xffffffff);
-   
+
    switch([event type])
    {
       case NSMouseMoved:
@@ -73,14 +74,18 @@ ecore_quartz_feed_events(void)
       case NSRightMouseDragged:
       case NSOtherMouseDragged:
       {
-         Ecore_Quartz_Event_Mouse_Move * ev = malloc(sizeof(Ecore_Quartz_Event_Mouse_Move));
+         Ecore_Event_Mouse_Move * ev = calloc(1, sizeof(Ecore_Event_Mouse_Move));
+         if (!ev) return;
          ev->x = [event locationInWindow].x;
          ev->y = [event locationInWindow].y;
-         ev->time = time;
+         ev->root.x = ev->x;
+         ev->root.y = ev->y;
+         ev->timestamp = time;
          ev->window = [event window];
-         
-         ecore_event_add(ECORE_QUARTZ_EVENT_MOUSE_MOVE, ev, NULL, NULL);
-            
+         ev->modifiers = 0; /* FIXME: keep modifier around. */
+
+         ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
+
          [NSApp sendEvent:event]; // pass along mouse events, for window manager
          break;
       }
@@ -88,25 +93,27 @@ ecore_quartz_feed_events(void)
       case NSRightMouseDown:
       case NSOtherMouseDown:
       {
-         Ecore_Quartz_Event_Mouse_Button_Down * ev = malloc(sizeof(Ecore_Quartz_Event_Mouse_Button_Down));
+         Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
+         if (!ev) return;
          ev->x = [event locationInWindow].x;
          ev->y = [event locationInWindow].y;
-         ev->button = [event buttonNumber] + 1; // Apple indexes buttons from 0
-         
+         ev->root.x = ev->x;
+         ev->root.y = ev->y;
+         ev->timestamp = time;
+         ev->buttons = [event buttonNumber] + 1; // Apple indexes buttons from 0
+
          if ([event clickCount] == 2)
             ev->double_click = 1;
          else
             ev->double_click = 0;
-         
+
          if ([event clickCount] >= 3)
             ev->triple_click = 1;
          else
             ev->triple_click = 0;
-         
-         ev->time = time;
-         
-         ecore_event_add(ECORE_QUARTZ_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
-         
+
+         ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
+
          [NSApp sendEvent:event]; // pass along mouse events, for window manager
          break;
       }
@@ -114,87 +121,93 @@ ecore_quartz_feed_events(void)
       case NSRightMouseUp:
       case NSOtherMouseUp:
       {
-         Ecore_Quartz_Event_Mouse_Button_Up * ev = malloc(sizeof(Ecore_Quartz_Event_Mouse_Button_Up));
+         Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
+         if (!ev) return;
          ev->x = [event locationInWindow].x;
          ev->y = [event locationInWindow].y;
-         ev->button = [event buttonNumber] + 1; // Apple indexes buttons from 0
-         
+         ev->root.x = ev->x;
+         ev->root.y = ev->y;
+         ev->timestamp = time;
+         ev->buttons = [event buttonNumber] + 1; // Apple indexes buttons from 0
+
          if ([event clickCount] == 2)
             ev->double_click = 1;
          else
             ev->double_click = 0;
-         
+
          if ([event clickCount] >= 3)
             ev->triple_click = 1;
          else
             ev->triple_click = 0;
-         
-         ev->time = time;
-         
-         ecore_event_add(ECORE_QUARTZ_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
-         
+
+         ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
+
          [NSApp sendEvent:event]; // pass along mouse events, for window manager
          break;
       }
       case NSKeyDown:
       {
-         Ecore_Quartz_Event_Key_Down   *ev;
-         unsigned int               i;
+         Ecore_Event_Key *ev;
+         unsigned int     i;
+
+         ev = calloc(1, sizeof (Ecore_Event_Key));
+         if (!ev) return;
+         ev->timestamp = time;
 
-         ev = malloc(sizeof (Ecore_Quartz_Event_Key_Down));
-         ev->time = time;
-         
          for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_quartz_keys_s); ++i)
          {
             if (keystable[i].code == tolower([[event charactersIgnoringModifiers] characterAtIndex:0]))
             {
                ev->keyname = keystable[i].name;
-               ev->keycompose = keystable[i].compose;
+               ev->string = keystable[i].compose;
 
-               ecore_event_add(ECORE_QUARTZ_EVENT_KEY_DOWN, ev, NULL, NULL);
+               ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL);
                return;
             }
          }
-         
-         free(ev);
+
          break;
       }
       case NSKeyUp:
       {
-         Ecore_Quartz_Event_Key_Up   *ev;
-         unsigned int                i;
+         Ecore_Event_Key *ev;
+         unsigned int     i;
+
+         ev = calloc(1, sizeof (Ecore_Event_Key));
+         if (!ev) return;
+         ev->timestamp = time;
 
-         ev = malloc(sizeof (Ecore_Quartz_Event_Key_Up));
-         ev->time = time;
-         
          for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_quartz_keys_s); ++i)
          {
             if (keystable[i].code == tolower([[event charactersIgnoringModifiers] characterAtIndex:0]))
             {
                ev->keyname = keystable[i].name;
-               ev->keycompose = keystable[i].compose;
+               ev->string = keystable[i].compose;
 
-               ecore_event_add(ECORE_QUARTZ_EVENT_KEY_UP, ev, NULL, NULL);
+               ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL);
                return;
             }
          }
-         
-         free(ev);
+
          break;
       }
       case NSFlagsChanged:
       {
          int flags = [event modifierFlags];
-         
-         Ecore_Quartz_Event_Key_Down *evDown = NULL;
-         Ecore_Quartz_Event_Key_Up   *evUp = NULL;
-
-         evDown = malloc(sizeof (Ecore_Quartz_Event_Key_Down));
-         evDown->keyname = NULL;
-         
-         evUp = malloc(sizeof (Ecore_Quartz_Event_Key_Up));
-         evUp->keyname = NULL;
-         
+
+         Ecore_Event_Key *evDown = NULL;
+         Ecore_Event_Key *evUp = NULL;
+
+         evDown = calloc(1, sizeof (Ecore_Event_Key));
+         if (!evDown) return;
+
+         evUp = calloc(1, sizeof (Ecore_Event_Key));
+         if (!evUp)
+           {
+              free(evDown);
+              return;
+           }
+
          // Turn special key flags on
          if (flags & NSShiftKeyMask)
             evDown->keyname = "Shift_L";
@@ -206,18 +219,18 @@ ecore_quartz_feed_events(void)
             evDown->keyname = "Super_L";
          else if (flags & NSAlphaShiftKeyMask)
             evDown->keyname = "Caps_Lock";
-         
+
          if (evDown->keyname)
          {
-            evDown->time = time;
-            evDown->keycompose = "";
-            ecore_event_add(ECORE_QUARTZ_EVENT_KEY_DOWN, evDown, NULL, NULL);
+            evDown->timestamp = time;
+            evDown->string = "";
+            ecore_event_add(ECORE_EVENT_KEY_DOWN, evDown, NULL, NULL);
             old_flags = flags;
             break;
          }
-         
+
          int changed_flags = flags ^ old_flags;
-         
+
          // Turn special key flags off
          if (changed_flags & NSShiftKeyMask)
             evUp->keyname = "Shift_L";
@@ -229,16 +242,16 @@ ecore_quartz_feed_events(void)
             evUp->keyname = "Super_L";
          else if (changed_flags & NSAlphaShiftKeyMask)
             evUp->keyname = "Caps_Lock";
-         
+
          if (evUp->keyname)
          {
-            evUp->time = time;
-            evUp->keycompose = "";
-            ecore_event_add(ECORE_QUARTZ_EVENT_KEY_UP, evUp, NULL, NULL);
+            evUp->timestamp = time;
+            evUp->string = "";
+            ecore_event_add(ECORE_EVENT_KEY_UP, evUp, NULL, NULL);
             old_flags = flags;
             break;
          }
-         
+
          break;
       }
       case NSAppKitDefined:
@@ -260,6 +273,6 @@ ecore_quartz_feed_events(void)
          break;
       }
    }
-   
+
    [event release];
-}
\ No newline at end of file
+}
diff --git a/src/lib/ecore_sdl/Makefile.am b/src/lib/ecore_sdl/Makefile.am
index 6552df1..7e4ed4b 100644
--- a/src/lib/ecore_sdl/Makefile.am
+++ b/src/lib/ecore_sdl/Makefile.am
@@ -2,7 +2,12 @@ MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_SDL_BUILD@ \
 @SDL_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -17,10 +22,10 @@ ecore_sdl.c
 
 libecore_sdl_la_LIBADD = \
 $(top_builddir)/src/lib/ecore/libecore.la \
- at SDL_LIBS@ \
- at EINA_LIBS@
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at SDL_LIBS@ @EVIL_LIBS@ @EINA_LIBS@
 
-libecore_sdl_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_sdl_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_sdl_release_info@
 
 endif
 
diff --git a/src/lib/ecore_sdl/Makefile.in b/src/lib/ecore_sdl/Makefile.in
index a5eb0d3..a6a745f 100644
--- a/src/lib/ecore_sdl/Makefile.in
+++ b/src/lib/ecore_sdl/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -55,7 +59,8 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
- at BUILD_ECORE_SDL_TRUE@libecore_sdl_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
+ at BUILD_ECORE_SDL_TRUE@libecore_sdl_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_SDL_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
 am__libecore_sdl_la_SOURCES_DIST = ecore_sdl.c
 @BUILD_ECORE_SDL_TRUE at am_libecore_sdl_la_OBJECTS = ecore_sdl.lo
 libecore_sdl_la_OBJECTS = $(am_libecore_sdl_la_OBJECTS)
@@ -110,72 +115,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -184,8 +174,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -200,6 +188,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -240,6 +230,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -263,6 +255,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -283,36 +276,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -332,6 +345,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -340,17 +354,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -359,7 +380,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -367,7 +387,12 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_evas \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
+-I$(top_builddir)/src/lib/ecore_evas \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_SDL_BUILD@ \
 @SDL_CFLAGS@ \
 @EINA_CFLAGS@
 
@@ -380,10 +405,10 @@ AM_CPPFLAGS = \
 
 @BUILD_ECORE_SDL_TRUE at libecore_sdl_la_LIBADD = \
 @BUILD_ECORE_SDL_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_SDL_TRUE@@SDL_LIBS@ \
- at BUILD_ECORE_SDL_TRUE@@EINA_LIBS@
+ at BUILD_ECORE_SDL_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at BUILD_ECORE_SDL_TRUE@@SDL_LIBS@ @EVIL_LIBS@ @EINA_LIBS@
 
- at BUILD_ECORE_SDL_TRUE@libecore_sdl_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_SDL_TRUE@libecore_sdl_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_sdl_release_info@
 EXTRA_DIST = Ecore_Sdl_Keys.h
 all: all-am
 
diff --git a/src/lib/ecore_sdl/ecore_sdl.c b/src/lib/ecore_sdl/ecore_sdl.c
index 3187c3d..1547c40 100644
--- a/src/lib/ecore_sdl/ecore_sdl.c
+++ b/src/lib/ecore_sdl/ecore_sdl.c
@@ -8,24 +8,48 @@
 
 #include <SDL/SDL.h>
 
+#include "Eina.h"
 #include "Ecore_Sdl.h"
 #include "ecore_private.h"
+#include "Ecore_Input.h"
 #include "Ecore.h"
 #include "Ecore_Data.h"
 #include "Ecore_Sdl_Keys.h"
 
-EAPI int ECORE_SDL_EVENT_KEY_DOWN = 0;
-EAPI int ECORE_SDL_EVENT_KEY_UP = 0;
-EAPI int ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN = 0;
-EAPI int ECORE_SDL_EVENT_MOUSE_BUTTON_UP = 0;
-EAPI int ECORE_SDL_EVENT_MOUSE_MOVE = 0;
-EAPI int ECORE_SDL_EVENT_MOUSE_WHEEL = 0;
+#include <eina_rbtree.h>
+
+typedef struct _Ecore_SDL_Pressed Ecore_SDL_Pressed;
+struct _Ecore_SDL_Pressed
+{
+   EINA_RBTREE;
+
+   SDLKey key;
+};
+
 EAPI int ECORE_SDL_EVENT_GOT_FOCUS = 0;
 EAPI int ECORE_SDL_EVENT_LOST_FOCUS = 0;
 EAPI int ECORE_SDL_EVENT_RESIZE = 0;
 EAPI int ECORE_SDL_EVENT_EXPOSE = 0;
 
 static int _ecore_sdl_init_count = 0;
+static Eina_Rbtree *repeat = NULL;
+
+static Eina_Rbtree_Direction
+_ecore_sdl_pressed_key(const Ecore_SDL_Pressed *left,
+		       const Ecore_SDL_Pressed *right,
+		       __UNUSED__ void *data)
+{
+   return left->key < right->key ? EINA_RBTREE_LEFT : EINA_RBTREE_RIGHT;
+}
+
+static int
+_ecore_sdl_pressed_node(const Ecore_SDL_Pressed *node,
+			const SDLKey *key,
+			__UNUSED__ int length,
+			__UNUSED__ void *data)
+{
+   return node->key - *key;
+}
 
 /**
  * @defgroup Ecore_Sdl_Library_Group Framebuffer Library Functions
@@ -43,20 +67,17 @@ static int _ecore_sdl_init_count = 0;
 EAPI int
 ecore_sdl_init(const char *name __UNUSED__)
 {
-	if(!_ecore_sdl_init_count)
-	{
-		ECORE_SDL_EVENT_KEY_DOWN          = ecore_event_type_new();
-		ECORE_SDL_EVENT_KEY_UP            = ecore_event_type_new();
-		ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN = ecore_event_type_new();
-		ECORE_SDL_EVENT_MOUSE_BUTTON_UP   = ecore_event_type_new();
-		ECORE_SDL_EVENT_MOUSE_MOVE        = ecore_event_type_new();
-		ECORE_SDL_EVENT_MOUSE_WHEEL       = ecore_event_type_new();
-                ECORE_SDL_EVENT_GOT_FOCUS         = ecore_event_type_new();
-                ECORE_SDL_EVENT_LOST_FOCUS        = ecore_event_type_new();
-                ECORE_SDL_EVENT_RESIZE            = ecore_event_type_new();
-                ECORE_SDL_EVENT_EXPOSE            = ecore_event_type_new();
-	}
-	return ++_ecore_sdl_init_count;
+   if(!_ecore_sdl_init_count)
+     {
+	ECORE_SDL_EVENT_GOT_FOCUS         = ecore_event_type_new();
+	ECORE_SDL_EVENT_LOST_FOCUS        = ecore_event_type_new();
+	ECORE_SDL_EVENT_RESIZE            = ecore_event_type_new();
+	ECORE_SDL_EVENT_EXPOSE            = ecore_event_type_new();
+
+	SDL_EnableKeyRepeat(200, 100);
+     }
+   ecore_event_init();
+   return ++_ecore_sdl_init_count;
 }
 
 /**
@@ -68,8 +89,37 @@ ecore_sdl_init(const char *name __UNUSED__)
 EAPI int
 ecore_sdl_shutdown(void)
 {
-	_ecore_sdl_init_count--;
-	return _ecore_sdl_init_count;
+   _ecore_sdl_init_count--;
+   ecore_event_shutdown();
+   return _ecore_sdl_init_count;
+}
+
+static Ecore_Event_Key*
+_ecore_sdl_event_key(SDL_Event *event, double time)
+{
+   Ecore_Event_Key *ev;
+   unsigned int i;
+
+   ev = malloc(sizeof(Ecore_Event_Key));
+   if (!ev) return NULL;
+
+   ev->timestamp = time;
+   ev->window = 0;
+   ev->modifiers = 0; /* FIXME: keep modifier around. */
+   ev->key = NULL;
+   ev->compose = NULL;
+
+   for (i = 0; i < sizeof(keystable) / sizeof(struct _ecore_sdl_keys_s); ++i)
+     if (keystable[i].code == event->key.keysym.sym)
+       {
+	  ev->keyname = keystable[i].name;
+	  ev->string = keystable[i].compose;
+
+	  return ev;
+       }
+
+   free(ev);
+   return NULL;
 }
 
 EAPI void
@@ -85,14 +135,20 @@ ecore_sdl_feed_events(void)
           {
           case SDL_MOUSEMOTION:
           {
-             Ecore_Sdl_Event_Mouse_Move *ev;
+	     Ecore_Event_Mouse_Move *ev;
 
-             ev = malloc(sizeof(Ecore_Sdl_Event_Mouse_Move));
+	     ev = malloc(sizeof(Ecore_Event_Mouse_Move));
+	     if (!ev) return ;
+
+	     ev->timestamp = time;
+	     ev->window = 0;
+	     ev->modifiers = 0; /* FIXME: keep modifier around. */
              ev->x = event.motion.x;
              ev->y = event.motion.y;
-             ev->time = time;
+	     ev->root.x = ev->x;
+	     ev->root.y = ev->y;
 
-             ecore_event_add(ECORE_SDL_EVENT_MOUSE_MOVE, ev, NULL, NULL);
+             ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
              break;
           }
           case SDL_MOUSEBUTTONDOWN:
@@ -100,46 +156,51 @@ ecore_sdl_feed_events(void)
              if (event.button.button == SDL_BUTTON_WHEELUP ||
                  event.button.button == SDL_BUTTON_WHEELDOWN)
                {
-                  Ecore_Sdl_Event_Mouse_Wheel   *ev;
+                  Ecore_Event_Mouse_Wheel *ev;
+
+                  ev = malloc(sizeof(Ecore_Event_Mouse_Wheel));
+		  if (!ev) return ;
 
-                  ev = malloc(sizeof (Ecore_Sdl_Event_Mouse_Wheel));
-                  ev->x = event.button.x;
-                  ev->y = event.button.y;
+		  ev->timestamp = time;
+		  ev->window = 0;
+		  ev->modifiers = 0; /* FIXME: keep modifier around. */
                   ev->direction = 0;
-                  ev->wheel = event.button.button == SDL_BUTTON_WHEELDOWN ? -1 : 1;
-                  ev->time = time;
+                  ev->z = event.button.button == SDL_BUTTON_WHEELDOWN ? -1 : 1;
 
-                  ecore_event_add(ECORE_SDL_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
+                  ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
                }
              else
                {
-                  Ecore_Sdl_Event_Mouse_Button_Down  *ev;
+                  Ecore_Event_Mouse_Button *ev;
+
+                  ev = malloc(sizeof(Ecore_Event_Mouse_Button));
+		  if (!ev) return ;
 
-                  ev = malloc(sizeof (Ecore_Sdl_Event_Mouse_Button_Down));
-                  ev->x = event.button.x;
-                  ev->y = event.button.y;
-                  ev->button = event.button.button;
+		  ev->timestamp = time;
+		  ev->window = 0;
+		  ev->modifiers = 0; /* FIXME: keep modifier around. */
+                  ev->buttons = event.button.button;
                   ev->double_click = 0;
                   ev->triple_click = 0;
-                  ev->time = time;
 
-                  ecore_event_add(ECORE_SDL_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
+                  ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL);
                }
              break;
           }
           case SDL_MOUSEBUTTONUP:
           {
-             Ecore_Sdl_Event_Mouse_Button_Up  *ev;
+             Ecore_Event_Mouse_Button *ev;
 
-             ev = malloc(sizeof (Ecore_Sdl_Event_Mouse_Button_Up));
-             ev->x = event.button.x;
-             ev->y = event.button.y;
-             ev->button = event.button.button;
+             ev = malloc(sizeof(Ecore_Event_Mouse_Button));
+	     if (!ev) return ;
+	     ev->timestamp = time;
+	     ev->window = 0;
+	     ev->modifiers = 0; /* FIXME: keep modifier around. */
+             ev->buttons = event.button.button;
              ev->double_click = 0;
              ev->triple_click = 0;
-             ev->time = time;
 
-             ecore_event_add(ECORE_SDL_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
+             ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, ev, NULL, NULL);
              break;
           }
           case SDL_VIDEORESIZE:
@@ -162,44 +223,48 @@ ecore_sdl_feed_events(void)
 
           case SDL_KEYDOWN:
           {
-             Ecore_Sdl_Event_Key_Down   *ev;
-             unsigned int               i;
+	     Ecore_SDL_Pressed *entry;
+             Ecore_Event_Key *ev;
 
-             ev = malloc(sizeof (Ecore_Sdl_Event_Key_Down));
-             ev->time = time;
+	     entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.keysym.sym, sizeof (event.key.keysym.sym),
+								    EINA_RBTREE_CMP_KEY_CB(_ecore_sdl_pressed_node), NULL);
+	     if (entry)
+	       {
+		  ev = _ecore_sdl_event_key(&event, time);
+		  if (ev) ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL);
+	       }
 
-             for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_sdl_keys_s); ++i)
-               if (keystable[i].code == event.key.keysym.sym)
-                 {
-                    ev->keyname = keystable[i].name;
-                    ev->keycompose = keystable[i].compose;
+	     ev = _ecore_sdl_event_key(&event, time);
+	     if (ev) ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL);
 
-                    ecore_event_add(ECORE_SDL_EVENT_KEY_DOWN, ev, NULL, NULL);
-                    return ;
-                 }
+	     if (!entry)
+	       {
+		  entry = malloc(sizeof (Ecore_SDL_Pressed));
+		  if (!entry) break;
 
-             free(ev);
+		  entry->key = event.key.keysym.sym;
+
+		  repeat = eina_rbtree_inline_insert(repeat, EINA_RBTREE_GET(entry),
+						     EINA_RBTREE_CMP_NODE_CB(_ecore_sdl_pressed_key), NULL);
+	       }
              break;
           }
           case SDL_KEYUP:
           {
-             Ecore_Sdl_Event_Key_Up     *ev;
-             unsigned int               i;
-
-             ev = malloc(sizeof (Ecore_Sdl_Event_Key_Up));
-             ev->time = time;
-
-             for (i = 0; i < sizeof (keystable) / sizeof (struct _ecore_sdl_keys_s); ++i)
-               if (keystable[i].code == event.key.keysym.sym)
-                 {
-                    ev->keyname = keystable[i].name;
-                    ev->keycompose = keystable[i].compose;
+             Ecore_Event_Key *ev;
+	     Ecore_SDL_Pressed *entry;
 
-                    ecore_event_add(ECORE_SDL_EVENT_KEY_UP, ev, NULL, NULL);
-                    return ;
-                 }
+	     entry = (Ecore_SDL_Pressed*) eina_rbtree_inline_lookup(repeat, &event.key.keysym.sym, sizeof (event.key.keysym.sym),
+								    EINA_RBTREE_CMP_KEY_CB(_ecore_sdl_pressed_node), NULL);
+	     if (entry)
+	       {
+		  repeat = eina_rbtree_inline_remove(repeat, EINA_RBTREE_GET(entry),
+						     EINA_RBTREE_CMP_NODE_CB(_ecore_sdl_pressed_key), NULL);
+		  free(entry);
+	       }
 
-             free(ev);
+	     ev = _ecore_sdl_event_key(&event, time);
+	     if (ev) ecore_event_add(ECORE_EVENT_KEY_UP, ev, NULL, NULL);
              break;
           }
           case SDL_ACTIVEEVENT:
diff --git a/src/lib/ecore_txt/Makefile.am b/src/lib/ecore_txt/Makefile.am
index 4f9e931..1213098 100644
--- a/src/lib/ecore_txt/Makefile.am
+++ b/src/lib/ecore_txt/Makefile.am
@@ -3,6 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_TXT_BUILD@ \
 @iconv_cflags@
 
 if BUILD_ECORE_TXT
@@ -18,7 +19,7 @@ ecore_txt.c
 libecore_txt_la_LIBADD = @iconv_libs@ \
 @EINA_LIBS@
 
-libecore_txt_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_txt_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_txt_release_info@
 
 
 endif
diff --git a/src/lib/ecore_txt/Makefile.in b/src/lib/ecore_txt/Makefile.in
index 5a464ee..e4db27d 100644
--- a/src/lib/ecore_txt/Makefile.in
+++ b/src/lib/ecore_txt/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -110,72 +114,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -184,8 +173,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -200,6 +187,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -240,6 +229,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -263,6 +254,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -283,36 +275,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -332,6 +344,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -340,17 +353,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -359,7 +379,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -368,6 +387,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_TXT_BUILD@ \
 @iconv_cflags@
 
 @BUILD_ECORE_TXT_TRUE at lib_LTLIBRARIES = libecore_txt.la
@@ -380,7 +400,7 @@ AM_CPPFLAGS = \
 @BUILD_ECORE_TXT_TRUE at libecore_txt_la_LIBADD = @iconv_libs@ \
 @BUILD_ECORE_TXT_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_TXT_TRUE@libecore_txt_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_TXT_TRUE@libecore_txt_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_txt_release_info@
 EXTRA_DIST = ecore_txt_private.h
 all: all-am
 
diff --git a/src/lib/ecore_win32/Ecore_Win32.h b/src/lib/ecore_win32/Ecore_Win32.h
index 2e97dac..eef0f27 100644
--- a/src/lib/ecore_win32/Ecore_Win32.h
+++ b/src/lib/ecore_win32/Ecore_Win32.h
@@ -121,14 +121,8 @@ typedef enum
 
 /* Events */
 
-typedef struct _Ecore_Win32_Event_Key_Down              Ecore_Win32_Event_Key_Down;
-typedef struct _Ecore_Win32_Event_Key_Up                Ecore_Win32_Event_Key_Up;
-typedef struct _Ecore_Win32_Event_Mouse_Button_Down     Ecore_Win32_Event_Mouse_Button_Down;
-typedef struct _Ecore_Win32_Event_Mouse_Button_Up       Ecore_Win32_Event_Mouse_Button_Up;
-typedef struct _Ecore_Win32_Event_Mouse_Move            Ecore_Win32_Event_Mouse_Move;
 typedef struct _Ecore_Win32_Event_Mouse_In              Ecore_Win32_Event_Mouse_In;
 typedef struct _Ecore_Win32_Event_Mouse_Out             Ecore_Win32_Event_Mouse_Out;
-typedef struct _Ecore_Win32_Event_Mouse_Wheel           Ecore_Win32_Event_Mouse_Wheel;
 typedef struct _Ecore_Win32_Event_Window_Focus_In       Ecore_Win32_Event_Window_Focus_In;
 typedef struct _Ecore_Win32_Event_Window_Focus_Out      Ecore_Win32_Event_Window_Focus_Out;
 typedef struct _Ecore_Win32_Event_Window_Damage         Ecore_Win32_Event_Window_Damage;
@@ -140,54 +134,6 @@ typedef struct _Ecore_Win32_Event_Window_Configure      Ecore_Win32_Event_Window
 typedef struct _Ecore_Win32_Event_Window_Resize         Ecore_Win32_Event_Window_Resize;
 typedef struct _Ecore_Win32_Event_Window_Delete_Request Ecore_Win32_Event_Window_Delete_Request;
 
-struct _Ecore_Win32_Event_Key_Down
-{
-   Ecore_Win32_Window *window;
-   char               *keyname;
-   char               *keysymbol;
-   char               *keycompose;
-   double              time;
-};
-
-struct _Ecore_Win32_Event_Key_Up
-{
-   Ecore_Win32_Window *window;
-   char               *keyname;
-   char               *keysymbol;
-   char               *keycompose;
-   double              time;
-};
-
-struct _Ecore_Win32_Event_Mouse_Button_Down
-{
-   Ecore_Win32_Window *window;
-   int                 button;
-   int                 x;
-   int                 y;
-   double              time;
-   unsigned int        double_click : 1;
-   unsigned int        triple_click : 1;
-};
-
-struct _Ecore_Win32_Event_Mouse_Button_Up
-{
-   Ecore_Win32_Window *window;
-   int                 button;
-   int                 x;
-   int                 y;
-   double              time;
-   unsigned int        double_click : 1;
-   unsigned int        triple_click : 1;
-};
-
-struct _Ecore_Win32_Event_Mouse_Move
-{
-   Ecore_Win32_Window *window;
-   int                 x;
-   int                 y;
-   double              time;
-};
-
 struct _Ecore_Win32_Event_Mouse_In
 {
    Ecore_Win32_Window *window;
@@ -204,17 +150,6 @@ struct _Ecore_Win32_Event_Mouse_Out
    double              time;
 };
 
-struct _Ecore_Win32_Event_Mouse_Wheel
-{
-   Ecore_Win32_Window *window;
-   int                 direction; /* 0 = default up/down wheel FIXME: more wheel types */
-   int                 z; /* ...,-2,-1 = down, 1,2,... = up */
-   int                 modifiers;
-   int                 x;
-   int                 y;
-   double              time;
-};
-
 struct _Ecore_Win32_Event_Window_Focus_In
 {
    Ecore_Win32_Window *window;
@@ -294,14 +229,8 @@ struct _Ecore_Win32_Event_Window_Delete_Request
 
 typedef int (*Ecore_Win32_Dnd_DropTarget_Callback)(void *window, int event, int pt_x, int pt_y, void *data, int size);
 
-EAPI extern int ECORE_WIN32_EVENT_KEY_DOWN;
-EAPI extern int ECORE_WIN32_EVENT_KEY_UP;
-EAPI extern int ECORE_WIN32_EVENT_MOUSE_BUTTON_DOWN;
-EAPI extern int ECORE_WIN32_EVENT_MOUSE_BUTTON_UP;
-EAPI extern int ECORE_WIN32_EVENT_MOUSE_MOVE;
 EAPI extern int ECORE_WIN32_EVENT_MOUSE_IN;
 EAPI extern int ECORE_WIN32_EVENT_MOUSE_OUT;
-EAPI extern int ECORE_WIN32_EVENT_MOUSE_WHEEL;
 EAPI extern int ECORE_WIN32_EVENT_WINDOW_FOCUS_IN;
 EAPI extern int ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT;
 EAPI extern int ECORE_WIN32_EVENT_WINDOW_DAMAGE;
@@ -335,7 +264,7 @@ EAPI Ecore_Win32_Window *ecore_win32_window_override_new(Ecore_Win32_Window *par
                                                          int                 width,
                                                          int                 height);
 
-EAPI void ecore_win32_window_del(Ecore_Win32_Window *window);
+EAPI void ecore_win32_window_free(Ecore_Win32_Window *window);
 
 EAPI void *ecore_win32_window_hwnd_get(Ecore_Win32_Window *window);
 
diff --git a/src/lib/ecore_win32/Makefile.am b/src/lib/ecore_win32/Makefile.am
index f8ccc95..015f302 100644
--- a/src/lib/ecore_win32/Makefile.am
+++ b/src/lib/ecore_win32/Makefile.am
@@ -2,8 +2,13 @@ MAINTAINERCLEANFILES = Makefile.in
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
- at EINA_CFLAGS@
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_WIN32_BUILD@ \
+ at EVAS_CFLAGS@ \
+ at EINA_CFLAGS@ \
+ at WIN32_CPPFLAGS@
 
 
 if BUILD_ECORE_WIN32
@@ -28,9 +33,11 @@ libecore_win32_la_LIBADD = \
 @ecore_win32_libs@ \
 @WIN32_LIBS@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at EVAS_LIBS@ \
 @EINA_LIBS@
 
-libecore_win32_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_win32_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_win32_release_info@
 
 endif
 
diff --git a/src/lib/ecore_win32/Makefile.in b/src/lib/ecore_win32/Makefile.in
index 8f8a6bd..fd8d586 100644
--- a/src/lib/ecore_win32/Makefile.in
+++ b/src/lib/ecore_win32/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -55,7 +59,8 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
- at BUILD_ECORE_WIN32_TRUE@libecore_win32_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la
+ at BUILD_ECORE_WIN32_TRUE@libecore_win32_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_WIN32_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
 am__libecore_win32_la_SOURCES_DIST = ecore_win32.c \
 	ecore_win32_cursor.c ecore_win32_dnd.c \
 	ecore_win32_dnd_enumformatetc.cpp \
@@ -133,72 +138,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -207,8 +197,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -223,6 +211,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -263,6 +253,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -286,6 +278,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -306,36 +299,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -355,6 +368,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -363,17 +377,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -382,7 +403,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -390,8 +410,13 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
- at EINA_CFLAGS@
+-I$(top_builddir)/src/lib/ecore_input \
+ at EFL_ECORE_WIN32_BUILD@ \
+ at EVAS_CFLAGS@ \
+ at EINA_CFLAGS@ \
+ at WIN32_CPPFLAGS@
 
 @BUILD_ECORE_WIN32_TRUE at lib_LTLIBRARIES = libecore_win32.la
 @BUILD_ECORE_WIN32_TRUE at include_HEADERS = \
@@ -412,9 +437,11 @@ AM_CPPFLAGS = \
 @BUILD_ECORE_WIN32_TRUE@@ecore_win32_libs@ \
 @BUILD_ECORE_WIN32_TRUE@@WIN32_LIBS@ \
 @BUILD_ECORE_WIN32_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
+ at BUILD_ECORE_WIN32_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
+ at BUILD_ECORE_WIN32_TRUE@@EVAS_LIBS@ \
 @BUILD_ECORE_WIN32_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_WIN32_TRUE@libecore_win32_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_WIN32_TRUE@libecore_win32_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_win32_release_info@
 EXTRA_DIST = \
 ecore_win32_private.h \
 ecore_win32_dnd_enumformatetc.h \
diff --git a/src/lib/ecore_win32/ecore_win32.c b/src/lib/ecore_win32/ecore_win32.c
index b5f0cfc..cc3ce6c 100644
--- a/src/lib/ecore_win32/ecore_win32.c
+++ b/src/lib/ecore_win32/ecore_win32.c
@@ -14,7 +14,10 @@
 #undef WIN32_LEAN_AND_MEAN
 #include <windowsx.h>
 
-#include "Ecore.h"
+#include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "Ecore_Win32.h"
 #include "ecore_win32_private.h"
 
@@ -37,14 +40,8 @@ double              _ecore_win32_double_click_time = 0.25;
 double              _ecore_win32_event_last_time = 0.0;
 Ecore_Win32_Window *_ecore_win32_event_last_window = NULL;
 
-int ECORE_WIN32_EVENT_KEY_DOWN              = 0;
-int ECORE_WIN32_EVENT_KEY_UP                = 0;
-int ECORE_WIN32_EVENT_MOUSE_BUTTON_DOWN     = 0;
-int ECORE_WIN32_EVENT_MOUSE_BUTTON_UP       = 0;
-int ECORE_WIN32_EVENT_MOUSE_MOVE            = 0;
 int ECORE_WIN32_EVENT_MOUSE_IN              = 0;
 int ECORE_WIN32_EVENT_MOUSE_OUT             = 0;
-int ECORE_WIN32_EVENT_MOUSE_WHEEL           = 0;
 int ECORE_WIN32_EVENT_WINDOW_FOCUS_IN       = 0;
 int ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT      = 0;
 int ECORE_WIN32_EVENT_WINDOW_DAMAGE         = 0;
@@ -66,6 +63,14 @@ LRESULT CALLBACK _ecore_win32_window_procedure(HWND   window,
                                                WPARAM window_param,
                                                LPARAM data_param);
 
+static void      _ecore_wince_error_print_cb(Eina_Error_Level level,
+                                             const char      *file,
+                                             const char      *fnc,
+                                             int              line,
+                                             const char      *fmt,
+                                             void            *data,
+                                             va_list          args);
+
 
 /***** API *****/
 
@@ -75,16 +80,22 @@ ecore_win32_init()
 {
    WNDCLASS wc;
 
+   eina_error_print_cb_set(_ecore_wince_error_print_cb, NULL);
+
+   EINA_ERROR_PINFO("initializing ecore_win32 (current count: %d)\n", _ecore_win32_init_count);
+
    if (_ecore_win32_init_count > 0)
      {
 	_ecore_win32_init_count++;
 	return _ecore_win32_init_count;
      }
 
-   printf (" *** ecore_win32_init\n");
    _ecore_win32_instance = GetModuleHandle(NULL);
    if (!_ecore_win32_instance)
-     return 0;
+     {
+        EINA_ERROR_PERR("GetModuleHandle() failed\n");
+        return 0;
+     }
 
    memset (&wc, 0, sizeof (WNDCLASS));
    wc.style = CS_HREDRAW | CS_VREDRAW;
@@ -100,26 +111,22 @@ ecore_win32_init()
 
    if(!RegisterClass(&wc))
      {
+        EINA_ERROR_PERR("RegisterClass() failed\n");
         FreeLibrary(_ecore_win32_instance);
         return 0;
      }
 
    if (!ecore_win32_dnd_init())
      {
+        EINA_ERROR_PERR("ecore_win32_dnd_init() failed\n");
         FreeLibrary(_ecore_win32_instance);
         return 0;
      }
 
-   if (!ECORE_WIN32_EVENT_KEY_DOWN)
+   if (!ECORE_WIN32_EVENT_MOUSE_IN)
      {
-        ECORE_WIN32_EVENT_KEY_DOWN              = ecore_event_type_new();
-        ECORE_WIN32_EVENT_KEY_UP                = ecore_event_type_new();
-        ECORE_WIN32_EVENT_MOUSE_BUTTON_DOWN     = ecore_event_type_new();
-        ECORE_WIN32_EVENT_MOUSE_BUTTON_UP       = ecore_event_type_new();
-        ECORE_WIN32_EVENT_MOUSE_MOVE            = ecore_event_type_new();
         ECORE_WIN32_EVENT_MOUSE_IN              = ecore_event_type_new();
         ECORE_WIN32_EVENT_MOUSE_OUT             = ecore_event_type_new();
-        ECORE_WIN32_EVENT_MOUSE_WHEEL           = ecore_event_type_new();
         ECORE_WIN32_EVENT_WINDOW_FOCUS_IN       = ecore_event_type_new();
         ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT      = ecore_event_type_new();
         ECORE_WIN32_EVENT_WINDOW_DAMAGE         = ecore_event_type_new();
@@ -132,6 +139,8 @@ ecore_win32_init()
         ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST = ecore_event_type_new();
      }
 
+   ecore_event_init();
+
    _ecore_win32_init_count++;
 
    return _ecore_win32_init_count;
@@ -140,13 +149,22 @@ ecore_win32_init()
 int
 ecore_win32_shutdown()
 {
+   EINA_ERROR_PINFO("shutting down ecore_win32 (current count: %d)\n", _ecore_win32_init_count);
+
    _ecore_win32_init_count--;
    if (_ecore_win32_init_count > 0) return _ecore_win32_init_count;
-   if (!_ecore_win32_instance) return _ecore_win32_init_count;
+
+   ecore_event_shutdown(); 
 
    ecore_win32_dnd_shutdown();
-   UnregisterClass(ECORE_WIN32_WINDOW_CLASS, _ecore_win32_instance);
-   FreeLibrary(_ecore_win32_instance);
+   if (!UnregisterClass(ECORE_WIN32_WINDOW_CLASS, _ecore_win32_instance))
+     {
+        EINA_ERROR_PERR("UnregisterClass() failed\n");
+     }
+   if (!FreeLibrary(_ecore_win32_instance))
+     {
+        EINA_ERROR_PERR("FreeLibrary() failed\n");
+     }
    _ecore_win32_instance = NULL;
 
    if (_ecore_win32_init_count < 0) _ecore_win32_init_count = 0;
@@ -160,12 +178,20 @@ ecore_win32_screen_depth_get()
    HDC dc;
    int depth;
 
+   EINA_ERROR_PINFO("getting screen depth\n");
+
    dc = GetDC(NULL);
    if (!dc)
-     return 0;
+     {
+        EINA_ERROR_PERR("GetDC() failed\n");
+        return 0;
+     }
 
    depth = GetDeviceCaps(dc, BITSPIXEL);
-   ReleaseDC(NULL, dc);
+   if (!ReleaseDC(NULL, dc))
+     {
+        EINA_ERROR_PERR("ReleaseDC() failed (device context not released)\n");
+     }
 
    return depth;
 }
@@ -239,47 +265,37 @@ _ecore_win32_window_procedure(HWND   window,
      {
        /* Keyboard input notifications */
      case WM_KEYDOWN:
-       printf (" * ecore message : keystroke down\n");
        _ecore_win32_event_handle_key_press(data, 1);
        return 0;
      case WM_CHAR:
        _ecore_win32_event_handle_key_press(data, 0);
        return 0;
      case WM_KEYUP:
-       printf (" * ecore message : keystroke up\n");
        _ecore_win32_event_handle_key_release(data, 1);
        return 0;
      case WM_SETFOCUS:
-       printf (" * ecore message : focus in\n");
        _ecore_win32_event_handle_focus_in(data);
        return 0;
      case WM_KILLFOCUS:
-       printf (" * ecore message : focus out\n");
        _ecore_win32_event_handle_focus_out(data);
        return 0;
        /* Mouse input notifications */
      case WM_LBUTTONDOWN:
-       printf (" * ecore message : lbuttondown\n");
        _ecore_win32_event_handle_button_press(data, 1);
        return 0;
      case WM_MBUTTONDOWN:
-       printf (" * ecore message : mbuttondown\n");
        _ecore_win32_event_handle_button_press(data, 2);
        return 0;
      case WM_RBUTTONDOWN:
-       printf (" * ecore message : rbuttondown\n");
        _ecore_win32_event_handle_button_press(data, 3);
        return 0;
      case WM_LBUTTONUP:
-       printf (" * ecore message : lbuttonup\n");
        _ecore_win32_event_handle_button_release(data, 1);
        return 0;
      case WM_MBUTTONUP:
-       printf (" * ecore message : mbuttonup\n");
        _ecore_win32_event_handle_button_release(data, 2);
        return 0;
      case WM_RBUTTONUP:
-       printf (" * ecore message : rbuttonup\n");
        _ecore_win32_event_handle_button_release(data, 3);
        return 0;
      case WM_MOUSEMOVE:
@@ -290,58 +306,49 @@ _ecore_win32_window_procedure(HWND   window,
           w = (struct _Ecore_Win32_Window *)GetWindowLong(window, GWL_USERDATA);
 
           if (GetClientRect(window, &rect))
-          {
-             POINT pt;
-
-             pt.x = GET_X_LPARAM(data_param);
-             pt.y = GET_Y_LPARAM(data_param);
-             if (!PtInRect(&rect, pt))
-               {
-                  if (w->pointer_is_in)
-                    {
-                       w->pointer_is_in = 0;
-                       _ecore_win32_event_handle_leave_notify(data);
-                    }
-               }
-             else
-               {
-                  if (!w->pointer_is_in)
-                    {
-                       w->pointer_is_in = 1;
-                       _ecore_win32_event_handle_enter_notify(data);
-                    }
-
-               }
-          }
+            {
+               POINT pt;
+
+               EINA_ERROR_PINFO("mouse in window\n");
+
+               pt.x = GET_X_LPARAM(data_param);
+               pt.y = GET_Y_LPARAM(data_param);
+               if (!PtInRect(&rect, pt))
+                 {
+                    if (w->pointer_is_in)
+                      {
+                         w->pointer_is_in = 0;
+                         _ecore_win32_event_handle_leave_notify(data);
+                      }
+                 }
+               else
+                 {
+                    if (!w->pointer_is_in)
+                      {
+                         w->pointer_is_in = 1;
+                         _ecore_win32_event_handle_enter_notify(data);
+                      }
+                 }
+            }
+          else
+            {
+               EINA_ERROR_PERR("GetClientRect() failed\n");
+            }
           _ecore_win32_event_handle_motion_notify(data);
 
           return 0;
        }
      case WM_MOUSEWHEEL:
-       printf (" * ecore message : mouse wheel\n");
        _ecore_win32_event_handle_button_press(data, 4);
        return 0;
        /* Window notifications */
      case WM_CREATE:
-       {
-         RECT rect;
-         GetClientRect(window, &rect);
-         printf (" *** ecore message : create %ld %ld\n",
-                 rect.right - rect.left, rect.bottom - rect.top);
-       }
        _ecore_win32_event_handle_create_notify(data);
        return 0;
      case WM_DESTROY:
-       printf (" * ecore message : destroy\n");
        _ecore_win32_event_handle_destroy_notify(data);
        return 0;
      case WM_SHOWWINDOW:
-       {
-         RECT rect;
-         GetClientRect(window, &rect);
-         printf (" *** ecore message : show %ld %ld\n",
-                 rect.right - rect.left, rect.bottom - rect.top);
-       }
        if ((data->data_param == SW_OTHERUNZOOM) ||
            (data->data_param == SW_OTHERUNZOOM))
          return 0;
@@ -353,7 +360,6 @@ _ecore_win32_window_procedure(HWND   window,
 
        return 0;
      case WM_CLOSE:
-       printf (" * ecore message : close\n");
        _ecore_win32_event_handle_delete_request(data);
        return 0;
      case WM_MOVING:
@@ -380,12 +386,6 @@ _ecore_win32_window_procedure(HWND   window,
 /*        _ecore_win32_event_handle_configure_notify(data); */
 /*        return 0; */
      case WM_WINDOWPOSCHANGED:
-       {
-         RECT rect;
-         GetClientRect(window, &rect);
-         printf (" *** ecore message : WINDOWPOSCHANGED %ld %ld\n",
-                 rect.right - rect.left, rect.bottom - rect.top);
-       }
        _ecore_win32_event_handle_configure_notify(data);
        return 0;
      case WM_ENTERSIZEMOVE :
@@ -399,7 +399,6 @@ _ecore_win32_window_procedure(HWND   window,
        {
          RECT rect;
 
-         printf (" * ecore message : paint\n");
          if (GetUpdateRect(window, &rect, FALSE))
            {
               PAINTSTRUCT ps;
@@ -409,11 +408,6 @@ _ecore_win32_window_procedure(HWND   window,
               data->update = rect;
               _ecore_win32_event_handle_expose(data);
               EndPaint(window, &ps);
-              printf (" *    %ld %ld %ld %ld\n",
-                      rect.left,
-                      rect.top,
-                      rect.right - rect.left,
-                      rect.bottom - rect.top);
            }
          return 0;
        }
@@ -426,5 +420,17 @@ _ecore_win32_window_procedure(HWND   window,
      default:
        return DefWindowProc(window, message, window_param, data_param);
      }
+}
 
+static void
+_ecore_wince_error_print_cb(Eina_Error_Level level __UNUSED__,
+                             const char     *file __UNUSED__,
+                             const char     *fnc,
+                             int             line,
+                             const char     *fmt,
+                             void           *data __UNUSED__,
+                             va_list         args)
+{
+   fprintf(stderr, "[%s:%d] ", fnc, line);
+   vfprintf(stderr, fmt, args);
 }
diff --git a/src/lib/ecore_win32/ecore_win32_cursor.c b/src/lib/ecore_win32/ecore_win32_cursor.c
index 7e89f9a..bbfd5d6 100644
--- a/src/lib/ecore_win32/ecore_win32_cursor.c
+++ b/src/lib/ecore_win32/ecore_win32_cursor.c
@@ -10,6 +10,8 @@
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
 
+#include <Eina.h>
+
 #include "Ecore_Win32.h"
 #include "ecore_win32_private.h"
 
@@ -28,6 +30,8 @@ ecore_win32_cursor_new(const void *pixels_and,
    int                 cursor_width;
    int                 cursor_height;
 
+   EINA_ERROR_PINFO("creating cursor\n");
+
    cursor_width = GetSystemMetrics(SM_CXCURSOR);
    cursor_height = GetSystemMetrics(SM_CYCURSOR);
 
@@ -48,6 +52,8 @@ ecore_win32_cursor_new(const void *pixels_and,
 void
 ecore_win32_cursor_free(Ecore_Win32_Cursor *cursor)
 {
+   EINA_ERROR_PINFO("destroying cursor\n");
+
    DestroyCursor(cursor);
 }
 
@@ -57,6 +63,8 @@ ecore_win32_cursor_shape_get(Ecore_Win32_Cursor_Shape shape)
    Ecore_Win32_Cursor *cursor = NULL;
    const char         *cursor_name;
 
+   EINA_ERROR_PINFO("geting shape cursor\n");
+
    switch (shape)
      {
        case ECORE_WIN32_CURSOR_SHAPE_APP_STARTING:
@@ -117,6 +125,8 @@ ecore_win32_cursor_size_get(void)
    int width;
    int height;
 
+   EINA_ERROR_PINFO("geting size cursor\n");
+
    width = GetSystemMetrics(SM_CXCURSOR);
    height = GetSystemMetrics(SM_CYCURSOR);
    return (width > height) ? width : height;
diff --git a/src/lib/ecore_win32/ecore_win32_event.c b/src/lib/ecore_win32/ecore_win32_event.c
index 4b0b342..f1cdd78 100644
--- a/src/lib/ecore_win32/ecore_win32_event.c
+++ b/src/lib/ecore_win32/ecore_win32_event.c
@@ -14,7 +14,10 @@
 #undef WIN32_LEAN_AND_MEAN
 #include <windowsx.h>
 
-#include "Ecore.h"
+#include <Eina.h>
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "Ecore_Win32.h"
 #include "ecore_win32_private.h"
 
@@ -52,17 +55,19 @@ void
 _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg,
                                     int                        is_keystroke)
 {
-   Ecore_Win32_Event_Key_Down *e;
+   Ecore_Event_Key *e;
+
+   EINA_ERROR_PINFO("key pressed\n");
 
-   e = (Ecore_Win32_Event_Key_Down *)malloc(sizeof(Ecore_Win32_Event_Key_Down));
+   e = (Ecore_Event_Key *)malloc(sizeof(Ecore_Event_Key));
    if (!e) return;
 
    if (is_keystroke)
      {
         if (!_ecore_win32_event_keystroke_get(LOWORD(msg->window_param),
-                                              &e->keyname,
-                                              &e->keysymbol,
-                                              &e->keycompose))
+                                              (char **)&e->keyname,
+                                              (char **)&e->key,
+                                              (char **)&e->string))
           {
              free(e);
              return;
@@ -72,9 +77,9 @@ _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg,
    else
      {
         if (!_ecore_win32_event_char_get(LOWORD(msg->window_param),
-                                         &e->keyname,
-                                         &e->keysymbol,
-                                         &e->keycompose))
+                                         (char **)&e->keyname,
+                                         (char **)&e->key,
+                                         (char **)&e->string))
           {
              free(e);
              return;
@@ -82,34 +87,36 @@ _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg,
      }
 
  store_key:
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    if (!e->window)
      {
         free(e);
         return;
      }
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   _ecore_win32_event_last_time = e->time;
+   _ecore_win32_event_last_time = e->timestamp;
 
-   ecore_event_add(ECORE_WIN32_EVENT_KEY_DOWN, e, _ecore_win32_event_free_key_down, NULL);
+   ecore_event_add(ECORE_EVENT_KEY_DOWN, e, _ecore_win32_event_free_key_down, NULL);
 }
 
 void
 _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg,
                                       int                        is_keystroke)
 {
-   Ecore_Win32_Event_Key_Up *e;
+   Ecore_Event_Key *e;
+
+   EINA_ERROR_PINFO("key released\n");
 
-   e = (Ecore_Win32_Event_Key_Up *)calloc(1, sizeof(Ecore_Win32_Event_Key_Up));
+   e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key));
    if (!e) return;
 
    if (is_keystroke)
      {
         if (!_ecore_win32_event_keystroke_get(LOWORD(msg->window_param),
-                                              &e->keyname,
-                                              &e->keysymbol,
-                                              &e->keycompose))
+                                              (char **)&e->keyname,
+                                              (char **)&e->key,
+                                              (char **)&e->string))
           {
              free(e);
              return;
@@ -119,9 +126,9 @@ _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg,
    else
      {
         if (!_ecore_win32_event_char_get(LOWORD(msg->window_param),
-                                         &e->keyname,
-                                         &e->keysymbol,
-                                         &e->keycompose))
+                                         (char **)&e->keyname,
+                                         (char **)&e->key,
+                                         (char **)&e->string))
           {
              free(e);
              return;
@@ -129,17 +136,17 @@ _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg,
      }
 
  store_key:
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    if (!e->window)
      {
         free(e);
         return;
      }
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   _ecore_win32_event_last_time = e->time;
+   _ecore_win32_event_last_time = e->timestamp;
 
-   ecore_event_add(ECORE_WIN32_EVENT_KEY_UP, e, _ecore_win32_event_free_key_up, NULL);
+   ecore_event_add(ECORE_EVENT_KEY_UP, e, _ecore_win32_event_free_key_up, NULL);
 }
 
 void
@@ -148,49 +155,51 @@ _ecore_win32_event_handle_button_press(Ecore_Win32_Callback_Data *msg,
 {
    Ecore_Win32_Window *window;
 
-   window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   EINA_ERROR_PINFO("mouse button pressed\n");
+
+   window = (Ecore_Win32_Window *)GetWindowLong(msg->window, GWL_USERDATA);
 
    if (button > 3)
      {
-        Ecore_Win32_Event_Mouse_Wheel *e;
+        Ecore_Event_Mouse_Wheel *e;
 
-        e = (Ecore_Win32_Event_Mouse_Wheel *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Wheel));
+        e = (Ecore_Event_Mouse_Wheel *)calloc(1, sizeof(Ecore_Event_Mouse_Wheel));
         if (!e) return;
 
-        e->window = window;
+        e->window = (Ecore_Window)window;
 	e->direction = 0;
         /* wheel delta is positive or negative, never 0 */
 	e->z = GET_WHEEL_DELTA_WPARAM(msg->window_param) > 0 ? -1 : 1;
 	e->x = GET_X_LPARAM(msg->data_param);
 	e->y = GET_Y_LPARAM(msg->data_param);
-        e->time = (double)msg->time / 1000.0;
+        e->timestamp = (double)msg->time / 1000.0;
 
-        _ecore_win32_event_last_time = e->time;
-        _ecore_win32_event_last_window = e->window;
+        _ecore_win32_event_last_time = e->timestamp;
+        _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-        ecore_event_add(ECORE_WIN32_EVENT_MOUSE_WHEEL, e, NULL, NULL);
+        ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, e, NULL, NULL);
      }
    else
      {
        {
-          Ecore_Win32_Event_Mouse_Move *e;
+          Ecore_Event_Mouse_Move *e;
 
-          e = (Ecore_Win32_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Move));
+          e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
           if (!e) return;
 
-          e->window = window;
+          e->window = (Ecore_Window)window;
           e->x = GET_X_LPARAM(msg->data_param);
           e->y = GET_Y_LPARAM(msg->data_param);
-          e->time = (double)msg->time / 1000.0;
+          e->timestamp = (double)msg->time / 1000.0;
 
-          _ecore_win32_event_last_time = e->time;
-          _ecore_win32_event_last_window = e->window;
+          _ecore_win32_event_last_time = e->timestamp;
+          _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-          ecore_event_add(ECORE_WIN32_EVENT_MOUSE_MOVE, e, NULL, NULL);
+          ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
        }
 
        {
-          Ecore_Win32_Event_Mouse_Button_Down *e;
+          Ecore_Event_Mouse_Button *e;
 
           if (_ecore_win32_mouse_down_did_triple)
             {
@@ -200,22 +209,22 @@ _ecore_win32_event_handle_button_press(Ecore_Win32_Callback_Data *msg,
                _ecore_win32_mouse_down_last_last_time = 0.0;
             }
 
-          e = (Ecore_Win32_Event_Mouse_Button_Down *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Button_Down));
+          e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
           if (!e) return;
 
-          e->window = window;
-          e->button = button;
+          e->window = (Ecore_Window)window;
+          e->buttons = button;
           e->x = GET_X_LPARAM(msg->data_param);
           e->y = GET_Y_LPARAM(msg->data_param);
-          e->time = (double)msg->time / 1000.0;
+          e->timestamp = (double)msg->time / 1000.0;
 
-          if (((e->time - _ecore_win32_mouse_down_last_time) <= _ecore_win32_double_click_time) &&
-              (e->window == _ecore_win32_mouse_down_last_window))
+          if (((e->timestamp - _ecore_win32_mouse_down_last_time) <= _ecore_win32_double_click_time) &&
+              (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_window))
             e->double_click = 1;
 
-          if (((e->time - _ecore_win32_mouse_down_last_last_time) <= (2.0 * _ecore_win32_double_click_time)) &&
-              (e->window == _ecore_win32_mouse_down_last_window) &&
-              (e->window == _ecore_win32_mouse_down_last_last_window))
+          if (((e->timestamp - _ecore_win32_mouse_down_last_last_time) <= (2.0 * _ecore_win32_double_click_time)) &&
+              (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_window) &&
+              (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_last_window))
             {
                e->triple_click = 1;
                _ecore_win32_mouse_down_did_triple = 1;
@@ -226,116 +235,119 @@ _ecore_win32_event_handle_button_press(Ecore_Win32_Callback_Data *msg,
           if (!e->double_click && !e->triple_click)
             _ecore_win32_mouse_up_count = 0;
 
-          _ecore_win32_event_last_time = e->time;
-          _ecore_win32_event_last_window = e->window;
+          _ecore_win32_event_last_time = e->timestamp;
+          _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
           if (!_ecore_win32_mouse_down_did_triple)
             {
                _ecore_win32_mouse_down_last_last_window = _ecore_win32_mouse_down_last_window;
-               _ecore_win32_mouse_down_last_window = e->window;
+               _ecore_win32_mouse_down_last_window = (Ecore_Win32_Window *)e->window;
                _ecore_win32_mouse_down_last_last_time = _ecore_win32_mouse_down_last_time;
-               _ecore_win32_mouse_down_last_time = e->time;
+               _ecore_win32_mouse_down_last_time = e->timestamp;
             }
 
-          ecore_event_add(ECORE_WIN32_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
+          ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
        }
      }
-/*    printf (" * ecore event button press\n"); */
 }
 
 void
 _ecore_win32_event_handle_button_release(Ecore_Win32_Callback_Data *msg,
-                                         int                          button)
+                                         int                        button)
 {
    Ecore_Win32_Window *window;
 
+   EINA_ERROR_PINFO("mouse button released\n");
+
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
-      Ecore_Win32_Event_Mouse_Move *e;
+      Ecore_Event_Mouse_Move *e;
 
-      e = (Ecore_Win32_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Move));
+      e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
       if (!e) return;
 
-      e->window = window;
+      e->window = (Ecore_Window)window;
       e->x = GET_X_LPARAM(msg->data_param);
       e->y = GET_Y_LPARAM(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
-      _ecore_win32_event_last_time = e->time;
-      _ecore_win32_event_last_window = e->window;
+      _ecore_win32_event_last_time = e->timestamp;
+      _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-      ecore_event_add(ECORE_WIN32_EVENT_MOUSE_MOVE, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
    }
 
    {
-      Ecore_Win32_Event_Mouse_Button_Up *e;
+      Ecore_Event_Mouse_Button *e;
 
-      e = (Ecore_Win32_Event_Mouse_Button_Up *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Button_Up));
+      e = (Ecore_Event_Mouse_Button *)calloc(1, sizeof(Ecore_Event_Mouse_Button));
       if (!e) return;
 
-      e->window = window;
-      e->button = button;
+      e->window = (Ecore_Window)window;
+      e->buttons = button;
       e->x = GET_X_LPARAM(msg->data_param);
       e->y = GET_Y_LPARAM(msg->data_param);
-      e->time = (double)msg->time / 1000.0;
+      e->timestamp = (double)msg->time / 1000.0;
 
       _ecore_win32_mouse_up_count++;
 
       if ((_ecore_win32_mouse_up_count >= 2) &&
-          ((e->time - _ecore_win32_mouse_down_last_time) <= _ecore_win32_double_click_time) &&
-          (e->window == _ecore_win32_mouse_down_last_window))
+          ((e->timestamp - _ecore_win32_mouse_down_last_time) <= _ecore_win32_double_click_time) &&
+          (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_window))
         e->double_click = 1;
 
       if ((_ecore_win32_mouse_up_count >= 3) &&
-          ((e->time - _ecore_win32_mouse_down_last_last_time) <= (2.0 * _ecore_win32_double_click_time)) &&
-          (e->window == _ecore_win32_mouse_down_last_window) &&
-          (e->window == _ecore_win32_mouse_down_last_last_window))
+          ((e->timestamp - _ecore_win32_mouse_down_last_last_time) <= (2.0 * _ecore_win32_double_click_time)) &&
+          (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_window) &&
+          (e->window == (Ecore_Window)_ecore_win32_mouse_down_last_last_window))
         e->triple_click = 1;
 
-      _ecore_win32_event_last_time = e->time;
-      _ecore_win32_event_last_window = e->window;
+      _ecore_win32_event_last_time = e->timestamp;
+      _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-      ecore_event_add(ECORE_WIN32_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
+      ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
    }
-
-/*    printf (" * ecore event button release\n"); */
 }
 
 void
 _ecore_win32_event_handle_motion_notify(Ecore_Win32_Callback_Data *msg)
 {
-   Ecore_Win32_Event_Mouse_Move *e;
+   Ecore_Event_Mouse_Move *e;
+
+   EINA_ERROR_PINFO("mouse moved\n");
 
-   e = (Ecore_Win32_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Move));
+   e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
    if (!e) return;
 
-   e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+   e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
    e->x = GET_X_LPARAM(msg->data_param);
    e->y = GET_Y_LPARAM(msg->data_param);
-   e->time = (double)msg->time / 1000.0;
+   e->timestamp = (double)msg->time / 1000.0;
 
-   ecore_event_add(ECORE_WIN32_EVENT_MOUSE_MOVE, e, NULL, NULL);
+   ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
 }
 
 void
 _ecore_win32_event_handle_enter_notify(Ecore_Win32_Callback_Data *msg)
 {
   {
-     Ecore_Win32_Event_Mouse_Move *e;
+     Ecore_Event_Mouse_Move *e;
+
+     EINA_ERROR_PINFO("mouse in\n");
 
-     e = (Ecore_Win32_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Move));
+     e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
      if (!e) return;
 
-     e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+     e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
      e->x = msg->x;
      e->y = msg->y;
-     e->time = (double)msg->time / 1000.0;
+     e->timestamp = (double)msg->time / 1000.0;
 
-     _ecore_win32_event_last_time = e->time;
-     _ecore_win32_event_last_window = e->window;
+     _ecore_win32_event_last_time = e->timestamp;
+     _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-     ecore_event_add(ECORE_WIN32_EVENT_MOUSE_MOVE, e, NULL, NULL);
+     ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
   }
 
   {
@@ -359,20 +371,22 @@ void
 _ecore_win32_event_handle_leave_notify(Ecore_Win32_Callback_Data *msg)
 {
   {
-     Ecore_Win32_Event_Mouse_Move *e;
+     Ecore_Event_Mouse_Move *e;
+
+     EINA_ERROR_PINFO("mouse out\n");
 
-     e = (Ecore_Win32_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Win32_Event_Mouse_Move));
+     e = (Ecore_Event_Mouse_Move *)calloc(1, sizeof(Ecore_Event_Mouse_Move));
      if (!e) return;
 
-     e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
+     e->window = (Ecore_Window)GetWindowLong(msg->window, GWL_USERDATA);
      e->x = msg->x;
      e->y = msg->y;
-     e->time = (double)msg->time / 1000.0;
+     e->timestamp = (double)msg->time / 1000.0;
 
-     _ecore_win32_event_last_time = e->time;
-     _ecore_win32_event_last_window = e->window;
+     _ecore_win32_event_last_time = e->timestamp;
+     _ecore_win32_event_last_window = (Ecore_Win32_Window *)e->window;
 
-     ecore_event_add(ECORE_WIN32_EVENT_MOUSE_MOVE, e, NULL, NULL);
+     ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL);
   }
 
   {
@@ -397,6 +411,8 @@ _ecore_win32_event_handle_focus_in(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Focus_In *e;
 
+   EINA_ERROR_PINFO("focus in\n");
+
    e = (Ecore_Win32_Event_Window_Focus_In *)calloc(1, sizeof(Ecore_Win32_Event_Window_Focus_In));
    if (!e) return;
 
@@ -413,6 +429,8 @@ _ecore_win32_event_handle_focus_out(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Focus_Out *e;
 
+   EINA_ERROR_PINFO("focus out\n");
+
    e = (Ecore_Win32_Event_Window_Focus_Out *)calloc(1, sizeof(Ecore_Win32_Event_Window_Focus_Out));
    if (!e) return;
 
@@ -429,6 +447,8 @@ _ecore_win32_event_handle_expose(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Damage *e;
 
+   EINA_ERROR_PINFO("window expose\n");
+
    e = (Ecore_Win32_Event_Window_Damage *)calloc(1, sizeof(Ecore_Win32_Event_Window_Damage));
    if (!e) return;
 
@@ -438,7 +458,6 @@ _ecore_win32_event_handle_expose(Ecore_Win32_Callback_Data *msg)
    e->y = msg->update.top;
    e->width = msg->update.right - msg->update.left;
    e->height = msg->update.bottom - msg->update.top;
-/*    printf (" * ecore : event expose %d %d\n", e->width, e->height); */
 
    e->time = _ecore_win32_event_last_time;
 
@@ -450,6 +469,8 @@ _ecore_win32_event_handle_create_notify(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Create *e;
 
+   EINA_ERROR_PINFO("window create notify\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Create));
    if (!e) return;
 
@@ -465,6 +486,8 @@ _ecore_win32_event_handle_destroy_notify(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Destroy *e;
 
+   EINA_ERROR_PINFO("window destroy notify\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Destroy));
    if (!e) return;
 
@@ -481,6 +504,8 @@ _ecore_win32_event_handle_map_notify(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Show *e;
 
+   EINA_ERROR_PINFO("window map notify\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Show));
    if (!e) return;
 
@@ -496,6 +521,8 @@ _ecore_win32_event_handle_unmap_notify(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Hide *e;
 
+   EINA_ERROR_PINFO("window unmap notify\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Hide));
    if (!e) return;
 
@@ -513,6 +540,8 @@ _ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg)
    Ecore_Win32_Event_Window_Configure *e;
    WINDOWPOS                          *window_pos;
 
+   EINA_ERROR_PINFO("window configure notify\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Configure));
    if (!e) return;
 
@@ -524,7 +553,6 @@ _ecore_win32_event_handle_configure_notify(Ecore_Win32_Callback_Data *msg)
         return;
      }
 
-/*    printf ("_ecore_win32_event_handle_configure_notify\n"); */
    e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
    e->abovewin = (void *)GetWindowLong(window_pos->hwndInsertAfter, GWL_USERDATA);
    e->x = wi.rcClient.left;
@@ -542,6 +570,8 @@ _ecore_win32_event_handle_resize(Ecore_Win32_Callback_Data *msg)
    RECT                             rect;
    Ecore_Win32_Event_Window_Resize *e;
 
+   EINA_ERROR_PINFO("window resize\n");
+
    if (!GetClientRect(msg->window, &rect))
      return;
 
@@ -552,7 +582,6 @@ _ecore_win32_event_handle_resize(Ecore_Win32_Callback_Data *msg)
    e->width = rect.right - rect.left;
    e->height = rect.bottom - rect.top;
    e->time = _ecore_win32_event_last_time;
-/*    printf (" * _ecore_win32_event_handle_resize %d %d\n", e->width, e->height); */
 
    ecore_event_add(ECORE_WIN32_EVENT_WINDOW_RESIZE, e, NULL, NULL);
 }
@@ -562,6 +591,8 @@ _ecore_win32_event_handle_delete_request(Ecore_Win32_Callback_Data *msg)
 {
    Ecore_Win32_Event_Window_Delete_Request *e;
 
+   EINA_ERROR_PINFO("window delete request\n");
+
    e = calloc(1, sizeof(Ecore_Win32_Event_Window_Delete_Request));
    if (!e) return;
 
@@ -578,12 +609,12 @@ static void
 _ecore_win32_event_free_key_down(void *data,
                                  void *ev)
 {
-   Ecore_Win32_Event_Key_Down *e;
+   Ecore_Event_Key *e;
 
    e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->keycompose) free(e->keycompose);
+   if (e->keyname) free((char *)e->keyname);
+   if (e->key) free((char *)e->key);
+   if (e->string) free((char *)e->string);
    free(e);
 }
 
@@ -591,12 +622,12 @@ static void
 _ecore_win32_event_free_key_up(void *data,
                                void *ev)
 {
-   Ecore_Win32_Event_Key_Up *e;
+   Ecore_Event_Key *e;
 
    e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->keycompose) free(e->keycompose);
+   if (e->keyname) free((char *)e->keyname);
+   if (e->key) free((char *)e->key);
+   if (e->string) free((char *)e->string);
    free(e);
 }
 
@@ -619,53 +650,53 @@ _ecore_win32_event_keystroke_get(int    key,
        /* Keystroke */
      case VK_PRIOR:
        kn = "KP_Prior";
-       ks = "KP_Prior";
-       kc = "";
+       ks = "KP_9";
+       kc = "KP_Prior";
        break;
      case VK_NEXT:
        kn = "KP_Next";
-       ks = "KP_Next";
-       kc = "";
+       ks = "KP_3";
+       kc = "KP_Next";
        break;
      case VK_END:
        kn = "KP_End";
-       ks = "KP_End";
-       kc = "";
+       ks = "KP_1";
+       kc = "KP_End";
        break;
      case VK_HOME:
        kn = "KP_Home";
-       ks = "KP_Home";
-       kc = "";
+       ks = "KP_7";
+       kc = "KP_Home";
        break;
      case VK_LEFT:
        kn = "KP_Left";
-       ks = "KP_Left";
-       kc = "";
+       ks = "KP_4";
+       kc = "KP_Left";
        break;
      case VK_UP:
        kn = "KP_Up";
-       ks = "KP_Up";
-       kc = "";
+       ks = "KP_8";
+       kc = "KP_Up";
        break;
      case VK_RIGHT:
        kn = "KP_Right";
-       ks = "KP_Right";
-       kc = "";
+       ks = "KP_6";
+       kc = "KP_Right";
        break;
      case VK_DOWN:
        kn = "KP_Down";
-       ks = "KP_Down";
-       kc = "";
+       ks = "KP_2";
+       kc = "KP_Down";
        break;
      case VK_INSERT:
        kn = "KP_Insert";
-       ks = "KP_Insert";
-       kc = "";
+       ks = "KP_0";
+       kc = "KP_Insert";
        break;
      case VK_DELETE:
        kn = "KP_Delete";
-       ks = "KP_Delete";
-       kc = "";
+       ks = "KP_Decimal";
+       kc = "KP_Delete";
        break;
      case VK_F1:
        kn = "F1";
@@ -821,7 +852,7 @@ _ecore_win32_event_char_get(int    key,
 {
   char kn[32];
   char ks[32];
-  char *kc;
+  char kc[32];
 
   *keyname = NULL;
   *keysymbol = NULL;
@@ -832,28 +863,28 @@ _ecore_win32_event_char_get(int    key,
      case VK_BACK:
        strncpy(kn, "Backspace", 32);
        strncpy(ks, "Backspace", 32);
-       kc = "";
+       strncpy(kc, "Backspace", 32);
        break;
      case VK_TAB:
        strncpy(kn, "Tab", 32);
-       strncpy(ks, "Tab", 32);
-       kc = "";
+       strncpy(ks, "ISO_Left_Tab", 32);
+       strncpy(kc, "Tab", 32);
        break;
      case 0x0a:
        /* Line feed (Shift + Enter) */
        strncpy(kn, "LineFeed", 32);
        strncpy(ks, "LineFeed", 32);
-       kc = "";
+       strncpy(kc, "LineFeed", 32);
        break;
      case VK_RETURN:
        strncpy(kn, "Return", 32);
        strncpy(ks, "Return", 32);
-       kc = "";
+       strncpy(kc, "Return", 32);
        break;
      case VK_ESCAPE:
        strncpy(kn, "Escape", 32);
        strncpy(ks, "Escape", 32);
-       kc = "";
+       strncpy(kc, "Escape", 32);
        break;
      default:
        /* displayable characters */
@@ -862,7 +893,8 @@ _ecore_win32_event_char_get(int    key,
        kn[1] = '\0';
        ks[0] = (TCHAR)key;
        ks[1] = '\0';
-       kc = "";
+       kc[0] = (TCHAR)key;
+       kc[1] = '\0';
        break;
      }
    *keyname = strdup(kn);
diff --git a/src/lib/ecore_win32/ecore_win32_window.c b/src/lib/ecore_win32/ecore_win32_window.c
index f9c2e4e..caf4714 100644
--- a/src/lib/ecore_win32/ecore_win32_window.c
+++ b/src/lib/ecore_win32/ecore_win32_window.c
@@ -15,6 +15,8 @@
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
 
+#include <Eina.h>
+
 #include "Ecore_Win32.h"
 #include "ecore_win32_private.h"
 
@@ -48,6 +50,8 @@ ecore_win32_window_new(Ecore_Win32_Window *parent,
                        int                 width,
                        int                 height)
 {
+   EINA_ERROR_PINFO("creating window with border\n");
+
    return ecore_win32_window_internal_new(parent,
                                           x, y,
                                           width, height,
@@ -62,6 +66,8 @@ ecore_win32_window_override_new(Ecore_Win32_Window *parent,
                                 int                 width,
                                 int                 height)
 {
+   EINA_ERROR_PINFO("creating window without border\n");
+
    return ecore_win32_window_internal_new(parent,
                                           x, y,
                                           width, height,
@@ -69,18 +75,19 @@ ecore_win32_window_override_new(Ecore_Win32_Window *parent,
 }
 
 void
-ecore_win32_window_del(Ecore_Win32_Window *window)
+ecore_win32_window_free(Ecore_Win32_Window *window)
 {
    struct _Ecore_Win32_Window *wnd = window;
 
    if (!window) return;
 
+   EINA_ERROR_PINFO("destroying window\n");
+
    if (wnd->shape.mask != NULL)
       free(wnd->shape.mask);
 
    DestroyWindow(((struct _Ecore_Win32_Window *)window)->window);
    free(window);
-   printf ("ecore_win32_window_del\n");
 }
 
 void *
@@ -133,15 +140,22 @@ ecore_win32_window_move(Ecore_Win32_Window *window,
 
    if (!window) return;
 
-   printf ("ecore_win32_window_move %p : %d %d\n", window, x, y);
+   EINA_ERROR_PINFO("moving window (%dx%d)\n", x, y);
+
    w = ((struct _Ecore_Win32_Window *)window)->window;
    if (!GetWindowRect(w, &rect))
-     return;
+     {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+        return;
+     }
 
-   MoveWindow(w, x, y,
-              rect.right - rect.left,
-              rect.bottom - rect.top,
-              TRUE);
+   if (!MoveWindow(w, x, y,
+                   rect.right - rect.left,
+                   rect.bottom - rect.top,
+                   TRUE))
+     {
+        EINA_ERROR_PERR("MoveWindow() failed\n");
+     }
 }
 
 void
@@ -157,17 +171,14 @@ ecore_win32_window_resize(Ecore_Win32_Window *window,
 
    if (!window) return;
 
-   w = (struct _Ecore_Win32_Window *)window;
-   if (!GetWindowRect(w->window, &rect)) return;
+   EINA_ERROR_PINFO("resizing window (%dx%d)\n", width, height);
 
-   printf ("ecore_win32_window_resize 0 : %p (%d %d) (%d %d) (%d %d)\n",
-           w,
-           w->min_width,
-           w->min_height,
-           w->max_width,
-           w->max_height,
-           width,
-           height);
+   w = (struct _Ecore_Win32_Window *)window;
+   if (!GetWindowRect(w->window, &rect))
+     {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+        return;
+     }
 
    x = rect.left;
    y = rect.top;
@@ -182,18 +193,24 @@ ecore_win32_window_resize(Ecore_Win32_Window *window,
 /*    printf ("ecore_win32_window_resize 3 : %d %d\n", w->max_height, height); */
    rect.right = width;
    rect.bottom = height;
-   style = GetWindowLong(w->window, GWL_STYLE);
+   if (!(style = GetWindowLong(w->window, GWL_STYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
    if (!AdjustWindowRect(&rect, style, FALSE))
-     return;
+     {
+        EINA_ERROR_PERR("AdjustWindowRect() failed\n");
+        return;
+     }
 
    if (!MoveWindow(w->window, x, y,
                    rect.right - rect.left,
                    rect.bottom - rect.top,
                    FALSE))
      {
-       printf (" MEEERDE !!!\n");
+        EINA_ERROR_PERR("MoveWindow() failed\n");
      }
-   printf ("ecore_win32_window_resize 4 : %d %d\n", width, height);
 }
 
 void
@@ -209,7 +226,8 @@ ecore_win32_window_move_resize(Ecore_Win32_Window *window,
 
    if (!window) return;
 
-   printf ("ecore_win32_window_move_resize 0 : %p  %d %d\n", window, width, height);
+   EINA_ERROR_PINFO("moving and resizing window (%dx%d %dx%d)\n", x, y, width, height);
+
    w = ((struct _Ecore_Win32_Window *)window);
    rect.left = 0;
    rect.top = 0;
@@ -217,17 +235,26 @@ ecore_win32_window_move_resize(Ecore_Win32_Window *window,
    if ((unsigned int)width > w->max_width) width = w->max_width;
    if ((unsigned int)height < w->min_height) height = w->min_height;
    if ((unsigned int)height > w->max_height) height = w->max_height;
-   printf ("ecore_win32_window_move_resize 1 : %d %d\n", width, height);
    rect.right = width;
    rect.bottom = height;
-   style = GetWindowLong(w->window, GWL_STYLE);
+   if (!(style = GetWindowLong(w->window, GWL_STYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
    if (!AdjustWindowRect(&rect, style, FALSE))
-     return;
+     {
+        EINA_ERROR_PERR("AdjustWindowRect() failed\n");
+        return;
+     }
 
-   MoveWindow(w->window, x, y,
-              rect.right - rect.left,
-              rect.bottom - rect.top,
-              TRUE);
+   if (!MoveWindow(w->window, x, y,
+                   rect.right - rect.left,
+                   rect.bottom - rect.top,
+                   TRUE))
+     {
+        EINA_ERROR_PERR("MoveWindow() failed\n");
+     }
 }
 
 void
@@ -241,7 +268,8 @@ ecore_win32_window_geometry_get(Ecore_Win32_Window *window,
    int  w;
    int  h;
 
-   printf ("ecore_win32_window_geometry_get %p\n", window);
+   EINA_ERROR_PINFO("getting window geometry\n");
+
    if (!window)
      {
         if (x) *x = 0;
@@ -255,6 +283,8 @@ ecore_win32_window_geometry_get(Ecore_Win32_Window *window,
    if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetClientRect() failed\n");
+
         if (x) *x = 0;
         if (y) *y = 0;
         if (width) *width = 0;
@@ -269,6 +299,8 @@ ecore_win32_window_geometry_get(Ecore_Win32_Window *window,
    if (!GetWindowRect(((struct _Ecore_Win32_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+
         if (x) *x = 0;
         if (y) *y = 0;
         if (width) *width = 0;
@@ -290,7 +322,8 @@ ecore_win32_window_size_get(Ecore_Win32_Window *window,
 {
    RECT rect;
 
-   printf ("ecore_win32_window_size_get %p\n", window);
+   EINA_ERROR_PINFO("getting window size\n");
+
    if (!window)
      {
         if (width) *width = GetSystemMetrics(SM_CXSCREEN);
@@ -302,6 +335,8 @@ ecore_win32_window_size_get(Ecore_Win32_Window *window,
    if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetClientRect() failed\n");
+
         if (width) *width = 0;
         if (height) *height = 0;
      }
@@ -449,20 +484,31 @@ ecore_win32_window_shape_set(Ecore_Win32_Window *window,
 
    if (mask == NULL)
      {
-       wnd->shape.enabled = 0;
-       if (wnd->shape.layered != 0)
-         {
-           wnd->shape.layered = 0;
+        wnd->shape.enabled = 0;
+        if (wnd->shape.layered != 0)
+          {
+             wnd->shape.layered = 0;
 #if defined(WS_EX_LAYERED)
-           SetWindowLong(wnd->window, GWL_EXSTYLE,
-                         GetWindowLong(wnd->window, GWL_EXSTYLE) & (~WS_EX_LAYERED));
-           RedrawWindow(wnd->window, NULL, NULL,
-                        RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);
+             if (!SetWindowLong(wnd->window, GWL_EXSTYLE,
+                                GetWindowLong(wnd->window, GWL_EXSTYLE) & (~WS_EX_LAYERED)))
+               {
+                  EINA_ERROR_PERR("SetWindowLong() failed\n");
+                  return;
+               }
+             if (!RedrawWindow(wnd->window, NULL, NULL,
+                               RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN))
+               {
+                  EINA_ERROR_PERR("RedrawWindow() failed\n");
+                  return;
+               }
 #endif
-         }
-       else
-         SetWindowRgn(wnd->window, NULL, TRUE);
-       return;
+          }
+        else
+          if (!SetWindowRgn(wnd->window, NULL, TRUE))
+            {
+               EINA_ERROR_PERR("SetWindowRgn() failed\n");
+            }
+        return;
      }
 
    if (width == 0 || height == 0)
@@ -489,30 +535,67 @@ ecore_win32_window_shape_set(Ecore_Win32_Window *window,
    version_info.dwOSVersionInfoSize = sizeof(version_info);
    if (GetVersionEx(&version_info) == TRUE && version_info.dwMajorVersion == 5)
      {
-       SetWindowLong(wnd->window, GWL_EXSTYLE,
-                     GetWindowLong(wnd->window, GWL_EXSTYLE) | WS_EX_LAYERED);
+       if (!SetWindowLong(wnd->window, GWL_EXSTYLE,
+                          GetWindowLong(wnd->window, GWL_EXSTYLE) | WS_EX_LAYERED))
+            {
+               EINA_ERROR_PERR("SetWindowLong() failed\n");
+               return;
+            }
        wnd->shape.layered = 1;
        return;
      }
 #endif
 
-   rgn = CreateRectRgn(0, 0, 0, 0);
+   if (!(rgn = CreateRectRgn(0, 0, 0, 0)))
+     {
+        EINA_ERROR_PERR("CreateRectRgn() failed\n");
+        return;
+     }
    for (y = 0; y < height; y++)
      {
-       HRGN rgnLine = CreateRectRgn(0, 0, 0, 0);
-       for (x = 0; x < width; x++)
-         {
-           if (mask[y * width + x] > 0)
-             {
-               HRGN rgnDot = CreateRectRgn(x, y, x + 1, y + 1);
-               CombineRgn(rgnLine, rgnLine, rgnDot, RGN_OR);
-               DeleteObject(rgnDot);
-             }
-         }
-       CombineRgn(rgn, rgn, rgnLine, RGN_OR);
-       DeleteObject(rgnLine);
+        HRGN rgnLine;
+
+        if (!(rgnLine = CreateRectRgn(0, 0, 0, 0)))
+          {
+             EINA_ERROR_PERR("CreateRectRgn() failed\n");
+             return;
+          }
+        for (x = 0; x < width; x++)
+          {
+             if (mask[y * width + x] > 0)
+               {
+                  HRGN rgnDot;
+
+                  if (!(rgnDot = CreateRectRgn(x, y, x + 1, y + 1)))
+                    {
+                       EINA_ERROR_PERR("CreateRectRgn() failed\n");
+                       return;
+                    }
+                  if (CombineRgn(rgnLine, rgnLine, rgnDot, RGN_OR) == ERROR)
+                    {
+                       EINA_ERROR_PERR("CombineRgn() has not created a new region\n");
+                    }
+                  if (!DeleteObject(rgnDot))
+                    {
+                       EINA_ERROR_PERR("DeleteObject() failed\n");
+                       return;
+                    }
+               }
+          }
+        if (CombineRgn(rgn, rgn, rgnLine, RGN_OR) == ERROR)
+          {
+             EINA_ERROR_PERR("CombineRgn() has not created a new region\n");
+          }
+        if (!DeleteObject(rgnLine))
+          {
+             EINA_ERROR_PERR("DeleteObject() failed\n");
+             return;
+          }
+     }
+   if (!SetWindowRgn(wnd->window, rgn, TRUE))
+     {
+        EINA_ERROR_PERR("SetWindowRgn() failed\n");
      }
-   SetWindowRgn(wnd->window, rgn, TRUE);
 }
 
 void
@@ -520,9 +603,21 @@ ecore_win32_window_show(Ecore_Win32_Window *window)
 {
    if (!window) return;
 
-   printf (" ** ecore_win32_window_show  %p\n", window);
-   ShowWindow(((struct _Ecore_Win32_Window *)window)->window, SW_SHOWNORMAL);
-   UpdateWindow(((struct _Ecore_Win32_Window *)window)->window);
+   EINA_ERROR_PINFO("showing window\n");
+
+   if (!ShowWindow(((struct _Ecore_Win32_Window *)window)->window, SW_SHOWNORMAL))
+     {
+        EINA_ERROR_PERR("ShowWindow() failed\n");
+        return;
+     }
+   if (!UpdateWindow(((struct _Ecore_Win32_Window *)window)->window))
+     {
+        EINA_ERROR_PERR("UpdateWindow() failed\n");
+     }
+   if (!SendMessage(((struct _Ecore_Win32_Window *)window)->window, WM_SHOWWINDOW, 1, 0))
+     {
+        EINA_ERROR_PERR("SendMessage() failed\n");
+     }
 }
 
 /* FIXME: seems to block the taskbar */
@@ -531,8 +626,16 @@ ecore_win32_window_hide(Ecore_Win32_Window *window)
 {
    if (!window) return;
 
-   printf (" ** ecore_win32_window_hide  %p\n", window);
-   ShowWindow(((struct _Ecore_Win32_Window *)window)->window, SW_HIDE);
+   EINA_ERROR_PINFO("hiding window\n");
+
+   if (!ShowWindow(((struct _Ecore_Win32_Window *)window)->window, SW_HIDE))
+     {
+        EINA_ERROR_PERR("ShowWindow() failed\n");
+     }
+   if (!SendMessage(((struct _Ecore_Win32_Window *)window)->window, WM_SHOWWINDOW, 0, 0))
+     {
+        EINA_ERROR_PERR("SendMessage() failed\n");
+     }
 }
 
 void
@@ -540,10 +643,14 @@ ecore_win32_window_raise(Ecore_Win32_Window *window)
 {
    if (!window) return;
 
-   printf (" ** ecore_win32_window_raise  %p\n", window);
-   SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
-                HWND_TOP, 0, 0, 0, 0,
-                SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
+   EINA_ERROR_PINFO("raising window\n");
+
+   if (!SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
+                     HWND_TOP, 0, 0, 0, 0,
+                     SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE))
+     {
+        EINA_ERROR_PERR("SetWindowPos() failed\n");
+     }
 }
 
 void
@@ -551,10 +658,14 @@ ecore_win32_window_lower(Ecore_Win32_Window *window)
 {
    if (!window) return;
 
-   printf (" ** ecore_win32_window_lower  %p\n", window);
-   SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
-                HWND_BOTTOM, 0, 0, 0, 0,
-                SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE);
+   EINA_ERROR_PINFO("lowering window\n");
+
+   if (!SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
+                     HWND_BOTTOM, 0, 0, 0, 0,
+                     SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE))
+     {
+        EINA_ERROR_PERR("SetWindowPos() failed\n");
+     }
 }
 
 void
@@ -565,7 +676,12 @@ ecore_win32_window_title_set(Ecore_Win32_Window *window,
 
    if (!title || !title[0]) return;
 
-   SetWindowText(((struct _Ecore_Win32_Window *)window)->window, title);
+   EINA_ERROR_PINFO("setting window title\n");
+
+   if (!SetWindowText(((struct _Ecore_Win32_Window *)window)->window, title))
+     {
+        EINA_ERROR_PERR("SetWindowText() failed\n");
+     }
 }
 
 void
@@ -573,7 +689,12 @@ ecore_win32_window_focus_set(Ecore_Win32_Window *window)
 {
    if (!window) return;
 
-   SetFocus(((struct _Ecore_Win32_Window *)window)->window);
+   EINA_ERROR_PINFO("focusing window\n");
+
+   if (!SetFocus(((struct _Ecore_Win32_Window *)window)->window))
+     {
+        EINA_ERROR_PERR("SetFocus() failed\n");
+     }
 }
 
 void
@@ -589,15 +710,11 @@ ecore_win32_window_iconified_set(Ecore_Win32_Window *window,
        ((!ew->iconified) && (!on)))
      return;
 
-   if (on)
-     {
-        ShowWindow(ew->window,
-                   SW_MINIMIZE);
-     }
-   else
+   EINA_ERROR_PINFO("iconifying window: %s\n", on ? "yes" : "no");
+
+   if (!ShowWindow(ew->window, on ? SW_MINIMIZE : SW_RESTORE))
      {
-        ShowWindow(ew->window,
-                   SW_RESTORE);
+        EINA_ERROR_PERR("ShowWindow() failed\n");
      }
    ew->iconified = on;
 }
@@ -613,31 +730,47 @@ ecore_win32_window_borderless_set(Ecore_Win32_Window *window,
 
    if (!window) return;
 
-   printf (" ** ecore_win32_window_borderless_set  %p  %d\n", window, on);
    ew = (struct _Ecore_Win32_Window *)window;
    if (((ew->borderless) && (on)) ||
        ((!ew->borderless) && (!on)))
      return;
 
+   EINA_ERROR_PINFO("setting window border: %s\n", on ? "yes" : "no");
+
    w = ew->window;
 
    style = GetWindowLong(w, GWL_STYLE);
    if (on)
      {
-        if (!GetClientRect(w, &rect)) return;
         SetWindowLong(w, GWL_STYLE, style & ~WS_CAPTION);
      }
    else
      {
-        if (!GetWindowRect(w, &rect)) return;
+        if (!GetWindowRect(w, &rect))
+          {
+             EINA_ERROR_PERR("GetWindowRect() failed\n");
+             return;
+          }
         style |= WS_CAPTION;
-        AdjustWindowRect (&rect, style, FALSE);
-        SetWindowLong(w, GWL_STYLE, style);
+        if (!AdjustWindowRect (&rect, style, FALSE))
+          {
+             EINA_ERROR_PERR("AdjustWindowRect() failed\n");
+             return;
+          }
+        if (!SetWindowLong(w, GWL_STYLE, style))
+          {
+             EINA_ERROR_PERR("SetWindowLong() failed\n");
+             return;
+          }
+     }
+   if (!SetWindowPos(w, HWND_TOPMOST,
+                     rect.left, rect.top,
+                     rect.right - rect.left, rect.bottom - rect.top,
+                     SWP_NOMOVE | SWP_FRAMECHANGED))
+     {
+        EINA_ERROR_PERR("SetWindowPos() failed\n");
+        return;
      }
-   SetWindowPos(w, HWND_TOPMOST,
-                rect.left, rect.top,
-                rect.right - rect.left, rect.bottom - rect.top,
-                SWP_NOMOVE | SWP_FRAMECHANGED);
    ew->borderless = on;
 }
 
@@ -655,6 +788,8 @@ ecore_win32_window_fullscreen_set(Ecore_Win32_Window *window,
        ((!ew->fullscreen) && (!on)))
      return;
 
+   EINA_ERROR_PINFO("setting fullscreen: %s\n", on ? "yes" : "no");
+
    ew->fullscreen = !!on;
    w = ew->window;
 
@@ -662,26 +797,58 @@ ecore_win32_window_fullscreen_set(Ecore_Win32_Window *window,
      {
         DWORD style;
 
-        if (!GetWindowRect(w, &ew->rect)) return;
-        if (!(ew->style = GetWindowLong(w, GWL_STYLE))) return;
+        if (!GetWindowRect(w, &ew->rect))
+          {
+             EINA_ERROR_PERR("GetWindowRect() failed\n");
+             return;
+          }
+        if (!(ew->style = GetWindowLong(w, GWL_STYLE)))
+          {
+             EINA_ERROR_PERR("GetWindowLong() failed\n");
+             return;
+          }
         style = ew->style & ~WS_OVERLAPPEDWINDOW & ~WS_SIZEBOX;
         style |= WS_VISIBLE | WS_POPUP;
-        if (!SetWindowLong(w, GWL_STYLE, style)) return;
-        if (!SetWindowLong(w, GWL_EXSTYLE, WS_EX_TOPMOST)) return;
-        SetWindowPos(w, HWND_TOPMOST, 0, 0,
-                     GetSystemMetrics (SM_CXSCREEN), GetSystemMetrics (SM_CYSCREEN),
-                     SWP_NOCOPYBITS | SWP_SHOWWINDOW);
+        if (!SetWindowLong(w, GWL_STYLE, style))
+          {
+             EINA_ERROR_PERR("SetWindowLong() failed\n");
+             return;
+          }
+        if (!SetWindowLong(w, GWL_EXSTYLE, WS_EX_TOPMOST))
+          {
+             EINA_ERROR_PERR("SetWindowLong() failed\n");
+             return;
+          }
+        if (!SetWindowPos(w, HWND_TOPMOST, 0, 0,
+                          GetSystemMetrics (SM_CXSCREEN), GetSystemMetrics (SM_CYSCREEN),
+                          SWP_NOCOPYBITS | SWP_SHOWWINDOW))
+          {
+             EINA_ERROR_PERR("SetWindowPos() failed\n");
+             return;
+          }
      }
    else
      {
-        if (!SetWindowLong(w, GWL_STYLE, ew->style)) return;
-        if (!SetWindowLong(w, GWL_EXSTYLE, 0)) return;
-        SetWindowPos(w, HWND_NOTOPMOST,
-                     ew->rect.left,
-                     ew->rect.top,
-                     ew->rect.right - ew->rect.left,
-                     ew->rect.bottom - ew->rect.top,
-                     SWP_NOCOPYBITS | SWP_SHOWWINDOW);
+        if (!SetWindowLong(w, GWL_STYLE, ew->style))
+          {
+             EINA_ERROR_PERR("SetWindowLong() failed\n");
+             return;
+          }
+        if (!SetWindowLong(w, GWL_EXSTYLE, 0))
+          {
+             EINA_ERROR_PERR("SetWindowLong() failed\n");
+             return;
+          }
+        if (!SetWindowPos(w, HWND_NOTOPMOST,
+                          ew->rect.left,
+                          ew->rect.top,
+                          ew->rect.right - ew->rect.left,
+                          ew->rect.bottom - ew->rect.top,
+                          SWP_NOCOPYBITS | SWP_SHOWWINDOW))
+          {
+             EINA_ERROR_PERR("SetWindowPos() failed\n");
+             return;
+          }
      }
 }
 
@@ -689,8 +856,13 @@ void
 ecore_win32_window_cursor_set(Ecore_Win32_Window *window,
                               Ecore_Win32_Cursor *cursor)
 {
-   SetClassLong(((struct _Ecore_Win32_Window *)window)->window,
-                GCL_HCURSOR, (LONG)cursor);
+   EINA_ERROR_PINFO("setting cursor\n");
+
+   if (!SetClassLong(((struct _Ecore_Win32_Window *)window)->window,
+                     GCL_HCURSOR, (LONG)cursor))
+     {
+        EINA_ERROR_PERR("SetClassLong() failed\n");
+     }
 }
 
 void
@@ -700,9 +872,11 @@ ecore_win32_window_state_set(Ecore_Win32_Window       *window,
 {
    unsigned int i;
 
-   if (!num)
+   if (!window || !state || !num)
      return;
 
+   EINA_ERROR_PINFO("setting cursor state\n");
+
    for (i = 0; i < num; i++)
      {
         switch (state[i])
@@ -756,107 +930,136 @@ ecore_win32_window_state_request_send(Ecore_Win32_Window      *window,
                                       Ecore_Win32_Window_State state,
                                       unsigned int             set)
 {
-  if (!window)
-    return;
+   if (!window)
+     return;
+
+   EINA_ERROR_PINFO("sending cursor state\n");
 
    switch (state)
      {
-     case ECORE_WIN32_WINDOW_STATE_ICONIFIED:
-       if (((struct _Ecore_Win32_Window *)window)->state.iconified)
-         ecore_win32_window_iconified_set(window, set);
-       break;
-     case ECORE_WIN32_WINDOW_STATE_MODAL:
-       ((struct _Ecore_Win32_Window *)window)->state.modal = 1;
-       break;
-     case ECORE_WIN32_WINDOW_STATE_STICKY:
-       ((struct _Ecore_Win32_Window *)window)->state.sticky = 1;
-       break;
-     case ECORE_WIN32_WINDOW_STATE_MAXIMIZED_VERT:
-       if (((struct _Ecore_Win32_Window *)window)->state.maximized_vert)
-         {
-            RECT rect;
-            int  y;
-            int  height;
-
-            if (!SystemParametersInfo(SPI_GETWORKAREA, 0,
-                                      &rect, 0))
-              break;
-            y = rect.top;
-            height = rect.bottom - rect.top;
-
-            if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
-                               &rect))
-              break;
-
-            MoveWindow(window, rect.left, y,
-                       rect.right - rect.left,
-                       height,
-                       TRUE);
-         }
-       break;
-     case ECORE_WIN32_WINDOW_STATE_MAXIMIZED_HORZ:
-       if (((struct _Ecore_Win32_Window *)window)->state.maximized_horz)
-         {
-            RECT rect;
-
-            if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
-                               &rect))
-              break;
-
-            MoveWindow(window, 0, rect.top,
-                       GetSystemMetrics(SM_CXSCREEN),
-                       rect.bottom - rect.top,
-                       TRUE);
-         }
-       break;
-     case ECORE_WIN32_WINDOW_STATE_MAXIMIZED:
-       if (((struct _Ecore_Win32_Window *)window)->state.maximized_vert &&
-           ((struct _Ecore_Win32_Window *)window)->state.maximized_horz)
-         {
-            RECT rect;
-
-            if (!SystemParametersInfo(SPI_GETWORKAREA, 0,
-                                      &rect, 0))
-              break;
-
-            MoveWindow(window, 0, 0,
-                       GetSystemMetrics(SM_CXSCREEN),
-                       rect.bottom - rect.top,
-                       TRUE);
-         }
-       break;
-     case ECORE_WIN32_WINDOW_STATE_SHADED:
-       ((struct _Ecore_Win32_Window *)window)->state.shaded = 1;
-       break;
-     case ECORE_WIN32_WINDOW_STATE_HIDDEN:
-       ((struct _Ecore_Win32_Window *)window)->state.hidden = 1;
-       break;
-     case ECORE_WIN32_WINDOW_STATE_FULLSCREEN:
-       if (((struct _Ecore_Win32_Window *)window)->state.fullscreen)
-         ecore_win32_window_fullscreen_set(window, set);
-       break;
-     case ECORE_WIN32_WINDOW_STATE_ABOVE:
-       if (((struct _Ecore_Win32_Window *)window)->state.above)
-         SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
-                      HWND_TOP,
-                      0, 0,
-                      0, 0,
-                      SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
-       break;
-     case ECORE_WIN32_WINDOW_STATE_BELOW:
-       if (((struct _Ecore_Win32_Window *)window)->state.below)
-         SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
-                      HWND_BOTTOM,
-                      0, 0,
-                      0, 0,
-                      SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
-       break;
-     case ECORE_WIN32_WINDOW_STATE_DEMANDS_ATTENTION:
-       ((struct _Ecore_Win32_Window *)window)->state.demands_attention = 1;
-       break;
-     case ECORE_WIN32_WINDOW_STATE_UNKNOWN:
-       /* nothing to be done */
-       break;
+      case ECORE_WIN32_WINDOW_STATE_ICONIFIED:
+         if (((struct _Ecore_Win32_Window *)window)->state.iconified)
+           ecore_win32_window_iconified_set(window, set);
+         break;
+      case ECORE_WIN32_WINDOW_STATE_MODAL:
+         ((struct _Ecore_Win32_Window *)window)->state.modal = 1;
+         break;
+      case ECORE_WIN32_WINDOW_STATE_STICKY:
+         ((struct _Ecore_Win32_Window *)window)->state.sticky = 1;
+         break;
+      case ECORE_WIN32_WINDOW_STATE_MAXIMIZED_VERT:
+         if (((struct _Ecore_Win32_Window *)window)->state.maximized_vert)
+           {
+              RECT rect;
+              int  y;
+              int  height;
+
+              if (!SystemParametersInfo(SPI_GETWORKAREA, 0,
+                                        &rect, 0))
+                {
+                   EINA_ERROR_PERR("SystemParametersInfo() failed\n");
+                   break;
+                }
+              y = rect.top;
+              height = rect.bottom - rect.top;
+
+              if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
+                                 &rect))
+                {
+                   EINA_ERROR_PERR("GetClientRect() failed\n");
+                   break;
+                }
+
+              if (!MoveWindow(window, rect.left, y,
+                              rect.right - rect.left,
+                              height,
+                              TRUE))
+                {
+                   EINA_ERROR_PERR("MoveWindow() failed\n");
+                }
+           }
+         break;
+      case ECORE_WIN32_WINDOW_STATE_MAXIMIZED_HORZ:
+         if (((struct _Ecore_Win32_Window *)window)->state.maximized_horz)
+           {
+              RECT rect;
+
+              if (!GetClientRect(((struct _Ecore_Win32_Window *)window)->window,
+                                 &rect))
+                {
+                   EINA_ERROR_PERR("GetClientRect() failed\n");
+                   break;
+                }
+
+              if (!MoveWindow(window, 0, rect.top,
+                              GetSystemMetrics(SM_CXSCREEN),
+                              rect.bottom - rect.top,
+                              TRUE))
+                {
+                   EINA_ERROR_PERR("MoveWindow() failed\n");
+                }
+           }
+         break;
+      case ECORE_WIN32_WINDOW_STATE_MAXIMIZED:
+         if (((struct _Ecore_Win32_Window *)window)->state.maximized_vert &&
+             ((struct _Ecore_Win32_Window *)window)->state.maximized_horz)
+           {
+              RECT rect;
+
+              if (!SystemParametersInfo(SPI_GETWORKAREA, 0,
+                                        &rect, 0))
+                {
+                   EINA_ERROR_PERR("SystemParametersInfo() failed\n");
+                   break;
+                }
+
+              if (!MoveWindow(window, 0, 0,
+                              GetSystemMetrics(SM_CXSCREEN),
+                              rect.bottom - rect.top,
+                              TRUE))
+                {
+                   EINA_ERROR_PERR("MoveWindow() failed\n");
+                }
+           }
+         break;
+      case ECORE_WIN32_WINDOW_STATE_SHADED:
+         ((struct _Ecore_Win32_Window *)window)->state.shaded = 1;
+         break;
+      case ECORE_WIN32_WINDOW_STATE_HIDDEN:
+         ((struct _Ecore_Win32_Window *)window)->state.hidden = 1;
+         break;
+      case ECORE_WIN32_WINDOW_STATE_FULLSCREEN:
+         if (((struct _Ecore_Win32_Window *)window)->state.fullscreen)
+           ecore_win32_window_fullscreen_set(window, set);
+         break;
+      case ECORE_WIN32_WINDOW_STATE_ABOVE:
+         if (((struct _Ecore_Win32_Window *)window)->state.above)
+           if (!SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
+                             HWND_TOP,
+                             0, 0,
+                             0, 0,
+                             SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW))
+             {
+                EINA_ERROR_PERR("SetWindowPos() failed\n");
+             }
+         break;
+      case ECORE_WIN32_WINDOW_STATE_BELOW:
+         if (((struct _Ecore_Win32_Window *)window)->state.below)
+           if (!SetWindowPos(((struct _Ecore_Win32_Window *)window)->window,
+                             HWND_BOTTOM,
+                             0, 0,
+                             0, 0,
+                             SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW))
+             {
+                EINA_ERROR_PERR("SetWindowPos() failed\n");
+             }
+         break;
+      case ECORE_WIN32_WINDOW_STATE_DEMANDS_ATTENTION:
+         ((struct _Ecore_Win32_Window *)window)->state.demands_attention = 1;
+         break;
+      case ECORE_WIN32_WINDOW_STATE_UNKNOWN:
+         /* nothing to be done */
+         break;
      }
 }
 
@@ -864,6 +1067,11 @@ void
 ecore_win32_window_type_set(Ecore_Win32_Window      *window,
                             Ecore_Win32_Window_Type  type)
 {
+   if (!window)
+     return;
+
+   EINA_ERROR_PINFO("setting window type\n");
+
    switch (type)
      {
      case ECORE_WIN32_WINDOW_TYPE_DESKTOP:
@@ -914,22 +1122,21 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent,
 
    w = (struct _Ecore_Win32_Window *)calloc(1, sizeof(struct _Ecore_Win32_Window));
    if (!w)
-     return NULL;
+     {
+        EINA_ERROR_PERR("malloc() failed\n");
+        return NULL;
+     }
 
-   printf (" *** ecore_win32_window_new : %p  %d %d %d\n",
-           w,
-           width, height, GetSystemMetrics(SM_CXMIN));
    rect.left = 0;
    rect.top = 0;
    rect.right = width;
    rect.bottom = height;
    if (!AdjustWindowRect(&rect, style, FALSE))
      {
+        EINA_ERROR_PERR("AdjustWindowRect() failed\n");
         free(w);
         return NULL;
      }
-   printf (" * ecore : new debut : %ld %d %d\n",
-           rect.right - rect.left, GetSystemMetrics(SM_CXMIN), GetSystemMetrics(SM_CYMIN));
 
    minimal_width = GetSystemMetrics(SM_CXMIN);
    minimal_height = GetSystemMetrics(SM_CYMIN);
@@ -956,6 +1163,7 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent,
                               NULL, _ecore_win32_instance, NULL);
    if (!w->window)
      {
+        EINA_ERROR_PERR("CreateWindowEx() failed\n");
         free(w);
         return NULL;
      }
@@ -963,6 +1171,7 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent,
    SetLastError(0);
    if (!SetWindowLong(w->window, GWL_USERDATA, (LONG)w) && (GetLastError() != 0))
      {
+        EINA_ERROR_PERR("SetWindowLong() failed\n");
         DestroyWindow(w->window);
         free(w);
         return NULL;
@@ -1003,11 +1212,5 @@ ecore_win32_window_internal_new(Ecore_Win32_Window *parent,
    w->iconified     = 0;
    w->fullscreen    = 0;
 
-   printf (" *** ecore_win32_window_new fin : (%d %d) (%d %d)\n",
-           w->min_width,
-           w->min_height,
-           w->max_width,
-           w->max_height);
-
    return w;
 }
diff --git a/src/lib/ecore_wince/Ecore_WinCE.h b/src/lib/ecore_wince/Ecore_WinCE.h
index c6f7aa5..1ab2ac2 100644
--- a/src/lib/ecore_wince/Ecore_WinCE.h
+++ b/src/lib/ecore_wince/Ecore_WinCE.h
@@ -209,7 +209,7 @@ EAPI Ecore_WinCE_Window *ecore_wince_window_new(Ecore_WinCE_Window *parent,
                                                 int                 width,
                                                 int                 height);
 
-EAPI void ecore_wince_window_del(Ecore_WinCE_Window *window);
+EAPI void ecore_wince_window_free(Ecore_WinCE_Window *window);
 
 EAPI void *ecore_wince_window_hwnd_get(Ecore_WinCE_Window *window);
 
diff --git a/src/lib/ecore_wince/Makefile.am b/src/lib/ecore_wince/Makefile.am
index 3d90d96..e9d054c 100644
--- a/src/lib/ecore_wince/Makefile.am
+++ b/src/lib/ecore_wince/Makefile.am
@@ -3,6 +3,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_WINCE_BUILD@ \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
@@ -25,7 +26,7 @@ libecore_wince_la_LIBADD = \
 $(top_builddir)/src/lib/ecore/libecore.la \
 @EINA_LIBS@
 
-libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_wince_release_info@
 
 endif
 
diff --git a/src/lib/ecore_wince/Makefile.in b/src/lib/ecore_wince/Makefile.in
index 9a04ee9..8614aec 100644
--- a/src/lib/ecore_wince/Makefile.in
+++ b/src/lib/ecore_wince/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -113,72 +117,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -187,8 +176,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -203,6 +190,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -243,6 +232,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -266,6 +257,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -286,36 +278,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -335,6 +347,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -343,17 +356,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -362,7 +382,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -371,6 +390,7 @@ MAINTAINERCLEANFILES = Makefile.in
 AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore \
+ at EFL_ECORE_WINCE_BUILD@ \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
@@ -388,7 +408,7 @@ AM_CFLAGS = @WIN32_CFLAGS@
 @BUILD_ECORE_WINCE_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_WINCE_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@
+ at BUILD_ECORE_WINCE_TRUE@libecore_wince_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @ecore_wince_release_info@
 EXTRA_DIST = ecore_wince_private.h
 all: all-am
 
diff --git a/src/lib/ecore_wince/ecore_wince.c b/src/lib/ecore_wince/ecore_wince.c
index bb84171..02966d9 100644
--- a/src/lib/ecore_wince/ecore_wince.c
+++ b/src/lib/ecore_wince/ecore_wince.c
@@ -13,6 +13,8 @@
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
 
+#include <Eina.h>
+
 #include "Ecore.h"
 #include "Ecore_WinCE.h"
 #include "ecore_wince_private.h"
@@ -52,6 +54,14 @@ LRESULT CALLBACK _ecore_wince_window_procedure(HWND   window,
                                                WPARAM window_param,
                                                LPARAM data_param);
 
+static void      _ecore_wince_error_print_cb(Eina_Error_Level level,
+                                             const char      *file,
+                                             const char      *fnc,
+                                             int              line,
+                                             const char      *fmt,
+                                             void            *data,
+                                             va_list          args);
+
 
 /***** API *****/
 
@@ -60,6 +70,10 @@ ecore_wince_init()
 {
    WNDCLASS wc;
 
+   eina_error_print_cb_set(_ecore_wince_error_print_cb, NULL);
+
+   EINA_ERROR_PINFO("initializing ecore_wince (current count: %d)\n", _ecore_wince_init_count);
+
    if (_ecore_wince_init_count > 0)
      {
 	_ecore_wince_init_count++;
@@ -68,7 +82,10 @@ ecore_wince_init()
 
    _ecore_wince_instance = GetModuleHandle(NULL);
    if (!_ecore_wince_instance)
-     return 0;
+     {
+        EINA_ERROR_PERR("GetModuleHandle() failed\n");
+        return 0;
+     }
 
    memset (&wc, 0, sizeof (wc));
    wc.style = CS_HREDRAW | CS_VREDRAW;
@@ -84,6 +101,7 @@ ecore_wince_init()
 
    if(!RegisterClass(&wc))
      {
+        EINA_ERROR_PERR("RegisterClass() failed\n");
         FreeLibrary(_ecore_wince_instance);
         return 0;
      }
@@ -117,6 +135,8 @@ ecore_wince_shutdown()
 {
    HWND task_bar;
 
+   EINA_ERROR_PINFO("shutting down ecore_wince (current count: %d)\n", _ecore_wince_init_count);
+
    _ecore_wince_init_count--;
    if (_ecore_wince_init_count > 0) return _ecore_wince_init_count;
    if (!_ecore_wince_instance) return _ecore_wince_init_count;
@@ -130,8 +150,14 @@ ecore_wince_shutdown()
         EnableWindow(task_bar, TRUE);
      }
 
-   UnregisterClass(ECORE_WINCE_WINDOW_CLASS, _ecore_wince_instance);
-   FreeLibrary(_ecore_wince_instance);
+   if (!UnregisterClass(ECORE_WINCE_WINDOW_CLASS, _ecore_wince_instance))
+     {
+        EINA_ERROR_PERR("UnregisterClass() failed\n");
+     }
+   if (!FreeLibrary(_ecore_wince_instance))
+     {
+        EINA_ERROR_PERR("FreeLibrary() failed\n");
+     }
    _ecore_wince_instance = NULL;
 
    if (_ecore_wince_init_count < 0) _ecore_wince_init_count = 0;
@@ -206,53 +232,50 @@ _ecore_wince_window_procedure(HWND   window,
    switch (data->message)
      {
        /* Keyboard input notifications */
+     case WM_CHAR:
+       _ecore_wince_event_handle_key_press(data, 0);
+       break;
      case WM_HOTKEY:
-       printf (" * ecore message : keystroke down (hotkey)\n");
-       _ecore_wince_event_handle_key_press(data);
-       return 0;
+       _ecore_wince_event_handle_key_press(data, 1);
+       break;
      case WM_KEYDOWN:
-       printf (" * ecore message : keystroke down\n");
-       _ecore_wince_event_handle_key_press(data);
-       return 0;
+     case WM_SYSKEYDOWN:
+       _ecore_wince_event_handle_key_press(data, 1);
+       break;
      case WM_KEYUP:
-       printf (" * ecore message : keystroke up\n");
-       _ecore_wince_event_handle_key_release(data);
-       return 0;
+     case WM_SYSKEYUP:
+       _ecore_wince_event_handle_key_release(data, 1);
+       break;
      case WM_SETFOCUS:
-       printf (" * ecore message : focus in\n");
        _ecore_wince_event_handle_focus_in(data);
-       return 0;
+       break;
      case WM_KILLFOCUS:
-       printf (" * ecore message : focus out\n");
        _ecore_wince_event_handle_focus_out(data);
-       return 0;
+       break;
        /* Mouse input notifications */
      case WM_LBUTTONDOWN:
-       printf (" * ecore message : lbuttondown\n");
        _ecore_wince_event_handle_button_press(data, 1);
-       return 0;
+       break;
      case WM_LBUTTONUP:
-       printf (" * ecore message : lbuttonup\n");
        _ecore_wince_event_handle_button_release(data, 1);
-       return 0;
+       break;
      case WM_MOUSEMOVE:
        {
           RECT                        rect;
           struct _Ecore_WinCE_Window *w = NULL;
 
           w = (struct _Ecore_WinCE_Window *)GetWindowLong(window, GWL_USERDATA);
-          printf (" * ecore message : mouse move\n");
 
           if (GetClientRect(window, &rect))
             {
                POINT pt;
 
-               printf ("GetClientRect !!\n");
+               EINA_ERROR_PINFO("mouse in window\n");
+
                pt.x = LOWORD(data_param);
                pt.y = HIWORD(data_param);
                if (!PtInRect(&rect, pt))
                  {
-                    printf ("pas dans rect...\n");
                     if (w->pointer_is_in)
                       {
                          w->pointer_is_in = 0;
@@ -261,10 +284,8 @@ _ecore_wince_window_procedure(HWND   window,
                  }
                else
                  {
-                    printf ("dans rect... %d\n", w->pointer_is_in);
                     if (!w->pointer_is_in)
                       {
-                         printf ("w->pointer_is_in a 0\n");
                          w->pointer_is_in = 1;
                          _ecore_wince_event_handle_enter_notify(data);
                       }
@@ -272,65 +293,62 @@ _ecore_wince_window_procedure(HWND   window,
             }
           else
             {
-               printf ("pas de GetClientRect !!\n");
+               EINA_ERROR_PERR("GetClientRect() failed\n");
             }
           _ecore_wince_event_handle_motion_notify(data);
 
-          return 0;
+          break;
        }
        /* Window notifications */
      case WM_CREATE:
-       {
-         RECT rect;
-         GetClientRect(window, &rect);
-         printf (" *** ecore message : create %ld %ld\n",
-                 rect.right - rect.left, rect.bottom - rect.top);
-       }
        _ecore_wince_event_handle_create_notify(data);
-       return 0;
+       break;
      case WM_DESTROY:
-       printf (" *** ecore message : destroy\n");
        _ecore_wince_event_handle_destroy_notify(data);
-       return 0;
+       break;
      case WM_SHOWWINDOW:
-       {
-         RECT rect;
-         GetClientRect(window, &rect);
-         printf (" *** ecore message : show %ld %ld\n",
-                 rect.right - rect.left, rect.bottom - rect.top);
-       }
        if ((data->data_param == SW_OTHERUNZOOM) ||
            (data->data_param == SW_OTHERUNZOOM))
-         return 0;
+         break;
 
        if (data->window_param)
          _ecore_wince_event_handle_map_notify(data);
        else
          _ecore_wince_event_handle_unmap_notify(data);
 
-       return 0;
+       break;
      case WM_CLOSE:
-       printf (" *** ecore message : close\n");
        _ecore_wince_event_handle_delete_request(data);
-       return 0;
+       break;
        /* GDI notifications */
      case WM_PAINT:
        {
-          RECT rect;
           PAINTSTRUCT paint;
 
-/*           printf (" * ecore message : paint\n"); */
           if (BeginPaint(window, &paint))
             {
-/*                printf (" * ecore message : painting...\n"); */
                data->update = paint.rcPaint;
                _ecore_wince_event_handle_expose(data);
                EndPaint(window, &paint);
             }
-          return 0;
+          break;
        }
      default:
        return DefWindowProc(window, message, window_param, data_param);
      }
 
+   return 0;
+}
+
+static void
+_ecore_wince_error_print_cb(Eina_Error_Level level __UNUSED__,
+                             const char     *file __UNUSED__,
+                             const char     *fnc,
+                             int             line,
+                             const char     *fmt,
+                             void           *data __UNUSED__,
+                             va_list         args)
+{
+   fprintf(stderr, "[%s:%d] ", fnc, line);
+   vfprintf(stderr, fmt, args);
 }
diff --git a/src/lib/ecore_wince/ecore_wince_event.c b/src/lib/ecore_wince/ecore_wince_event.c
index 1904b4b..7d8b198 100644
--- a/src/lib/ecore_wince/ecore_wince_event.c
+++ b/src/lib/ecore_wince/ecore_wince_event.c
@@ -7,12 +7,13 @@
 #endif
 
 #include <stdlib.h>
-#include <stdio.h>   /* for printf */
 
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #undef WIN32_LEAN_AND_MEAN
 
+#include <Eina.h>
+
 #include "Ecore.h"
 #include "Ecore_WinCE.h"
 #include "ecore_wince_private.h"
@@ -48,20 +49,37 @@ static int  _ecore_wince_event_char_get(int    key,
 /***** Global functions *****/
 
 void
-_ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg)
+_ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg,
+                                    int                        is_keystroke)
 {
    Ecore_WinCE_Event_Key_Down *e;
 
+   EINA_ERROR_PINFO("key pressed\n");
+
    e = (Ecore_WinCE_Event_Key_Down *)malloc(sizeof(Ecore_WinCE_Event_Key_Down));
    if (!e) return;
 
-   if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
+   if (is_keystroke)
+     {
+        if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
+                                              &e->keyname,
+                                              &e->keysymbol,
+                                              &e->keycompose))
+          {
+             free(e);
+             return;
+          }
+     }
+   else
+     {
+        if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
                                          &e->keyname,
                                          &e->keysymbol,
                                          &e->keycompose))
-     {
-        free(e);
-        return;
+          {
+             free(e);
+             return;
+          }
      }
 
    e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
@@ -78,20 +96,37 @@ _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg)
 }
 
 void
-_ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg)
+_ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg,
+                                      int                        is_keystroke)
 {
    Ecore_WinCE_Event_Key_Up *e;
 
+   EINA_ERROR_PINFO("key released\n");
+
    e = (Ecore_WinCE_Event_Key_Up *)calloc(1, sizeof(Ecore_WinCE_Event_Key_Up));
    if (!e) return;
 
-   if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
+   if (is_keystroke)
+     {
+        if (!_ecore_wince_event_keystroke_get(LOWORD(msg->window_param),
+                                              &e->keyname,
+                                              &e->keysymbol,
+                                              &e->keycompose))
+          {
+             free(e);
+             return;
+          }
+     }
+   else
+     {
+        if (!_ecore_wince_event_char_get(LOWORD(msg->window_param),
                                          &e->keyname,
                                          &e->keysymbol,
                                          &e->keycompose))
-     {
-        free(e);
-        return;
+          {
+             free(e);
+             return;
+          }
      }
 
    e->window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
@@ -113,6 +148,8 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
 {
    Ecore_WinCE_Window *window;
 
+   EINA_ERROR_PINFO("mouse button pressed\n");
+
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
@@ -182,7 +219,6 @@ _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg,
 
       ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
    }
-   printf (" * ecore event button press\n");
 }
 
 void
@@ -191,6 +227,8 @@ _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg,
 {
    Ecore_WinCE_Window *window;
 
+   EINA_ERROR_PINFO("mouse button released\n");
+
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
@@ -240,8 +278,6 @@ _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg,
 
       ecore_event_add(ECORE_WINCE_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
    }
-
-   printf (" * ecore event button release\n");
 }
 
 void
@@ -249,6 +285,8 @@ _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Mouse_Move *e;
 
+   EINA_ERROR_PINFO("mouse moved\n");
+
    e = (Ecore_WinCE_Event_Mouse_Move *)calloc(1, sizeof(Ecore_WinCE_Event_Mouse_Move));
    if (!e) return;
 
@@ -258,7 +296,6 @@ _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg)
    e->time = (double)msg->time / 1000.0;
 
    ecore_event_add(ECORE_WINCE_EVENT_MOUSE_MOVE, e, NULL, NULL);
-   printf (" * ecore event motion notify\n");
 }
 
 void
@@ -266,8 +303,9 @@ _ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Window *window;
 
+   EINA_ERROR_PINFO("mouse in\n");
+
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
-/*    printf (" * ecore event enter notify 0\n"); */
 
    {
       Ecore_WinCE_Event_Mouse_Move *e;
@@ -301,7 +339,6 @@ _ecore_wince_event_handle_enter_notify(Ecore_WinCE_Callback_Data *msg)
 
       ecore_event_add(ECORE_WINCE_EVENT_MOUSE_IN, e, NULL, NULL);
    }
-/*    printf (" * ecore event enter notify 1\n"); */
 }
 
 void
@@ -309,6 +346,8 @@ _ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Window *window;
 
+   EINA_ERROR_PINFO("mouse out\n");
+
    window = (void *)GetWindowLong(msg->window, GWL_USERDATA);
 
    {
@@ -343,7 +382,6 @@ _ecore_wince_event_handle_leave_notify(Ecore_WinCE_Callback_Data *msg)
 
       ecore_event_add(ECORE_WINCE_EVENT_MOUSE_OUT, e, NULL, NULL);
    }
-   printf (" * ecore event leave notify\n");
 }
 
 void
@@ -352,6 +390,8 @@ _ecore_wince_event_handle_focus_in(Ecore_WinCE_Callback_Data *msg)
    Ecore_WinCE_Event_Window_Focus_In *e;
    struct _Ecore_WinCE_Window        *window;
 
+   EINA_ERROR_PINFO("focus in\n");
+
    e = (Ecore_WinCE_Event_Window_Focus_In *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Focus_In));
    if (!e) return;
 
@@ -379,6 +419,8 @@ _ecore_wince_event_handle_focus_out(Ecore_WinCE_Callback_Data *msg)
    Ecore_WinCE_Event_Window_Focus_Out *e;
    struct _Ecore_WinCE_Window         *window;
 
+   EINA_ERROR_PINFO("focus out\n");
+
    e = (Ecore_WinCE_Event_Window_Focus_Out *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Focus_Out));
    if (!e) return;
 
@@ -404,6 +446,8 @@ _ecore_wince_event_handle_expose(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Damage *e;
 
+   EINA_ERROR_PINFO("window expose\n");
+
    e = (Ecore_WinCE_Event_Window_Damage *)calloc(1, sizeof(Ecore_WinCE_Event_Window_Damage));
    if (!e) return;
 
@@ -418,7 +462,7 @@ _ecore_wince_event_handle_expose(Ecore_WinCE_Callback_Data *msg)
    e->y = msg->update.top;
    e->width = msg->update.right - msg->update.left;
    e->height = msg->update.bottom - msg->update.top;
-   printf (" * ecore : event expose %d %d\n", e->width, e->height);
+   EINA_ERROR_PINFO("window expose size: %dx%d\n", e->width, e->height);
 
    e->time = _ecore_wince_event_last_time;
 
@@ -430,6 +474,8 @@ _ecore_wince_event_handle_create_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Create *e;
 
+   EINA_ERROR_PINFO("window create notify\n");
+
    e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Create));
    if (!e) return;
 
@@ -450,6 +496,8 @@ _ecore_wince_event_handle_destroy_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Destroy *e;
 
+   EINA_ERROR_PINFO("window destroy notify\n");
+
    e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Destroy));
    if (!e) return;
 
@@ -471,6 +519,8 @@ _ecore_wince_event_handle_map_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Show *e;
 
+   EINA_ERROR_PINFO("window map notify\n");
+
    e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Show));
    if (!e) return;
 
@@ -491,6 +541,8 @@ _ecore_wince_event_handle_unmap_notify(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Hide *e;
 
+   EINA_ERROR_PINFO("window unmap notify\n");
+
    e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Hide));
    if (!e) return;
 
@@ -511,6 +563,8 @@ _ecore_wince_event_handle_delete_request(Ecore_WinCE_Callback_Data *msg)
 {
    Ecore_WinCE_Event_Window_Delete_Request *e;
 
+   EINA_ERROR_PINFO("window delete request\n");
+
    e = calloc(1, sizeof(Ecore_WinCE_Event_Window_Delete_Request));
    if (!e) return;
 
@@ -530,7 +584,7 @@ _ecore_wince_event_handle_delete_request(Ecore_WinCE_Callback_Data *msg)
 /***** Private functions definitions *****/
 
 static void
-_ecore_wince_event_free_key_down(void *data,
+_ecore_wince_event_free_key_down(void *data __UNUSED__,
                                  void *ev)
 {
    Ecore_WinCE_Event_Key_Down *e;
@@ -543,7 +597,7 @@ _ecore_wince_event_free_key_down(void *data,
 }
 
 static void
-_ecore_wince_event_free_key_up(void *data,
+_ecore_wince_event_free_key_up(void *data __UNUSED__,
                                void *ev)
 {
    Ecore_WinCE_Event_Key_Up *e;
@@ -742,6 +796,16 @@ _ecore_wince_event_keystroke_get(int    key,
        ks = "F24";
        kc = "";
        break;
+     case VK_APPS:
+       kn = "Application";
+       ks = "Application";
+       kc = "";
+       break;
+     case VK_MENU:
+       kn = "Menu";
+       ks = "Menu";
+       kc = "";
+       break;
      default:
        /* other non keystroke characters */
        return 0;
diff --git a/src/lib/ecore_wince/ecore_wince_private.h b/src/lib/ecore_wince/ecore_wince_private.h
index 85ad0f7..eedab27 100644
--- a/src/lib/ecore_wince/ecore_wince_private.h
+++ b/src/lib/ecore_wince/ecore_wince_private.h
@@ -49,8 +49,8 @@ extern Ecore_WinCE_Window *_ecore_wince_event_last_window;
 extern HINSTANCE           _ecore_wince_instance;
 
 
-void  _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg);
-void  _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg);
+void  _ecore_wince_event_handle_key_press(Ecore_WinCE_Callback_Data *msg, int is_keystroke);
+void  _ecore_wince_event_handle_key_release(Ecore_WinCE_Callback_Data *msg, int is_keystroke);
 void  _ecore_wince_event_handle_button_press(Ecore_WinCE_Callback_Data *msg, int button);
 void  _ecore_wince_event_handle_button_release(Ecore_WinCE_Callback_Data *msg, int button);
 void  _ecore_wince_event_handle_motion_notify(Ecore_WinCE_Callback_Data *msg);
diff --git a/src/lib/ecore_wince/ecore_wince_window.c b/src/lib/ecore_wince/ecore_wince_window.c
index d53b9c9..e024f6e 100644
--- a/src/lib/ecore_wince/ecore_wince_window.c
+++ b/src/lib/ecore_wince/ecore_wince_window.c
@@ -11,6 +11,7 @@
 #undef WIN32_LEAN_AND_MEAN
 
 #include <Evil.h>
+#include <Eina.h>
 
 #include "Ecore_WinCE.h"
 #include "ecore_wince_private.h"
@@ -36,9 +37,14 @@ ecore_wince_window_new(Ecore_WinCE_Window *parent,
    HWND                        window;
    RECT                        rect;
 
+   EINA_ERROR_PINFO("creating window\n");
+
    w = (struct _Ecore_WinCE_Window *)calloc(1, sizeof(struct _Ecore_WinCE_Window));
    if (!w)
-     return NULL;
+     {
+        EINA_ERROR_PERR("malloc() failed\n");
+        return NULL;
+     }
 
    rect.left = 0;
    rect.top = 0;
@@ -46,6 +52,7 @@ ecore_wince_window_new(Ecore_WinCE_Window *parent,
    rect.bottom = height;
    if (!AdjustWindowRectEx(&rect, WS_CAPTION | WS_SYSMENU | WS_VISIBLE, FALSE, WS_EX_TOPMOST))
      {
+        EINA_ERROR_PERR("AdjustWindowRectEx() failed\n");
         free(w);
         return NULL;
      }
@@ -60,12 +67,14 @@ ecore_wince_window_new(Ecore_WinCE_Window *parent,
                            NULL, _ecore_wince_instance, NULL);
    if (!window)
      {
+        EINA_ERROR_PERR("CreateWindowEx() failed\n");
         free(w);
         return NULL;
      }
 
    if (!_ecore_wince_hardware_keys_register(window))
      {
+        EINA_ERROR_PERR("_ecore_wince_hardware_keys_register() failed\n");
         DestroyWindow(window);
         free(w);
         return NULL;
@@ -76,6 +85,7 @@ ecore_wince_window_new(Ecore_WinCE_Window *parent,
    SetLastError(0);
    if (!SetWindowLong(window, GWL_USERDATA, (LONG)w) && (GetLastError() != 0))
      {
+        EINA_ERROR_PERR("SetWindowLong() failed\n");
         DestroyWindow(window);
         free(w);
         return NULL;
@@ -87,22 +97,19 @@ ecore_wince_window_new(Ecore_WinCE_Window *parent,
 }
 
 void
-ecore_wince_window_del(Ecore_WinCE_Window *window)
+ecore_wince_window_free(Ecore_WinCE_Window *window)
 {
-   Ecore_WinCE_Window *w;
-
    if (!window) return;
 
+   EINA_ERROR_PINFO("destroying window\n");
+
    DestroyWindow(((struct _Ecore_WinCE_Window *)window)->window);
    free(window);
-   fprintf (stderr, "ecore_wince_window_del\n");
 }
 
 void *
 ecore_wince_window_hwnd_get(Ecore_WinCE_Window *window)
 {
-   struct _Ecore_WinCE_Window *w;
-
    if (!window)
      return NULL;
 
@@ -120,15 +127,22 @@ ecore_wince_window_move(Ecore_WinCE_Window *window,
    if (!window || ((struct _Ecore_WinCE_Window *)window)->fullscreen)
      return;
 
-   printf ("ecore_wince_window_move %p : %d %d\n", window, x, y);
+   EINA_ERROR_PINFO("moving window (%dx%d)\n", x, y);
+
    w = ((struct _Ecore_WinCE_Window *)window)->window;
    if (!GetWindowRect(w, &rect))
-     return;
+     {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+        return;
+     }
 
-   MoveWindow(w, x, y,
-              rect.right - rect.left,
-              rect.bottom - rect.top,
-              TRUE);
+   if (!MoveWindow(w, x, y,
+                   rect.right - rect.left,
+                   rect.bottom - rect.top,
+                   TRUE))
+     {
+        EINA_ERROR_PERR("MoveWindow() failed\n");
+     }
 }
 
 void
@@ -146,13 +160,14 @@ ecore_wince_window_resize(Ecore_WinCE_Window *window,
    if (!window || ((struct _Ecore_WinCE_Window *)window)->fullscreen)
      return;
 
-   w = (struct _Ecore_WinCE_Window *)window;
-   if (!GetWindowRect(w->window, &rect)) return;
+   EINA_ERROR_PINFO("resizing window (%dx%d)\n", width, height);
 
-   printf ("ecore_wince_window_resize 0 : %p (%d %d)\n",
-           w,
-           width,
-           height);
+   w = (struct _Ecore_WinCE_Window *)window;
+   if (!GetWindowRect(w->window, &rect))
+     {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+        return;
+     }
 
    x = rect.left;
    y = rect.top;
@@ -160,19 +175,29 @@ ecore_wince_window_resize(Ecore_WinCE_Window *window,
    rect.top = 0;
    rect.right = width;
    rect.bottom = height;
-   style = GetWindowLong(w->window, GWL_STYLE);
-   exstyle = GetWindowLong(w->window, GWL_EXSTYLE);
+   if (!(style = GetWindowLong(w->window, GWL_STYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
+   if (!(exstyle = GetWindowLong(w->window, GWL_EXSTYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
    if (!AdjustWindowRectEx(&rect, style, FALSE, exstyle))
-     return;
+     {
+        EINA_ERROR_PERR("AdjustWindowRectEx() failed\n");
+        return;
+     }
 
    if (!MoveWindow(w->window, x, y,
                    rect.right - rect.left,
                    rect.bottom - rect.top,
                    FALSE))
      {
-       printf (" MEEERDE !!!\n");
+        EINA_ERROR_PERR("MoveWindow() failed\n");
      }
-   printf ("ecore_wince_window_resize 4 : %d %d\n", width, height);
 }
 
 void
@@ -190,22 +215,36 @@ ecore_wince_window_move_resize(Ecore_WinCE_Window *window,
    if (!window || ((struct _Ecore_WinCE_Window *)window)->fullscreen)
      return;
 
-   printf ("ecore_wince_window_move_resize 0 : %p  %d %d\n", window, width, height);
+   EINA_ERROR_PINFO("moving and resizing window (%dx%d %dx%d)\n", x, y, width, height);
+
    w = ((struct _Ecore_WinCE_Window *)window);
    rect.left = 0;
    rect.top = 0;
-   printf ("ecore_wince_window_move_resize 1 : %d %d\n", width, height);
    rect.right = width;
    rect.bottom = height;
-   style = GetWindowLong(w->window, GWL_STYLE);
-   exstyle = GetWindowLong(w->window, GWL_EXSTYLE);
+   if (!(style = GetWindowLong(w->window, GWL_STYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
+   if (!(exstyle = GetWindowLong(w->window, GWL_EXSTYLE)))
+     {
+        EINA_ERROR_PERR("GetWindowLong() failed\n");
+        return;
+     }
    if (!AdjustWindowRectEx(&rect, style, FALSE, exstyle))
-     return;
+     {
+        EINA_ERROR_PERR("AdjustWindowRectEx() failed\n");
+        return;
+     }
 
-   MoveWindow(w->window, x, y,
+   if (!MoveWindow(w->window, x, y,
               rect.right - rect.left,
               rect.bottom - rect.top,
-              TRUE);
+              TRUE))
+     {
+        EINA_ERROR_PERR("MoveWindow() failed\n");
+     }
 }
 
 void
@@ -213,10 +252,21 @@ ecore_wince_window_show(Ecore_WinCE_Window *window)
 {
    if (!window) return;
 
-   fprintf (stderr, " ** ecore_wince_window_show  %p\n", window);
-   ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_SHOWNORMAL);
-   UpdateWindow(((struct _Ecore_WinCE_Window *)window)->window);
-   SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 1, 0);
+   EINA_ERROR_PINFO("showing window\n");
+
+   if (!ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_SHOWNORMAL))
+     {
+        EINA_ERROR_PERR("ShowWindow() failed\n");
+        return;
+     }
+   if (!UpdateWindow(((struct _Ecore_WinCE_Window *)window)->window))
+     {
+        EINA_ERROR_PERR("UpdateWindow() failed\n");
+     }
+   if (!SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 1, 0))
+     {
+        EINA_ERROR_PERR("SendMessage() failed\n");
+     }
 }
 
 void
@@ -224,9 +274,17 @@ ecore_wince_window_hide(Ecore_WinCE_Window *window)
 {
    if (!window) return;
 
-   fprintf (stderr, " ** ecore_wince_window_hide  %p\n", window);
-   ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_HIDE);
-   SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 0, 0);
+   EINA_ERROR_PINFO("hiding window\n");
+
+   if (!ShowWindow(((struct _Ecore_WinCE_Window *)window)->window, SW_HIDE))
+     {
+        EINA_ERROR_PERR("ShowWindow() failed\n");
+        return;
+     }
+   if (!SendMessage(((struct _Ecore_WinCE_Window *)window)->window, WM_SHOWWINDOW, 0, 0))
+     {
+        EINA_ERROR_PERR("SendMessage() failed\n");
+     }
 }
 
 void
@@ -239,10 +297,15 @@ ecore_wince_window_title_set(Ecore_WinCE_Window *window,
 
    if (!title || !title[0]) return;
 
+   EINA_ERROR_PINFO("setting window title\n");
+
    wtitle = evil_char_to_wchar(title);
    if (!wtitle) return;
 
-   SetWindowText(((struct _Ecore_WinCE_Window *)window)->window, wtitle);
+   if (!SetWindowText(((struct _Ecore_WinCE_Window *)window)->window, wtitle))
+     {
+        EINA_ERROR_PERR("SetWindowText() failed\n");
+     }
    free(wtitle);
 }
 
@@ -254,6 +317,8 @@ ecore_wince_window_backend_set(Ecore_WinCE_Window *window, int backend)
    if (!window)
      return;
 
+   EINA_ERROR_PINFO("setting backend\n");
+
    w = (struct _Ecore_WinCE_Window *)window;
    w->backend = backend;
 }
@@ -266,6 +331,8 @@ ecore_wince_window_suspend_set(Ecore_WinCE_Window *window, int (*suspend)(int))
    if (!window)
      return;
 
+   EINA_ERROR_PINFO("setting suspend callback\n");
+
    w = (struct _Ecore_WinCE_Window *)window;
    w->suspend = suspend;
 }
@@ -278,6 +345,8 @@ ecore_wince_window_resume_set(Ecore_WinCE_Window *window, int (*resume)(int))
    if (!window)
      return;
 
+   EINA_ERROR_PINFO("setting resume callback\n");
+
    w = (struct _Ecore_WinCE_Window *)window;
    w->resume = resume;
 }
@@ -293,7 +362,8 @@ ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
    int  w;
    int  h;
 
-   printf ("ecore_wince_window_geometry_get %p\n", window);
+   EINA_ERROR_PINFO("getting window geometry\n");
+
    if (!window)
      {
         if (x) *x = 0;
@@ -307,6 +377,8 @@ ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
    if (!GetClientRect(((struct _Ecore_WinCE_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetClientRect() failed\n");
+
         if (x) *x = 0;
         if (y) *y = 0;
         if (width) *width = 0;
@@ -321,6 +393,8 @@ ecore_wince_window_geometry_get(Ecore_WinCE_Window *window,
    if (!GetWindowRect(((struct _Ecore_WinCE_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetWindowRect() failed\n");
+
         if (x) *x = 0;
         if (y) *y = 0;
         if (width) *width = 0;
@@ -342,6 +416,8 @@ ecore_wince_window_size_get(Ecore_WinCE_Window *window,
 {
    RECT rect;
 
+   EINA_ERROR_PINFO("getting window size\n");
+
    if (!window)
      {
         if (width) *width = GetSystemMetrics(SM_CXSCREEN);
@@ -353,6 +429,8 @@ ecore_wince_window_size_get(Ecore_WinCE_Window *window,
    if (!GetClientRect(((struct _Ecore_WinCE_Window *)window)->window,
                       &rect))
      {
+        EINA_ERROR_PERR("GetClientRect() failed\n");
+
         if (width) *width = 0;
         if (height) *height = 0;
      }
@@ -368,8 +446,6 @@ ecore_wince_window_fullscreen_set(Ecore_WinCE_Window *window,
    struct _Ecore_WinCE_Window *ew;
    HWND                        w;
    HWND                        task_bar;
-   int                         width;
-   int                         height;
 
    if (!window) return;
 
@@ -378,66 +454,108 @@ ecore_wince_window_fullscreen_set(Ecore_WinCE_Window *window,
        ((!ew->fullscreen) && (!on)))
      return;
 
+   EINA_ERROR_PINFO("setting fullscreen: %s\n", on ? "yes" : "no");
+
    ew->fullscreen = !!on;
    w = ew->window;
 
    if (on)
      {
         /* save the position and size of the window */
-        if (!GetWindowRect(w, &ew->rect)) return;
+        if (!GetWindowRect(w, &ew->rect))
+          {
+             EINA_ERROR_PERR("GetWindowRect() failed\n");
+             return;
+          }
 
         /* hide task bar */
         task_bar = FindWindow(L"HHTaskBar", NULL);
-        if (!task_bar) return;
-        ShowWindow(task_bar, SW_HIDE);
-        EnableWindow(task_bar, FALSE);
+        if (!task_bar)
+          {
+             EINA_ERROR_PINFO("FindWindow(): can not find task bar\n");
+          }
+        if (!ShowWindow(task_bar, SW_HIDE))
+          {
+             EINA_ERROR_PINFO("ShowWindow(): task bar already hidden\n");
+          }
+        if (!EnableWindow(task_bar, FALSE))
+          {
+             EINA_ERROR_PINFO("EnableWindow(): input already disabled\n");
+          }
 
         /* style: visible + popup */
-        if (!SetWindowLong(w, GWL_STYLE, WS_POPUP | WS_VISIBLE)) return;
+        if (!SetWindowLong(w, GWL_STYLE, WS_POPUP | WS_VISIBLE))
+          {
+             EINA_ERROR_PINFO("SetWindowLong() failed\n");
+          }
 
         /* resize window to fit the entire screen */
-        SetWindowPos(w, HWND_TOPMOST,
-                     0, 0,
-                     GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
-                     SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
+        if (!SetWindowPos(w, HWND_TOPMOST,
+                          0, 0,
+                          GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
+                          SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED))
+          {
+             EINA_ERROR_PINFO("SetWindowPos() failed\n");
+          }
         /*
          * It seems that SetWindowPos is not sufficient.
          * Call MoveWindow with the correct size and force painting.
          * Note that UpdateWindow (forcing repainting) is not sufficient
          */
-        MoveWindow(w,
-                   0, 0,
-                   GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
-                   TRUE);
+        if (!MoveWindow(w,
+                        0, 0,
+                        GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
+                        TRUE))
+          {
+             EINA_ERROR_PINFO("MoveWindow() failed\n");
+          }
      }
    else
      {
         /* show task bar */
         task_bar = FindWindow(L"HHTaskBar", NULL);
-        if (!task_bar) return;
-        ShowWindow(task_bar, SW_SHOW);
-        EnableWindow(task_bar, TRUE);
+        if (!task_bar)
+          {
+             EINA_ERROR_PINFO("FindWindow(): can not find task bar\n");
+          }
+        if (!ShowWindow(task_bar, SW_SHOW))
+          {
+             EINA_ERROR_PINFO("ShowWindow(): task bar already visible\n");
+          }
+        if (!EnableWindow(task_bar, TRUE))
+          {
+             EINA_ERROR_PINFO("EnableWindow():  input already enabled\n");
+          }
 
         /* style: visible + caption + sysmenu */
-        if (!SetWindowLong(w, GWL_STYLE, WS_CAPTION | WS_SYSMENU | WS_VISIBLE)) return;
+        if (!SetWindowLong(w, GWL_STYLE, WS_CAPTION | WS_SYSMENU | WS_VISIBLE))
+          {
+             EINA_ERROR_PINFO("SetWindowLong() failed\n");
+          }
         /* restaure the position and size of the window */
-        SetWindowPos(w, HWND_TOPMOST,
-                     ew->rect.left,
-                     ew->rect.top,
-                     ew->rect.right - ew->rect.left,
-                     ew->rect.bottom - ew->rect.top,
-                     SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
+        if (!SetWindowPos(w, HWND_TOPMOST,
+                          ew->rect.left,
+                          ew->rect.top,
+                          ew->rect.right - ew->rect.left,
+                          ew->rect.bottom - ew->rect.top,
+                          SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED))
+          {
+             EINA_ERROR_PINFO("SetWindowLong() failed\n");
+          }
         /*
          * It seems that SetWindowPos is not sufficient.
          * Call MoveWindow with the correct size and force painting.
          * Note that UpdateWindow (forcing repainting) is not sufficient
          */
-        MoveWindow(w,
-                   ew->rect.left,
-                   ew->rect.top,
-                   ew->rect.right - ew->rect.left,
-                   ew->rect.bottom - ew->rect.top,
-                   TRUE);
+        if (!MoveWindow(w,
+                        ew->rect.left,
+                        ew->rect.top,
+                        ew->rect.right - ew->rect.left,
+                        ew->rect.bottom - ew->rect.top,
+                        TRUE))
+          {
+             EINA_ERROR_PINFO("MoveWindow() failed\n");
+          }
      }
 }
 
@@ -453,11 +571,15 @@ _ecore_wince_hardware_keys_register(HWND window)
 
    core_dll = LoadLibrary(L"coredll.dll");
    if (!core_dll)
-     return 0;
+     {
+        EINA_ERROR_PERR("LoadLibrary() failed\n");
+        return 0;
+     }
 
    unregister_fct = (UnregisterFunc1Proc)GetProcAddress(core_dll, L"UnregisterFunc1");
    if (!unregister_fct)
      {
+        EINA_ERROR_PERR("GetProcAddress() failed\n");
         FreeLibrary(core_dll);
         return 0;
      }
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index a5f3a8c..f0bac23 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -81,6 +81,37 @@ typedef struct _Ecore_X_Icon {
    unsigned int *data;
 } Ecore_X_Icon;
 
+typedef enum _Ecore_X_GC_Value_Mask {
+   ECORE_X_GC_VALUE_MASK_FUNCTION = (1L << 0),
+   ECORE_X_GC_VALUE_MASK_PLANE_MASK = (1L << 1),
+   ECORE_X_GC_VALUE_MASK_FOREGROUND = (1L << 2),
+   ECORE_X_GC_VALUE_MASK_BACKGROUND = (1L << 3),
+   ECORE_X_GC_VALUE_MASK_LINE_WIDTH = (1L << 4),
+   ECORE_X_GC_VALUE_MASK_LINE_STYLE = (1L << 5),
+   ECORE_X_GC_VALUE_MASK_CAP_STYLE = (1L << 6),
+   ECORE_X_GC_VALUE_MASK_JOIN_STYLE = (1L << 7),
+   ECORE_X_GC_VALUE_MASK_FILL_STYLE = (1L << 8),
+   ECORE_X_GC_VALUE_MASK_FILL_RULE = (1L << 9),
+   ECORE_X_GC_VALUE_MASK_TILE = (1L << 10),
+   ECORE_X_GC_VALUE_MASK_STIPPLE = (1L << 11),
+   ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_X = (1L << 12),
+   ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_Y = (1L << 13),
+   ECORE_X_GC_VALUE_MASK_FONT = (1L << 14),
+   ECORE_X_GC_VALUE_MASK_SUBWINDOW_MODE = (1L << 15),
+   ECORE_X_GC_VALUE_MASK_GRAPHICS_EXPOSURES = (1L << 16),
+   ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_X = (1L << 17),
+   ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_Y = (1L << 18),
+   ECORE_X_GC_VALUE_MASK_CLIP_MASK = (1L << 19),
+   ECORE_X_GC_VALUE_MASK_DASH_OFFSET = (1L << 20),
+   ECORE_X_GC_VALUE_MASK_DASH_LIST = (1L << 21),
+   ECORE_X_GC_VALUE_MASK_ARC_MODE = (1L << 22)
+} Ecore_X_GC_Value_Mask;
+
+typedef enum _Ecore_X_Composite_Update_Type {
+   ECORE_X_COMPOSITE_UPDATE_AUTOMATIC,
+   ECORE_X_COMPOSITE_UPDATE_MANUAL
+} Ecore_X_Composite_Update_Type;
+
 typedef enum _Ecore_X_Window_State {
     /** The window is iconified. */
     ECORE_X_WINDOW_STATE_ICONIFIED,
@@ -156,7 +187,8 @@ typedef enum _Ecore_X_Selection {
    ECORE_X_SELECTION_PRIMARY,
    ECORE_X_SELECTION_SECONDARY,
    ECORE_X_SELECTION_XDND,
-   ECORE_X_SELECTION_CLIPBOARD
+   ECORE_X_SELECTION_CLIPBOARD,
+   ECORE_X_SELECTION_OTHER
 } Ecore_X_Selection;
 
 typedef enum _Ecore_X_Event_Mode
@@ -226,14 +258,8 @@ typedef enum _Ecore_X_Shape_Type
    ECORE_X_SHAPE_CLIP
 } Ecore_X_Shape_Type;
 
-typedef struct _Ecore_X_Event_Key_Down                 Ecore_X_Event_Key_Down;
-typedef struct _Ecore_X_Event_Key_Up                   Ecore_X_Event_Key_Up;
-typedef struct _Ecore_X_Event_Mouse_Button_Down        Ecore_X_Event_Mouse_Button_Down;
-typedef struct _Ecore_X_Event_Mouse_Button_Up          Ecore_X_Event_Mouse_Button_Up;
-typedef struct _Ecore_X_Event_Mouse_Move               Ecore_X_Event_Mouse_Move;
 typedef struct _Ecore_X_Event_Mouse_In                 Ecore_X_Event_Mouse_In;
 typedef struct _Ecore_X_Event_Mouse_Out                Ecore_X_Event_Mouse_Out;
-typedef struct _Ecore_X_Event_Mouse_Wheel              Ecore_X_Event_Mouse_Wheel;
 typedef struct _Ecore_X_Event_Window_Focus_In          Ecore_X_Event_Window_Focus_In;
 typedef struct _Ecore_X_Event_Window_Focus_Out         Ecore_X_Event_Window_Focus_Out;
 typedef struct _Ecore_X_Event_Window_Keymap            Ecore_X_Event_Window_Keymap;
@@ -292,80 +318,6 @@ typedef struct _Ecore_X_Event_Desktop_Change             Ecore_X_Event_Desktop_C
 
 typedef struct _Ecore_X_Event_Startup_Sequence           Ecore_X_Event_Startup_Sequence;
 
-struct _Ecore_X_Event_Key_Down
-{
-   char   *keyname;
-   char   *keysymbol;
-   char   *key_compose;
-   int     modifiers;
-   int	   same_screen;
-   Ecore_X_Window  win;
-   Ecore_X_Window  event_win;
-   Ecore_X_Window  root_win;
-   Ecore_X_Time    time;
-};
-
-struct _Ecore_X_Event_Key_Up
-{
-   char   *keyname;
-   char   *keysymbol;
-   char   *key_compose;
-   int     modifiers;
-   int	   same_screen;
-   Ecore_X_Window  win;
-   Ecore_X_Window  event_win;
-   Ecore_X_Window  root_win;
-   Ecore_X_Time    time;
-};
-
-struct _Ecore_X_Event_Mouse_Button_Down
-{
-   int     button;
-   int     modifiers;
-   int     x, y;
-   int	   same_screen;
-   struct {
-      int  x, y;
-   } root;
-   Ecore_X_Window  win;
-   Ecore_X_Window  event_win;
-   Ecore_X_Window  root_win;
-   Ecore_X_Time    time;
-   unsigned int    double_click : 1;
-   unsigned int    triple_click : 1;
-};
-
-struct _Ecore_X_Event_Mouse_Button_Up
-{
-   int     button;
-   int     modifiers;
-   int     x, y;
-   int	   same_screen;
-   struct {
-      int  x, y;
-   } root;
-   Ecore_X_Window  win;
-   Ecore_X_Window  event_win;
-   Ecore_X_Window  root_win;
-   Ecore_X_Time    time;
-   unsigned int    double_click : 1;
-   unsigned int    triple_click : 1;
-};
-
-struct _Ecore_X_Event_Mouse_Move
-{
-   int     modifiers;
-   int     x, y;
-   int	   same_screen;
-   struct {
-      int  x, y;
-   } root;
-   Ecore_X_Window  win;
-   Ecore_X_Window  event_win;
-   Ecore_X_Window  root_win;
-   Ecore_X_Time    time;
-};
-
 struct _Ecore_X_Event_Mouse_In
 {
    int                  modifiers;
@@ -398,24 +350,6 @@ struct _Ecore_X_Event_Mouse_Out
    Ecore_X_Time                 time;
 };
 
-struct _Ecore_X_Event_Mouse_Wheel
-{
-   int direction; /* 0 = default up/down wheel FIXME: more wheel types */
-   int z; /* ...,-2,-1 = down, 1,2,... = up */
-   int modifiers;
-   int x, y;
-   int same_screen;
-
-   struct {
-      int x, y;
-   } root;
-
-   Ecore_X_Window win;
-   Ecore_X_Window event_win;
-   Ecore_X_Window root_win;
-   Ecore_X_Time   time;
-};
-
 struct _Ecore_X_Event_Window_Focus_In
 {
    Ecore_X_Window       win;
@@ -568,6 +502,7 @@ struct _Ecore_X_Event_Selection_Clear
 {
    Ecore_X_Window    win;
    Ecore_X_Selection selection;
+   Ecore_X_Atom      atom;
    Ecore_X_Time      time;
 };
 
@@ -586,6 +521,7 @@ struct _Ecore_X_Event_Selection_Notify
    Ecore_X_Window             win;
    Ecore_X_Time               time;
    Ecore_X_Selection          selection;
+   Ecore_X_Atom               atom;
    char                      *target;
    void                      *data;
 };
@@ -819,14 +755,14 @@ struct _Ecore_X_Event_Desktop_Change
    int                         source;
 };
 
-EAPI extern int ECORE_X_EVENT_KEY_DOWN;
-EAPI extern int ECORE_X_EVENT_KEY_UP;
-EAPI extern int ECORE_X_EVENT_MOUSE_BUTTON_DOWN;
-EAPI extern int ECORE_X_EVENT_MOUSE_BUTTON_UP;
-EAPI extern int ECORE_X_EVENT_MOUSE_MOVE;
+EAPI extern int ECORE_X_EVENT_ANY; /**< low level event dependent on
+				        backend in use, if Xlib will be XEvent,
+					if XCB will be xcb_generic_event_t.
+
+					@warning avoid using it.
+				   */
 EAPI extern int ECORE_X_EVENT_MOUSE_IN;
 EAPI extern int ECORE_X_EVENT_MOUSE_OUT;
-EAPI extern int ECORE_X_EVENT_MOUSE_WHEEL;
 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_IN;
 EAPI extern int ECORE_X_EVENT_WINDOW_FOCUS_OUT;
 EAPI extern int ECORE_X_EVENT_WINDOW_KEYMAP;
@@ -887,11 +823,6 @@ EAPI extern int ECORE_X_EVENT_XDND_LEAVE;
 EAPI extern int ECORE_X_EVENT_XDND_DROP;
 EAPI extern int ECORE_X_EVENT_XDND_FINISHED;
 
-EAPI extern int ECORE_X_MODIFIER_SHIFT;
-EAPI extern int ECORE_X_MODIFIER_CTRL;
-EAPI extern int ECORE_X_MODIFIER_ALT;
-EAPI extern int ECORE_X_MODIFIER_WIN;
-
 EAPI extern int ECORE_X_LOCK_SCROLL;
 EAPI extern int ECORE_X_LOCK_NUM;
 EAPI extern int ECORE_X_LOCK_CAPS;
@@ -979,7 +910,9 @@ typedef enum _Ecore_X_Action {
     ECORE_X_ACTION_MAXIMIZE_VERT,
     ECORE_X_ACTION_FULLSCREEN,
     ECORE_X_ACTION_CHANGE_DESKTOP,
-    ECORE_X_ACTION_CLOSE
+    ECORE_X_ACTION_CLOSE,
+    ECORE_X_ACTION_ABOVE,
+    ECORE_X_ACTION_BELOW
 } Ecore_X_Action;
 
 typedef enum _Ecore_X_Window_Configure_Mask {
@@ -1078,7 +1011,7 @@ EAPI void             ecore_x_dnd_type_get_prefetch(Ecore_X_Window window);
 EAPI void             ecore_x_dnd_type_get_fetch(void);
 EAPI int              ecore_x_dnd_type_isset(Ecore_X_Window win, const char *type);
 EAPI void             ecore_x_dnd_type_set(Ecore_X_Window win, const char *type, int on);
-EAPI void             ecore_x_dnd_types_set(Ecore_X_Window win, char **types, unsigned int num_types);
+EAPI void             ecore_x_dnd_types_set(Ecore_X_Window win, const char **types, unsigned int num_types);
 EAPI void             ecore_x_dnd_actions_set(Ecore_X_Window win, Ecore_X_Atom *actions, unsigned int num_actions);
 EAPI void             ecore_x_dnd_begin_prefetch(Ecore_X_Window source);
 EAPI void             ecore_x_dnd_begin_fetch(void);
@@ -1103,7 +1036,7 @@ EAPI void             ecore_x_window_configure(Ecore_X_Window win,
 					       Ecore_X_Window sibling,
 					       int stack_mode);
 EAPI void             ecore_x_window_cursor_set(Ecore_X_Window win, Ecore_X_Cursor c);
-EAPI void             ecore_x_window_del(Ecore_X_Window win);
+EAPI void             ecore_x_window_free(Ecore_X_Window win);
 EAPI void             ecore_x_window_ignore_set(Ecore_X_Window win, int ignore);
 EAPI Ecore_X_Window  *ecore_x_window_ignore_list(int *num);
 
@@ -1264,7 +1197,7 @@ EAPI void             ecore_x_pixmap_paste(Ecore_X_Pixmap pmap, Ecore_X_Drawable
 EAPI void             ecore_x_pixmap_geometry_get(Ecore_X_Pixmap pmap, int *x, int *y, int *w, int *h);
 EAPI int              ecore_x_pixmap_depth_get(Ecore_X_Pixmap pmap);
 
-EAPI Ecore_X_GC       ecore_x_gc_new(Ecore_X_Drawable draw);
+EAPI Ecore_X_GC       ecore_x_gc_new(Ecore_X_Drawable draw, Ecore_X_GC_Value_Mask value_mask, const unsigned int *value_list);
 EAPI void             ecore_x_gc_del(Ecore_X_GC gc);
 
 EAPI int              ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4);
@@ -1683,6 +1616,11 @@ EAPI void           ecore_x_region_picture_clip_set(Ecore_X_Region region, Ecore
 
 /* XComposite Extension Support */
 EAPI int               ecore_x_composite_query(void);
+EAPI void              ecore_x_composite_redirect_window(Ecore_X_Window win, Ecore_X_Composite_Update_Type type);
+EAPI void              ecore_x_composite_redirect_subwindows(Ecore_X_Window win, Ecore_X_Composite_Update_Type type);
+EAPI void              ecore_x_composite_unredirect_window(Ecore_X_Window win, Ecore_X_Composite_Update_Type type);
+EAPI void              ecore_x_composite_unredirect_subwindows(Ecore_X_Window win, Ecore_X_Composite_Update_Type type);
+EAPI Ecore_X_Pixmap    ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win);
 
 /* XDamage Extension Support */
 typedef Ecore_X_ID  Ecore_X_Damage;
diff --git a/src/lib/ecore_x/Ecore_X_Atoms.h b/src/lib/ecore_x/Ecore_X_Atoms.h
index 4d1253d..ae05b63 100644
--- a/src/lib/ecore_x/Ecore_X_Atoms.h
+++ b/src/lib/ecore_x/Ecore_X_Atoms.h
@@ -154,6 +154,8 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CLOSE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_ABOVE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_BELOW;
 
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT;
 EAPI extern Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT_PARTIAL;
diff --git a/src/lib/ecore_x/Makefile.am b/src/lib/ecore_x/Makefile.am
index 9a13376..95e0684 100644
--- a/src/lib/ecore_x/Makefile.am
+++ b/src/lib/ecore_x/Makefile.am
@@ -24,7 +24,7 @@ libecore_x_la_SOURCES =
 libecore_x_la_LIBADD = $(DEP) \
 @EINA_LIBS@
 
-libecore_x_la_LDFLAGS = -version-info @version_info@
+libecore_x_la_LDFLAGS = -version-info @version_info@ @ecore_x_release_info@
 
 libecore_x_la_DEPENDENCIES = $(DEP)
 
diff --git a/src/lib/ecore_x/Makefile.in b/src/lib/ecore_x/Makefile.in
index 9c87bbf..b3625a7 100644
--- a/src/lib/ecore_x/Makefile.in
+++ b/src/lib/ecore_x/Makefile.in
@@ -40,7 +40,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -116,72 +120,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -190,8 +179,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -206,6 +193,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -246,6 +235,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -269,6 +260,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -289,36 +281,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -338,6 +350,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -346,17 +359,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -365,7 +385,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -386,7 +405,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_TRUE at libecore_x_la_LIBADD = $(DEP) \
 @BUILD_ECORE_X_TRUE@@EINA_LIBS@
 
- at BUILD_ECORE_X_TRUE@libecore_x_la_LDFLAGS = -version-info @version_info@
+ at BUILD_ECORE_X_TRUE@libecore_x_la_LDFLAGS = -version-info @version_info@ @ecore_x_release_info@
 @BUILD_ECORE_X_TRUE at libecore_x_la_DEPENDENCIES = $(DEP)
 @BUILD_ECORE_X_TRUE at include_HEADERS = \
 @BUILD_ECORE_X_TRUE at Ecore_X.h \
diff --git a/src/lib/ecore_x/ecore_x_atoms_decl.h b/src/lib/ecore_x/ecore_x_atoms_decl.h
index 08e9b2f..e17ccf6 100644
--- a/src/lib/ecore_x/ecore_x_atoms_decl.h
+++ b/src/lib/ecore_x/ecore_x_atoms_decl.h
@@ -160,6 +160,8 @@ EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT    = 0;
 EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN       = 0;
 EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP   = 0;
 EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_CLOSE            = 0;
+EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_ABOVE            = 0;
+EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_ACTION_BELOW            = 0;
 
 EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_STRUT                   = 0;
 EAPI Ecore_X_Atom  ECORE_X_ATOM_NET_WM_STRUT_PARTIAL           = 0;
diff --git a/src/lib/ecore_x/xcb/Makefile.am b/src/lib/ecore_x/xcb/Makefile.am
index 700dc81..5e46fb2 100644
--- a/src/lib/ecore_x/xcb/Makefile.am
+++ b/src/lib/ecore_x/xcb/Makefile.am
@@ -20,9 +20,12 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_txt \
 -I$(top_srcdir)/src/lib/ecore_x \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore_txt \
 -I$(top_builddir)/src/lib/ecore_x \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EVAS_CFLAGS@ \
 @EINA_CFLAGS@
 
 noinst_LTLIBRARIES = libecore_x_xcb.la
@@ -71,6 +74,7 @@ libecore_x_xcb_la_LIBADD = \
 @XCB_LIBS@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
 $(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
 @EINA_LIBS@
 
 libecore_x_xcb_la_LDFLAGS = -version-info @version_info@
diff --git a/src/lib/ecore_x/xcb/Makefile.in b/src/lib/ecore_x/xcb/Makefile.in
index bb6683d..7fd105c 100644
--- a/src/lib/ecore_x/xcb/Makefile.in
+++ b/src/lib/ecore_x/xcb/Makefile.in
@@ -38,7 +38,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -46,7 +50,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 @BUILD_ECORE_X_XCB_TRUE at libecore_x_xcb_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_X_XCB_TRUE@	$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
+ at BUILD_ECORE_X_XCB_TRUE@	$(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+ at BUILD_ECORE_X_XCB_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
 am__libecore_x_xcb_la_SOURCES_DIST = ecore_xcb_atom.c \
 	ecore_xcb_cursor.c ecore_xcb_damage.c ecore_xcb_composite.c \
 	ecore_xcb_dnd.c ecore_xcb_dpms.c ecore_xcb_drawable.c \
@@ -124,72 +129,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -198,8 +188,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -214,6 +202,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -254,6 +244,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -277,6 +269,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -297,36 +290,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -346,6 +359,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -354,17 +368,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -373,7 +394,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -396,9 +416,12 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_srcdir)/src/lib/ecore_txt \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_srcdir)/src/lib/ecore_x \
+ at BUILD_ECORE_X_XCB_TRUE@-I$(top_srcdir)/src/lib/ecore_input \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_builddir)/src/lib/ecore \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_builddir)/src/lib/ecore_txt \
 @BUILD_ECORE_X_XCB_TRUE at -I$(top_builddir)/src/lib/ecore_x \
+ at BUILD_ECORE_X_XCB_TRUE@-I$(top_builddir)/src/lib/ecore_input \
+ at BUILD_ECORE_X_XCB_TRUE@@EVAS_CFLAGS@ \
 @BUILD_ECORE_X_XCB_TRUE@@EINA_CFLAGS@
 
 @BUILD_ECORE_X_XCB_TRUE at noinst_LTLIBRARIES = libecore_x_xcb.la
@@ -446,6 +469,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XCB_TRUE@@XCB_LIBS@ \
 @BUILD_ECORE_X_XCB_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_X_XCB_TRUE@$(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+ at BUILD_ECORE_X_XCB_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
 @BUILD_ECORE_X_XCB_TRUE@@EINA_LIBS@
 
 @BUILD_ECORE_X_XCB_TRUE at libecore_x_xcb_la_LDFLAGS = -version-info @version_info@
diff --git a/src/lib/ecore_x/xcb/ecore_xcb.c b/src/lib/ecore_x/xcb/ecore_xcb.c
index dd94a1a..ecf72a3 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb.c
@@ -2,15 +2,21 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <string.h>
+
 #include <X11/keysym.h>
 
-#include "Ecore.h"
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
 static int _ecore_xcb_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
 static int _ecore_xcb_fd_handler_buf(void *data, Ecore_Fd_Handler *fd_handler);
 static int _ecore_xcb_key_mask_get(xcb_keysym_t sym);
+static int _ecore_xcb_event_modifier(unsigned int state);
+
 static void *_ecore_xcb_event_filter_start(void *data);
 static int   _ecore_xcb_event_filter_filter(void *data, void *loop_data,int type, void *event);
 static void  _ecore_xcb_event_filter_end(void *data, void *loop_data);
@@ -18,6 +24,11 @@ static void  _ecore_xcb_event_filter_end(void *data, void *loop_data);
 static Ecore_Fd_Handler *_ecore_xcb_fd_handler_handle = NULL;
 static Ecore_Event_Filter *_ecore_xcb_filter_handler = NULL;
 
+static const int XCB_EVENT_ANY = 0; /* 0 can be used as there are no event types
+                                     * with index 0 and 1 as they are used for
+                                     * errors
+                                     */
+
 #ifdef ECORE_XCB_DAMAGE
 static int _ecore_xcb_event_damage_id = 0;
 #endif /* ECORE_XCB_DAMAGE */
@@ -60,14 +71,9 @@ Ecore_X_Window      _ecore_xcb_private_window = 0;
 Ecore_X_Atom        _ecore_xcb_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM];
 
 
-EAPI int ECORE_X_EVENT_KEY_DOWN                 = 0;
-EAPI int ECORE_X_EVENT_KEY_UP                   = 0;
-EAPI int ECORE_X_EVENT_MOUSE_BUTTON_DOWN        = 0;
-EAPI int ECORE_X_EVENT_MOUSE_BUTTON_UP          = 0;
-EAPI int ECORE_X_EVENT_MOUSE_MOVE               = 0;
+EAPI int ECORE_X_EVENT_ANY                      = 0;
 EAPI int ECORE_X_EVENT_MOUSE_IN                 = 0;
 EAPI int ECORE_X_EVENT_MOUSE_OUT                = 0;
-EAPI int ECORE_X_EVENT_MOUSE_WHEEL              = 0;
 EAPI int ECORE_X_EVENT_WINDOW_FOCUS_IN          = 0;
 EAPI int ECORE_X_EVENT_WINDOW_FOCUS_OUT         = 0;
 EAPI int ECORE_X_EVENT_WINDOW_KEYMAP            = 0;
@@ -262,6 +268,7 @@ ecore_x_init(const char *name)
 #endif /* ECORE_XCB_XPRINT */
 
    /* We init some components (not related to XCB) */
+   ecore_event_init();
    _ecore_x_reply_init();
    _ecore_x_dnd_init();
    ecore_x_netwm_init();
@@ -371,14 +378,33 @@ ecore_x_init(const char *name)
    /*********************/
 
    /* We ask for the QueryVersion request of the extensions */
+#ifdef ECORE_XCB_DAMAGE
    _ecore_x_damage_init(reply_damage);
+#endif /* ECORE_XCB_DAMAGE */
+#ifdef ECORE_XCB_COMPOSITE
    _ecore_x_composite_init(reply_composite);
+#endif /* ECORE_XCB_COMPOSITE */
+#ifdef ECORE_XCB_DPMS
    _ecore_x_dpms_init(reply_dpms);
+#endif /* ECORE_XCB_DPMS */
+#ifdef ECORE_XCB_RANDR
    _ecore_x_randr_init(reply_randr);
+#endif /* ECORE_XCB_RANDR */
+#ifdef ECORE_XCB_SCREENSAVER
+   _ecore_x_screensaver_init(reply_screensaver);
+#endif /* ECORE_XCB_SCREENSAVER */
+#ifdef ECORE_XCB_SHAPE
    _ecore_x_shape_init(reply_shape);
+#endif /* ECORE_XCB_SHAPE */
+#ifdef ECORE_XCB_SYNC
    _ecore_x_sync_init(reply_sync);
+#endif /* ECORE_XCB_SYNC */
+#ifdef ECORE_XCB_FIXES
    _ecore_x_xfixes_init(reply_xfixes);
+#endif /* ECORE_XCB_FIXES */
+#ifdef ECORE_XCB_XINERAMA
    _ecore_x_xinerama_init(reply_xinerama);
+#endif /* ECORE_XCB_XINERAMA */
 
    /* we enable the Big Request extension if present */
    max_request_length = xcb_get_maximum_request_length(_ecore_xcb_conn);
@@ -387,15 +413,35 @@ ecore_x_init(const char *name)
    if (!_ecore_xcb_event_handlers)
      {
         /* We get the replies of the QueryVersion request because we leave */
+#ifdef ECORE_XCB_DAMAGE
         _ecore_x_damage_init_finalize();
+#endif /* ECORE_XCB_DAMAGE */
+#ifdef ECORE_XCB_COMPOSITE
         _ecore_x_composite_init_finalize();
+#endif /* ECORE_XCB_COMPOSITE */
+#ifdef ECORE_XCB_DPMS
         _ecore_x_dpms_init_finalize();
+#endif /* ECORE_XCB_DPMS */
+#ifdef ECORE_XCB_RANDR
         _ecore_x_randr_init_finalize();
+#endif /* ECORE_XCB_RANDR */
+#ifdef ECORE_XCB_SCREENSAVER
+        _ecore_x_screensaver_init_finalize();
+#endif /* ECORE_XCB_SCREENSAVER */
+#ifdef ECORE_XCB_SHAPE
         _ecore_x_shape_init_finalize();
+#endif /* ECORE_XCB_SHAPE */
+#ifdef ECORE_XCB_SYNC
         _ecore_x_sync_init_finalize();
+#endif /* ECORE_XCB_SYNC */
+#ifdef ECORE_XCB_FIXES
         _ecore_x_xfixes_init_finalize();
+#endif /* ECORE_XCB_FIXES */
+#ifdef ECORE_XCB_XINERAMA
         _ecore_x_xinerama_init_finalize();
+#endif /* ECORE_XCB_XINERAMA */
 
+        ecore_event_shutdown();
         xcb_disconnect(_ecore_xcb_conn);
 	_ecore_xcb_fd_handler_handle = NULL;
 	_ecore_xcb_conn = NULL;
@@ -406,6 +452,7 @@ ecore_x_init(const char *name)
    _ecore_xcb_xcursor = XcursorSupportsARGB(_ecore_xcb_conn);
 #endif /* ECORE_XCB_CURSOR */
 
+   _ecore_xcb_event_handlers[XCB_EVENT_ANY]         = _ecore_x_event_handle_any_event;
    _ecore_xcb_event_handlers[XCB_KEY_PRESS]         = _ecore_x_event_handle_key_press;
    _ecore_xcb_event_handlers[XCB_KEY_RELEASE]       = _ecore_x_event_handle_key_release;
    _ecore_xcb_event_handlers[XCB_BUTTON_PRESS]      = _ecore_x_event_handle_button_press;
@@ -468,16 +515,11 @@ ecore_x_init(const char *name)
      _ecore_xcb_event_handlers[_ecore_xcb_event_fixes_selection_id] = _ecore_x_event_handle_fixes_selection_notify;
 #endif /* ECORE_XCB_FIXES */
 
-   if (!ECORE_X_EVENT_KEY_DOWN)
+   if (!ECORE_X_EVENT_ANY)
      {
-	ECORE_X_EVENT_KEY_DOWN                 = ecore_event_type_new();
-	ECORE_X_EVENT_KEY_UP                   = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_BUTTON_DOWN        = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_BUTTON_UP          = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_MOVE               = ecore_event_type_new();
+	ECORE_X_EVENT_ANY                      = ecore_event_type_new();
 	ECORE_X_EVENT_MOUSE_IN                 = ecore_event_type_new();
 	ECORE_X_EVENT_MOUSE_OUT                = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_WHEEL              = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_FOCUS_IN          = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_FOCUS_OUT         = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_KEYMAP            = ecore_event_type_new();
@@ -567,15 +609,35 @@ ecore_x_init(const char *name)
    if (!_ecore_xcb_fd_handler_handle)
      {
         /* We get the replies of the QueryVersion request because we leave */
+#ifdef ECORE_XCB_DAMAGE
         _ecore_x_damage_init_finalize();
+#endif /* ECORE_XCB_DAMAGE */
+#ifdef ECORE_XCB_COMPOSITE
         _ecore_x_composite_init_finalize();
+#endif /* ECORE_XCB_COMPOSITE */
+#ifdef ECORE_XCB_DPMS
         _ecore_x_dpms_init_finalize();
+#endif /* ECORE_XCB_DPMS */
+#ifdef ECORE_XCB_RANDR
         _ecore_x_randr_init_finalize();
+#endif /* ECORE_XCB_RANDR */
+#ifdef ECORE_XCB_SCREENSAVER
+        _ecore_x_screensaver_init_finalize();
+#endif /* ECORE_XCB_SCREENSAVER */
+#ifdef ECORE_XCB_SHAPE
         _ecore_x_shape_init_finalize();
+#endif /* ECORE_XCB_SHAPE */
+#ifdef ECORE_XCB_SYNC
         _ecore_x_sync_init_finalize();
+#endif /* ECORE_XCB_SYNC */
+#ifdef ECORE_XCB_FIXES
         _ecore_x_xfixes_init_finalize();
+#endif /* ECORE_XCB_FIXES */
+#ifdef ECORE_XCB_XINERAMA
         _ecore_x_xinerama_init_finalize();
+#endif /* ECORE_XCB_XINERAMA */
 
+        ecore_event_shutdown();
 	xcb_disconnect(_ecore_xcb_conn);
 	free(_ecore_xcb_event_handlers);
 	_ecore_xcb_fd_handler_handle = NULL;
@@ -597,14 +659,33 @@ ecore_x_init(const char *name)
    _ecore_xcb_private_window = ecore_x_window_override_new(0, -77, -777, 123, 456);
 
    /* We finally get the replies of the QueryVersion request */
+#ifdef ECORE_XCB_DAMAGE
    _ecore_x_damage_init_finalize();
+#endif /* ECORE_XCB_DAMAGE */
+#ifdef ECORE_XCB_COMPOSITE
    _ecore_x_composite_init_finalize();
+#endif /* ECORE_XCB_COMPOSITE */
+#ifdef ECORE_XCB_DPMS
    _ecore_x_dpms_init_finalize();
+#endif /* ECORE_XCB_DPMS */
+#ifdef ECORE_XCB_RANDR
    _ecore_x_randr_init_finalize();
+#endif /* ECORE_XCB_RANDR */
+#ifdef ECORE_XCB_SCREENSAVER
+   _ecore_x_screensaver_init_finalize();
+#endif /* ECORE_XCB_SCREENSAVER */
+#ifdef ECORE_XCB_SHAPE
    _ecore_x_shape_init_finalize();
+#endif /* ECORE_XCB_SHAPE */
+#ifdef ECORE_XCB_SYNC
    _ecore_x_sync_init_finalize();
+#endif /* ECORE_XCB_SYNC */
+#ifdef ECORE_XCB_FIXES
    _ecore_x_xfixes_init_finalize();
+#endif /* ECORE_XCB_FIXES */
+#ifdef ECORE_XCB_XINERAMA
    _ecore_x_xinerama_init_finalize();
+#endif /* ECORE_XCB_XINERAMA */
 
    return _ecore_xcb_init_count;
 }
@@ -619,6 +700,7 @@ _ecore_x_shutdown(int close_display)
       xcb_disconnect(_ecore_xcb_conn);
    else
       close(xcb_get_file_descriptor(_ecore_xcb_conn));
+   ecore_event_shutdown();
    free(_ecore_xcb_event_handlers);
    ecore_main_fd_handler_del(_ecore_xcb_fd_handler_handle);
    ecore_event_filter_del(_ecore_xcb_filter_handler);
@@ -838,6 +920,9 @@ handle_event(xcb_generic_event_t *ev)
 
    if (response_type < _ecore_xcb_event_handlers_num)
      {
+	if (_ecore_xcb_event_handlers[XCB_EVENT_ANY])
+	  _ecore_xcb_event_handlers[XCB_EVENT_ANY] (ev);
+
 	if (_ecore_xcb_event_handlers[response_type])
 	  _ecore_xcb_event_handlers[response_type] (ev);
      }
@@ -960,9 +1045,9 @@ _ecore_xcb_event_filter_filter(void *data __UNUSED__, void *loop_data,int type,
 
    filter_data = loop_data;
    if (!filter_data) return 1;
-   if (type == ECORE_X_EVENT_MOUSE_MOVE)
+   if (type == ECORE_EVENT_MOUSE_MOVE)
      {
-	if ((filter_data->last_event_type) == ECORE_X_EVENT_MOUSE_MOVE)
+	if ((filter_data->last_event_type) == ECORE_EVENT_MOUSE_MOVE)
 	  {
 	     filter_data->last_event_type = type;
 	     return 0;
@@ -1298,11 +1383,13 @@ EAPI int
 ecore_x_pointer_mapping_get(unsigned char *map,
                             int nmap)
 {
+   xcb_get_pointer_mapping_cookie_t cookie;
    xcb_get_pointer_mapping_reply_t *reply;
-   int i;
-   uint8_t tmp;
+   uint8_t                         *tmp;
+   int                              i;
 
-   reply = _ecore_xcb_reply_get();
+   cookie = xcb_get_pointer_mapping_unchecked(_ecore_xcb_conn);
+   reply = xcb_get_pointer_mapping_reply(_ecore_xcb_conn, cookie, NULL);
    if (!reply) return 0;
 
    if (nmap > xcb_get_pointer_mapping_map_length(reply))
@@ -1457,7 +1544,7 @@ ecore_x_window_button_grab(Ecore_X_Window     window,
    uint16_t locks[8];
    uint16_t ev;
 
-   m = mod;
+   m = _ecore_xcb_event_modifier(mod);
    if (any_mod) m = XCB_BUTTON_MASK_ANY;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1528,7 +1615,7 @@ ecore_x_window_button_ungrab(Ecore_X_Window window,
    uint16_t m;
    uint16_t locks[8];
 
-   m = mod;
+   m = _ecore_xcb_event_modifier(mod);
    if (any_mod) m = XCB_BUTTON_MASK_ANY;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1571,7 +1658,7 @@ ecore_x_window_key_grab(Ecore_X_Window window,
 /*      } */
    if (keycode == 0) return;
 
-   m = mod;
+   m = _ecore_xcb_event_modifier(mod);
    if (any_mod) m = XCB_BUTTON_MASK_ANY;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1637,7 +1724,7 @@ ecore_x_window_key_ungrab(Ecore_X_Window window,
 /*      } */
    if (keycode == 0) return;
 
-   m = mod;
+   m = _ecore_xcb_event_modifier(mod);
    if (any_mod) m = XCB_BUTTON_MASK_ANY;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1889,3 +1976,19 @@ ecore_x_pointer_last_xy_get(int *x,
 /*****************************************************************************/
 /*****************************************************************************/
 /*****************************************************************************/
+
+static int
+_ecore_xcb_event_modifier(unsigned int state)
+{
+   int xmodifiers = 0;
+
+   if (state & ECORE_EVENT_MODIFIER_SHIFT) xmodifiers |= ECORE_X_MODIFIER_SHIFT;
+   if (state & ECORE_EVENT_MODIFIER_CTRL) xmodifiers |= ECORE_X_MODIFIER_CTRL;
+   if (state & ECORE_EVENT_MODIFIER_ALT) xmodifiers |= ECORE_X_MODIFIER_ALT;
+   if (state & ECORE_EVENT_MODIFIER_WIN) xmodifiers |= ECORE_X_MODIFIER_WIN;
+   if (state & ECORE_EVENT_LOCK_SCROLL) xmodifiers |= ECORE_X_LOCK_SCROLL;
+   if (state & ECORE_EVENT_LOCK_NUM) xmodifiers |= ECORE_X_LOCK_NUM;
+   if (state & ECORE_EVENT_LOCK_CAPS) xmodifiers |= ECORE_X_LOCK_CAPS;
+
+   return xmodifiers;
+}
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_atom.c b/src/lib/ecore_x/xcb/ecore_xcb_atom.c
index deece9c..ac087e8 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_atom.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_atom.c
@@ -2,6 +2,8 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <string.h>
+
 #include "ecore_xcb_private.h"
 
 
@@ -153,6 +155,8 @@ _ecore_x_atom_init(xcb_intern_atom_cookie_t *atom_cookies)
    FETCH_ATOM("_NET_WM_ACTION_FULLSCREEN");
    FETCH_ATOM("_NET_WM_ACTION_CHANGE_DESKTOP");
    FETCH_ATOM("_NET_WM_ACTION_CLOSE");
+   FETCH_ATOM("_NET_WM_ACTION_ABOVE");
+   FETCH_ATOM("_NET_WM_ACTION_BELOW");
 
    FETCH_ATOM("_NET_WM_STRUT");
    FETCH_ATOM("_NET_WM_STRUT_PARTIAL");
@@ -330,6 +334,8 @@ _ecore_x_atom_init_finalize(xcb_intern_atom_cookie_t *atom_cookies)
    FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN);
    FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP);
    FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_ACTION_CLOSE);
+   FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_ACTION_ABOVE);
+   FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_ACTION_BELOW);
 
    FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_STRUT);
    FETCH_ATOM_FINALIZE(ECORE_X_ATOM_NET_WM_STRUT_PARTIAL);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_composite.c b/src/lib/ecore_x/xcb/ecore_xcb_composite.c
index eefacba..e2c9a21 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_composite.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_composite.c
@@ -41,8 +41,8 @@ _ecore_x_composite_init_finalize(void)
                                           NULL);
    if (reply)
      {
-        if (reply->major_version = XCB_COMPOSITE_MAJOR_VERSION &&
-	    reply->minor_version >= XCB_COMPOSITE_MINOR_VERSION)
+        if ((reply->major_version == XCB_COMPOSITE_MAJOR_VERSION) &&
+	    (reply->minor_version >= XCB_COMPOSITE_MINOR_VERSION))
           _composite_available = 1;
         free(reply);
      }
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_dnd.c b/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
index 6419e46..dfa5562 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_dnd.c
@@ -2,6 +2,8 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <string.h>
+
 #include "Ecore.h"
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
@@ -354,7 +356,7 @@ ecore_x_dnd_type_set(Ecore_X_Window window,
  */
 EAPI void
 ecore_x_dnd_types_set(Ecore_X_Window window,
-                      char         **types,
+                      const char   **types,
                       unsigned int   num_types)
 {
    Ecore_X_Atom *newset = NULL;
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_events.c b/src/lib/ecore_x/xcb/ecore_xcb_events.c
index bf6799a..da8a14a 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_events.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_events.c
@@ -2,7 +2,16 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-#include "Ecore.h"
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+
+#include <Ecore.h>
+#include <Ecore_Input.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
@@ -23,8 +32,6 @@ static void _ecore_x_event_free_window_prop_icon_name_change(void *data, void *e
 static void _ecore_x_event_free_window_prop_visible_icon_name_change(void *data, void *ev);
 static void _ecore_x_event_free_window_prop_client_machine_change(void *data, void *ev);
 #endif
-static void _ecore_x_event_free_key_down(void *data, void *ev);
-static void _ecore_x_event_free_key_up(void *data, void *ev);
 
 static Ecore_X_Window _ecore_xcb_mouse_down_last_window = 0;
 static Ecore_X_Window _ecore_xcb_mouse_down_last_last_window = 0;
@@ -34,6 +41,22 @@ static Ecore_X_Time   _ecore_xcb_mouse_down_last_time = 0;
 static Ecore_X_Time   _ecore_xcb_mouse_down_last_last_time = 0;
 static int            _ecore_xcb_mouse_up_count = 0;
 static int            _ecore_xcb_mouse_down_did_triple = 0;
+static int            _ecore_xcb_last_event_mouse_move = 0;
+static Ecore_Event   *_ecore_xcb_last_event_mouse_move_event = NULL;
+
+static void
+_ecore_x_event_free_mouse_move(void *data __UNUSED__, void *ev)
+{
+   Ecore_Event_Mouse_Move *e;
+
+   e = ev;
+   if (_ecore_xcb_last_event_mouse_move)
+     {
+	_ecore_xcb_last_event_mouse_move_event = NULL;
+	_ecore_xcb_last_event_mouse_move = 0;
+     }
+   free(e);
+}
 
 
 /* FIXME: roundtrip */
@@ -142,30 +165,6 @@ _ecore_x_event_free_window_prop_client_machine_change(void *data, void *ev)
 #endif
 
 static void
-_ecore_x_event_free_key_down(void *data __UNUSED__, void *ev)
-{
-   Ecore_X_Event_Key_Down *e;
-
-   e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->key_compose) free(e->key_compose);
-   free(e);
-}
-
-static void
-_ecore_x_event_free_key_up(void *data __UNUSED__, void *ev)
-{
-   Ecore_X_Event_Key_Up *e;
-
-   e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->key_compose) free(e->key_compose);
-   free(e);
-}
-
-static void
 _ecore_x_event_free_xdnd_enter(void *data __UNUSED__, void *ev)
 {
    Ecore_X_Event_Xdnd_Enter *e;
@@ -192,112 +191,270 @@ _ecore_x_event_free_selection_notify(void *data __UNUSED__, void *ev)
    free(e);
 }
 
+static unsigned int
+_ecore_x_event_modifiers(unsigned int state)
+{
+   unsigned int	modifiers = 0;
+
+   if (state & ECORE_X_MODIFIER_SHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
+   if (state & ECORE_X_MODIFIER_CTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
+   if (state & ECORE_X_MODIFIER_ALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
+   if (state & ECORE_X_MODIFIER_WIN) modifiers |= ECORE_EVENT_MODIFIER_WIN;
+   if (state & ECORE_X_LOCK_SCROLL) modifiers |= ECORE_EVENT_LOCK_SCROLL;
+   if (state & ECORE_X_LOCK_NUM) modifiers |= ECORE_EVENT_LOCK_NUM;
+   if (state & ECORE_X_LOCK_CAPS) modifiers |= ECORE_EVENT_LOCK_CAPS;
+
+   return modifiers;
+}
+
+static void
+_ecore_mouse_move(unsigned int timestamp, unsigned int xmodifiers,
+		  int x, int y,
+		  int x_root, int y_root,
+		  unsigned int event_window,
+		  unsigned int window,
+		  unsigned int root_win,
+		  int same_screen)
+{
+   Ecore_Event_Mouse_Move *e;
+   Ecore_Event            *event;
+
+   e = malloc(sizeof(Ecore_Event_Mouse_Move));
+   if (!e) return ;
+
+   e->window = window;
+   e->root_window = root_win;
+   e->timestamp = timestamp;
+   e->same_screen = same_screen;
+   e->event_window = event_window;
+
+   e->modifiers = _ecore_x_event_modifiers(xmodifiers);
+   e->x = x;
+   e->y = y;
+   e->root.x = x_root;
+   e->root.y = y_root;
+
+   event = ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, _ecore_x_event_free_mouse_move, NULL);
+
+   _ecore_xcb_event_last_time = timestamp;
+   _ecore_xcb_event_last_window = window;
+   _ecore_xcb_event_last_root_x = x_root;
+   _ecore_xcb_event_last_root_y = y_root;
+
+   _ecore_xcb_last_event_mouse_move_event = event;
+}
+
+static void
+_ecore_key_press(int                  event,
+		 xcb_generic_event_t *ev)
+{
+  /*
+   Ecore_Event_Key *e;
+   const char *compose = NULL;
+   char *tmp = NULL;
+   char *keyname;
+   char *key;
+   char keyname_buffer[256];
+   char compose_buffer[256];
+   KeySym sym;
+   XComposeStatus status;
+   int val;
+
+   _ecore_xcb_last_event_mouse_move = 0;
+   keyname = XKeysymToString(XKeycodeToKeysym(xevent->display,
+					      xevent->keycode, 0));
+   if (!keyname)
+     {
+	snprintf(keyname_buffer, sizeof(keyname_buffer), "Keycode-%i", xevent->keycode);
+	keyname = keyname_buffer;
+	if (!keyname) return ;
+     }
+
+   sym = 0;
+   key = NULL;
+   compose = NULL;
+   if (_ecore_x_ic)
+     {
+	Status mbstatus;
+#ifdef X_HAVE_UTF8_STRING
+	val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, compose_buffer, sizeof(compose_buffer) - 1, &sym, &mbstatus);
+#else
+	val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, compose_buffer, sizeof(compose_buffer) - 1, &sym, &mbstatus);
+#endif
+	if (mbstatus == XBufferOverflow)
+	  {
+	     tmp = malloc(sizeof (char) * (val + 1));
+	     if (!tmp) return ;
+
+	     compose = tmp;
+
+#ifdef X_HAVE_UTF8_STRING
+	     val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, tmp, val, &sym, &mbstatus);
+#else
+	     val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, tmp, val, &sym, &mbstatus);
+#endif
+	     if (val > 0)
+	       {
+		  tmp[val] = 0;
+
+#ifndef X_HAVE_UTF8_STRING
+		  compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", tmp);
+		  free(tmp);
+		  tmp = compose;
+#endif
+	       }
+	     else compose = NULL;
+	  }
+	else
+	  if (val > 0)
+	    {
+	       compose_buffer[val] = 0;
+#ifdef X_HAVE_UTF8_STRING
+	       compose = compose_buffer;
+#else
+	       compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", compose_buffer);
+	       tmp = compose;
+#endif
+	    }
+     }
+   else
+     {
+	val = XLookupString(xevent, compose_buffer, sizeof(compose_buffer), &sym, &status);
+	if (val > 0)
+	  {
+	     compose_buffer[val] = 0;
+	     compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", compose_buffer);
+	     tmp = compose;
+	  }
+     }
+
+   key = XKeysymToString(sym);
+   if (!key) key = keyname;
+   if (!key) goto on_error;
+
+   e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) + (compose ? strlen(compose) : 0) + 3);
+   if (!e) goto on_error;
+
+   e->keyname = (char*) (e + 1);
+   e->key = e->keyname + strlen(keyname) + 1;
+   e->compose = (compose) ? e->key + strlen(key) + 1 : NULL;
+   e->string = e->compose;
+
+   strcpy((char *) e->keyname, keyname);
+   strcpy((char *) e->key, key);
+   if (compose) strcpy((char *) e->compose, compose);
+
+   e->modifiers = _ecore_x_event_modifiers(xevent->state);
+
+   e->timestamp = xevent->time;
+   e->window = xevent->subwindow ? xevent->subwindow : xevent->window;
+   e->event_window = xevent->window;
+   e->same_screen = xevent->same_screen;
+   e->root_window = xevent->root;
+
+   ecore_event_add(event, e, NULL, NULL);
+
+   _ecore_xcb_event_last_time = e->timestamp;
+
+ on_error:
+   if (tmp) free(tmp);
+  */
+}
+
+static Ecore_Event_Mouse_Button*
+_ecore_mouse_button(int event,
+		    unsigned int timestamp, unsigned int xmodifiers,
+		    unsigned int buttons,
+		    int x, int y,
+		    int x_root, int y_root,
+		    unsigned int event_window,
+		    unsigned int window,
+		    unsigned int root_win,
+		    int same_screen)
+{
+   Ecore_Event_Mouse_Button *e;
+
+   e = malloc(sizeof(Ecore_Event_Mouse_Button));
+   if (!e) return NULL;
+
+   e->window = window;
+   e->root_window = root_win;
+   e->timestamp = timestamp;
+   e->same_screen = same_screen;
+   e->event_window = event_window;
+
+   e->buttons = buttons;
+   e->modifiers = _ecore_x_event_modifiers(xmodifiers);
+   e->double_click = 0;
+   e->triple_click = 0;
+   e->x = x;
+   e->y = y;
+   e->root.x = x_root;
+   e->root.y = y_root;
+
+   if (event_window == window)
+     {
+	if (((int)(timestamp - _ecore_xcb_mouse_down_last_time) <=
+	     (int)(1000 * _ecore_xcb_double_click_time)) &&
+	    (window == _ecore_xcb_mouse_down_last_window) &&
+	    (event_window == _ecore_xcb_mouse_down_last_event_window)
+	    )
+	  e->double_click = 1;
+	if (((int)(timestamp - _ecore_xcb_mouse_down_last_last_time) <=
+	     (int)(2 * 1000 * _ecore_xcb_double_click_time)) &&
+	    (window == _ecore_xcb_mouse_down_last_window) &&
+	    (window == _ecore_xcb_mouse_down_last_last_window) &&
+	    (event_window == _ecore_xcb_mouse_down_last_event_window) &&
+	    (event_window == _ecore_xcb_mouse_down_last_last_event_window)
+	    )
+	  {
+	     e->triple_click = 1;
+	     _ecore_xcb_mouse_down_did_triple = 1;
+	  }
+	else
+	  _ecore_xcb_mouse_down_did_triple = 0;
+     }
+
+   if (event == ECORE_EVENT_MOUSE_BUTTON_DOWN
+       && !e->double_click
+       && !e->triple_click)
+     _ecore_xcb_mouse_up_count = 0;
+
+   _ecore_xcb_event_last_time = e->timestamp;
+   _ecore_xcb_event_last_window = e->window;
+   _ecore_xcb_event_last_root_x = x_root;
+   _ecore_xcb_event_last_root_y = y_root;
+
+   ecore_event_add(event, e, NULL, NULL);
+
+   return e;
+}
+
+void
+_ecore_x_event_handle_any_event(xcb_generic_event_t *event)
+{
+   xcb_generic_event_t* ev = malloc(sizeof(xcb_generic_event_t));
+   memcpy(ev, event, sizeof(xcb_generic_event_t));
+
+   ecore_event_add(ECORE_X_EVENT_ANY, ev, NULL, NULL);
+}
+
 /* FIXME: handle this event */
 void
 _ecore_x_event_handle_key_press(xcb_generic_event_t *event)
 {
-   xcb_key_press_event_t  *ev;
-/*    Ecore_X_Event_Key_Down *e; */
-/*    char                   *keyname; */
-/*    int                     val; */
-/*    char                    buf[256]; */
-/*    KeySym                  sym; */
-/*    XComposeStatus          status; */
-
-   ev = (xcb_key_press_event_t *)event;
-/*    e = calloc(1, sizeof(Ecore_X_Event_Key_Down)); */
-/*    if (!e) return; */
-/*    keyname = XKeysymToString(XKeycodeToKeysym(xevent->xkey.display,  */
-/*					      xevent->xkey.keycode, 0)); */
-/*    if (!keyname) */
-/*      { */
-/*	snprintf(buf, sizeof(buf), "Keycode-%i", xevent->xkey.keycode); */
-/*	keyname = buf; */
-/*      } */
-/*    e->keyname = strdup(keyname); */
-/*    if (!e->keyname) */
-/*      { */
-/*	free(e); */
-/*	return; */
-/*      } */
-/*    val = XLookupString((XKeyEvent *)xevent, buf, sizeof(buf), &sym, &status); */
-/*    if (val > 0) */
-/*      { */
-/*	buf[val] = 0; */
-/*	e->key_compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", buf); */
-/*      } */
-/*    else e->key_compose = NULL; */
-/*    keyname = XKeysymToString(sym); */
-/*    if (keyname) e->keysymbol = strdup(keyname); */
-/*    else e->keysymbol = strdup(e->keyname); */
-/*    if (!e->keysymbol) */
-/*      { */
-/*	if (e->keyname) free(e->keyname); */
-/*	if (e->key_compose) free(e->key_compose); */
-/*	free(e); */
-/*	return; */
-/*      } */
-/*    if (xevent->xkey.subwindow) e->win = xevent->xkey.subwindow; */
-/*    else e->win = xevent->xkey.window; */
-/*    e->event_win = xevent->xkey.window; */
-/*    e->time = xevent->xkey.time; */
-/*    e->modifiers = xevent->xkey.state; */
-/*    _ecore_x_event_last_time = e->time; */
-/*    ecore_event_add(ECORE_X_EVENT_KEY_DOWN, e, _ecore_x_event_free_key_down, NULL); */
+   _ecore_key_press(ECORE_EVENT_KEY_DOWN, event);
+
+   free(event);
 }
 
 /* FIXME: handle this event */
 void
 _ecore_x_event_handle_key_release(xcb_generic_event_t *event)
 {
-   xcb_key_release_event_t *ev;
-/*    Ecore_X_Event_Key_Up    *e; */
-/*    char                   *keyname; */
-/*    int                     val; */
-/*    char                    buf[256]; */
-/*    KeySym                  sym; */
-/*    XComposeStatus          status; */
-
-   ev = (xcb_key_release_event_t *)event;
-/*    e = calloc(1, sizeof(Ecore_X_Event_Key_Up)); */
-/*    if (!e) return; */
-/*    keyname = XKeysymToString(XKeycodeToKeysym(xevent->xkey.display,  */
-/*					      xevent->xkey.keycode, 0)); */
-/*    if (!keyname) */
-/*      { */
-/*	snprintf(buf, sizeof(buf), "Keycode-%i", xevent->xkey.keycode); */
-/*	keyname = buf; */
-/*      } */
-/*    e->keyname = strdup(keyname); */
-/*    if (!e->keyname) */
-/*      { */
-/*	free(e); */
-/*	return; */
-/*      } */
-/*    val = XLookupString((XKeyEvent *)xevent, buf, sizeof(buf), &sym, &status); */
-/*    if (val > 0) */
-/*      { */
-/*	buf[val] = 0; */
-/*	e->key_compose = ecore_txt_convert("ISO8859-1", "UTF-8", buf); */
-/*      } */
-/*    else e->key_compose = NULL; */
-/*    keyname = XKeysymToString(sym); */
-/*    if (keyname) e->keysymbol = strdup(keyname); */
-/*    else e->keysymbol = strdup(e->keyname); */
-/*    if (!e->keysymbol) */
-/*      { */
-/*	if (e->keyname) free(e->keyname); */
-/*	if (e->key_compose) free(e->key_compose); */
-/*	free(e); */
-/*	return; */
-/*      } */
-/*    if (xevent->xkey.subwindow) e->win = xevent->xkey.subwindow; */
-/*    else e->win = xevent->xkey.window; */
-/*    e->event_win = xevent->xkey.window; */
-/*    e->time = xevent->xkey.time; */
-/*    e->modifiers = xevent->xkey.state; */
-/*    _ecore_x_event_last_time = e->time; */
-/*    ecore_event_add(ECORE_X_EVENT_KEY_UP, e, _ecore_x_event_free_key_up, NULL); */
+   _ecore_key_press(ECORE_EVENT_KEY_DOWN, event);
+
+   free(event);
 }
 
 void
@@ -309,55 +466,40 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
    ev = (xcb_button_press_event_t *)event;
    if ((ev->detail > 3) && (ev->detail < 8))
      {
-	Ecore_X_Event_Mouse_Wheel *e;
-
-	e = malloc(sizeof(Ecore_X_Event_Mouse_Wheel));
+	Ecore_Event_Mouse_Wheel *e;
 
-	if (!e)
-	  return;
+	e = malloc(sizeof(Ecore_Event_Mouse_Wheel));
+	if (!e) return;
 
-	e->modifiers = ev->state;
-	e->direction = 0;
-	e->z = 0;
-	if      (ev->detail == 4)
+	e->timestamp = ev->time;
+	e->modifiers = _ecore_x_event_modifiers(ev->state);
+	switch (ev->detail)
 	  {
-	     e->direction = 0;
-	     e->z = -1;
-	  }
-	else if (ev->detail == 5)
-	  {
-	     e->direction = 0;
-	     e->z = 1;
-	  }
-	else if (ev->detail == 6)
-	  {
-	     e->direction = 1;
-	     e->z = -1;
-	  }
-	else if (ev->detail == 7)
-	  {
-	     e->direction = 1;
-	     e->z = 1;
+	   case 4: e->direction = 0; e->z = -1; break;
+	   case 5: e->direction = 0; e->z = 1; break;
+	   case 6: e->direction = 1; e->z = -1; break;
+	   case 7: e->direction = 1; e->z = 1; break;
+           default: e->direction = 0; e->z = 0; break;
 	  }
+
 	e->x = ev->event_x;
 	e->y = ev->event_y;
 	e->root.x = ev->root_x;
 	e->root.y = ev->root_y;
 
 	if (ev->child)
-	  e->win = ev->child;
+	  e->window = ev->child;
 	else
-	  e->win = ev->event;
+	  e->window = ev->event;
 
-	e->event_win = ev->event;
+	e->event_window = ev->event;
 	e->same_screen = ev->same_screen;
-	e->root_win = ev->root;
-	e->time = ev->time;
-	_ecore_xcb_event_last_time = e->time;
-	_ecore_xcb_event_last_window = e->win;
+	e->root_window = ev->root;
+	_ecore_xcb_event_last_time = e->timestamp;
+	_ecore_xcb_event_last_window = e->window;
 	_ecore_xcb_event_last_root_x = e->root.x;
 	_ecore_xcb_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_WHEEL, e, NULL, NULL);
+	ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, e, NULL, NULL);
 	for (i = 0; i < _ecore_window_grabs_num; i++)
 	  {
 	     if ((_ecore_window_grabs[i] == ev->event) ||
@@ -367,7 +509,7 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
 
 		  if (_ecore_window_grab_replay_func)
 		    replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data,
-							    ECORE_X_EVENT_MOUSE_WHEEL,
+							    ECORE_EVENT_MOUSE_WHEEL,
 							    e);
                   /* FIXME: xcb_key_press_event_t does not save the */
                   /* connection. So I use the current one */
@@ -385,125 +527,84 @@ _ecore_x_event_handle_button_press(xcb_generic_event_t *event)
      }
    else
      {
-	  {
-	     Ecore_X_Event_Mouse_Move *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	     if (!e) return;
-	     e->modifiers = ev->state;
-	     e->x = ev->event_x;
-	     e->y = ev->event_y;
-	     e->root.x = ev->root_x;
-	     e->root.y = ev->root_y;
-	     if (ev->child) e->win = ev->child;
-	     else e->win = ev->event;
-	     e->same_screen = ev->same_screen;
-	     e->root_win = ev->root;
-	     e->event_win = ev->event;
-	     e->time = ev->time;
-	     _ecore_xcb_event_last_time = e->time;
-	     _ecore_xcb_event_last_window = e->win;
-	     _ecore_xcb_event_last_root_x = e->root.x;
-	     _ecore_xcb_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-	  }
-	  {
-	     Ecore_X_Event_Mouse_Button_Down *e;
-
-            if (_ecore_xcb_mouse_down_did_triple)
-              {
-                 _ecore_xcb_mouse_down_last_window = 0;
-                 _ecore_xcb_mouse_down_last_last_window = 0;
-                 _ecore_xcb_mouse_down_last_event_window = 0;
-                 _ecore_xcb_mouse_down_last_last_event_window = 0;
-                 _ecore_xcb_mouse_down_last_time = 0;
-                 _ecore_xcb_mouse_down_last_last_time = 0;
-              }
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Button_Down));
-	     if (!e) return;
-	     e->button = ev->detail;
-	     e->modifiers = ev->state;
-	     e->x = ev->event_x;
-	     e->y = ev->event_y;
-	     e->root.x = ev->root_x;
-	     e->root.y = ev->root_y;
-	     if (ev->child) e->win = ev->child;
-	     else e->win = ev->event;
-	     e->same_screen = ev->same_screen;
-	     e->root_win = ev->root;
-	     e->event_win = ev->event;
-	     e->time = ev->time;
-	     if (e->win == e->event_win)
-	       {
-		  if (((int)(e->time - _ecore_xcb_mouse_down_last_time) <=
-		       (int)(1000 * _ecore_xcb_double_click_time)) &&
-		      (e->win == _ecore_xcb_mouse_down_last_window) &&
-		      (e->event_win == _ecore_xcb_mouse_down_last_event_window)
-		      )
-		    e->double_click = 1;
-		  if (((int)(e->time - _ecore_xcb_mouse_down_last_last_time) <=
-		       (int)(2 * 1000 * _ecore_xcb_double_click_time)) &&
-		      (e->win == _ecore_xcb_mouse_down_last_window) &&
-                      (e->win == _ecore_xcb_mouse_down_last_last_window) &&
-		      (e->event_win == _ecore_xcb_mouse_down_last_event_window) &&
-                      (e->event_win == _ecore_xcb_mouse_down_last_last_event_window)
-		      )
-		    {
-                        e->triple_click = 1;
-		       _ecore_xcb_mouse_down_did_triple = 1;
-		    }
-                  else
-                    _ecore_xcb_mouse_down_did_triple = 0;
-	       }
-             if (!e->double_click && !e->triple_click)
-               _ecore_xcb_mouse_up_count = 0;
-	     _ecore_xcb_event_last_time = e->time;
-	     _ecore_xcb_event_last_window = e->win;
-	     _ecore_xcb_event_last_root_x = e->root.x;
-	     _ecore_xcb_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
-	     for (i = 0; i < _ecore_window_grabs_num; i++)
-	       {
-		  if ((_ecore_window_grabs[i] == ev->event) ||
-		      (_ecore_window_grabs[i] == ev->child))
-		    {
-		       int replay = 0;
-
-		       if (_ecore_window_grab_replay_func)
-			 replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data,
-								 ECORE_X_EVENT_MOUSE_BUTTON_DOWN,
-								 e);
-                       /* FIXME: xcb_key_press_event_t does not save the */
-                       /* connection. So I use the current one */
-		       if (replay)
-			 xcb_allow_events(_ecore_xcb_conn,
-                                          XCB_ALLOW_REPLAY_POINTER,
-                                          ev->time);
-		       else
-			 xcb_allow_events(_ecore_xcb_conn,
-                                          XCB_ALLOW_ASYNC_POINTER,
-                                          ev->time);
-		       break;
-		    }
-	       }
-	     if (e->win == e->event_win)
-	       {
-		  if (!_ecore_xcb_mouse_down_did_triple)
-		    {
-		       _ecore_xcb_mouse_down_last_last_window = _ecore_xcb_mouse_down_last_window;
-		       if (ev->child)
-			 _ecore_xcb_mouse_down_last_window = ev->child;
-		       else
-			 _ecore_xcb_mouse_down_last_window = ev->event;
-		       _ecore_xcb_mouse_down_last_last_event_window = _ecore_xcb_mouse_down_last_event_window;
-		       _ecore_xcb_mouse_down_last_event_window = ev->event;
-		       _ecore_xcb_mouse_down_last_last_time = _ecore_xcb_mouse_down_last_time;
-		       _ecore_xcb_mouse_down_last_time = ev->time;
-		    }
-	       }
-	  }
+        {
+	   _ecore_mouse_move(ev->time, ev->state,
+			     ev->event_x, ev->event_y,
+			     ev->root_x, ev->root_y,
+			     ev->event,
+			     (ev->child ? ev->child : ev->event),
+			     ev->root,
+			     ev->same_screen);
+        }
+        {
+           Ecore_Event_Mouse_Button *e;
+           Ecore_X_Window            event_window;
+           Ecore_X_Window            child_window;
+
+           if (_ecore_xcb_mouse_down_did_triple)
+             {
+                _ecore_xcb_mouse_down_last_window = 0;
+                _ecore_xcb_mouse_down_last_last_window = 0;
+                _ecore_xcb_mouse_down_last_event_window = 0;
+                _ecore_xcb_mouse_down_last_last_event_window = 0;
+                _ecore_xcb_mouse_down_last_time = 0;
+                _ecore_xcb_mouse_down_last_last_time = 0;
+             }
+           event_window = ev->child;
+           child_window = ev->child ? ev->child : ev->event;
+
+	   e = _ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_DOWN,
+				   ev->time, ev->state,
+				   ev->detail,
+				   ev->event_x, ev->event_y,
+				   ev->root_x, ev->root_y,
+				   event_window, child_window,
+				   ev->root, ev->same_screen);
+
+           if (!e) return;
+           for (i = 0; i < _ecore_window_grabs_num; i++)
+             {
+                if ((_ecore_window_grabs[i] == ev->event) ||
+                    (_ecore_window_grabs[i] == ev->child))
+                  {
+                     int replay = 0;
+
+                     if (_ecore_window_grab_replay_func)
+                       replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data,
+                                                               ECORE_EVENT_MOUSE_BUTTON_DOWN,
+                                                               e);
+                     /* FIXME: xcb_key_press_event_t does not save the */
+                     /* connection. So I use the current one */
+                     if (replay)
+                       xcb_allow_events(_ecore_xcb_conn,
+                                        XCB_ALLOW_REPLAY_POINTER,
+                                        ev->time);
+                     else
+                       xcb_allow_events(_ecore_xcb_conn,
+                                        XCB_ALLOW_ASYNC_POINTER,
+                                        ev->time);
+                     break;
+                  }
+             }
+           if (child_window == event_window)
+             {
+                if (!_ecore_xcb_mouse_down_did_triple)
+                  {
+                     _ecore_xcb_mouse_down_last_last_window = _ecore_xcb_mouse_down_last_window;
+                     if (ev->child)
+                       _ecore_xcb_mouse_down_last_window = ev->child;
+                     else
+                       _ecore_xcb_mouse_down_last_window = ev->event;
+                     _ecore_xcb_mouse_down_last_last_event_window = _ecore_xcb_mouse_down_last_event_window;
+                     _ecore_xcb_mouse_down_last_event_window = ev->event;
+                     _ecore_xcb_mouse_down_last_last_time = _ecore_xcb_mouse_down_last_time;
+                     _ecore_xcb_mouse_down_last_time = ev->time;
+                  }
+             }
+        }
      }
+
+   free(event);
 }
 
 void
@@ -512,106 +613,59 @@ _ecore_x_event_handle_button_release(xcb_generic_event_t *event)
    xcb_button_release_event_t *ev;
 
    ev = (xcb_button_release_event_t *)event;
+   _ecore_xcb_last_event_mouse_move = 0;
    /* filter out wheel buttons */
    if ((ev->detail <= 3) || (ev->detail > 7))
      {
-	  {
-	     Ecore_X_Event_Mouse_Move *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	     if (!e) return;
-	     e->modifiers = ev->state;
-	     e->x = ev->event_x;
-	     e->y = ev->event_y;
-	     e->root.x = ev->root_x;
-	     e->root.y = ev->root_y;
-	     if (ev->child) e->win = ev->child;
-	     else e->win = ev->event;
-	     e->same_screen = ev->same_screen;
-	     e->root_win = ev->root;
-	     e->event_win = ev->event;
-	     e->time = ev->time;
-	     _ecore_xcb_event_last_time = e->time;
-	     _ecore_xcb_event_last_window = e->win;
-	     _ecore_xcb_event_last_root_x = e->root.x;
-	     _ecore_xcb_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-	  }
-	  {
-	     Ecore_X_Event_Mouse_Button_Up *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Button_Up));
-	     if (!e) return;
-	     e->button = ev->detail;
-	     e->modifiers = ev->state;
-	     e->x = ev->event_x;
-	     e->y = ev->event_y;
-	     e->root.x = ev->root_x;
-	     e->root.y = ev->root_y;
-	     if (ev->child) e->win = ev->child;
-	     else e->win = ev->event;
-	     e->same_screen = ev->same_screen;
-	     e->root_win = ev->root;
-	     e->event_win = ev->event;
-	     e->time = ev->time;
-             _ecore_xcb_mouse_up_count++;
-	     if (e->win == e->event_win)
-	       {
-		  if ((_ecore_xcb_mouse_up_count >= 2) &&
-                      ((int)(e->time - _ecore_xcb_mouse_down_last_time) <=
-		       (int)(1000 * _ecore_xcb_double_click_time)) &&
-		      (e->win == _ecore_xcb_mouse_down_last_window) &&
-		      (e->event_win == _ecore_xcb_mouse_down_last_event_window)
-		      )
-		    e->double_click = 1;
-		  if ((_ecore_xcb_mouse_up_count >= 3) &&
-                     ((int)(e->time - _ecore_xcb_mouse_down_last_last_time) <=
-		       (int)(2 * 1000 * _ecore_xcb_double_click_time)) &&
-		      (e->win == _ecore_xcb_mouse_down_last_window) &&
-                      (e->win == _ecore_xcb_mouse_down_last_last_window) &&
-		      (e->event_win == _ecore_xcb_mouse_down_last_event_window) &&
-                      (e->event_win == _ecore_xcb_mouse_down_last_last_event_window)
-		      )
-                    e->triple_click = 1;
-	       }
-	     _ecore_xcb_event_last_time = e->time;
-	     _ecore_xcb_event_last_window = e->win;
-	     _ecore_xcb_event_last_root_x = e->root.x;
-	     _ecore_xcb_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
-	  }
+	_ecore_mouse_move(ev->time, ev->state,
+			  ev->event_x, ev->event_y,
+			  ev->root_x, ev->root_y,
+			  ev->event,
+			  (ev->child ? ev->child : ev->event),
+			  ev->root,
+			  ev->same_screen);
+
+	_ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_UP,
+			    ev->time, ev->state,
+			    ev->detail,
+			    ev->event_x, ev->event_y,
+			    ev->root_x, ev->root_y,
+			    ev->event,
+			    (ev->child ? ev->child : ev->event),
+			    ev->root,
+			    ev->same_screen);
      }
+
+   free(event);
 }
 
 void
 _ecore_x_event_handle_motion_notify(xcb_generic_event_t *event)
 {
    xcb_motion_notify_event_t *ev;
-   Ecore_X_Event_Mouse_Move  *e;
 
    ev = (xcb_motion_notify_event_t *)event;
-   e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-   if (!e) return;
-   e->modifiers = ev->state;
-   e->x = ev->event_x;
-   e->y = ev->event_y;
-   e->root.x = ev->root_x;
-   e->root.y = ev->root_y;
-   if (ev->child) e->win = ev->child;
-   else e->win = ev->event;
-   e->same_screen = ev->same_screen;
-   e->root_win = ev->root;
-   e->event_win = ev->event;
-   e->time = ev->time;
-   _ecore_xcb_event_last_time = e->time;
-   _ecore_xcb_event_last_window = e->win;
-   _ecore_xcb_event_last_root_x = e->root.x;
-   _ecore_xcb_event_last_root_y = e->root.y;
+   if (_ecore_xcb_last_event_mouse_move)
+     {
+        ecore_event_del(_ecore_xcb_last_event_mouse_move_event);
+        _ecore_xcb_last_event_mouse_move = 0;
+        _ecore_xcb_last_event_mouse_move_event = NULL;
+     }
+
+   _ecore_mouse_move(ev->time, ev->state,
+		     ev->event_x, ev->event_y,
+		     ev->root_x, ev->root_y,
+		     ev->event,
+		     (ev->child ? ev->child : ev->event),
+		     ev->root,
+		     ev->same_screen);
+
+   _ecore_xcb_last_event_mouse_move = 1;
 
    /* Xdnd handling */
-   _ecore_x_dnd_drag(e->root_win, e->root.x, e->root.y);
+   _ecore_x_dnd_drag(ev->root, ev->root_x, ev->root_y);
 
-   ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
+   free(event);
 }
 
 void
@@ -620,82 +674,72 @@ _ecore_x_event_handle_enter_notify(xcb_generic_event_t *event)
    xcb_enter_notify_event_t *ev;
 
    ev = (xcb_enter_notify_event_t *)event;
+   _ecore_xcb_last_event_mouse_move = 0;
 
-     {
-	Ecore_X_Event_Mouse_Move *e;
+   {
+      _ecore_mouse_move(ev->time, ev->state,
+                        ev->event_x, ev->event_y,
+                        ev->root_x, ev->root_y,
+                        ev->event,
+                        (ev->child ? ev->child : ev->event),
+                        ev->root,
+                        ev->same_screen_focus);
+   }
+   {
+      Ecore_X_Event_Mouse_In *e;
 
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	if (!e) return;
-	e->modifiers = ev->state;
-	e->x = ev->event_x;
-	e->y = ev->event_y;
-	e->root.x = ev->root_x;
-	e->root.y = ev->root_y;
-	if (ev->child) e->win = ev->child;
-	else e->win = ev->event;
-	e->same_screen = ev->same_screen_focus;
-	e->root_win = ev->root;
-	e->event_win = ev->event;
-	e->time = ev->time;
-	_ecore_xcb_event_last_time = e->time;
-	_ecore_xcb_event_last_window = e->win;
-	_ecore_xcb_event_last_root_x = e->root.x;
-	_ecore_xcb_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-     }
-     {
-	Ecore_X_Event_Mouse_In *e;
+      e = calloc(1, sizeof(Ecore_X_Event_Mouse_In));
+      if (!e) return;
+      e->modifiers = _ecore_x_event_modifiers(ev->state);
+      e->x = ev->event_x;
+      e->y = ev->event_y;
+      e->root.x = ev->root_x;
+      e->root.y = ev->root_y;
+      if (ev->child) e->win = ev->child;
+      else e->win = ev->event;
+      e->same_screen = ev->same_screen_focus;
+      e->root_win = ev->root;
+      e->event_win = ev->event;
+      switch (ev->mode) {
+      case XCB_NOTIFY_MODE_NORMAL:
+        e->mode = ECORE_X_EVENT_MODE_NORMAL;
+        break;
+      case XCB_NOTIFY_MODE_GRAB:
+        e->mode = ECORE_X_EVENT_MODE_GRAB;
+        break;
+      case XCB_NOTIFY_MODE_UNGRAB:
+        e->mode = ECORE_X_EVENT_MODE_UNGRAB;
+        break;
+      default:
+        e->mode = ECORE_X_EVENT_MODE_NORMAL;
+        break;
+      }
+      switch (ev->detail) {
+      case XCB_NOTIFY_DETAIL_ANCESTOR:
+        e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
+        break;
+      case XCB_NOTIFY_DETAIL_VIRTUAL:
+        e->detail = ECORE_X_EVENT_DETAIL_VIRTUAL;
+        break;
+      case XCB_NOTIFY_DETAIL_INFERIOR:
+        e->detail = ECORE_X_EVENT_DETAIL_INFERIOR;
+        break;
+      case XCB_NOTIFY_DETAIL_NONLINEAR:
+        e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR;
+        break;
+      case XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL:
+        e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL;
+        break;
+      default:
+        e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
+        break;
+      }
+      e->time = ev->time;
+      _ecore_xcb_event_last_time = e->time;
+      ecore_event_add(ECORE_X_EVENT_MOUSE_IN, e, NULL, NULL);
+   }
 
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_In));
-	if (!e) return;
-	e->modifiers = ev->state;
-	e->x = ev->event_x;
-	e->y = ev->event_y;
-	e->root.x = ev->root_x;
-	e->root.y = ev->root_y;
-	if (ev->child) e->win = ev->child;
-	else e->win = ev->event;
-	e->same_screen = ev->same_screen_focus;
-	e->root_win = ev->root;
-	e->event_win = ev->event;
-        switch (ev->mode) {
-        case XCB_NOTIFY_MODE_NORMAL:
-          e->mode = ECORE_X_EVENT_MODE_NORMAL;
-          break;
-        case XCB_NOTIFY_MODE_GRAB:
-          e->mode = ECORE_X_EVENT_MODE_GRAB;
-          break;
-        case XCB_NOTIFY_MODE_UNGRAB:
-          e->mode = ECORE_X_EVENT_MODE_UNGRAB;
-          break;
-        default:
-          e->mode = ECORE_X_EVENT_MODE_NORMAL;
-          break;
-        }
-        switch (ev->detail) {
-        case XCB_NOTIFY_DETAIL_ANCESTOR:
-          e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
-          break;
-        case XCB_NOTIFY_DETAIL_VIRTUAL:
-          e->detail = ECORE_X_EVENT_DETAIL_VIRTUAL;
-          break;
-        case XCB_NOTIFY_DETAIL_INFERIOR:
-          e->detail = ECORE_X_EVENT_DETAIL_INFERIOR;
-          break;
-        case XCB_NOTIFY_DETAIL_NONLINEAR:
-          e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR;
-          break;
-        case XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL:
-          e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL;
-          break;
-        default:
-          e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
-          break;
-        }
-	e->time = ev->time;
-	_ecore_xcb_event_last_time = e->time;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_IN, e, NULL, NULL);
-     }
+   free(event);
 }
 
 void
@@ -704,84 +748,75 @@ _ecore_x_event_handle_leave_notify(xcb_generic_event_t *event)
    xcb_leave_notify_event_t *ev;
 
    ev = (xcb_leave_notify_event_t *)event;
-     {
-	Ecore_X_Event_Mouse_Move *e;
+   _ecore_xcb_last_event_mouse_move = 0;
 
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	if (!e) return;
-	e->modifiers = ev->state;
-	e->x = ev->event_x;
-	e->y = ev->event_y;
-	e->root.x = ev->root_x;
-	e->root.y = ev->root_y;
-	if (ev->child) e->win = ev->child;
-	else e->win = ev->event;
-	e->same_screen = ev->same_screen_focus;
-	e->root_win = ev->root;
-	e->event_win = ev->event;
-	e->time = ev->time;
-	_ecore_xcb_event_last_time = e->time;
-	_ecore_xcb_event_last_window = e->win;
-	_ecore_xcb_event_last_root_x = e->root.x;
-	_ecore_xcb_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-     }
-     {
-	Ecore_X_Event_Mouse_Out *e;
+   {
+      _ecore_mouse_move(ev->time, ev->state,
+                        ev->event_x, ev->event_y,
+                        ev->root_x, ev->root_y,
+                        ev->event,
+                        (ev->child ? ev->child : ev->event),
+                        ev->root,
+                        ev->same_screen_focus);
+   }
+   {
+      Ecore_X_Event_Mouse_Out *e;
 
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Out));
-	if (!e) return;
-	e->modifiers = ev->state;
-	e->x = ev->event_x;
-	e->y = ev->event_y;
-	e->root.x = ev->root_x;
-	e->root.y = ev->root_y;
-	if (ev->child) e->win = ev->child;
-	else e->win = ev->event;
-	e->same_screen = ev->same_screen_focus;
-	e->root_win = ev->root;
-	e->event_win = ev->event;
-        switch (ev->mode) {
-        case XCB_NOTIFY_MODE_NORMAL:
-          e->mode = ECORE_X_EVENT_MODE_NORMAL;
-          break;
-        case XCB_NOTIFY_MODE_GRAB:
-          e->mode = ECORE_X_EVENT_MODE_GRAB;
-          break;
-        case XCB_NOTIFY_MODE_UNGRAB:
-          e->mode = ECORE_X_EVENT_MODE_UNGRAB;
-          break;
-        default:
-          e->mode = ECORE_X_EVENT_MODE_NORMAL;
-          break;
-        }
-        switch (ev->detail) {
-        case XCB_NOTIFY_DETAIL_ANCESTOR:
-          e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
-          break;
-        case XCB_NOTIFY_DETAIL_VIRTUAL:
-          e->detail = ECORE_X_EVENT_DETAIL_VIRTUAL;
-          break;
-        case XCB_NOTIFY_DETAIL_INFERIOR:
-          e->detail = ECORE_X_EVENT_DETAIL_INFERIOR;
-          break;
-        case XCB_NOTIFY_DETAIL_NONLINEAR:
-          e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR;
-          break;
-        case XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL:
-          e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL;
-          break;
-        default:
-          e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
-          break;
-        }
-	e->time = ev->time;
-	_ecore_xcb_event_last_time = e->time;
-	_ecore_xcb_event_last_window = e->win;
-	_ecore_xcb_event_last_root_x = e->root.x;
-	_ecore_xcb_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_OUT, e, NULL, NULL);
-     }
+      e = calloc(1, sizeof(Ecore_X_Event_Mouse_Out));
+      if (!e) return;
+      e->modifiers = _ecore_x_event_modifiers(ev->state);
+      e->x = ev->event_x;
+      e->y = ev->event_y;
+      e->root.x = ev->root_x;
+      e->root.y = ev->root_y;
+      if (ev->child) e->win = ev->child;
+      else e->win = ev->event;
+      e->same_screen = ev->same_screen_focus;
+      e->root_win = ev->root;
+      e->event_win = ev->event;
+      switch (ev->mode) {
+      case XCB_NOTIFY_MODE_NORMAL:
+        e->mode = ECORE_X_EVENT_MODE_NORMAL;
+        break;
+      case XCB_NOTIFY_MODE_GRAB:
+        e->mode = ECORE_X_EVENT_MODE_GRAB;
+        break;
+      case XCB_NOTIFY_MODE_UNGRAB:
+        e->mode = ECORE_X_EVENT_MODE_UNGRAB;
+        break;
+      default:
+        e->mode = ECORE_X_EVENT_MODE_NORMAL;
+        break;
+      }
+      switch (ev->detail) {
+      case XCB_NOTIFY_DETAIL_ANCESTOR:
+        e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
+        break;
+      case XCB_NOTIFY_DETAIL_VIRTUAL:
+        e->detail = ECORE_X_EVENT_DETAIL_VIRTUAL;
+        break;
+      case XCB_NOTIFY_DETAIL_INFERIOR:
+        e->detail = ECORE_X_EVENT_DETAIL_INFERIOR;
+        break;
+      case XCB_NOTIFY_DETAIL_NONLINEAR:
+        e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR;
+        break;
+      case XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL:
+        e->detail = ECORE_X_EVENT_DETAIL_NON_LINEAR_VIRTUAL;
+        break;
+      default:
+        e->detail = ECORE_X_EVENT_DETAIL_ANCESTOR;
+        break;
+      }
+      e->time = ev->time;
+      _ecore_xcb_event_last_time = e->time;
+      _ecore_xcb_event_last_window = e->win;
+      _ecore_xcb_event_last_root_x = e->root.x;
+      _ecore_xcb_event_last_root_y = e->root.y;
+      ecore_event_add(ECORE_X_EVENT_MOUSE_OUT, e, NULL, NULL);
+   }
+
+   free(event);
 }
 
 void
@@ -837,6 +872,8 @@ _ecore_x_event_handle_focus_in(xcb_generic_event_t *event)
    e->time = _ecore_xcb_event_last_time;
    _ecore_xcb_event_last_time = e->time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_FOCUS_IN, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -892,12 +929,16 @@ _ecore_x_event_handle_focus_out(xcb_generic_event_t *event)
    e->time = _ecore_xcb_event_last_time;
    _ecore_xcb_event_last_time = e->time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_FOCUS_OUT, e, NULL, NULL);
+
+   free(event);
 }
 
 void
-_ecore_x_event_handle_keymap_notify(xcb_generic_event_t *event __UNUSED__)
+_ecore_x_event_handle_keymap_notify(xcb_generic_event_t *event)
 {
    /* FIXME: handle this event type */
+
+   free(event);
 }
 
 void
@@ -917,6 +958,8 @@ _ecore_x_event_handle_expose(xcb_generic_event_t *event)
    e->h = ev->height;
    e->count = ev->count;
    ecore_event_add(ECORE_X_EVENT_WINDOW_DAMAGE, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -936,6 +979,8 @@ _ecore_x_event_handle_graphics_expose(xcb_generic_event_t *event)
    e->h = ev->height;
    e->count = ev->count;
    ecore_event_add(ECORE_X_EVENT_WINDOW_DAMAGE, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -958,6 +1003,8 @@ _ecore_x_event_handle_visibility_notify(xcb_generic_event_t *event)
 	 e->fully_obscured = 0;
       ecore_event_add(ECORE_X_EVENT_WINDOW_VISIBILITY_CHANGE, e, NULL, NULL);
    }
+
+   free(event);
 }
 
 void
@@ -976,6 +1023,8 @@ _ecore_x_event_handle_create_notify(xcb_generic_event_t *event)
       e->override = 0;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_CREATE, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -991,6 +1040,8 @@ _ecore_x_event_handle_destroy_notify(xcb_generic_event_t *event)
    e->time = _ecore_xcb_event_last_time;
    if (e->win == _ecore_xcb_event_last_window) _ecore_xcb_event_last_window = 0;
    ecore_event_add(ECORE_X_EVENT_WINDOW_DESTROY, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1005,6 +1056,8 @@ _ecore_x_event_handle_unmap_notify(xcb_generic_event_t *event)
    e->win = ev->window;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_HIDE, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1019,6 +1072,8 @@ _ecore_x_event_handle_map_notify(xcb_generic_event_t *event)
    e->win = ev->window;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_SHOW, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1034,6 +1089,8 @@ _ecore_x_event_handle_map_request(xcb_generic_event_t *event)
    e->parent = ev->parent;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_SHOW_REQUEST, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1049,6 +1106,8 @@ _ecore_x_event_handle_reparent_notify(xcb_generic_event_t *event)
    e->parent = ev->parent;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_REPARENT, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1072,6 +1131,8 @@ _ecore_x_event_handle_configure_notify(xcb_generic_event_t *event)
    e->from_wm = (ev->response_type & 0x80) ? 1 : 0;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_CONFIGURE, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1110,12 +1171,16 @@ _ecore_x_event_handle_configure_request(xcb_generic_event_t *event)
    }
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_CONFIGURE_REQUEST, e, NULL, NULL);
+
+   free(event);
 }
 
 void
-_ecore_x_event_handle_gravity_notify(xcb_generic_event_t *event __UNUSED__)
+_ecore_x_event_handle_gravity_notify(xcb_generic_event_t *event)
 {
    /* FIXME: handle this event type */
+
+   free(event);
 }
 
 void
@@ -1132,6 +1197,8 @@ _ecore_x_event_handle_resize_request(xcb_generic_event_t *event)
    e->h = ev->height;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_RESIZE_REQUEST, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1151,6 +1218,8 @@ _ecore_x_event_handle_circulate_notify(xcb_generic_event_t *event)
      e->detail = ECORE_X_WINDOW_STACK_BELOW;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_STACK, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1170,6 +1239,8 @@ _ecore_x_event_handle_circulate_request(xcb_generic_event_t *event)
      e->detail = ECORE_X_WINDOW_STACK_BELOW;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_STACK_REQUEST, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1280,6 +1351,8 @@ _ecore_x_event_handle_property_notify(xcb_generic_event_t *event)
       _ecore_xcb_event_last_time = e->time;
       ecore_event_add(ECORE_X_EVENT_WINDOW_PROPERTY, e, NULL, NULL);
    }
+
+   free(event);
 }
 
 void
@@ -1291,9 +1364,8 @@ _ecore_x_event_handle_selection_clear(xcb_generic_event_t *event)
    Ecore_X_Atom                   sel;
 
    ev = (xcb_selection_clear_event_t *)event;
-   if (!(d = _ecore_x_selection_get(ev->selection)))
-     return;
-   if (ev->time > d->time)
+   d = _ecore_x_selection_get(ev->selection);
+   if (d && (ev->time > d->time))
      {
 	_ecore_x_selection_set(XCB_NONE, NULL, 0,
                                ev->selection);
@@ -1303,15 +1375,18 @@ _ecore_x_event_handle_selection_clear(xcb_generic_event_t *event)
    e = malloc(sizeof(Ecore_X_Event_Selection_Clear));
    e->win = ev->owner;
    e->time = ev->time;
-   sel = ev->selection;
+   e->atom = sel = ev->selection;
    if (sel == ECORE_X_ATOM_SELECTION_PRIMARY)
      e->selection = ECORE_X_SELECTION_PRIMARY;
    else if (sel == ECORE_X_ATOM_SELECTION_SECONDARY)
      e->selection = ECORE_X_SELECTION_SECONDARY;
-   else
+   else if (sel == ECORE_X_ATOM_SELECTION_CLIPBOARD)
      e->selection = ECORE_X_SELECTION_CLIPBOARD;
+   else
+     e->selection = ECORE_X_SELECTION_OTHER;
    ecore_event_add(ECORE_X_EVENT_SELECTION_CLEAR, e, NULL, NULL);
 
+   free(event);
 }
 
 void
@@ -1362,6 +1437,8 @@ _ecore_x_event_handle_selection_request(xcb_generic_event_t *event)
    /* FIXME: I use _ecore_xcb_conn, as ev has no information on the connection */
    xcb_send_event(_ecore_xcb_conn, 0,
                   ev->requestor, 0, (const char *)&sn_event);
+
+   free(event);
 }
 
 /* FIXME: round trip */
@@ -1411,6 +1488,7 @@ _ecore_x_event_handle_selection_notify(xcb_generic_event_t *event)
    if (!e) return;
    e->win = ev->requestor;
    e->time = ev->time;
+   e->atom = selection;
    e->target = _ecore_x_selection_target_get(ev->target);
 
    if (selection == ECORE_X_ATOM_SELECTION_PRIMARY)
@@ -1422,13 +1500,13 @@ _ecore_x_event_handle_selection_notify(xcb_generic_event_t *event)
    else if (selection == ECORE_X_ATOM_SELECTION_CLIPBOARD)
      e->selection = ECORE_X_SELECTION_CLIPBOARD;
    else
-     {
-	free(e);
-	return;
-     }
+     e->selection = ECORE_X_SELECTION_OTHER;
+
    e->data = _ecore_x_selection_parse(e->target, data, num_ret, format);
 
    ecore_event_add(ECORE_X_EVENT_SELECTION_NOTIFY, e, _ecore_x_event_free_selection_notify, NULL);
+
+   free(event);
 }
 
 void
@@ -1448,6 +1526,8 @@ _ecore_x_event_handle_colormap_notify(xcb_generic_event_t *event)
       e->installed = 0;
    e->time = _ecore_xcb_event_last_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_COLORMAP, e, NULL, NULL);
+
+   free(event);
 }
 
 void
@@ -1918,12 +1998,16 @@ _ecore_x_event_handle_client_message(xcb_generic_event_t *event)
 
 	ecore_event_add(ECORE_X_EVENT_CLIENT_MESSAGE, e, NULL, NULL);
      }
+
+   free(event);
 }
 
 void
-_ecore_x_event_handle_mapping_notify(xcb_generic_event_t *event __UNUSED__)
+_ecore_x_event_handle_mapping_notify(xcb_generic_event_t *event)
 {
    /* FIXME: handle this event type */
+
+   free(event);
 }
 
 void
@@ -1939,9 +2023,9 @@ _ecore_x_event_handle_shape_change(xcb_generic_event_t *event)
    e->win = ev->affected_window;
    e->time = ev->server_time;
    ecore_event_add(ECORE_X_EVENT_WINDOW_SHAPE, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_X_SHAPE */
+
+   free(event);
 }
 
 void
@@ -1961,9 +2045,9 @@ _ecore_x_event_handle_screensaver_notify(xcb_generic_event_t *event)
      e->on = 0;
    e->time = ev->time;
    ecore_event_add(ECORE_X_EVENT_SCREENSAVER_NOTIFY, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_X_SCREENSAVER */
+
+   free(event);
 }
 
 void
@@ -1978,9 +2062,9 @@ _ecore_x_event_handle_sync_counter(xcb_generic_event_t *event)
    if (!e) return;
    e->time = ev->timestamp;
    ecore_event_add(ECORE_X_EVENT_SYNC_COUNTER, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_X_SYNC */
+
+   free(event);
 }
 
 void
@@ -1996,9 +2080,9 @@ _ecore_x_event_handle_sync_alarm(xcb_generic_event_t *event)
    e->time = ev->timestamp;
    e->alarm = ev->alarm;
    ecore_event_add(ECORE_X_EVENT_SYNC_ALARM, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_X_SYNC */
+
+   free(event);
 }
 
 /* FIXME: round trip */
@@ -2035,9 +2119,9 @@ _ecore_x_event_handle_randr_change(xcb_generic_event_t *event)
    e->width = ev->width;
    e->height = ev->height;
    ecore_event_add(ECORE_X_EVENT_SCREEN_CHANGE, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_X_RANDR */
+
+   free(event);
 }
 
 void
@@ -2045,9 +2129,9 @@ _ecore_x_event_handle_fixes_selection_notify(xcb_generic_event_t *event)
 {
 #ifdef ECORE_X_FIXES
    /* Nothing here yet */
-#else
-   event = NULL;
 #endif /* ECORE_X_FIXES */
+
+   free(event);
 }
 
 void
@@ -2077,7 +2161,7 @@ _ecore_x_event_handle_damage_notify(xcb_generic_event_t *event)
    e->geometry.height = ev->geometry.height;
 
    ecore_event_add(ECORE_X_EVENT_DAMAGE_NOTIFY, e, NULL, NULL);
-#else
-   event = NULL;
 #endif /* ECORE_XCBDAMAGE */
+
+   free(event);
 }
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_gc.c b/src/lib/ecore_x/xcb/ecore_xcb_gc.c
index 0a4ec22..826f3b5 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_gc.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_gc.c
@@ -10,6 +10,9 @@
  * drawable.
  * @param  drawable Drawable to create graphics context with.  If @c 0 is
  *                  given instead, the default root window is used.
+ * @param value_mask Bitmask values.
+ * @param value_list List of values. The order of values must be the
+ *                   same than the corresponding bitmaks.
  * @return          The new default graphics context.
  *
  * Creates a new default graphics context associated with @p
@@ -18,14 +21,14 @@
  * other drawables results in a BadMatch error.
  */
 EAPI Ecore_X_GC
-ecore_x_gc_new(Ecore_X_Drawable drawable)
+ecore_x_gc_new(Ecore_X_Drawable drawable, Ecore_X_GC_Value_Mask value_mask, const unsigned int *value_list)
 {
    xcb_gcontext_t gc;
 
    if (!drawable) drawable = ((xcb_screen_t *)_ecore_xcb_screen)->root;
 
    gc = xcb_generate_id(_ecore_xcb_conn);
-   xcb_create_gc(_ecore_xcb_conn, gc, drawable, 0, NULL);
+   xcb_create_gc(_ecore_xcb_conn, gc, drawable, value_mask, value_list);
 
    return gc;
 }
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_icccm.c b/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
index c5b0113..8a498de 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_icccm.c
@@ -9,11 +9,13 @@
  * client.
  */
 
-#include "ecore_xcb_private.h"
-#include "Ecore_X_Atoms.h"
+#include <string.h>
 
 #include <xcb/xcb_icccm.h>
 
+#include "ecore_xcb_private.h"
+#include "Ecore_X_Atoms.h"
+
 
 /**
  * @defgroup Ecore_X_ICCCM_Group ICCCM related functions.
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_netwm.c b/src/lib/ecore_x/xcb/ecore_xcb_netwm.c
index e491043..9882e39 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_netwm.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_netwm.c
@@ -6,7 +6,11 @@
  * _NET_WM... aka Extended Window Manager Hint (EWMH) functions.
  */
 
-#include "Ecore_Data.h"
+#include <stdio.h>
+#include <string.h>
+
+#include <Ecore_Data.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
@@ -2196,6 +2200,10 @@ _ecore_x_netwm_action_atom_get(Ecore_X_Action action)
 	 return ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP;
       case ECORE_X_ACTION_CLOSE:
 	 return ECORE_X_ATOM_NET_WM_ACTION_CLOSE;
+      case ECORE_X_ACTION_ABOVE:
+	 return ECORE_X_ATOM_NET_WM_ACTION_ABOVE;
+      case ECORE_X_ACTION_BELOW:
+	 return ECORE_X_ATOM_NET_WM_ACTION_BELOW;
       default:
 	 return 0;
      }
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_private.h b/src/lib/ecore_x/xcb/ecore_xcb_private.h
index ef8dc2c..b60cf18 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_private.h
+++ b/src/lib/ecore_x/xcb/ecore_xcb_private.h
@@ -143,6 +143,14 @@ typedef struct _Ecore_X_DND_Target
    int will_accept;
 } Ecore_X_DND_Target;
 
+extern int ECORE_X_MODIFIER_SHIFT;
+extern int ECORE_X_MODIFIER_CTRL; 
+extern int ECORE_X_MODIFIER_ALT; 
+extern int ECORE_X_MODIFIER_WIN; 
+ 
+extern int ECORE_X_LOCK_SCROLL; 
+extern int ECORE_X_LOCK_NUM; 
+extern int ECORE_X_LOCK_CAPS; 
 
 extern Ecore_X_Connection *_ecore_xcb_conn;
 extern Ecore_X_Screen     *_ecore_xcb_screen;
@@ -165,6 +173,7 @@ extern Ecore_X_Window      _ecore_xcb_private_window;
 
 void _ecore_x_error_handler_init(void);
 
+void _ecore_x_event_handle_any_event          (xcb_generic_event_t *event);
 void _ecore_x_event_handle_key_press          (xcb_generic_event_t *event);
 void _ecore_x_event_handle_key_release        (xcb_generic_event_t *event);
 void _ecore_x_event_handle_button_press       (xcb_generic_event_t *event);
@@ -235,7 +244,7 @@ extern Ecore_X_Atom ECORE_X_ATOM_WINDOW;
 extern Ecore_X_Atom ECORE_X_ATOM_E_FRAME_SIZE;
 extern Ecore_X_Atom ECORE_X_ATOM_WM_SIZE_HINTS;
 
-#define ECORE_X_ATOMS_COUNT 115
+#define ECORE_X_ATOMS_COUNT 117
 
 void _ecore_x_atom_init          (xcb_intern_atom_cookie_t *);
 void _ecore_x_atom_init_finalize (xcb_intern_atom_cookie_t *);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_randr.c b/src/lib/ecore_x/xcb/ecore_xcb_randr.c
index d2e0b9d..60ef77f 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_randr.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_randr.c
@@ -120,11 +120,13 @@ ecore_x_randr_events_select(Ecore_X_Window window,
 EAPI void
 ecore_x_randr_get_screen_info_prefetch(Ecore_X_Window window)
 {
+#ifdef ECORE_XCB_RANDR
    xcb_randr_get_screen_info_cookie_t cookie;
 
    cookie = xcb_randr_get_screen_info_unchecked(_ecore_xcb_conn,
                                                 _xcb_randr_root_to_screen(window));
    _ecore_xcb_cookie_cache(cookie.sequence);
+#endif /* ECORE_XCB_RANDR */
 }
 
 
@@ -135,12 +137,14 @@ ecore_x_randr_get_screen_info_prefetch(Ecore_X_Window window)
 EAPI void
 ecore_x_randr_get_screen_info_fetch(void)
 {
+#ifdef ECORE_XCB_RANDR
    xcb_randr_get_screen_info_cookie_t cookie;
    xcb_randr_get_screen_info_reply_t *reply;
 
    cookie.sequence = _ecore_xcb_cookie_get();
    reply =xcb_randr_get_screen_info_reply(_ecore_xcb_conn, cookie, NULL);
    _ecore_xcb_reply_cache(reply);
+#endif /* ECORE_XCB_RANDR */
 }
 
 /**
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_reply.c b/src/lib/ecore_x/xcb/ecore_xcb_reply.c
index f27f3b0..13402b6 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_reply.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_reply.c
@@ -19,7 +19,7 @@
  *   but its code is commented.
  */
 
-static Ecore_List *_ecore_xcb_cookies = NULL;
+static Eina_List  *_ecore_xcb_cookies = NULL;
 static void       *_ecore_xcb_reply = NULL;
 
 typedef struct _Ecore_Xcb_Data Ecore_Xcb_Data;
@@ -33,35 +33,22 @@ struct _Ecore_Xcb_Data
 int
 _ecore_x_reply_init ()
 {
-   _ecore_xcb_cookies = ecore_list_new();
-   if (!_ecore_xcb_cookies)
-     return 0;
-
-   if (!ecore_list_init(_ecore_xcb_cookies))
-     {
-        ecore_list_destroy(_ecore_xcb_cookies);
-        return 0;
-     }
-
-   if (!ecore_list_free_cb_set(_ecore_xcb_cookies, ECORE_FREE_CB(free)))
-     {
-        ecore_list_destroy(_ecore_xcb_cookies);
-        return 0;
-     }
-
    return 1;
 }
 
 void
 _ecore_x_reply_shutdown ()
 {
+  Ecore_Xcb_Data *data;
+
   if (_ecore_xcb_reply)
     free(_ecore_xcb_reply);
 
    if (!_ecore_xcb_cookies)
      return;
 
-   ecore_list_destroy(_ecore_xcb_cookies);
+   EINA_LIST_FREE(_ecore_xcb_cookies, data)
+     free(data);
 }
 
 void
@@ -78,7 +65,8 @@ _ecore_xcb_cookie_cache (unsigned int cookie)
 
    data->cookie = cookie;
 
-   if (!ecore_list_append(_ecore_xcb_cookies, data))
+   _ecore_xcb_cookies = eina_list_append(_ecore_xcb_cookies, data);
+   if (!eina_list_data_find(_ecore_xcb_cookies, data))
      {
         free(data);
         return;
@@ -94,16 +82,14 @@ _ecore_xcb_cookie_get (void)
    if (!_ecore_xcb_cookies)
      return 0;
 
-   data = ecore_list_first_remove(_ecore_xcb_cookies);
-   if (data)
-     {
+   data = eina_list_data_get(_ecore_xcb_cookies);
+   if (!data) return 0;
+
+   _ecore_xcb_cookies = eina_list_remove_list(_ecore_xcb_cookies, _ecore_xcb_cookies);
         cookie = data->cookie;
         free(data);
 
         return cookie;
-     }
-
-   return 0;
 }
 
 void
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c b/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c
index b97b522..9dc13a6 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_screensaver.c
@@ -12,6 +12,46 @@
   */
 
 
+#ifdef ECORE_XCB_SCREENSAVER
+static int _screensaver_available = 0;
+static xcb_screensaver_query_version_cookie_t _ecore_xcb_screensaver_init_cookie;
+#endif /* ECORE_XCB_SCREENSAVER */
+
+
+/* To avoid round trips, the initialization is separated in 2
+   functions: _ecore_xcb_screensaver_init and
+   _ecore_xcb_screensaver_init_finalize. The first one gets the cookies and
+   the second one gets the replies and set the atoms. */
+
+void
+_ecore_x_screensaver_init(const xcb_query_extension_reply_t *reply)
+{
+#ifdef ECORE_XCB_SCREENSAVER
+   if (reply && (reply->present))
+      _ecore_xcb_screensaver_init_cookie = xcb_screensaver_query_version_unchecked(_ecore_xcb_conn, 1, 1);
+#endif /* ECORE_XCB_SCREENSAVER */
+}
+
+void
+_ecore_x_screensaver_init_finalize(void)
+{
+#ifdef ECORE_XCB_SCREENSAVER
+   xcb_screensaver_query_version_reply_t *reply;
+
+   reply = xcb_screensaver_query_version_reply(_ecore_xcb_conn,
+                                               _ecore_xcb_screensaver_init_cookie, NULL);
+
+   if (reply)
+     {
+        if ((reply->server_major_version >= 1) &&
+            (reply->server_minor_version >= 1))
+          _screensaver_available = 1;
+        free(reply);
+     }
+#endif /* ECORE_XCB_SCREENSAVER */
+}
+
+
 /**
  * Return whether the X server supports the ScreenSaver Extension.
  * @return 1 if the X ScreenSaver Extension is available, 0 otherwise.
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_selection.c b/src/lib/ecore_x/xcb/ecore_xcb_selection.c
index dd4d075..d329add 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_selection.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_selection.c
@@ -2,6 +2,8 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <string.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_shape.c b/src/lib/ecore_x/xcb/ecore_xcb_shape.c
index a85b2b7..c0f2486 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_shape.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_shape.c
@@ -178,6 +178,7 @@ ecore_x_window_shape_rectangle_clip(Ecore_X_Window dest_win,
                                     int            width,
                                     int            height)
 {
+#ifdef ECORE_XCB_SHAPE
    xcb_rectangle_t rect;
    
    rect.x = x;
@@ -187,6 +188,7 @@ ecore_x_window_shape_rectangle_clip(Ecore_X_Window dest_win,
    xcb_shape_rectangles(_ecore_xcb_conn,
                         XCB_SHAPE_SO_INTERSECT, XCB_SHAPE_SK_BOUNDING,
                         0, dest_win, 0, 0, 1, &rect);
+#endif /* ECORE_XCB_SHAPE */
 }
 
 EAPI void
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_window.c b/src/lib/ecore_x/xcb/ecore_xcb_window.c
index b02eb7a..a9eabb3 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_window.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_window.c
@@ -2,7 +2,10 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
-#include "Ecore.h"
+#include <string.h>
+
+#include <Ecore.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
@@ -306,7 +309,7 @@ ecore_x_window_override_argb_new(Ecore_X_Window parent,
  * @ingroup Ecore_X_Window_Destroy_Group
  */
 EAPI void
-ecore_x_window_del(Ecore_X_Window window)
+ecore_x_window_free(Ecore_X_Window window)
 {
    /* sorry sir, deleting the root window doesn't sound like
     * a smart idea.
@@ -576,7 +579,7 @@ ecore_x_window_lower(Ecore_X_Window window)
 }
 
 /**
- * @defgroup Evas_X_Window_Change_Properties_Group X Window Change Property Functions
+ * @defgroup Ecore_X_Window_Change_Properties_Group X Window Change Property Functions
  *
  * Functions that change window properties.
  */
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_window_prop.c b/src/lib/ecore_x/xcb/ecore_xcb_window_prop.c
index c7b81af..14d539f 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_window_prop.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_window_prop.c
@@ -2,6 +2,8 @@
  * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
  */
 
+#include <string.h>
+
 #include "ecore_xcb_private.h"
 #include "Ecore_X_Atoms.h"
 
diff --git a/src/lib/ecore_x/xlib/Makefile.am b/src/lib/ecore_x/xlib/Makefile.am
index 4ebb57d..e9cfbf3 100644
--- a/src/lib/ecore_x/xlib/Makefile.am
+++ b/src/lib/ecore_x/xlib/Makefile.am
@@ -5,6 +5,7 @@ if BUILD_ECORE_X_XLIB
 
 AM_CPPFLAGS = \
 @Xcursor_cflags@ \
+ at XKB_CFLAGS@ \
 @XDAMAGE_CFLAGS@ \
 @XCOMPOSITE_CFLAGS@ \
 @XDPMS_CFLAGS@ \
@@ -19,9 +20,12 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/lib/ecore \
 -I$(top_srcdir)/src/lib/ecore_txt \
 -I$(top_srcdir)/src/lib/ecore_x \
+-I$(top_srcdir)/src/lib/ecore_input \
 -I$(top_builddir)/src/lib/ecore \
 -I$(top_builddir)/src/lib/ecore_txt \
 -I$(top_builddir)/src/lib/ecore_x \
+-I$(top_builddir)/src/lib/ecore_input \
+ at EVAS_CFLAGS@ \
 @EINA_CFLAGS@
 
 noinst_LTLIBRARIES = libecore_x_xlib.la
@@ -56,6 +60,7 @@ ecore_x_atoms.c
 
 libecore_x_xlib_la_LIBADD = \
 @Xcursor_libs@ \
+ at XKB_LIBS@ \
 @XDAMAGE_LIBS@ \
 @XCOMPOSITE_LIBS@ \
 @XDPMS_LIBS@ \
@@ -69,6 +74,7 @@ libecore_x_xlib_la_LIBADD = \
 @x_libs@ \
 $(top_builddir)/src/lib/ecore/libecore.la \
 $(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+$(top_builddir)/src/lib/ecore_input/libecore_input.la \
 @EINA_LIBS@
 
 libecore_x_xlib_la_LDFLAGS = -version-info @version_info@
diff --git a/src/lib/ecore_x/xlib/Makefile.in b/src/lib/ecore_x/xlib/Makefile.in
index 90bb3fb..6815f18 100644
--- a/src/lib/ecore_x/xlib/Makefile.in
+++ b/src/lib/ecore_x/xlib/Makefile.in
@@ -38,7 +38,11 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/check_x_extension.m4 \
 	$(top_srcdir)/m4/ecore_check_module.m4 \
-	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ecore_check_options.m4 \
+	$(top_srcdir)/m4/efl_doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
@@ -46,7 +50,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
 @BUILD_ECORE_X_XLIB_TRUE at libecore_x_xlib_la_DEPENDENCIES = $(top_builddir)/src/lib/ecore/libecore.la \
- at BUILD_ECORE_X_XLIB_TRUE@	$(top_builddir)/src/lib/ecore_txt/libecore_txt.la
+ at BUILD_ECORE_X_XLIB_TRUE@	$(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+ at BUILD_ECORE_X_XLIB_TRUE@	$(top_builddir)/src/lib/ecore_input/libecore_input.la
 am__libecore_x_xlib_la_SOURCES_DIST = ecore_x.c ecore_x_dnd.c \
 	ecore_x_sync.c ecore_x_randr.c ecore_x_fixes.c \
 	ecore_x_damage.c ecore_x_composite.c ecore_x_error.c \
@@ -122,72 +127,57 @@ DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
 DIRECTFB_LIBS = @DIRECTFB_LIBS@
 DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EET_CFLAGS = @EET_CFLAGS@
 EET_LIBS = @EET_LIBS@
+EFL_ECORE_BUILD = @EFL_ECORE_BUILD@
+EFL_ECORE_EVAS_BUILD = @EFL_ECORE_EVAS_BUILD@
+EFL_ECORE_FILE_BUILD = @EFL_ECORE_FILE_BUILD@
+EFL_ECORE_IMF_BUILD = @EFL_ECORE_IMF_BUILD@
+EFL_ECORE_INPUT_BUILD = @EFL_ECORE_INPUT_BUILD@
+EFL_ECORE_JOB_BUILD = @EFL_ECORE_JOB_BUILD@
+EFL_ECORE_SDL_BUILD = @EFL_ECORE_SDL_BUILD@
+EFL_ECORE_TXT_BUILD = @EFL_ECORE_TXT_BUILD@
+EFL_ECORE_WIN32_BUILD = @EFL_ECORE_WIN32_BUILD@
+EFL_ECORE_WINCE_BUILD = @EFL_ECORE_WINCE_BUILD@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
 EINA_LIBS = @EINA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
-EVAS_DIRECT3D_CFLAGS = @EVAS_DIRECT3D_CFLAGS@
-EVAS_DIRECT3D_LIBS = @EVAS_DIRECT3D_LIBS@
-EVAS_DIRECTFB_CFLAGS = @EVAS_DIRECTFB_CFLAGS@
-EVAS_DIRECTFB_LIBS = @EVAS_DIRECTFB_LIBS@
-EVAS_FB_CFLAGS = @EVAS_FB_CFLAGS@
-EVAS_FB_LIBS = @EVAS_FB_LIBS@
 EVAS_LIBS = @EVAS_LIBS@
-EVAS_OPENGL_GLEW_CFLAGS = @EVAS_OPENGL_GLEW_CFLAGS@
-EVAS_OPENGL_GLEW_LIBS = @EVAS_OPENGL_GLEW_LIBS@
-EVAS_OPENGL_X11_CFLAGS = @EVAS_OPENGL_X11_CFLAGS@
-EVAS_OPENGL_X11_LIBS = @EVAS_OPENGL_X11_LIBS@
-EVAS_QUARTZ_CFLAGS = @EVAS_QUARTZ_CFLAGS@
-EVAS_QUARTZ_LIBS = @EVAS_QUARTZ_LIBS@
-EVAS_SOFTWARE_16_DDRAW_CFLAGS = @EVAS_SOFTWARE_16_DDRAW_CFLAGS@
-EVAS_SOFTWARE_16_DDRAW_LIBS = @EVAS_SOFTWARE_16_DDRAW_LIBS@
-EVAS_SOFTWARE_16_WINCE_CFLAGS = @EVAS_SOFTWARE_16_WINCE_CFLAGS@
-EVAS_SOFTWARE_16_WINCE_LIBS = @EVAS_SOFTWARE_16_WINCE_LIBS@
-EVAS_SOFTWARE_16_X11_CFLAGS = @EVAS_SOFTWARE_16_X11_CFLAGS@
-EVAS_SOFTWARE_16_X11_LIBS = @EVAS_SOFTWARE_16_X11_LIBS@
-EVAS_SOFTWARE_BUFFER_CFLAGS = @EVAS_SOFTWARE_BUFFER_CFLAGS@
-EVAS_SOFTWARE_BUFFER_LIBS = @EVAS_SOFTWARE_BUFFER_LIBS@
-EVAS_SOFTWARE_DDRAW_CFLAGS = @EVAS_SOFTWARE_DDRAW_CFLAGS@
-EVAS_SOFTWARE_DDRAW_LIBS = @EVAS_SOFTWARE_DDRAW_LIBS@
-EVAS_SOFTWARE_SDL_CFLAGS = @EVAS_SOFTWARE_SDL_CFLAGS@
-EVAS_SOFTWARE_SDL_LIBS = @EVAS_SOFTWARE_SDL_LIBS@
-EVAS_SOFTWARE_X11_CFLAGS = @EVAS_SOFTWARE_X11_CFLAGS@
-EVAS_SOFTWARE_X11_LIBS = @EVAS_SOFTWARE_X11_LIBS@
-EVAS_SOFTWARE_XCB_CFLAGS = @EVAS_SOFTWARE_XCB_CFLAGS@
-EVAS_SOFTWARE_XCB_LIBS = @EVAS_SOFTWARE_XCB_LIBS@
-EVAS_XRENDER_X11_CFLAGS = @EVAS_XRENDER_X11_CFLAGS@
-EVAS_XRENDER_X11_LIBS = @EVAS_XRENDER_X11_LIBS@
-EVAS_XRENDER_XCB_CFLAGS = @EVAS_XRENDER_XCB_CFLAGS@
-EVAS_XRENDER_XCB_LIBS = @EVAS_XRENDER_XCB_LIBS@
 EVIL_CFLAGS = @EVIL_CFLAGS@
 EVIL_LIBS = @EVIL_LIBS@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
 GREP = @GREP@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
+NM = @NM@
 NMEDIT = @NMEDIT@
 OBJC = @OBJC@
 OBJCDEPMODE = @OBJCDEPMODE@
 OBJCFLAGS = @OBJCFLAGS@
+OBJCPP = @OBJCPP@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -196,8 +186,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 PKG_CONFIG = @PKG_CONFIG@
-QUARTZ_CFLAGS = @QUARTZ_CFLAGS@
-QUARTZ_LIBS = @QUARTZ_LIBS@
 RANLIB = @RANLIB@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_CONFIG = @SDL_CONFIG@
@@ -212,6 +200,8 @@ TLS2_CFLAGS = @TLS2_CFLAGS@
 TLS2_LIBS = @TLS2_LIBS@
 TLS_CFLAGS = @TLS_CFLAGS@
 TLS_LIBS = @TLS_LIBS@
+TSLIB_CFLAGS = @TSLIB_CFLAGS@
+TSLIB_LIBS = @TSLIB_LIBS@
 VERSION = @VERSION@
 WIN32_CFLAGS = @WIN32_CFLAGS@
 WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
@@ -252,6 +242,8 @@ XFIXES_CFLAGS = @XFIXES_CFLAGS@
 XFIXES_LIBS = @XFIXES_LIBS@
 XINERAMA_CFLAGS = @XINERAMA_CFLAGS@
 XINERAMA_LIBS = @XINERAMA_LIBS@
+XKB_CFLAGS = @XKB_CFLAGS@
+XKB_LIBS = @XKB_LIBS@
 XMKMF = @XMKMF@
 XPRINT_CFLAGS = @XPRINT_CFLAGS@
 XPRINT_LIBS = @XPRINT_LIBS@
@@ -275,6 +267,7 @@ abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 ac_ct_OBJC = @ac_ct_OBJC@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
@@ -295,36 +288,56 @@ docdir = @docdir@
 dvidir = @dvidir@
 ecore_con_cflags = @ecore_con_cflags@
 ecore_con_libs = @ecore_con_libs@
+ecore_con_release_info = @ecore_con_release_info@
 ecore_config_cflags = @ecore_config_cflags@
 ecore_config_libs = @ecore_config_libs@
+ecore_config_release_info = @ecore_config_release_info@
 ecore_directfb_cflags = @ecore_directfb_cflags@
 ecore_directfb_libs = @ecore_directfb_libs@
+ecore_directfb_release_info = @ecore_directfb_release_info@
 ecore_evas_cflags = @ecore_evas_cflags@
 ecore_evas_libs = @ecore_evas_libs@
+ecore_evas_release_info = @ecore_evas_release_info@
 ecore_fb_cflags = @ecore_fb_cflags@
 ecore_fb_libs = @ecore_fb_libs@
+ecore_fb_release_info = @ecore_fb_release_info@
 ecore_file_cflags = @ecore_file_cflags@
 ecore_file_libs = @ecore_file_libs@
+ecore_file_release_info = @ecore_file_release_info@
 ecore_imf_cflags = @ecore_imf_cflags@
 ecore_imf_evas_cflags = @ecore_imf_evas_cflags@
 ecore_imf_evas_libs = @ecore_imf_evas_libs@
+ecore_imf_evas_release_info = @ecore_imf_evas_release_info@
 ecore_imf_libs = @ecore_imf_libs@
+ecore_imf_release_info = @ecore_imf_release_info@
+ecore_input_cflags = @ecore_input_cflags@
+ecore_input_libs = @ecore_input_libs@
+ecore_input_release_info = @ecore_input_release_info@
 ecore_ipc_cflags = @ecore_ipc_cflags@
 ecore_ipc_libs = @ecore_ipc_libs@
+ecore_ipc_release_info = @ecore_ipc_release_info@
 ecore_job_cflags = @ecore_job_cflags@
 ecore_job_libs = @ecore_job_libs@
+ecore_job_release_info = @ecore_job_release_info@
 ecore_quartz_cflags = @ecore_quartz_cflags@
 ecore_quartz_libs = @ecore_quartz_libs@
+ecore_quartz_release_info = @ecore_quartz_release_info@
+ecore_release_info = @ecore_release_info@
 ecore_sdl_cflags = @ecore_sdl_cflags@
 ecore_sdl_libs = @ecore_sdl_libs@
+ecore_sdl_release_info = @ecore_sdl_release_info@
 ecore_txt_cflags = @ecore_txt_cflags@
 ecore_txt_libs = @ecore_txt_libs@
+ecore_txt_release_info = @ecore_txt_release_info@
 ecore_win32_cflags = @ecore_win32_cflags@
 ecore_win32_libs = @ecore_win32_libs@
+ecore_win32_release_info = @ecore_win32_release_info@
 ecore_wince_cflags = @ecore_wince_cflags@
 ecore_wince_libs = @ecore_wince_libs@
+ecore_wince_release_info = @ecore_wince_release_info@
 ecore_x_cflags = @ecore_x_cflags@
 ecore_x_libs = @ecore_x_libs@
+ecore_x_release_info = @ecore_x_release_info@
 efl_doxygen = @efl_doxygen@
 efl_have_doxygen = @efl_have_doxygen@
 exec_prefix = @exec_prefix@
@@ -344,6 +357,7 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 lt_enable_auto_import = @lt_enable_auto_import@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
@@ -352,17 +366,24 @@ pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
+quartz_ldflags = @quartz_ldflags@
+requirements_ecore = @requirements_ecore@
 requirements_ecore_con = @requirements_ecore_con@
 requirements_ecore_config = @requirements_ecore_config@
 requirements_ecore_directfb = @requirements_ecore_directfb@
 requirements_ecore_evas = @requirements_ecore_evas@
 requirements_ecore_fb = @requirements_ecore_fb@
 requirements_ecore_file = @requirements_ecore_file@
+requirements_ecore_imf = @requirements_ecore_imf@
+requirements_ecore_imf_evas = @requirements_ecore_imf_evas@
+requirements_ecore_input = @requirements_ecore_input@
 requirements_ecore_ipc = @requirements_ecore_ipc@
 requirements_ecore_job = @requirements_ecore_job@
 requirements_ecore_quartz = @requirements_ecore_quartz@
 requirements_ecore_sdl = @requirements_ecore_sdl@
 requirements_ecore_txt = @requirements_ecore_txt@
+requirements_ecore_win32 = @requirements_ecore_win32@
+requirements_ecore_wince = @requirements_ecore_wince@
 requirements_ecore_x = @requirements_ecore_x@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
@@ -371,7 +392,6 @@ sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-tslib_libs = @tslib_libs@
 version_info = @version_info@
 x_cflags = @x_cflags@
 x_includes = @x_includes@
@@ -379,6 +399,7 @@ x_libs = @x_libs@
 MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XLIB_TRUE at AM_CPPFLAGS = \
 @BUILD_ECORE_X_XLIB_TRUE@@Xcursor_cflags@ \
+ at BUILD_ECORE_X_XLIB_TRUE@@XKB_CFLAGS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XDAMAGE_CFLAGS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XCOMPOSITE_CFLAGS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XDPMS_CFLAGS@ \
@@ -393,9 +414,12 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_srcdir)/src/lib/ecore \
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_srcdir)/src/lib/ecore_txt \
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_srcdir)/src/lib/ecore_x \
+ at BUILD_ECORE_X_XLIB_TRUE@-I$(top_srcdir)/src/lib/ecore_input \
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_builddir)/src/lib/ecore \
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_builddir)/src/lib/ecore_txt \
 @BUILD_ECORE_X_XLIB_TRUE at -I$(top_builddir)/src/lib/ecore_x \
+ at BUILD_ECORE_X_XLIB_TRUE@-I$(top_builddir)/src/lib/ecore_input \
+ at BUILD_ECORE_X_XLIB_TRUE@@EVAS_CFLAGS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@EINA_CFLAGS@
 
 @BUILD_ECORE_X_XLIB_TRUE at noinst_LTLIBRARIES = libecore_x_xlib.la
@@ -429,6 +453,7 @@ MAINTAINERCLEANFILES = Makefile.in
 
 @BUILD_ECORE_X_XLIB_TRUE at libecore_x_xlib_la_LIBADD = \
 @BUILD_ECORE_X_XLIB_TRUE@@Xcursor_libs@ \
+ at BUILD_ECORE_X_XLIB_TRUE@@XKB_LIBS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XDAMAGE_LIBS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XCOMPOSITE_LIBS@ \
 @BUILD_ECORE_X_XLIB_TRUE@@XDPMS_LIBS@ \
@@ -442,6 +467,7 @@ MAINTAINERCLEANFILES = Makefile.in
 @BUILD_ECORE_X_XLIB_TRUE@@x_libs@ \
 @BUILD_ECORE_X_XLIB_TRUE@$(top_builddir)/src/lib/ecore/libecore.la \
 @BUILD_ECORE_X_XLIB_TRUE@$(top_builddir)/src/lib/ecore_txt/libecore_txt.la \
+ at BUILD_ECORE_X_XLIB_TRUE@$(top_builddir)/src/lib/ecore_input/libecore_input.la \
 @BUILD_ECORE_X_XLIB_TRUE@@EINA_LIBS@
 
 @BUILD_ECORE_X_XLIB_TRUE at libecore_x_xlib_la_LDFLAGS = -version-info @version_info@
diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c
index ab4c58e..5dd7938 100644
--- a/src/lib/ecore_x/xlib/ecore_x.c
+++ b/src/lib/ecore_x/xlib/ecore_x.c
@@ -7,21 +7,31 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "ecore_private.h"
 #include "Ecore.h"
 #include "ecore_x_private.h"
 #include "Ecore_X.h"
 #include "Ecore_X_Atoms.h"
+#include "Ecore_Input.h"
 
 static int _ecore_x_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
 static int _ecore_x_fd_handler_buf(void *data, Ecore_Fd_Handler *fd_handler);
 static int _ecore_x_key_mask_get(KeySym sym);
+static int _ecore_x_event_modifier(unsigned int state);
 
 static Ecore_Fd_Handler *_ecore_x_fd_handler_handle = NULL;
+
+static const int AnyXEvent = 0; /* 0 can be used as there are no event types
+				 * with index 0 and 1 as they are used for
+				 * errors
+				 */
+
 static int _ecore_x_event_shape_id = 0;
 static int _ecore_x_event_screensaver_id = 0;
 static int _ecore_x_event_sync_id = 0;
+
 #ifdef ECORE_XRANDR
 static int _ecore_x_event_randr_id = 0;
 #endif
@@ -50,14 +60,9 @@ Ecore_X_Window _ecore_x_private_win = 0;
 
 Ecore_X_Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM];
 
-EAPI int ECORE_X_EVENT_KEY_DOWN = 0;
-EAPI int ECORE_X_EVENT_KEY_UP = 0;
-EAPI int ECORE_X_EVENT_MOUSE_BUTTON_DOWN = 0;
-EAPI int ECORE_X_EVENT_MOUSE_BUTTON_UP = 0;
-EAPI int ECORE_X_EVENT_MOUSE_MOVE = 0;
+EAPI int ECORE_X_EVENT_ANY = 0;
 EAPI int ECORE_X_EVENT_MOUSE_IN = 0;
 EAPI int ECORE_X_EVENT_MOUSE_OUT = 0;
-EAPI int ECORE_X_EVENT_MOUSE_WHEEL = 0;
 EAPI int ECORE_X_EVENT_WINDOW_FOCUS_IN = 0;
 EAPI int ECORE_X_EVENT_WINDOW_FOCUS_OUT = 0;
 EAPI int ECORE_X_EVENT_WINDOW_KEYMAP = 0;
@@ -111,10 +116,10 @@ EAPI int ECORE_X_EVENT_STARTUP_SEQUENCE_NEW = 0;
 EAPI int ECORE_X_EVENT_STARTUP_SEQUENCE_CHANGE = 0;
 EAPI int ECORE_X_EVENT_STARTUP_SEQUENCE_REMOVE = 0;
 
-EAPI int ECORE_X_MODIFIER_SHIFT = 0;
-EAPI int ECORE_X_MODIFIER_CTRL = 0;
-EAPI int ECORE_X_MODIFIER_ALT = 0;
-EAPI int ECORE_X_MODIFIER_WIN = 0;
+int ECORE_X_MODIFIER_SHIFT = 0;
+int ECORE_X_MODIFIER_CTRL = 0;
+int ECORE_X_MODIFIER_ALT = 0;
+int ECORE_X_MODIFIER_WIN = 0;
 
 EAPI int ECORE_X_LOCK_SCROLL = 0;
 EAPI int ECORE_X_LOCK_NUM = 0;
@@ -164,6 +169,8 @@ ecore_x_init(const char *name)
 	_ecore_x_init_count++;
 	return _ecore_x_init_count;
      }
+   ecore_event_init();
+
    _ecore_x_disp = XOpenDisplay((char *)name);
    if (!_ecore_x_disp) return 0;
    _ecore_x_error_handler_init();
@@ -224,6 +231,7 @@ ecore_x_init(const char *name)
 #ifdef ECORE_XCURSOR   
    _ecore_x_xcursor = XcursorSupportsARGB(_ecore_x_disp);
 #endif
+   _ecore_x_event_handlers[AnyXEvent]        = _ecore_x_event_handle_any_event;
    _ecore_x_event_handlers[KeyPress]         = _ecore_x_event_handle_key_press;
    _ecore_x_event_handlers[KeyRelease]       = _ecore_x_event_handle_key_release;
    _ecore_x_event_handlers[ButtonPress]      = _ecore_x_event_handle_button_press;
@@ -279,17 +287,24 @@ ecore_x_init(const char *name)
    if (_ecore_x_event_damage_id)
      _ecore_x_event_handlers[_ecore_x_event_damage_id] = _ecore_x_event_handle_damage_notify;
 #endif
-
-   if (!ECORE_X_EVENT_KEY_DOWN)
+#ifdef ECORE_XKB
+   // set x autorepeat detection to on. that means instead of
+   //   press-release-press-release-press-release
+   // you get
+   //   press-press-press-press-press-release
+   do
+     {
+        Bool works = 0;
+        XkbSetDetectableAutoRepeat(_ecore_x_disp, 1, &works);
+     }
+   while (0);
+#endif
+   
+   if (!ECORE_X_EVENT_ANY)
      {
-	ECORE_X_EVENT_KEY_DOWN                 = ecore_event_type_new();
-	ECORE_X_EVENT_KEY_UP                   = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_BUTTON_DOWN        = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_BUTTON_UP          = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_MOVE               = ecore_event_type_new();
+	ECORE_X_EVENT_ANY                      = ecore_event_type_new();
 	ECORE_X_EVENT_MOUSE_IN                 = ecore_event_type_new();
 	ECORE_X_EVENT_MOUSE_OUT                = ecore_event_type_new();
-	ECORE_X_EVENT_MOUSE_WHEEL              = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_FOCUS_IN          = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_FOCUS_OUT         = ecore_event_type_new();
 	ECORE_X_EVENT_WINDOW_KEYMAP            = ecore_event_type_new();
@@ -385,6 +400,7 @@ ecore_x_init(const char *name)
 	_ecore_x_event_handlers = NULL;
 	return 0;
      }
+   
 
    _ecore_x_atoms_init();
 
@@ -478,6 +494,7 @@ _ecore_x_shutdown(int close_display)
    _ecore_x_selection_shutdown();
    _ecore_x_dnd_shutdown();
    ecore_x_netwm_shutdown();
+   ecore_event_shutdown();
    if (_ecore_x_init_count < 0) _ecore_x_init_count = 0;
    return _ecore_x_init_count;
 }
@@ -691,6 +708,9 @@ _ecore_x_fd_handler(void *data, Ecore_Fd_Handler *fd_handler __UNUSED__)
 
 	if ((ev.type >= 0) && (ev.type < _ecore_x_event_handlers_num))
 	  {
+	     if (_ecore_x_event_handlers[AnyXEvent])
+	       _ecore_x_event_handlers[AnyXEvent] (&ev);
+
 	     if (_ecore_x_event_handlers[ev.type])
 	       _ecore_x_event_handlers[ev.type] (&ev);
 	  }
@@ -1197,7 +1217,7 @@ ecore_x_window_button_grab(Ecore_X_Window win, int button,
    
    b = button;
    if (b == 0) b = AnyButton;
-   m = mod;
+   m = _ecore_x_event_modifier(mod);
    if (any_mod) m = AnyModifier;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1268,7 +1288,7 @@ ecore_x_window_button_ungrab(Ecore_X_Window win, int button,
    
    b = button;
    if (b == 0) b = AnyButton;
-   m = mod;
+   m = _ecore_x_event_modifier(mod);
    if (any_mod) m = AnyModifier;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1306,7 +1326,7 @@ ecore_x_window_key_grab(Ecore_X_Window win, const char *key,
      }
    if (keycode == 0) return;
    
-   m = mod;
+   m = _ecore_x_event_modifier(mod);
    if (any_mod) m = AnyModifier;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1367,7 +1387,7 @@ ecore_x_window_key_ungrab(Ecore_X_Window win, const char *key,
      }
    if (keycode == 0) return;
    
-   m = mod;
+   m = _ecore_x_event_modifier(mod);
    if (any_mod) m = AnyModifier;
    locks[0] = 0;
    locks[1] = ECORE_X_LOCK_CAPS;
@@ -1552,3 +1572,19 @@ ecore_x_pointer_xy_get(Ecore_X_Window win, int *x, int *y)
 /*****************************************************************************/
 /*****************************************************************************/
 /*****************************************************************************/
+
+static int
+_ecore_x_event_modifier(unsigned int state)
+{
+   int xmodifiers = 0;
+
+   if (state & ECORE_EVENT_MODIFIER_SHIFT) xmodifiers |= ECORE_X_MODIFIER_SHIFT;
+   if (state & ECORE_EVENT_MODIFIER_CTRL) xmodifiers |= ECORE_X_MODIFIER_CTRL;
+   if (state & ECORE_EVENT_MODIFIER_ALT) xmodifiers |= ECORE_X_MODIFIER_ALT;
+   if (state & ECORE_EVENT_MODIFIER_WIN) xmodifiers |= ECORE_X_MODIFIER_WIN;
+   if (state & ECORE_EVENT_LOCK_SCROLL) xmodifiers |= ECORE_X_LOCK_SCROLL;
+   if (state & ECORE_EVENT_LOCK_NUM) xmodifiers |= ECORE_X_LOCK_NUM;
+   if (state & ECORE_EVENT_LOCK_CAPS) xmodifiers |= ECORE_X_LOCK_CAPS;
+
+   return xmodifiers;
+}
diff --git a/src/lib/ecore_x/xlib/ecore_x_atoms.c b/src/lib/ecore_x/xlib/ecore_x_atoms.c
index 845368f..e8fda29 100644
--- a/src/lib/ecore_x/xlib/ecore_x_atoms.c
+++ b/src/lib/ecore_x/xlib/ecore_x_atoms.c
@@ -171,6 +171,8 @@ _ecore_x_atoms_init(void)
 	{ "_NET_WM_ACTION_FULLSCREEN", &ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN },
 	{ "_NET_WM_ACTION_CHANGE_DESKTOP", &ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP },
 	{ "_NET_WM_ACTION_CLOSE", &ECORE_X_ATOM_NET_WM_ACTION_CLOSE },
+	{ "_NET_WM_ACTION_ABOVE", &ECORE_X_ATOM_NET_WM_ACTION_ABOVE },
+	{ "_NET_WM_ACTION_BELOW", &ECORE_X_ATOM_NET_WM_ACTION_BELOW },
 
 	{ "_NET_WM_STRUT", &ECORE_X_ATOM_NET_WM_STRUT },
 	{ "_NET_WM_STRUT_PARTIAL", &ECORE_X_ATOM_NET_WM_STRUT_PARTIAL },
@@ -191,9 +193,9 @@ _ecore_x_atoms_init(void)
 	{ "_NET_WM_WINDOW_SHADE", &ECORE_X_ATOM_NET_WM_WINDOW_SHADE },
 
 	{ "TARGETS", &ECORE_X_ATOM_SELECTION_TARGETS },
+	{ "CLIPBOARD", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
 	{ "PRIMARY", &ECORE_X_ATOM_SELECTION_PRIMARY },
 	{ "SECONDARY", &ECORE_X_ATOM_SELECTION_SECONDARY },
-	{ "CLIPBOARD", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
 	{ "_ECORE_SELECTION_PRIMARY", &ECORE_X_ATOM_SELECTION_PROP_PRIMARY },
 	{ "_ECORE_SELECTION_SECONDARY", &ECORE_X_ATOM_SELECTION_PROP_SECONDARY },
 	{ "_ECORE_SELECTION_CLIPBOARD", &ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD },
diff --git a/src/lib/ecore_x/xlib/ecore_x_composite.c b/src/lib/ecore_x/xlib/ecore_x_composite.c
index 31dc99a..d9b7440 100644
--- a/src/lib/ecore_x/xlib/ecore_x_composite.c
+++ b/src/lib/ecore_x/xlib/ecore_x_composite.c
@@ -30,3 +30,93 @@ ecore_x_composite_query(void)
 {
    return _composite_available;
 }
+
+EAPI void
+ecore_x_composite_redirect_window(Ecore_X_Window win, Ecore_X_Composite_Update_Type type)
+{
+   int update;
+
+#ifdef ECORE_XCOMPOSITE
+   switch(type)
+     {
+      case ECORE_X_COMPOSITE_UPDATE_AUTOMATIC:
+	 update = CompositeRedirectAutomatic;
+	 break;
+      case ECORE_X_COMPOSITE_UPDATE_MANUAL:
+	 update = CompositeRedirectManual;
+	 break;
+     }
+   XCompositeRedirectWindow(_ecore_x_disp, win, update);
+#endif
+}
+
+EAPI void
+ecore_x_composite_redirect_subwindows(Ecore_X_Window win, Ecore_X_Composite_Update_Type type)
+{
+   int update;
+
+#ifdef ECORE_XCOMPOSITE
+   switch(type)
+     {
+      case ECORE_X_COMPOSITE_UPDATE_AUTOMATIC:
+	 update = CompositeRedirectAutomatic;
+	 break;
+      case ECORE_X_COMPOSITE_UPDATE_MANUAL:
+	 update = CompositeRedirectManual;
+	 break;
+     }
+   XCompositeRedirectSubwindows(_ecore_x_disp, win, update);
+#endif
+}
+
+EAPI void
+ecore_x_composite_unredirect_window(Ecore_X_Window win, Ecore_X_Composite_Update_Type type)
+{
+   int update;
+
+#ifdef ECORE_XCOMPOSITE
+   switch(type)
+     {
+      case ECORE_X_COMPOSITE_UPDATE_AUTOMATIC:
+	 update = CompositeRedirectAutomatic;
+	 break;
+      case ECORE_X_COMPOSITE_UPDATE_MANUAL:
+	 update = CompositeRedirectManual;
+	 break;
+     }
+   XCompositeUnredirectWindow(_ecore_x_disp, win, update);
+#endif
+}
+
+EAPI void
+ecore_x_composite_unredirect_subwindows(Ecore_X_Window win, Ecore_X_Composite_Update_Type type)
+{
+   int update;
+
+#ifdef ECORE_XCOMPOSITE
+   switch(type)
+     {
+      case ECORE_X_COMPOSITE_UPDATE_AUTOMATIC:
+	 update = CompositeRedirectAutomatic;
+	 break;
+      case ECORE_X_COMPOSITE_UPDATE_MANUAL:
+	 update = CompositeRedirectManual;
+	 break;
+     }
+   XCompositeUnredirectSubwindows(_ecore_x_disp, win, update);
+#endif
+}
+
+EAPI Ecore_X_Pixmap
+ecore_x_composite_name_window_pixmap_get(Ecore_X_Window win)
+{
+   Ecore_X_Pixmap pixmap;
+  
+#ifdef ECORE_XCOMPOSITE
+   pixmap = XCompositeNameWindowPixmap(_ecore_x_disp, win);
+#else
+   return None;
+#endif
+
+   return pixmap;
+}
diff --git a/src/lib/ecore_x/xlib/ecore_x_dnd.c b/src/lib/ecore_x/xlib/ecore_x_dnd.c
index c2f0659..382dff8 100644
--- a/src/lib/ecore_x/xlib/ecore_x_dnd.c
+++ b/src/lib/ecore_x/xlib/ecore_x_dnd.c
@@ -80,7 +80,7 @@ _ecore_x_dnd_shutdown(void)
 }
 
 static int
-_ecore_x_dnd_converter_copy(char *target, void *data, int size, void **data_ret, int *size_ret)
+_ecore_x_dnd_converter_copy(char *target __UNUSED__, void *data, int size, void **data_ret, int *size_ret)
 {
    XTextProperty text_prop;
    char *mystr;
@@ -95,7 +95,7 @@ _ecore_x_dnd_converter_copy(char *target, void *data, int size, void **data_ret,
 
    if (XmbTextListToTextProperty(_ecore_x_disp, &mystr, 1, style, &text_prop) == Success)
      {
-	int bufsize = strlen(text_prop.value) + 1;
+	int bufsize = strlen((char *)text_prop.value) + 1;
 	*data_ret = malloc(bufsize);
 	memcpy(*data_ret, text_prop.value, bufsize);
 	*size_ret = bufsize;
@@ -260,7 +260,7 @@ ecore_x_dnd_type_set(Ecore_X_Window win, const char *type, int on)
 }
 
 EAPI void
-ecore_x_dnd_types_set(Ecore_X_Window win, char **types, unsigned int num_types)
+ecore_x_dnd_types_set(Ecore_X_Window win, const char **types, unsigned int num_types)
 {
    Ecore_X_Atom      *newset = NULL;
    unsigned int      i;
diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c b/src/lib/ecore_x/xlib/ecore_x_events.c
index a27b778..8838778 100644
--- a/src/lib/ecore_x/xlib/ecore_x_events.c
+++ b/src/lib/ecore_x/xlib/ecore_x_events.c
@@ -7,6 +7,7 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 
 #include <langinfo.h>
 
@@ -15,6 +16,7 @@
 #include "ecore_x_private.h"
 #include "Ecore_X.h"
 #include "Ecore_X_Atoms.h"
+#include "Ecore_Input.h"
 
 /** OpenBSD does not define CODESET
  * FIXME ??
@@ -32,8 +34,6 @@ static void _ecore_x_event_free_window_prop_icon_name_change(void *data, void *e
 static void _ecore_x_event_free_window_prop_visible_icon_name_change(void *data, void *ev);
 static void _ecore_x_event_free_window_prop_client_machine_change(void *data, void *ev);
 #endif
-static void _ecore_x_event_free_key_down(void *data, void *ev);
-static void _ecore_x_event_free_key_up(void *data, void *ev);
 
 static Window _ecore_x_mouse_down_last_win = 0;
 static Window _ecore_x_mouse_down_last_last_win = 0;
@@ -43,6 +43,22 @@ static Time _ecore_x_mouse_down_last_time = 0;
 static Time _ecore_x_mouse_down_last_last_time = 0;
 static int _ecore_x_mouse_up_count = 0;
 static int _ecore_x_mouse_down_did_triple = 0;
+static int _ecore_x_last_event_mouse_move = 0;
+static Ecore_Event *_ecore_x_last_event_mouse_move_event = NULL;
+
+static void
+_ecore_x_event_free_mouse_move(void *data __UNUSED__, void *ev)
+{
+   Ecore_Event_Mouse_Move *e;
+
+   e = ev;
+   if (_ecore_x_last_event_mouse_move)
+     {
+	_ecore_x_last_event_mouse_move_event = NULL;
+	_ecore_x_last_event_mouse_move = 0;
+     }
+   free(e);
+}
 
 EAPI void
 ecore_x_event_mask_set(Ecore_X_Window w, Ecore_X_Event_Mask mask)
@@ -134,30 +150,6 @@ _ecore_x_event_free_window_prop_client_machine_change(void *data, void *ev)
 #endif
 
 static void
-_ecore_x_event_free_key_down(void *data __UNUSED__, void *ev)
-{
-   Ecore_X_Event_Key_Down *e;
-
-   e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->key_compose) free(e->key_compose);
-   free(e);
-}
-
-static void
-_ecore_x_event_free_key_up(void *data __UNUSED__, void *ev)
-{
-   Ecore_X_Event_Key_Up *e;
-
-   e = ev;
-   if (e->keyname) free(e->keyname);
-   if (e->keysymbol) free(e->keysymbol);
-   if (e->key_compose) free(e->key_compose);
-   free(e);
-}
-
-static void
 _ecore_x_event_free_xdnd_enter(void *data __UNUSED__, void *ev)
 {
    Ecore_X_Event_Xdnd_Enter *e;
@@ -183,150 +175,262 @@ _ecore_x_event_free_selection_notify(void *data __UNUSED__, void *ev)
    free(e);
 }
 
-void
-_ecore_x_event_handle_key_press(XEvent *xevent)
+static unsigned int
+_ecore_x_event_modifiers(unsigned int state)
+{
+   unsigned int	modifiers = 0;
+
+   if (state & ECORE_X_MODIFIER_SHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
+   if (state & ECORE_X_MODIFIER_CTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
+   if (state & ECORE_X_MODIFIER_ALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
+   if (state & ECORE_X_MODIFIER_WIN) modifiers |= ECORE_EVENT_MODIFIER_WIN;
+   if (state & ECORE_X_LOCK_SCROLL) modifiers |= ECORE_EVENT_LOCK_SCROLL;
+   if (state & ECORE_X_LOCK_NUM) modifiers |= ECORE_EVENT_LOCK_NUM;
+   if (state & ECORE_X_LOCK_CAPS) modifiers |= ECORE_EVENT_LOCK_CAPS;
+
+   return modifiers;
+}
+
+static void
+_ecore_mouse_move(unsigned int timestamp, unsigned int xmodifiers,
+		  int x, int y,
+		  int x_root, int y_root,
+		  unsigned int event_window,
+		  unsigned int window,
+		  unsigned int root_win,
+		  int same_screen)
 {
-   Ecore_X_Event_Key_Down *e;
-   char *keyname, *buf;
-   int val, buflen = 256;
+   Ecore_Event_Mouse_Move *e;
+   Ecore_Event *event;
+
+   e = malloc(sizeof(Ecore_Event_Mouse_Move));
+   if (!e) return ;
+
+   e->window = window;
+   e->root_window = root_win;
+   e->timestamp = timestamp;
+   e->same_screen = same_screen;
+   e->event_window = event_window;
+
+   e->modifiers = _ecore_x_event_modifiers(xmodifiers);
+   e->x = x;
+   e->y = y;
+   e->root.x = x_root;
+   e->root.y = y_root;
+
+   event = ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, _ecore_x_event_free_mouse_move, NULL);
+
+   _ecore_x_event_last_time = timestamp;
+   _ecore_x_event_last_win = window;
+   _ecore_x_event_last_root_x = x_root;
+   _ecore_x_event_last_root_y = y_root;
+
+   _ecore_x_last_event_mouse_move_event = event;
+}
+
+static void
+_ecore_key_press(int event,
+		 XKeyEvent *xevent)
+{
+   Ecore_Event_Key *e;
+   const char *compose = NULL;
+   char *tmp = NULL;
+   char *keyname;
+   char *key;
+   char keyname_buffer[256];
+   char compose_buffer[256];
    KeySym sym;
    XComposeStatus status;
+   int val;
 
-   e = calloc(1, sizeof(Ecore_X_Event_Key_Down));
-   if (!e) return;
-   buf = malloc(buflen);
-   if (!buf)
-     {
-	free(e);
-	return;
-     }
-   keyname = XKeysymToString(XKeycodeToKeysym(xevent->xkey.display, 
-					      xevent->xkey.keycode, 0));
+   _ecore_x_last_event_mouse_move = 0;
+   keyname = XKeysymToString(XKeycodeToKeysym(xevent->display,
+					      xevent->keycode, 0));
    if (!keyname)
      {
-	snprintf(buf, buflen, "Keycode-%i", xevent->xkey.keycode);
-	keyname = buf;
-     }
-   e->keyname = strdup(keyname);
-   if (!e->keyname)
-     {
-	free(buf);
-	free(e);
-	return;
+	snprintf(keyname_buffer, sizeof(keyname_buffer), "Keycode-%i", xevent->keycode);
+	keyname = keyname_buffer;
+	if (!keyname) return ;
      }
+
+   sym = 0;
+   key = NULL;
+   compose = NULL;
    if (_ecore_x_ic)
      {
 	Status mbstatus;
-
 #ifdef X_HAVE_UTF8_STRING
-	val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, buf, buflen - 1, &sym, &mbstatus);
+	val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, compose_buffer, sizeof(compose_buffer) - 1, &sym, &mbstatus);
 #else
-	val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, buf, buflen - 1, &sym, &mbstatus);
+	val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, compose_buffer, sizeof(compose_buffer) - 1, &sym, &mbstatus);
 #endif
 	if (mbstatus == XBufferOverflow)
 	  {
-	     buflen = val + 1;
-	     buf = realloc(buf, buflen);
+	     tmp = malloc(sizeof (char) * (val + 1));
+	     if (!tmp) return ;
+
+	     compose = tmp;
+
 #ifdef X_HAVE_UTF8_STRING
-	     val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, buf, buflen - 1, &sym, &mbstatus);
+	     val = Xutf8LookupString(_ecore_x_ic, (XKeyEvent *)xevent, tmp, val, &sym, &mbstatus);
 #else
-	     val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, buf, buflen - 1, &sym, &mbstatus);
+	     val = XmbLookupString(_ecore_x_ic, (XKeyEvent *)xevent, tmp, val, &sym, &mbstatus);
+#endif
+	     if (val > 0)
+	       {
+		  tmp[val] = 0;
+
+#ifndef X_HAVE_UTF8_STRING
+		  compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", tmp);
+		  free(tmp);
+		  tmp = compose;
 #endif
+	       }
+	     else compose = NULL;
 	  }
-	if (val > 0)
-	  {
-	     buf[val] = 0;
+	else
+	  if (val > 0)
+	    {
+	       compose_buffer[val] = 0;
 #ifdef X_HAVE_UTF8_STRING
-	     e->key_compose = strdup(buf);
+	       compose = compose_buffer;
 #else
-	     e->key_compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", buf);
+	       compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", compose_buffer);
+	       tmp = compose;
 #endif
-	  }
+	    }
      }
    else
      {
-	val = XLookupString((XKeyEvent *)xevent, buf, sizeof(buf), &sym, &status);
+	val = XLookupString(xevent, compose_buffer, sizeof(compose_buffer), &sym, &status);
 	if (val > 0)
 	  {
-	     buf[val] = 0;
-	     e->key_compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", buf);
+	     compose_buffer[val] = 0;
+	     compose = ecore_txt_convert(nl_langinfo(CODESET), "UTF-8", compose_buffer);
+	     tmp = compose;
 	  }
-        else e->key_compose = NULL;
      }
-   keyname = XKeysymToString(sym);
-   if (keyname) e->keysymbol = strdup(keyname);
-   else e->keysymbol = strdup(e->keyname);
-   if (!e->keysymbol)
+
+   key = XKeysymToString(sym);
+   if (!key) key = keyname;
+   if (!key) goto on_error;
+
+   e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) + (compose ? strlen(compose) : 0) + 3);
+   if (!e) goto on_error;
+
+   e->keyname = (char*) (e + 1);
+   e->key = e->keyname + strlen(keyname) + 1;
+   e->compose = (compose) ? e->key + strlen(key) + 1 : NULL;
+   e->string = e->compose;
+
+   strcpy((char *) e->keyname, keyname);
+   strcpy((char *) e->key, key);
+   if (compose) strcpy((char *) e->compose, compose);
+
+   e->modifiers = _ecore_x_event_modifiers(xevent->state);
+
+   e->timestamp = xevent->time;
+   e->window = xevent->subwindow ? xevent->subwindow : xevent->window;
+   e->event_window = xevent->window;
+   e->same_screen = xevent->same_screen;
+   e->root_window = xevent->root;
+
+   ecore_event_add(event, e, NULL, NULL);
+
+   _ecore_x_event_last_time = e->timestamp;
+
+ on_error:
+   if (tmp) free(tmp);
+}
+
+static Ecore_Event_Mouse_Button*
+_ecore_mouse_button(int event,
+		    unsigned int timestamp, unsigned int xmodifiers,
+		    unsigned int buttons,
+		    int x, int y,
+		    int x_root, int y_root,
+		    unsigned int event_window,
+		    unsigned int window,
+		    unsigned int root_win,
+		    int same_screen)
+{
+   Ecore_Event_Mouse_Button *e;
+
+   e = malloc(sizeof(Ecore_Event_Mouse_Button));
+   if (!e) return NULL;
+
+   e->window = window;
+   e->root_window = root_win;
+   e->timestamp = timestamp;
+   e->same_screen = same_screen;
+   e->event_window = event_window;
+
+   e->buttons = buttons;
+   e->modifiers = _ecore_x_event_modifiers(xmodifiers);
+   e->double_click = 0;
+   e->triple_click = 0;
+   e->x = x;
+   e->y = y;
+   e->root.x = x_root;
+   e->root.y = y_root;
+
+   if (event_window == window)
      {
-	if (e->keyname) free(e->keyname);
-	if (e->key_compose) free(e->key_compose);
-	free(buf);
-	free(e);
-	return;
+	if (((int)(timestamp - _ecore_x_mouse_down_last_time) <=
+	     (int)(1000 * _ecore_x_double_click_time)) &&
+	    (window == _ecore_x_mouse_down_last_win) &&
+	    (event_window == _ecore_x_mouse_down_last_event_win)
+	    )
+	  e->double_click = 1;
+	if (((int)(timestamp - _ecore_x_mouse_down_last_last_time) <=
+	     (int)(2 * 1000 * _ecore_x_double_click_time)) &&
+	    (window == _ecore_x_mouse_down_last_win) &&
+	    (window == _ecore_x_mouse_down_last_last_win) &&
+	    (event_window == _ecore_x_mouse_down_last_event_win) &&
+	    (event_window == _ecore_x_mouse_down_last_last_event_win)
+	    )
+	  {
+	     e->triple_click = 1;
+	     _ecore_x_mouse_down_did_triple = 1;
+	  }
+	else
+	  _ecore_x_mouse_down_did_triple = 0;
      }
-   if (xevent->xkey.subwindow) e->win = xevent->xkey.subwindow;
-   else e->win = xevent->xkey.window;
-   e->event_win = xevent->xkey.window;
-   e->time = xevent->xkey.time;
-   e->modifiers = xevent->xkey.state;
-   e->same_screen = xevent->xkey.same_screen;
-   e->root_win = xevent->xkey.root;
-   _ecore_x_event_last_time = e->time;
-   ecore_event_add(ECORE_X_EVENT_KEY_DOWN, e, _ecore_x_event_free_key_down, NULL);
-   free(buf);
+
+   if (event == ECORE_EVENT_MOUSE_BUTTON_DOWN
+       && !e->double_click
+       && !e->triple_click)
+     _ecore_x_mouse_up_count = 0;
+
+   _ecore_x_event_last_time = e->timestamp;
+   _ecore_x_event_last_win = e->window;
+   _ecore_x_event_last_root_x = x_root;
+   _ecore_x_event_last_root_y = y_root;
+
+   ecore_event_add(event, e, NULL, NULL);
+
+   return e;
 }
 
 void
-_ecore_x_event_handle_key_release(XEvent *xevent)
+_ecore_x_event_handle_any_event(XEvent *xevent)
 {
-   Ecore_X_Event_Key_Up *e;
-   char *keyname;
-   int val;
-   char buf[256];
-   KeySym sym;
-   XComposeStatus status;
+   XEvent* ev = malloc(sizeof(XEvent));
+   memcpy(ev, xevent, sizeof(XEvent));
 
-   e = calloc(1, sizeof(Ecore_X_Event_Key_Up));
-   if (!e) return;
-   keyname = XKeysymToString(XKeycodeToKeysym(xevent->xkey.display, 
-					      xevent->xkey.keycode, 0));
-   if (!keyname)
-     {
-	snprintf(buf, sizeof(buf), "Keycode-%i", xevent->xkey.keycode);
-	keyname = buf;
-     }
-   e->keyname = strdup(keyname);
-   if (!e->keyname)
-     {
-	free(e);
-	return;
-     }
-   val = XLookupString((XKeyEvent *)xevent, buf, sizeof(buf), &sym, &status);
-   if (val > 0)
-     {
-	buf[val] = 0;
-	e->key_compose = ecore_txt_convert("ISO8859-1", "UTF-8", buf);
-     }
-   else e->key_compose = NULL;
-   keyname = XKeysymToString(sym);
-   if (keyname) e->keysymbol = strdup(keyname);
-   else e->keysymbol = strdup(e->keyname);
-   if (!e->keysymbol)
-     {
-	if (e->keyname) free(e->keyname);
-	if (e->key_compose) free(e->key_compose);
-	free(e);
-	return;
-     }
-   if (xevent->xkey.subwindow) e->win = xevent->xkey.subwindow;
-   else e->win = xevent->xkey.window;
-   e->event_win = xevent->xkey.window;
-   e->time = xevent->xkey.time;
-   e->modifiers = xevent->xkey.state;
-   e->same_screen = xevent->xkey.same_screen;
-   e->root_win = xevent->xkey.root;
-   _ecore_x_event_last_time = e->time;
-   ecore_event_add(ECORE_X_EVENT_KEY_UP, e, _ecore_x_event_free_key_up, NULL);
+   ecore_event_add(ECORE_X_EVENT_ANY, ev, NULL, NULL);
+}
+
+void
+_ecore_x_event_handle_key_press(XEvent *xevent)
+{
+   _ecore_key_press(ECORE_EVENT_KEY_DOWN, (XKeyEvent *) xevent);
+}
+
+void
+_ecore_x_event_handle_key_release(XEvent *xevent)
+{
+   _ecore_key_press(ECORE_EVENT_KEY_UP, (XKeyEvent *) xevent);
 }
 
 void
@@ -334,55 +438,42 @@ _ecore_x_event_handle_button_press(XEvent *xevent)
 {
    int i;
 
+   _ecore_x_last_event_mouse_move = 0;
    if ((xevent->xbutton.button > 3) && (xevent->xbutton.button < 8))
      {
-	Ecore_X_Event_Mouse_Wheel *e;
+	Ecore_Event_Mouse_Wheel *e;
 
-	e = malloc(sizeof(Ecore_X_Event_Mouse_Wheel));
+	e = malloc(sizeof(Ecore_Event_Mouse_Wheel));
 	if (!e) return;
 
-	e->modifiers = xevent->xbutton.state;
-	e->direction = 0;
-	e->z = 0;
-	if (xevent->xbutton.button == 4)
-	  {
-	     e->direction = 0;
-	     e->z = -1;
-	  }
-	else if (xevent->xbutton.button == 5)
+	e->timestamp = xevent->xbutton.time;
+	e->modifiers = _ecore_x_event_modifiers(xevent->xbutton.state);
+	switch (xevent->xbutton.button)
 	  {
-	     e->direction = 0;
-	     e->z = 1;
-	  }
-	else if (xevent->xbutton.button == 6)
-	  {
-	     e->direction = 1;
-	     e->z = -1;
-	  }
-	else if (xevent->xbutton.button == 7)
-	  {
-	     e->direction = 1;
-	     e->z = 1;
+	   case 4: e->direction = 0; e->z = -1; break;
+	   case 5: e->direction = 0; e->z = 1; break;
+	   case 6: e->direction = 1; e->z = -1; break;
+	   case 7: e->direction = 1; e->z = 1; break;
+           default: e->direction = 0; e->z = 0; break;
 	  }
+
 	e->x = xevent->xbutton.x;
 	e->y = xevent->xbutton.y;
 	e->root.x = xevent->xbutton.x_root;
 	e->root.y = xevent->xbutton.y_root;
 
-	if (xevent->xbutton.subwindow)
-	  e->win = xevent->xbutton.subwindow;
-	else
-	  e->win = xevent->xbutton.window;
-
-	e->event_win = xevent->xbutton.window;
+	if (xevent->xbutton.subwindow) e->window = xevent->xbutton.subwindow;
+	else e->window = xevent->xbutton.window;
+	e->event_window = xevent->xbutton.window;
 	e->same_screen = xevent->xbutton.same_screen;
-	e->root_win = xevent->xbutton.root;
-	e->time = xevent->xbutton.time;
-	_ecore_x_event_last_time = e->time;
-	_ecore_x_event_last_win = e->win;
-	_ecore_x_event_last_root_x = e->root.x;
-	_ecore_x_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_WHEEL, e, NULL, NULL);
+	e->root_window = xevent->xbutton.root;
+
+	_ecore_x_event_last_time = e->timestamp;
+	_ecore_x_event_last_win = e->window;
+	_ecore_x_event_last_root_x = xevent->xbutton.x_root;
+	_ecore_x_event_last_root_y = xevent->xbutton.y_root;
+	ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, e, NULL, NULL);
+
 	for (i = 0; i < _ecore_window_grabs_num; i++)
 	  {
 	     if ((_ecore_window_grabs[i] == xevent->xbutton.window) ||
@@ -391,8 +482,8 @@ _ecore_x_event_handle_button_press(XEvent *xevent)
 		  int replay = 0;
 
 		  if (_ecore_window_grab_replay_func)
-		    replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data, 
-							    ECORE_X_EVENT_MOUSE_WHEEL,
+		    replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data,
+							    ECORE_EVENT_MOUSE_WHEEL,
 							    e);
 		  if (replay)
 		    XAllowEvents(xevent->xbutton.display,
@@ -406,84 +497,41 @@ _ecore_x_event_handle_button_press(XEvent *xevent)
      }
    else
      {
-	  {
-	     Ecore_X_Event_Mouse_Move *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	     if (!e) return;
-	     e->modifiers = xevent->xbutton.state;
-	     e->x = xevent->xbutton.x;
-	     e->y = xevent->xbutton.y;
-	     e->root.x = xevent->xbutton.x_root;
-	     e->root.y = xevent->xbutton.y_root;
-	     if (xevent->xbutton.subwindow) e->win = xevent->xbutton.subwindow;
-	     else e->win = xevent->xbutton.window;
-	     e->same_screen = xevent->xbutton.same_screen;
-	     e->root_win = xevent->xbutton.root;
-	     e->event_win = xevent->xbutton.window;
-	     e->time = xevent->xbutton.time;
-	     _ecore_x_event_last_time = e->time;
-	     _ecore_x_event_last_win = e->win;
-	     _ecore_x_event_last_root_x = e->root.x;
-	     _ecore_x_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-	  }
-	  {
-	     Ecore_X_Event_Mouse_Button_Down *e;
-
-            if (_ecore_x_mouse_down_did_triple)
-              {
-                 _ecore_x_mouse_down_last_win = 0;
-                 _ecore_x_mouse_down_last_last_win = 0;
-                 _ecore_x_mouse_down_last_event_win = 0;
-                 _ecore_x_mouse_down_last_last_event_win = 0;
-                 _ecore_x_mouse_down_last_time = 0;
-                 _ecore_x_mouse_down_last_last_time = 0;
-              }
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Button_Down));
-	     if (!e) return;
-	     e->button = xevent->xbutton.button;
-	     e->modifiers = xevent->xbutton.state;
-	     e->x = xevent->xbutton.x;
-	     e->y = xevent->xbutton.y;
-	     e->root.x = xevent->xbutton.x_root;
-	     e->root.y = xevent->xbutton.y_root;
-	     if (xevent->xbutton.subwindow) e->win = xevent->xbutton.subwindow;
-	     else e->win = xevent->xbutton.window;
-	     e->same_screen = xevent->xbutton.same_screen;
-	     e->root_win = xevent->xbutton.root;
-	     e->event_win = xevent->xbutton.window;
-	     e->time = xevent->xbutton.time;
-	     if (e->win == e->event_win)
-	       {
-		  if (((int)(e->time - _ecore_x_mouse_down_last_time) <= 
-		       (int)(1000 * _ecore_x_double_click_time)) &&
-		      (e->win == _ecore_x_mouse_down_last_win) &&
-		      (e->event_win == _ecore_x_mouse_down_last_event_win)
-		      )
-		    e->double_click = 1;
-		  if (((int)(e->time - _ecore_x_mouse_down_last_last_time) <= 
-		       (int)(2 * 1000 * _ecore_x_double_click_time)) &&
-		      (e->win == _ecore_x_mouse_down_last_win) &&
-                      (e->win == _ecore_x_mouse_down_last_last_win) &&
-		      (e->event_win == _ecore_x_mouse_down_last_event_win) &&
-                      (e->event_win == _ecore_x_mouse_down_last_last_event_win)
-		      )
-		    {
-                        e->triple_click = 1;
-		       _ecore_x_mouse_down_did_triple = 1;
-		    }
-                  else
-                    _ecore_x_mouse_down_did_triple = 0;
-	       }
-             if (!e->double_click && !e->triple_click)
-               _ecore_x_mouse_up_count = 0;
-	     _ecore_x_event_last_time = e->time;
-	     _ecore_x_event_last_win = e->win;
-	     _ecore_x_event_last_root_x = e->root.x;
-	     _ecore_x_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_BUTTON_DOWN, e, NULL, NULL);
+	{
+	   _ecore_mouse_move(xevent->xbutton.time, xevent->xbutton.state,
+			     xevent->xbutton.x, xevent->xbutton.y,
+			     xevent->xbutton.x_root, xevent->xbutton.y_root,
+			     xevent->xbutton.window,
+			     (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
+			     xevent->xbutton.root,
+			     xevent->xbutton.same_screen);
+	}
+	{
+	   Ecore_Event_Mouse_Button *e;
+	   int event_window;
+	   int window;
+
+	   if (_ecore_x_mouse_down_did_triple)
+	     {
+		_ecore_x_mouse_down_last_win = 0;
+		_ecore_x_mouse_down_last_last_win = 0;
+		_ecore_x_mouse_down_last_event_win = 0;
+		_ecore_x_mouse_down_last_last_event_win = 0;
+		_ecore_x_mouse_down_last_time = 0;
+		_ecore_x_mouse_down_last_last_time = 0;
+	     }
+
+	   window = (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window);
+	   event_window = xevent->xbutton.window;
+
+	   e = _ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_DOWN,
+				   xevent->xbutton.time, xevent->xbutton.state,
+				   xevent->xbutton.button,
+				   xevent->xbutton.x, xevent->xbutton.y,
+				   xevent->xbutton.x_root, xevent->xbutton.y_root,
+				   event_window, window,
+				   xevent->xbutton.root, xevent->xbutton.same_screen);
+	   if (e)
 	     for (i = 0; i < _ecore_window_grabs_num; i++)
 	       {
 		  if ((_ecore_window_grabs[i] == xevent->xbutton.window) ||
@@ -492,8 +540,8 @@ _ecore_x_event_handle_button_press(XEvent *xevent)
 		       int replay = 0;
 
 		       if (_ecore_window_grab_replay_func)
-			 replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data, 
-								 ECORE_X_EVENT_MOUSE_BUTTON_DOWN,
+			 replay = _ecore_window_grab_replay_func(_ecore_window_grab_replay_data,
+								 ECORE_EVENT_MOUSE_BUTTON_DOWN,
 								 e);
 		       if (replay)
 			 XAllowEvents(xevent->xbutton.display,
@@ -504,159 +552,96 @@ _ecore_x_event_handle_button_press(XEvent *xevent)
 		       break;
 		    }
 	       }
-	     if (e->win == e->event_win)
-	       {
-		  if (!_ecore_x_mouse_down_did_triple)
-		    {
-		       _ecore_x_mouse_down_last_last_win = _ecore_x_mouse_down_last_win;
-		       if (xevent->xbutton.subwindow)
-			 _ecore_x_mouse_down_last_win = xevent->xbutton.subwindow;
-		       else
-			 _ecore_x_mouse_down_last_win = xevent->xbutton.window;
-		       _ecore_x_mouse_down_last_last_event_win = _ecore_x_mouse_down_last_event_win;
-		       _ecore_x_mouse_down_last_event_win = xevent->xbutton.window;
-		       _ecore_x_mouse_down_last_last_time = _ecore_x_mouse_down_last_time;
-		       _ecore_x_mouse_down_last_time = xevent->xbutton.time;
-		    }
-	       }
-	  }
+
+	   if (window == event_window)
+	     {
+		if (!_ecore_x_mouse_down_did_triple)
+		  {
+		     _ecore_x_mouse_down_last_last_win = _ecore_x_mouse_down_last_win;
+		     if (xevent->xbutton.subwindow)
+		       _ecore_x_mouse_down_last_win = xevent->xbutton.subwindow;
+		     else
+		       _ecore_x_mouse_down_last_win = xevent->xbutton.window;
+		     _ecore_x_mouse_down_last_last_event_win = _ecore_x_mouse_down_last_event_win;
+		     _ecore_x_mouse_down_last_event_win = xevent->xbutton.window;
+		     _ecore_x_mouse_down_last_last_time = _ecore_x_mouse_down_last_time;
+		     _ecore_x_mouse_down_last_time = xevent->xbutton.time;
+		  }
+	     }
+	}
      }
 }
 
 void
 _ecore_x_event_handle_button_release(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
    /* filter out wheel buttons */
    if ((xevent->xbutton.button <= 3) || (xevent->xbutton.button > 7))
      {
-	  {
-	     Ecore_X_Event_Mouse_Move *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	     if (!e) return;
-	     e->modifiers = xevent->xbutton.state;
-	     e->x = xevent->xbutton.x;
-	     e->y = xevent->xbutton.y;
-	     e->root.x = xevent->xbutton.x_root;
-	     e->root.y = xevent->xbutton.y_root;
-	     if (xevent->xbutton.subwindow) e->win = xevent->xbutton.subwindow;
-	     else e->win = xevent->xbutton.window;
-	     e->same_screen = xevent->xbutton.same_screen;
-	     e->root_win = xevent->xbutton.root;
-	     e->event_win = xevent->xbutton.window;
-	     e->time = xevent->xbutton.time;
-	     _ecore_x_event_last_time = e->time;
-	     _ecore_x_event_last_win = e->win;
-	     _ecore_x_event_last_root_x = e->root.x;
-	     _ecore_x_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
-	  }
-	  {
-	     Ecore_X_Event_Mouse_Button_Up *e;
-
-	     e = calloc(1, sizeof(Ecore_X_Event_Mouse_Button_Up));
-	     if (!e) return;
-	     e->button = xevent->xbutton.button;
-	     e->modifiers = xevent->xbutton.state;
-	     e->x = xevent->xbutton.x;
-	     e->y = xevent->xbutton.y;
-	     e->root.x = xevent->xbutton.x_root;
-	     e->root.y = xevent->xbutton.y_root;
-	     if (xevent->xbutton.subwindow) e->win = xevent->xbutton.subwindow;
-	     else e->win = xevent->xbutton.window;
-	     e->same_screen = xevent->xbutton.same_screen;
-	     e->root_win = xevent->xbutton.root;
-	     e->event_win = xevent->xbutton.window;
-	     e->time = xevent->xbutton.time;
-             _ecore_x_mouse_up_count++;
-	     if (e->win == e->event_win)
-	       {
-		  if ((_ecore_x_mouse_up_count >= 2) &&
-                      ((int)(e->time - _ecore_x_mouse_down_last_time) <= 
-		       (int)(1000 * _ecore_x_double_click_time)) &&
-		      (e->win == _ecore_x_mouse_down_last_win) &&
-		      (e->event_win == _ecore_x_mouse_down_last_event_win)
-		      )
-		    e->double_click = 1;
-		  if ((_ecore_x_mouse_up_count >= 3) &&
-                     ((int)(e->time - _ecore_x_mouse_down_last_last_time) <= 
-		       (int)(2 * 1000 * _ecore_x_double_click_time)) &&
-		      (e->win == _ecore_x_mouse_down_last_win) &&
-                      (e->win == _ecore_x_mouse_down_last_last_win) &&
-		      (e->event_win == _ecore_x_mouse_down_last_event_win) &&
-                      (e->event_win == _ecore_x_mouse_down_last_last_event_win)
-		      )
-                    e->triple_click = 1;
-	       }
-	     _ecore_x_event_last_time = e->time;
-	     _ecore_x_event_last_win = e->win;
-	     _ecore_x_event_last_root_x = e->root.x;
-	     _ecore_x_event_last_root_y = e->root.y;
-	     ecore_event_add(ECORE_X_EVENT_MOUSE_BUTTON_UP, e, NULL, NULL);
-	  }
+	_ecore_mouse_move(xevent->xbutton.time, xevent->xbutton.state,
+			  xevent->xbutton.x, xevent->xbutton.y,
+			  xevent->xbutton.x_root, xevent->xbutton.y_root,
+			  xevent->xbutton.window,
+			  (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
+			  xevent->xbutton.root,
+			  xevent->xbutton.same_screen);
+
+	_ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_UP,
+			    xevent->xbutton.time, xevent->xbutton.state,
+			    xevent->xbutton.button,
+			    xevent->xbutton.x, xevent->xbutton.y,
+			    xevent->xbutton.x_root, xevent->xbutton.y_root,
+			    xevent->xbutton.window,
+			    (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
+			    xevent->xbutton.root,
+			    xevent->xbutton.same_screen);
      }
 }
 
 void
 _ecore_x_event_handle_motion_notify(XEvent *xevent)
 {
-   Ecore_X_Event_Mouse_Move *e;
+   if (_ecore_x_last_event_mouse_move)
+     {
+        ecore_event_del(_ecore_x_last_event_mouse_move_event);
+        _ecore_x_last_event_mouse_move = 0;
+        _ecore_x_last_event_mouse_move_event = NULL;
+     }
 
-   e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-   if (!e) return;
-   e->modifiers = xevent->xmotion.state;
-   e->x = xevent->xmotion.x;
-   e->y = xevent->xmotion.y;
-   e->root.x = xevent->xmotion.x_root;
-   e->root.y = xevent->xmotion.y_root;
-   if (xevent->xmotion.subwindow) e->win = xevent->xmotion.subwindow;
-   else e->win = xevent->xmotion.window;
-   e->same_screen = xevent->xmotion.same_screen;
-   e->root_win = xevent->xmotion.root;
-   e->event_win = xevent->xmotion.window;
-   e->time = xevent->xmotion.time;
-   _ecore_x_event_last_time = e->time;
-   _ecore_x_event_last_win = e->win;
-   _ecore_x_event_last_root_x = e->root.x;
-   _ecore_x_event_last_root_y = e->root.y;
+   _ecore_mouse_move(xevent->xmotion.time, xevent->xmotion.state,
+		     xevent->xmotion.x, xevent->xmotion.y,
+		     xevent->xmotion.x_root, xevent->xmotion.y_root,
+		     xevent->xmotion.window,
+		     (xevent->xmotion.subwindow ? xevent->xmotion.subwindow : xevent->xmotion.window),
+		     xevent->xmotion.root,
+		     xevent->xmotion.same_screen);
 
-   /* Xdnd handling */
-   _ecore_x_dnd_drag(xevent->xmotion.root, e->root.x, e->root.y);
+   _ecore_x_last_event_mouse_move = 1;
 
-   ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
+   /* Xdnd handling */
+   _ecore_x_dnd_drag(xevent->xmotion.root, xevent->xmotion.x_root, xevent->xmotion.y_root);
 }
 
 void
 _ecore_x_event_handle_enter_notify(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
      {
-	Ecore_X_Event_Mouse_Move *e;
-
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	if (!e) return;
-	e->modifiers = xevent->xcrossing.state;
-	e->x = xevent->xcrossing.x;
-	e->y = xevent->xcrossing.y;
-	e->root.x = xevent->xcrossing.x_root;
-	e->root.y = xevent->xcrossing.y_root;
-	if (xevent->xcrossing.subwindow) e->win = xevent->xcrossing.subwindow;
-	else e->win = xevent->xcrossing.window;
-	e->same_screen = xevent->xcrossing.same_screen;
-	e->root_win = xevent->xcrossing.root;
-	e->event_win = xevent->xcrossing.window;
-	e->time = xevent->xcrossing.time;
-	_ecore_x_event_last_time = e->time;
-	_ecore_x_event_last_win = e->win;
-	_ecore_x_event_last_root_x = e->root.x;
-	_ecore_x_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
+	_ecore_mouse_move(xevent->xmotion.time, xevent->xcrossing.state,
+			  xevent->xcrossing.x, xevent->xcrossing.y,
+			  xevent->xcrossing.x_root, xevent->xcrossing.y_root,
+			  xevent->xcrossing.window,
+			  (xevent->xcrossing.subwindow ? xevent->xcrossing.subwindow : xevent->xcrossing.window),
+			  xevent->xcrossing.root,
+			  xevent->xcrossing.same_screen);
      }
      {
 	Ecore_X_Event_Mouse_In *e;
 
 	e = calloc(1, sizeof(Ecore_X_Event_Mouse_In));
 	if (!e) return;
-	e->modifiers = xevent->xcrossing.state;
+	e->modifiers = _ecore_x_event_modifiers(xevent->xcrossing.state);
 	e->x = xevent->xcrossing.x;
 	e->y = xevent->xcrossing.y;
 	e->root.x = xevent->xcrossing.x_root;
@@ -694,34 +679,22 @@ _ecore_x_event_handle_enter_notify(XEvent *xevent)
 void
 _ecore_x_event_handle_leave_notify(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
      {
-	Ecore_X_Event_Mouse_Move *e;
-
-	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Move));
-	if (!e) return;
-	e->modifiers = xevent->xcrossing.state;
-	e->x = xevent->xcrossing.x;
-	e->y = xevent->xcrossing.y;
-	e->root.x = xevent->xcrossing.x_root;
-	e->root.y = xevent->xcrossing.y_root;
-	if (xevent->xcrossing.subwindow) e->win = xevent->xcrossing.subwindow;
-	else e->win = xevent->xcrossing.window;
-	e->same_screen = xevent->xcrossing.same_screen;
-	e->root_win = xevent->xcrossing.root;
-	e->event_win = xevent->xcrossing.window;
-	e->time = xevent->xcrossing.time;
-	_ecore_x_event_last_time = e->time;
-	_ecore_x_event_last_win = e->win;
-	_ecore_x_event_last_root_x = e->root.x;
-	_ecore_x_event_last_root_y = e->root.y;
-	ecore_event_add(ECORE_X_EVENT_MOUSE_MOVE, e, NULL, NULL);
+	_ecore_mouse_move(xevent->xmotion.time, xevent->xcrossing.state,
+			  xevent->xcrossing.x, xevent->xcrossing.y,
+			  xevent->xcrossing.x_root, xevent->xcrossing.y_root,
+			  xevent->xcrossing.window,
+			  (xevent->xcrossing.subwindow ? xevent->xcrossing.subwindow : xevent->xcrossing.window),
+			  xevent->xcrossing.root,
+			  xevent->xcrossing.same_screen);
      }
      {
 	Ecore_X_Event_Mouse_Out *e;
 
 	e = calloc(1, sizeof(Ecore_X_Event_Mouse_Out));
 	if (!e) return;
-	e->modifiers = xevent->xcrossing.state;
+	e->modifiers = _ecore_x_event_modifiers(xevent->xcrossing.state);
 	e->x = xevent->xcrossing.x;
 	e->y = xevent->xcrossing.y;
 	e->root.x = xevent->xcrossing.x_root;
@@ -764,6 +737,7 @@ _ecore_x_event_handle_focus_in(XEvent *xevent)
 {
    Ecore_X_Event_Window_Focus_In *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    if (_ecore_x_ic)
      {
 	char *str;
@@ -813,6 +787,7 @@ _ecore_x_event_handle_focus_out(XEvent *xevent)
 {
    Ecore_X_Event_Window_Focus_Out *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    if (_ecore_x_ic) XUnsetICFocus(_ecore_x_ic);
    e = calloc(1, sizeof(Ecore_X_Event_Window_Focus_Out));
    if (!e) return;
@@ -852,6 +827,7 @@ _ecore_x_event_handle_focus_out(XEvent *xevent)
 void
 _ecore_x_event_handle_keymap_notify(XEvent *xevent __UNUSED__)
 {
+   _ecore_x_last_event_mouse_move = 0;
    /* FIXME: handle this event type */   
 }
 
@@ -860,6 +836,7 @@ _ecore_x_event_handle_expose(XEvent *xevent)
 {
    Ecore_X_Event_Window_Damage *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Damage));
    if (!e) return;
    e->win = xevent->xexpose.window;
@@ -877,6 +854,7 @@ _ecore_x_event_handle_graphics_expose(XEvent *xevent)
 {
    Ecore_X_Event_Window_Damage *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Damage));
    if (!e) return;
    e->win = xevent->xgraphicsexpose.drawable;
@@ -892,6 +870,7 @@ _ecore_x_event_handle_graphics_expose(XEvent *xevent)
 void
 _ecore_x_event_handle_visibility_notify(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
 //   if (xevent->xvisibility.state != VisibilityPartiallyObscured)
    {
       Ecore_X_Event_Window_Visibility_Change *e;
@@ -913,6 +892,7 @@ _ecore_x_event_handle_create_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Create *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Create));
    if (!e) return;
    e->win = xevent->xcreatewindow.window;
@@ -929,6 +909,7 @@ _ecore_x_event_handle_destroy_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Destroy *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Destroy));
    if (!e) return;
    e->win =  xevent->xdestroywindow.window;
@@ -943,6 +924,7 @@ _ecore_x_event_handle_unmap_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Hide *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Hide));
    if (!e) return;
    e->win = xevent->xunmap.window;
@@ -956,6 +938,7 @@ _ecore_x_event_handle_map_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Show *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Show));
    if (!e) return;
    e->win = xevent->xmap.window;
@@ -969,6 +952,7 @@ _ecore_x_event_handle_map_request(XEvent *xevent)
 {
    Ecore_X_Event_Window_Show_Request *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Show_Request));
    if (!e) return;
    e->win = xevent->xmaprequest.window;
@@ -982,6 +966,7 @@ _ecore_x_event_handle_reparent_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Reparent *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Reparent));
    if (!e) return;
    e->win = xevent->xreparent.window;
@@ -996,6 +981,7 @@ _ecore_x_event_handle_configure_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Configure *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Configure));
    if (!e) return;
    e->win = xevent->xconfigure.window;
@@ -1017,6 +1003,7 @@ _ecore_x_event_handle_configure_request(XEvent *xevent)
 {
    Ecore_X_Event_Window_Configure_Request *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Configure_Request));
    if (!e) return;
    e->win = xevent->xconfigurerequest.window;
@@ -1047,6 +1034,7 @@ _ecore_x_event_handle_configure_request(XEvent *xevent)
 void
 _ecore_x_event_handle_gravity_notify(XEvent *xevent __UNUSED__)
 {
+   _ecore_x_last_event_mouse_move = 0;
    /* FIXME: handle this event type */
 }
 
@@ -1055,6 +1043,7 @@ _ecore_x_event_handle_resize_request(XEvent *xevent)
 {
    Ecore_X_Event_Window_Resize_Request *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Resize_Request));
    if (!e) return;
    e->win = xevent->xresizerequest.window;
@@ -1069,6 +1058,7 @@ _ecore_x_event_handle_circulate_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Stack *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Stack));
    if (!e) return;
    e->win = xevent->xcirculate.window;
@@ -1086,6 +1076,7 @@ _ecore_x_event_handle_circulate_request(XEvent *xevent)
 {
    Ecore_X_Event_Window_Stack_Request *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Stack_Request));
    if (!e) return;
    e->win = xevent->xcirculaterequest.window;
@@ -1101,6 +1092,7 @@ _ecore_x_event_handle_circulate_request(XEvent *xevent)
 void
 _ecore_x_event_handle_property_notify(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
 #if 0 /* for now i disabled this. nice idea though this is - it leaves a lot
        * to be desired for efficiency that is better left to the app layer
        */
@@ -1221,9 +1213,9 @@ _ecore_x_event_handle_selection_clear(XEvent *xevent)
    Ecore_X_Event_Selection_Clear *e;
    Ecore_X_Atom sel;
 
-   if (!(d = _ecore_x_selection_get(xevent->xselectionclear.selection)))
-     return;
-   if (xevent->xselectionclear.time > d->time)
+   _ecore_x_last_event_mouse_move = 0;
+   d = _ecore_x_selection_get(xevent->xselectionclear.selection);
+   if (d && (xevent->xselectionclear.time > d->time))
      {
 	_ecore_x_selection_set(None, NULL, 0, 
 			       xevent->xselectionclear.selection);
@@ -1233,13 +1225,15 @@ _ecore_x_event_handle_selection_clear(XEvent *xevent)
    e = malloc(sizeof(Ecore_X_Event_Selection_Clear));
    e->win = xevent->xselectionclear.window;
    e->time = xevent->xselectionclear.time;
-   sel = xevent->xselectionclear.selection;
+   e->atom = sel = xevent->xselectionclear.selection;
    if (sel == ECORE_X_ATOM_SELECTION_PRIMARY)
      e->selection = ECORE_X_SELECTION_PRIMARY;
    else if (sel == ECORE_X_ATOM_SELECTION_SECONDARY)
      e->selection = ECORE_X_SELECTION_SECONDARY;
-   else
+   else if (sel == ECORE_X_ATOM_SELECTION_CLIPBOARD)
      e->selection = ECORE_X_SELECTION_CLIPBOARD;
+   else
+     e->selection = ECORE_X_SELECTION_OTHER;
    ecore_event_add(ECORE_X_EVENT_SELECTION_CLEAR, e, NULL, NULL);
 }
 
@@ -1250,6 +1244,7 @@ _ecore_x_event_handle_selection_request(XEvent *xevent)
    Ecore_X_Selection_Intern *sd;
    void *data;
 
+   _ecore_x_last_event_mouse_move = 0;
    /*
     * Generate a selection request event.
     */
@@ -1308,6 +1303,7 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
    Ecore_X_Atom selection;
    int num_ret, format;
 
+   _ecore_x_last_event_mouse_move = 0;
    selection = xevent->xselection.selection;
 
    if (xevent->xselection.target == ECORE_X_ATOM_SELECTION_TARGETS)
@@ -1330,6 +1326,7 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
    if (!e) return;
    e->win = xevent->xselection.requestor;
    e->time = xevent->xselection.time;
+   e->atom = selection;
    e->target = _ecore_x_selection_target_get(xevent->xselection.target);
 
    if (selection == ECORE_X_ATOM_SELECTION_PRIMARY)
@@ -1341,10 +1338,8 @@ _ecore_x_event_handle_selection_notify(XEvent *xevent)
    else if (selection == ECORE_X_ATOM_SELECTION_CLIPBOARD)
      e->selection = ECORE_X_SELECTION_CLIPBOARD;
    else
-     {
-	free(e);
-	return;
-     }
+     e->selection = ECORE_X_SELECTION_OTHER;
+
    e->data = _ecore_x_selection_parse(e->target, data, num_ret, format);
 
    ecore_event_add(ECORE_X_EVENT_SELECTION_NOTIFY, e, 
@@ -1356,6 +1351,7 @@ _ecore_x_event_handle_colormap_notify(XEvent *xevent)
 {
    Ecore_X_Event_Window_Colormap *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    e = calloc(1,sizeof(Ecore_X_Event_Window_Colormap));
    if (!e) return;
    e->win = xevent->xcolormap.window;
@@ -1371,6 +1367,7 @@ _ecore_x_event_handle_colormap_notify(XEvent *xevent)
 void
 _ecore_x_event_handle_client_message(XEvent *xevent)
 {
+   _ecore_x_last_event_mouse_move = 0;
    /* Special client message event handling here. need to put LOTS of if */
    /* checks here and generate synthetic events per special message known */
    /* otherwise generate generic client message event. this would handle*/
@@ -1763,9 +1760,10 @@ _ecore_x_event_handle_client_message(XEvent *xevent)
 }
 
 void
-_ecore_x_event_handle_mapping_notify(XEvent *xevent __UNUSED__)
+_ecore_x_event_handle_mapping_notify(XEvent *xevent)
 {
-   /* FIXME: handle this event type */
+   _ecore_x_last_event_mouse_move = 0;
+   XRefreshKeyboardMapping((XMappingEvent *)xevent);
 }
 
 void
@@ -1774,6 +1772,7 @@ _ecore_x_event_handle_shape_change(XEvent *xevent)
    XShapeEvent *shape_event;
    Ecore_X_Event_Window_Shape *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    shape_event = (XShapeEvent *)xevent;
    e = calloc(1, sizeof(Ecore_X_Event_Window_Shape));
    if (!e) return;
@@ -1789,6 +1788,7 @@ _ecore_x_event_handle_screensaver_notify(XEvent *xevent)
    XScreenSaverNotifyEvent *screensaver_event;
    Ecore_X_Event_Screensaver_Notify *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    screensaver_event = (XScreenSaverNotifyEvent *)xevent;
    e = calloc(1, sizeof(Ecore_X_Event_Screensaver_Notify));
    if (!e) return;
@@ -1810,6 +1810,7 @@ _ecore_x_event_handle_sync_counter(XEvent *xevent)
    XSyncCounterNotifyEvent *sync_counter_event;
    Ecore_X_Event_Sync_Counter *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    sync_counter_event = (XSyncCounterNotifyEvent *)xevent;
    e = calloc(1, sizeof(Ecore_X_Event_Sync_Counter));
    if (!e) return;
@@ -1823,6 +1824,7 @@ _ecore_x_event_handle_sync_alarm(XEvent *xevent)
    XSyncAlarmNotifyEvent *sync_alarm_event;
    Ecore_X_Event_Sync_Alarm *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    sync_alarm_event = (XSyncAlarmNotifyEvent *)xevent;
 
    e = calloc(1, sizeof(Ecore_X_Event_Sync_Alarm));
@@ -1839,6 +1841,7 @@ _ecore_x_event_handle_randr_change(XEvent *xevent)
    XRRScreenChangeNotifyEvent *randr_event;
    Ecore_X_Event_Screen_Change *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    randr_event = (XRRScreenChangeNotifyEvent *)xevent;
    if (!XRRUpdateConfiguration(xevent))
      printf("ERROR: Can't update RR config!\n");
@@ -1857,6 +1860,7 @@ _ecore_x_event_handle_randr_change(XEvent *xevent)
 void
 _ecore_x_event_handle_fixes_selection_notify(XEvent *event)
 {
+   _ecore_x_last_event_mouse_move = 0;
    /* Nothing here yet */
    event = NULL;
 }
@@ -1869,6 +1873,7 @@ _ecore_x_event_handle_damage_notify(XEvent *event)
    XDamageNotifyEvent *damage_event;
    Ecore_X_Event_Damage *e;
 
+   _ecore_x_last_event_mouse_move = 0;
    damage_event = (XDamageNotifyEvent *)event;
 
    e = calloc(1, sizeof(Ecore_X_Event_Damage));
diff --git a/src/lib/ecore_x/xlib/ecore_x_gc.c b/src/lib/ecore_x/xlib/ecore_x_gc.c
index 721522d..84c4201 100644
--- a/src/lib/ecore_x/xlib/ecore_x_gc.c
+++ b/src/lib/ecore_x/xlib/ecore_x_gc.c
@@ -15,15 +15,121 @@
  * drawable.
  * @param  draw Drawable to create graphics context with.  If @c 0 is
  *              given instead, the default root window is used.
+ * @param value_mask Bitmask values.
+ * @param value_list List of values. The order of values must be the
+ *                   same than the corresponding bitmaks.
  * @return The new default graphics context.
  */
 EAPI Ecore_X_GC
-ecore_x_gc_new(Ecore_X_Drawable draw)
+ecore_x_gc_new(Ecore_X_Drawable draw, Ecore_X_GC_Value_Mask value_mask, const unsigned int *value_list)
 {
-   XGCValues           gcv;
+   XGCValues gcv;
+   int       mask;
+   int       index;
+   int       i;
 
-   if (!draw) draw = DefaultRootWindow(_ecore_x_disp);   
-   return XCreateGC(_ecore_x_disp, draw, 0, &gcv);   
+   if (!draw) draw = DefaultRootWindow(_ecore_x_disp);
+
+   for (i = 0, index = 0, mask = 1; i <= 22; i++, mask <<= 1)
+     {
+        switch (mask & value_mask)
+          {
+           case ECORE_X_GC_VALUE_MASK_FUNCTION:
+              gcv.function = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_PLANE_MASK:
+              gcv.plane_mask = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_FOREGROUND:
+              gcv.foreground = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_BACKGROUND:
+              gcv.background = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_LINE_WIDTH:
+              gcv.line_width = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_LINE_STYLE:
+              gcv.line_style = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_CAP_STYLE:
+              gcv.cap_style = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_JOIN_STYLE:
+              gcv.join_style = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_FILL_STYLE:
+              gcv.fill_style = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_FILL_RULE:
+              gcv.fill_rule = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_TILE:
+              gcv.tile = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_STIPPLE:
+              gcv.stipple = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_X:
+              gcv.ts_x_origin = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_TILE_STIPPLE_ORIGIN_Y:
+              gcv.ts_y_origin = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_FONT:
+              gcv.font = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_SUBWINDOW_MODE:
+              gcv.subwindow_mode = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_GRAPHICS_EXPOSURES:
+              gcv.graphics_exposures = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_X:
+              gcv.clip_x_origin = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_CLIP_ORIGIN_Y:
+              gcv.clip_y_origin = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_CLIP_MASK:
+              gcv.clip_mask = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_DASH_OFFSET:
+              gcv.dash_offset = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_DASH_LIST:
+              gcv.dashes = value_list[index];
+              index++;
+              break;
+           case ECORE_X_GC_VALUE_MASK_ARC_MODE:
+              gcv.arc_mode = value_list[index];
+              index++;
+              break;
+          }
+     }
+
+   return XCreateGC(_ecore_x_disp, draw, value_mask, &gcv);
 }
 
 /**
@@ -33,5 +139,5 @@ ecore_x_gc_new(Ecore_X_Drawable draw)
 EAPI void
 ecore_x_gc_del(Ecore_X_GC gc)
 {
-   XFreeGC(_ecore_x_disp, gc);   
+   XFreeGC(_ecore_x_disp, gc);
 }
diff --git a/src/lib/ecore_x/xlib/ecore_x_icccm.c b/src/lib/ecore_x/xlib/ecore_x_icccm.c
index 4a9d3d6..887ec35 100644
--- a/src/lib/ecore_x/xlib/ecore_x_icccm.c
+++ b/src/lib/ecore_x/xlib/ecore_x_icccm.c
@@ -14,6 +14,7 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "Ecore.h"
 #include "ecore_x_private.h"
diff --git a/src/lib/ecore_x/xlib/ecore_x_netwm.c b/src/lib/ecore_x/xlib/ecore_x_netwm.c
index 232df20..1846197 100644
--- a/src/lib/ecore_x/xlib/ecore_x_netwm.c
+++ b/src/lib/ecore_x/xlib/ecore_x_netwm.c
@@ -10,6 +10,8 @@
 # include <config.h>
 #endif
 
+#include <string.h>
+
 #include "Ecore.h"
 #include "Ecore_Data.h"
 #include "ecore_x_private.h"
@@ -898,6 +900,10 @@ _ecore_x_netwm_action_atom_get(Ecore_X_Action action)
 	 return ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP;
       case ECORE_X_ACTION_CLOSE:
 	 return ECORE_X_ATOM_NET_WM_ACTION_CLOSE;
+      case ECORE_X_ACTION_ABOVE:
+	 return ECORE_X_ATOM_NET_WM_ACTION_ABOVE;
+      case ECORE_X_ACTION_BELOW:
+	 return ECORE_X_ATOM_NET_WM_ACTION_BELOW;
       default:
 	 return 0;
      }
diff --git a/src/lib/ecore_x/xlib/ecore_x_private.h b/src/lib/ecore_x/xlib/ecore_x_private.h
index e2f9970..3bd0027 100644
--- a/src/lib/ecore_x/xlib/ecore_x_private.h
+++ b/src/lib/ecore_x/xlib/ecore_x_private.h
@@ -47,6 +47,9 @@
 #ifdef ECORE_XDPMS
 #include <X11/extensions/dpms.h>
 #endif
+#ifdef ECORE_XKB
+#include <X11/XKBlib.h>
+#endif
 
 #include "ecore_private.h"
 #include "Ecore_X.h"
@@ -137,6 +140,16 @@ typedef struct _Ecore_X_DND_Target
    int will_accept;
 } Ecore_X_DND_Target;
 
+
+extern int ECORE_X_MODIFIER_SHIFT;
+extern int ECORE_X_MODIFIER_CTRL;
+extern int ECORE_X_MODIFIER_ALT;
+extern int ECORE_X_MODIFIER_WIN;
+
+extern int ECORE_X_LOCK_SCROLL;
+extern int ECORE_X_LOCK_NUM;
+extern int ECORE_X_LOCK_CAPS;
+
 extern Display *_ecore_x_disp;
 extern double   _ecore_x_double_click_time;
 extern Time     _ecore_x_event_last_time;
@@ -156,6 +169,7 @@ extern void    *_ecore_window_grab_replay_data;
 extern Ecore_X_Window _ecore_x_private_win;
 
 void _ecore_x_error_handler_init(void);
+void _ecore_x_event_handle_any_event(XEvent *xevent);
 void _ecore_x_event_handle_key_press(XEvent *xevent);
 void _ecore_x_event_handle_key_release(XEvent *xevent);
 void _ecore_x_event_handle_button_press(XEvent *xevent);
diff --git a/src/lib/ecore_x/xlib/ecore_x_selection.c b/src/lib/ecore_x/xlib/ecore_x_selection.c
index b224fc7..1bd7ccc 100644
--- a/src/lib/ecore_x/xlib/ecore_x_selection.c
+++ b/src/lib/ecore_x/xlib/ecore_x_selection.c
@@ -7,6 +7,7 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "ecore_private.h"
 #include "Ecore.h"
diff --git a/src/lib/ecore_x/xlib/ecore_x_test.c b/src/lib/ecore_x/xlib/ecore_x_test.c
index 55469e5..2df45f8 100644
--- a/src/lib/ecore_x/xlib/ecore_x_test.c
+++ b/src/lib/ecore_x/xlib/ecore_x_test.c
@@ -14,6 +14,7 @@
 
 #include "ecore_x_private.h"
 #include "Ecore_X.h"
+#include <string.h>
 
 
 EAPI int
diff --git a/src/lib/ecore_x/xlib/ecore_x_window.c b/src/lib/ecore_x/xlib/ecore_x_window.c
index 61fadb6..97129ff 100644
--- a/src/lib/ecore_x/xlib/ecore_x_window.c
+++ b/src/lib/ecore_x/xlib/ecore_x_window.c
@@ -190,7 +190,7 @@ ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h)
 }
 
 /**
- * @defgroup Evas_X_Window_Properties_Group X Window Property Functions
+ * @defgroup Ecore_X_Window_Properties_Group X Window Property Functions
  *
  * Functions that set window properties.
  */
@@ -202,7 +202,7 @@ ecore_x_window_input_new(Ecore_X_Window parent, int x, int y, int w, int h)
  * @c _NET_WM_PID.
  *
  * @param   win The given window.
- * @ingroup Evas_X_Window_Properties_Groups
+ * @ingroup Ecore_X_Window_Properties_Groups
  */
 EAPI void
 ecore_x_window_defaults_set(Ecore_X_Window win)
@@ -266,7 +266,7 @@ ecore_x_window_configure(Ecore_X_Window win,
 }
 
 /**
- * @defgroup Evas_X_Window_Destroy_Group X Window Destroy Functions
+ * @defgroup Ecore_X_Window_Destroy_Group X Window Destroy Functions
  *
  * Functions to destroy X windows.
  */
@@ -274,10 +274,10 @@ ecore_x_window_configure(Ecore_X_Window win,
 /**
  * Deletes the given window.
  * @param   win The given window.
- * @ingroup Evas_X_Window_Destroy_Group
+ * @ingroup Ecore_X_Window_Destroy_Group
  */
 EAPI void
-ecore_x_window_del(Ecore_X_Window win)
+ecore_x_window_free(Ecore_X_Window win)
 {
    /* sorry sir, deleting the root window doesn't sound like
     * a smart idea.
@@ -345,7 +345,7 @@ ecore_x_window_ignore_list(int *num)
 /**
  * Sends a delete request to the given window.
  * @param   win The given window.
- * @ingroup Evas_X_Window_Destroy_Group
+ * @ingroup Ecore_X_Window_Destroy_Group
  */
 EAPI void
 ecore_x_window_delete_request_send(Ecore_X_Window win)
@@ -370,7 +370,7 @@ ecore_x_window_delete_request_send(Ecore_X_Window win)
 }
 
 /**
- * @defgroup Evas_X_Window_Visibility_Group X Window Visibility Functions
+ * @defgroup Ecore_X_Window_Visibility_Group X Window Visibility Functions
  *
  * Functions to access and change the visibility of X windows.
  */
@@ -381,7 +381,7 @@ ecore_x_window_delete_request_send(Ecore_X_Window win)
  * Synonymous to "mapping" a window in X Window System terminology.
  *
  * @param   win The window to show.
- * @ingroup Evas_X_Window_Visibility
+ * @ingroup Ecore_X_Window_Visibility
  */
 EAPI void
 ecore_x_window_show(Ecore_X_Window win)
@@ -395,7 +395,7 @@ ecore_x_window_show(Ecore_X_Window win)
  * Synonymous to "unmapping" a window in X Window System terminology.
  *
  * @param   win The window to hide.
- * @ingroup Evas_X_Window_Visibility
+ * @ingroup Ecore_X_Window_Visibility
  */
 EAPI void
 ecore_x_window_hide(Ecore_X_Window win)
diff --git a/src/lib/ecore_x/xlib/ecore_x_window_prop.c b/src/lib/ecore_x/xlib/ecore_x_window_prop.c
index 2d25ce5..225b8bf 100644
--- a/src/lib/ecore_x/xlib/ecore_x_window_prop.c
+++ b/src/lib/ecore_x/xlib/ecore_x_window_prop.c
@@ -7,6 +7,7 @@
 #endif
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "Ecore.h"
 #include "ecore_x_private.h"

-- 
Core abstraction layer for enlightenment DR 0.17



More information about the Pkg-e-commits mailing list