[Pkg-e-commits] [SCM] Enlightenment DR17 advanced canvas library branch, new-svn-snapshot, updated. debian/0.9.9.050+svn20081206-1-2380-gb46dee5

Albin Tonnerre albin.tonnerre at gmail.com
Mon Aug 3 16:50:39 UTC 2009


The following commit has been merged in the new-svn-snapshot branch:
commit a1442c3e8032cbe264740ca2c02b3333c6e6ea29
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Sun Aug 2 18:41:45 2009 +0200

    Import upstream release 0.9.9.062

diff --git a/Makefile.am b/Makefile.am
index b4dbf55..be0a5c1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,7 +29,6 @@ evas-software-buffer.pc \
 evas-software-qtopia.pc \
 evas-software-x11.pc \
 evas-software-16-x11.pc \
-evas-software-xcb.pc \
 evas-xrender-x11.pc \
 evas-xrender-xcb.pc \
 evas-software-gdi.pc \
@@ -68,7 +67,6 @@ evas-software-buffer.pc.in \
 evas-software-qtopia.pc.in \
 evas-software-x11.pc.in \
 evas-software-16-x11.pc.in \
-evas-software-xcb.pc.in \
 evas-xrender-x11.pc.in \
 evas-xrender-xcb.pc.in \
 evas-software-gdi.pc.in \
@@ -79,90 +77,81 @@ evas-software-16-wince.pc.in \
 evas-software-sdl.pc.in \
 evas.spec.in evas.spec
 
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = evas.pc
+
 if BUILD_ENGINE_SOFTWARE_X11
-psoftwarex11 = evas-software-x11.pc
+pkgconfig_DATA += evas-software-x11.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_16_X11
-psoftware16x11 = evas-software-16-x11.pc
-endif
-
-if BUILD_ENGINE_SOFTWARE_XCB
-psoftwarexcb = evas-software-xcb.pc
+pkgconfig_DATA += evas-software-16-x11.pc
 endif
 
 if BUILD_ENGINE_DIRECTFB
-pdirectfb = evas-directfb.pc
+pkgconfig_DATA += evas-directfb.pc
 endif
 
 if BUILD_ENGINE_FB
-pfb = evas-fb.pc
+pkgconfig_DATA += evas-fb.pc
 endif
 
 if BUILD_ENGINE_BUFFER
-psoftwarebuffer = evas-software-buffer.pc
+pkgconfig_DATA += evas-software-buffer.pc
 endif
 
 #if BUILD_ENGINE_SOFTWARE_QTOPIA
-#psoftwareqtopia = evas-software-qtopia.pc
+#pkgconfig_DATA += evas-software-qtopia.pc
 #endif
 
 if BUILD_ENGINE_GL_X11
-popenglx11 = evas-opengl-x11.pc
+pkgconfig_DATA += evas-opengl-x11.pc
 endif
 
 if BUILD_ENGINE_QUARTZ
-pquartz = evas-quartz.pc
+pkgconfig_DATA += evas-quartz.pc
 endif
 
 if BUILD_ENGINE_GL_GLEW
-popenglglew = evas-opengl-glew.pc
+pkgconfig_DATA += evas-opengl-glew.pc
 endif
 
 #if BUILD_ENGINE_CAIRO_X11
-#pcairox11 = evas-cairo-x11.pc
+#pkgconfig_DATA += evas-cairo-x11.pc
 #endif
 
 if BUILD_ENGINE_XRENDER_X11
-pxrenderx11 = evas-xrender-x11.pc
+pkgconfig_DATA += evas-xrender-x11.pc
 endif
 
 if BUILD_ENGINE_XRENDER_XCB
-pxrenderxcb = evas-xrender-xcb.pc
+pkgconfig_DATA += evas-xrender-xcb.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_GDI
-psoftwaregdi = evas-software-gdi.pc
+pkgconfig_DATA += evas-software-gdi.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_DDRAW
-psoftwareddraw = evas-software-ddraw.pc
+pkgconfig_DATA += evas-software-ddraw.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_16_DDRAW
-psoftware16ddraw = evas-software-16-ddraw.pc
+pkgconfig_DATA += evas-software-16-ddraw.pc
 endif
 
 if BUILD_ENGINE_DIRECT3D
-pdirect3d = evas-direct3d.pc
+pkgconfig_DATA += evas-direct3d.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_16_WINCE
-psoftware16wince = evas-software-16-wince.pc
+pkgconfig_DATA += evas-software-16-wince.pc
 endif
 
 if BUILD_ENGINE_SOFTWARE_SDL
-psoftwaresdl = evas-software-sdl.pc
+pkgconfig_DATA += evas-software-sdl.pc
 endif
 
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = \
-	evas.pc $(psoftwarex11) $(psoftwarexcb) $(pdirectfb) $(pfb) \
-	$(psoftwarebuffer) $(popenglx11) $(pquartz) \
-	$(pxrenderx11) $(pxrenderxcb) $(psoftwaregdi) $(psoftwareddraw) $(psoftwaresdl) \
-	$(psoftware16x11) $(pdirect3d) $(psoftware16ddraw) $(psoftware16wince) $(popenglglew)
-# $(psoftwareqtopia) $(pcairox11)
-
 .PHONY: doc
 
 doc:
diff --git a/Makefile.in b/Makefile.in
index 96a3a6c..23731ff 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -33,6 +33,30 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@am__append_1 = evas-software-x11.pc
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am__append_2 = evas-software-16-x11.pc
+ at BUILD_ENGINE_DIRECTFB_TRUE@am__append_3 = evas-directfb.pc
+ at BUILD_ENGINE_FB_TRUE@am__append_4 = evas-fb.pc
+ at BUILD_ENGINE_BUFFER_TRUE@am__append_5 = evas-software-buffer.pc
+
+#if BUILD_ENGINE_SOFTWARE_QTOPIA
+#pkgconfig_DATA += evas-software-qtopia.pc
+#endif
+ at BUILD_ENGINE_GL_X11_TRUE@am__append_6 = evas-opengl-x11.pc
+ at BUILD_ENGINE_QUARTZ_TRUE@am__append_7 = evas-quartz.pc
+ at BUILD_ENGINE_GL_GLEW_TRUE@am__append_8 = evas-opengl-glew.pc
+
+#if BUILD_ENGINE_CAIRO_X11
+#pkgconfig_DATA += evas-cairo-x11.pc
+#endif
+ at BUILD_ENGINE_XRENDER_X11_TRUE@am__append_9 = evas-xrender-x11.pc
+ at BUILD_ENGINE_XRENDER_XCB_TRUE@am__append_10 = evas-xrender-xcb.pc
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@am__append_11 = evas-software-gdi.pc
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@am__append_12 = evas-software-ddraw.pc
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__append_13 = evas-software-16-ddraw.pc
+ at BUILD_ENGINE_DIRECT3D_TRUE@am__append_14 = evas-direct3d.pc
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__append_15 = evas-software-16-wince.pc
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__append_16 = evas-software-sdl.pc
 subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/README.in \
@@ -48,7 +72,6 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/evas-software-gdi.pc.in \
 	$(srcdir)/evas-software-sdl.pc.in \
 	$(srcdir)/evas-software-x11.pc.in \
-	$(srcdir)/evas-software-xcb.pc.in \
 	$(srcdir)/evas-xrender-x11.pc.in \
 	$(srcdir)/evas-xrender-xcb.pc.in $(srcdir)/evas.pc.in \
 	$(srcdir)/evas.spec.in $(top_srcdir)/configure AUTHORS COPYING \
@@ -59,7 +82,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -72,11 +97,10 @@ CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = evas-directfb.pc evas-fb.pc evas-opengl-glew.pc \
 	evas-opengl-x11.pc evas-quartz.pc evas-software-buffer.pc \
 	evas-software-x11.pc evas-software-16-x11.pc \
-	evas-software-xcb.pc evas-xrender-x11.pc evas-xrender-xcb.pc \
-	evas-software-gdi.pc evas-software-ddraw.pc \
-	evas-software-16-ddraw.pc evas-direct3d.pc \
-	evas-software-16-wince.pc evas-software-sdl.pc evas.pc README \
-	evas.spec
+	evas-xrender-x11.pc evas-xrender-xcb.pc evas-software-gdi.pc \
+	evas-software-ddraw.pc evas-software-16-ddraw.pc \
+	evas-direct3d.pc evas-software-16-wince.pc \
+	evas-software-sdl.pc evas.pc README evas.spec
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgconfigdir)"
 binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
 SCRIPTS = $(bin_SCRIPTS)
@@ -193,7 +217,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -270,10 +293,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -297,6 +320,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -359,7 +384,6 @@ evas-software-buffer.pc \
 evas-software-qtopia.pc \
 evas-software-x11.pc \
 evas-software-16-x11.pc \
-evas-software-xcb.pc \
 evas-xrender-x11.pc \
 evas-xrender-xcb.pc \
 evas-software-gdi.pc \
@@ -397,7 +421,6 @@ evas-software-buffer.pc.in \
 evas-software-qtopia.pc.in \
 evas-software-x11.pc.in \
 evas-software-16-x11.pc.in \
-evas-software-xcb.pc.in \
 evas-xrender-x11.pc.in \
 evas-xrender-xcb.pc.in \
 evas-software-gdi.pc.in \
@@ -408,38 +431,13 @@ evas-software-16-wince.pc.in \
 evas-software-sdl.pc.in \
 evas.spec.in evas.spec
 
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@psoftwarex11 = evas-software-x11.pc
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@psoftware16x11 = evas-software-16-x11.pc
- at BUILD_ENGINE_SOFTWARE_XCB_TRUE@psoftwarexcb = evas-software-xcb.pc
- at BUILD_ENGINE_DIRECTFB_TRUE@pdirectfb = evas-directfb.pc
- at BUILD_ENGINE_FB_TRUE@pfb = evas-fb.pc
- at BUILD_ENGINE_BUFFER_TRUE@psoftwarebuffer = evas-software-buffer.pc
-
-#if BUILD_ENGINE_SOFTWARE_QTOPIA
-#psoftwareqtopia = evas-software-qtopia.pc
-#endif
- at BUILD_ENGINE_GL_X11_TRUE@popenglx11 = evas-opengl-x11.pc
- at BUILD_ENGINE_QUARTZ_TRUE@pquartz = evas-quartz.pc
- at BUILD_ENGINE_GL_GLEW_TRUE@popenglglew = evas-opengl-glew.pc
-
-#if BUILD_ENGINE_CAIRO_X11
-#pcairox11 = evas-cairo-x11.pc
-#endif
- at BUILD_ENGINE_XRENDER_X11_TRUE@pxrenderx11 = evas-xrender-x11.pc
- at BUILD_ENGINE_XRENDER_XCB_TRUE@pxrenderxcb = evas-xrender-xcb.pc
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@psoftwaregdi = evas-software-gdi.pc
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@psoftwareddraw = evas-software-ddraw.pc
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@psoftware16ddraw = evas-software-16-ddraw.pc
- at BUILD_ENGINE_DIRECT3D_TRUE@pdirect3d = evas-direct3d.pc
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@psoftware16wince = evas-software-16-wince.pc
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@psoftwaresdl = evas-software-sdl.pc
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = \
-	evas.pc $(psoftwarex11) $(psoftwarexcb) $(pdirectfb) $(pfb) \
-	$(psoftwarebuffer) $(popenglx11) $(pquartz) \
-	$(pxrenderx11) $(pxrenderxcb) $(psoftwaregdi) $(psoftwareddraw) $(psoftwaresdl) \
-	$(psoftware16x11) $(pdirect3d) $(psoftware16ddraw) $(psoftware16wince) $(popenglglew)
-
+pkgconfig_DATA = evas.pc $(am__append_1) $(am__append_2) \
+	$(am__append_3) $(am__append_4) $(am__append_5) \
+	$(am__append_6) $(am__append_7) $(am__append_8) \
+	$(am__append_9) $(am__append_10) $(am__append_11) \
+	$(am__append_12) $(am__append_13) $(am__append_14) \
+	$(am__append_15) $(am__append_16)
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
@@ -510,8 +508,6 @@ evas-software-x11.pc: $(top_builddir)/config.status $(srcdir)/evas-software-x11.
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 evas-software-16-x11.pc: $(top_builddir)/config.status $(srcdir)/evas-software-16-x11.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
-evas-software-xcb.pc: $(top_builddir)/config.status $(srcdir)/evas-software-xcb.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
 evas-xrender-x11.pc: $(top_builddir)/config.status $(srcdir)/evas-xrender-x11.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 evas-xrender-xcb.pc: $(top_builddir)/config.status $(srcdir)/evas-xrender-xcb.pc.in
@@ -970,7 +966,6 @@ uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
 	uninstall uninstall-am uninstall-binSCRIPTS \
 	uninstall-pkgconfigDATA
 
-# $(psoftwareqtopia) $(pcairox11)
 
 .PHONY: doc
 
diff --git a/README b/README
index 4f15eb6..383fc21 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Evas 0.9.9.061
+Evas 0.9.9.062
 
 Evas is a clean display canvas API for several target display systems
 that can draw anti-aliased text, smooth super and sub-sampled scaled
@@ -253,7 +253,7 @@ BUILDING PACKAGES:
 
 RPM: To build rpm packages:
   
-  sudo rpm -ta evas-0.9.9.061.tar.gz
+  sudo rpm -ta evas-0.9.9.062.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
@@ -261,11 +261,11 @@ for more details)
 
 DEB: To build deb packages:
 
-  tar zvf evas-0.9.9.061.tar.gz
-  cd evas-0.9.9.061
+  tar zvf evas-0.9.9.062.tar.gz
+  cd evas-0.9.9.062
   dpkg-buildpackage -us -uc -rfakeroot
   cd ..
-  rm -rf evas-0.9.9.061
+  rm -rf evas-0.9.9.062
 
 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 24ca68c..d7bd3b9 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1064,6 +1064,8 @@ m4_include([m4/efl_doxygen.m4])
 m4_include([m4/evas_check_engine.m4])
 m4_include([m4/evas_check_loader.m4])
 m4_include([m4/evas_converter.m4])
+m4_include([m4/evas_dither.m4])
+m4_include([m4/evas_scaler.m4])
 m4_include([m4/libtool.m4])
 m4_include([m4/ltoptions.m4])
 m4_include([m4/ltsugar.m4])
diff --git a/config.h.in b/config.h.in
index 5f3bab1..8982377 100644
--- a/config.h.in
+++ b/config.h.in
@@ -141,12 +141,15 @@
 /* Software SDL rendering backend */
 #undef BUILD_ENGINE_SOFTWARE_SDL
 
-/* Software X11 rendering backend */
+/* Build software X11 engines */
 #undef BUILD_ENGINE_SOFTWARE_X11
 
 /* Software XCB rendering backend */
 #undef BUILD_ENGINE_SOFTWARE_XCB
 
+/* Software Xlib rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_XLIB
+
 /* XRender X11 rendering backend */
 #undef BUILD_ENGINE_XRENDER_X11
 
@@ -156,7 +159,7 @@
 /* EET Font Loader Support */
 #undef BUILD_FONT_LOADER_EET
 
-/* Line Dither Mask Support */
+/* define to 1 if you have the line dither mask support */
 #undef BUILD_LINE_DITHER_MASK
 
 /* UP Image Loader Support */
@@ -192,7 +195,8 @@
 /* Build NEON Code */
 #undef BUILD_NEON
 
-/* No Dither Mask Support */
+/* define to 1 if you have the conversion to 16bpp without dither mask support
+   */
 #undef BUILD_NO_DITHER_MASK
 
 /* Build pipe render support */
@@ -201,13 +205,13 @@
 /* Build Threaded Rendering */
 #undef BUILD_PTHREAD
 
-/* Sampling Scaler Support */
+/* define to 1 if you have the sampling scaler support */
 #undef BUILD_SCALE_SAMPLE
 
-/* Smooth Scaler Support */
+/* define to 1 if you have the smooth scaler support */
 #undef BUILD_SCALE_SMOOTH
 
-/* Small Dither Mask Support */
+/* define to 1 if you have the small dither mask support */
 #undef BUILD_SMALL_DITHER_MASK
 
 /* Build SSE Code */
@@ -233,6 +237,93 @@
 /* complain when peole pass in wrong object types etc. */
 #undef EVAS_MAGIC_DEBUG
 
+/* Build buffer engine inside libevas */
+#undef EVAS_STATIC_BUILD_BUFFER
+
+/* Build direct3d engine inside libevas */
+#undef EVAS_STATIC_BUILD_DIRECT3D
+
+/* Build directfb engine inside libevas */
+#undef EVAS_STATIC_BUILD_DIRECTFB
+
+/* Build Edb image loader inside libevas */
+#undef EVAS_STATIC_BUILD_EDB
+
+/* Build Eet image loader inside libevas */
+#undef EVAS_STATIC_BUILD_EET
+
+/* Build fb engine inside libevas */
+#undef EVAS_STATIC_BUILD_FB
+
+/* Build Gif image loader inside libevas */
+#undef EVAS_STATIC_BUILD_GIF
+
+/* Build gl-glew engine inside libevas */
+#undef EVAS_STATIC_BUILD_GL_GLEW
+
+/* Build gl-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_GL_X11
+
+/* Build Jpeg image loader inside libevas */
+#undef EVAS_STATIC_BUILD_JPEG
+
+/* Build PMAPS image loader inside libevas */
+#undef EVAS_STATIC_BUILD_PMAPS
+
+/* Build PNG image loader inside libevas */
+#undef EVAS_STATIC_BUILD_PNG
+
+/* Build quartz engine inside libevas */
+#undef EVAS_STATIC_BUILD_QUARTZ
+
+/* Build software 16 engine as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16
+
+/* Build software-16-ddraw engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+
+/* Build software-16-wince engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+
+/* Build software-16-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_X11
+
+/* Build software-ddraw engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+
+/* Build software-gdi engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_GDI
+
+/* Build software generic engine as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+
+/* Build software-sdl engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_SDL
+
+/* Build software X11 engines as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_X11
+
+/* Build software-xcb engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_XCB
+
+/* Build software-xlib engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_XLIB
+
+/* Build SVG image loader inside libevas */
+#undef EVAS_STATIC_BUILD_SVG
+
+/* Build Tiff image loader inside libevas */
+#undef EVAS_STATIC_BUILD_TIFF
+
+/* Build XPM image loader inside libevas */
+#undef EVAS_STATIC_BUILD_XPM
+
+/* Build xrender-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_XRENDER_X11
+
+/* Build xrender-xcb engine inside libevas */
+#undef EVAS_STATIC_BUILD_XRENDER_XCB
+
 /* Define to 1 if you have `alloca', as a function or macro. */
 #undef HAVE_ALLOCA
 
@@ -376,9 +467,6 @@
 #undef X_DISPLAY_MISSING
 
 /* Macro declaring a function argument to be unused */
-#undef __PACKED__
-
-/* Macro declaring a function argument to be unused */
 #undef __UNUSED__
 
 /* Define to empty if `const' does not conform to ANSI C. */
diff --git a/configure b/configure
index 90d8293..bcb99de 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 evas 0.9.9.061.
+# Generated by GNU Autoconf 2.61 for evas 0.9.9.062.
 #
 # Report bugs to <enlightenment-devel at lists.sourceforge.net>.
 #
@@ -723,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='evas'
 PACKAGE_TARNAME='evas'
-PACKAGE_VERSION='0.9.9.061'
-PACKAGE_STRING='evas 0.9.9.061'
+PACKAGE_VERSION='0.9.9.062'
+PACKAGE_STRING='evas 0.9.9.062'
 PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
 
 ac_unique_file="configure.ac"
@@ -847,20 +847,13 @@ AMDEPBACKSLASH
 CCDEPMODE
 am__fastdepCC_TRUE
 am__fastdepCC_FALSE
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CPP
-GREP
-EGREP
 AS
 DLLTOOL
 OBJDUMP
 LIBTOOL
 SED
+GREP
+EGREP
 FGREP
 LD
 DUMPBIN
@@ -875,169 +868,237 @@ NMEDIT
 LIPO
 OTOOL
 OTOOL64
-CXXCPP
+CPP
 version_info
 release_info
 MODULE_ARCH
-RC
-ALLOCA
+CXX
+CXXFLAGS
+ac_ct_CXX
+CXXDEPMODE
+am__fastdepCXX_TRUE
+am__fastdepCXX_FALSE
+CXXCPP
 PKG_CONFIG
+efl_have_doxygen
+efl_doxygen
+EFL_BUILD_DOC_TRUE
+EFL_BUILD_DOC_FALSE
 EVIL_CFLAGS
 EVIL_LIBS
-WIN32_CPPFLAGS
-WIN32_CFLAGS
-lt_enable_auto_import
-EVAS_CSERVE_TRUE
-EVAS_CSERVE_FALSE
-FRIBIDI_CFLAGS
-FRIBIDI_LIBS
 EINA_CFLAGS
 EINA_LIBS
 FREETYPE_CFLAGS
 FREETYPE_LIBS
 FONTCONFIG_CFLAGS
 FONTCONFIG_LIBS
+FRIBIDI_CFLAGS
+FRIBIDI_LIBS
+WIN32_CPPFLAGS
+WIN32_CFLAGS
+lt_enable_auto_import
+ALLOCA
 dlopen_libs
+EVAS_CSERVE_TRUE
+EVAS_CSERVE_FALSE
 evas_engine_buffer_cflags
 evas_engine_buffer_libs
 BUILD_ENGINE_BUFFER_TRUE
 BUILD_ENGINE_BUFFER_FALSE
+EVAS_STATIC_BUILD_BUFFER_TRUE
+EVAS_STATIC_BUILD_BUFFER_FALSE
 XMKMF
 X_CFLAGS
 X_PRE_LIBS
 X_LIBS
 X_EXTRA_LIBS
-evas_engine_software_x11_cflags
-evas_engine_software_x11_libs
-BUILD_ENGINE_SOFTWARE_X11_TRUE
-BUILD_ENGINE_SOFTWARE_X11_FALSE
+evas_engine_software_xlib_cflags
+evas_engine_software_xlib_libs
+BUILD_ENGINE_SOFTWARE_XLIB_TRUE
+BUILD_ENGINE_SOFTWARE_XLIB_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE
 evas_engine_xrender_x11_cflags
 evas_engine_xrender_x11_libs
 BUILD_ENGINE_XRENDER_X11_TRUE
 BUILD_ENGINE_XRENDER_X11_FALSE
+EVAS_STATIC_BUILD_XRENDER_X11_TRUE
+EVAS_STATIC_BUILD_XRENDER_X11_FALSE
 evas_engine_gl_x11_cflags
 evas_engine_gl_x11_libs
 BUILD_ENGINE_GL_X11_TRUE
 BUILD_ENGINE_GL_X11_FALSE
+EVAS_STATIC_BUILD_GL_X11_TRUE
+EVAS_STATIC_BUILD_GL_X11_FALSE
 XCB_CFLAGS
 XCB_LIBS
 evas_engine_software_xcb_cflags
 evas_engine_software_xcb_libs
 BUILD_ENGINE_SOFTWARE_XCB_TRUE
 BUILD_ENGINE_SOFTWARE_XCB_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE
 XCBRENDER_CFLAGS
 XCBRENDER_LIBS
 evas_engine_xrender_xcb_cflags
 evas_engine_xrender_xcb_libs
 BUILD_ENGINE_XRENDER_XCB_TRUE
 BUILD_ENGINE_XRENDER_XCB_FALSE
+EVAS_STATIC_BUILD_XRENDER_XCB_TRUE
+EVAS_STATIC_BUILD_XRENDER_XCB_FALSE
 evas_engine_software_gdi_cflags
 evas_engine_software_gdi_libs
 BUILD_ENGINE_SOFTWARE_GDI_TRUE
 BUILD_ENGINE_SOFTWARE_GDI_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE
 evas_engine_software_ddraw_cflags
 evas_engine_software_ddraw_libs
 BUILD_ENGINE_SOFTWARE_DDRAW_TRUE
 BUILD_ENGINE_SOFTWARE_DDRAW_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE
 evas_engine_direct3d_cflags
 evas_engine_direct3d_libs
 BUILD_ENGINE_DIRECT3D_TRUE
 BUILD_ENGINE_DIRECT3D_FALSE
+EVAS_STATIC_BUILD_DIRECT3D_TRUE
+EVAS_STATIC_BUILD_DIRECT3D_FALSE
 evas_engine_quartz_cflags
 evas_engine_quartz_libs
 BUILD_ENGINE_QUARTZ_TRUE
 BUILD_ENGINE_QUARTZ_FALSE
+EVAS_STATIC_BUILD_QUARTZ_TRUE
+EVAS_STATIC_BUILD_QUARTZ_FALSE
 evas_engine_gl_glew_cflags
 evas_engine_gl_glew_libs
 BUILD_ENGINE_GL_GLEW_TRUE
 BUILD_ENGINE_GL_GLEW_FALSE
+EVAS_STATIC_BUILD_GL_GLEW_TRUE
+EVAS_STATIC_BUILD_GL_GLEW_FALSE
 SDL_CFLAGS
 SDL_LIBS
 evas_engine_software_sdl_cflags
 evas_engine_software_sdl_libs
 BUILD_ENGINE_SOFTWARE_SDL_TRUE
 BUILD_ENGINE_SOFTWARE_SDL_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE
 evas_engine_fb_cflags
 evas_engine_fb_libs
 BUILD_ENGINE_FB_TRUE
 BUILD_ENGINE_FB_FALSE
+EVAS_STATIC_BUILD_FB_TRUE
+EVAS_STATIC_BUILD_FB_FALSE
 DIRECTFB_CFLAGS
 DIRECTFB_LIBS
 evas_engine_directfb_cflags
 evas_engine_directfb_libs
 BUILD_ENGINE_DIRECTFB_TRUE
 BUILD_ENGINE_DIRECTFB_FALSE
+EVAS_STATIC_BUILD_DIRECTFB_TRUE
+EVAS_STATIC_BUILD_DIRECTFB_FALSE
 evas_engine_software_16_x11_cflags
 evas_engine_software_16_x11_libs
 BUILD_ENGINE_SOFTWARE_16_X11_TRUE
 BUILD_ENGINE_SOFTWARE_16_X11_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE
 evas_engine_software_16_ddraw_cflags
 evas_engine_software_16_ddraw_libs
 BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE
 BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE
 evas_engine_software_16_wince_cflags
 evas_engine_software_16_wince_libs
 BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE
 BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE
 evas_engine_gl_common_libs
 BUILD_ENGINE_GL_COMMON_TRUE
 BUILD_ENGINE_GL_COMMON_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE
+BUILD_ENGINE_SOFTWARE_X11_TRUE
+BUILD_ENGINE_SOFTWARE_X11_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE
+have_evas_engine_software_xlib
+have_evas_engine_software_xcb
 BUILD_ENGINE_SOFTWARE_16_TRUE
 BUILD_ENGINE_SOFTWARE_16_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_16_FALSE
 EDB_CFLAGS
 EDB_LIBS
 evas_image_loader_edb_cflags
 evas_image_loader_edb_libs
 BUILD_LOADER_EDB_TRUE
 BUILD_LOADER_EDB_FALSE
+EVAS_STATIC_BUILD_EDB_TRUE
+EVAS_STATIC_BUILD_EDB_FALSE
 EET_CFLAGS
 EET_LIBS
 evas_image_loader_eet_cflags
 evas_image_loader_eet_libs
 BUILD_LOADER_EET_TRUE
 BUILD_LOADER_EET_FALSE
+EVAS_STATIC_BUILD_EET_TRUE
+EVAS_STATIC_BUILD_EET_FALSE
 evas_image_loader_gif_cflags
 evas_image_loader_gif_libs
 BUILD_LOADER_GIF_TRUE
 BUILD_LOADER_GIF_FALSE
+EVAS_STATIC_BUILD_GIF_TRUE
+EVAS_STATIC_BUILD_GIF_FALSE
 evas_image_loader_jpeg_cflags
 evas_image_loader_jpeg_libs
 BUILD_LOADER_JPEG_TRUE
 BUILD_LOADER_JPEG_FALSE
+EVAS_STATIC_BUILD_JPEG_TRUE
+EVAS_STATIC_BUILD_JPEG_FALSE
 BUILD_SAVER_JPEG_TRUE
 BUILD_SAVER_JPEG_FALSE
 evas_image_loader_pmaps_cflags
 evas_image_loader_pmaps_libs
 BUILD_LOADER_PMAPS_TRUE
 BUILD_LOADER_PMAPS_FALSE
+EVAS_STATIC_BUILD_PMAPS_TRUE
+EVAS_STATIC_BUILD_PMAPS_FALSE
 PNG_CFLAGS
 PNG_LIBS
 evas_image_loader_png_cflags
 evas_image_loader_png_libs
 BUILD_LOADER_PNG_TRUE
 BUILD_LOADER_PNG_FALSE
+EVAS_STATIC_BUILD_PNG_TRUE
+EVAS_STATIC_BUILD_PNG_FALSE
 SVG_CFLAGS
 SVG_LIBS
 evas_image_loader_svg_cflags
 evas_image_loader_svg_libs
 BUILD_LOADER_SVG_TRUE
 BUILD_LOADER_SVG_FALSE
+EVAS_STATIC_BUILD_SVG_TRUE
+EVAS_STATIC_BUILD_SVG_FALSE
 evas_image_loader_tiff_cflags
 evas_image_loader_tiff_libs
 BUILD_LOADER_TIFF_TRUE
 BUILD_LOADER_TIFF_FALSE
+EVAS_STATIC_BUILD_TIFF_TRUE
+EVAS_STATIC_BUILD_TIFF_FALSE
 evas_image_loader_xpm_cflags
 evas_image_loader_xpm_libs
 BUILD_LOADER_XPM_TRUE
 BUILD_LOADER_XPM_FALSE
+EVAS_STATIC_BUILD_XPM_TRUE
+EVAS_STATIC_BUILD_XPM_FALSE
 EVAS_MAGIC_DEBUG_TRUE
 EVAS_MAGIC_DEBUG_FALSE
 VALGRIND_CFLAGS
 VALGRIND_LIBS
-efl_have_doxygen
-efl_doxygen
-EFL_BUILD_DOC_TRUE
-EFL_BUILD_DOC_FALSE
 altivec_cflags
 pthread_cflags
 pthread_libs
@@ -1052,22 +1113,22 @@ CFLAGS
 LDFLAGS
 LIBS
 CPPFLAGS
+CPP
 CXX
 CXXFLAGS
 CCC
-CPP
 CXXCPP
 PKG_CONFIG
 EVIL_CFLAGS
 EVIL_LIBS
-FRIBIDI_CFLAGS
-FRIBIDI_LIBS
 EINA_CFLAGS
 EINA_LIBS
 FREETYPE_CFLAGS
 FREETYPE_LIBS
 FONTCONFIG_CFLAGS
 FONTCONFIG_LIBS
+FRIBIDI_CFLAGS
+FRIBIDI_LIBS
 XMKMF
 XCB_CFLAGS
 XCB_LIBS
@@ -1589,7 +1650,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 evas 0.9.9.061 to adapt to many kinds of systems.
+\`configure' configures evas 0.9.9.062 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1663,7 +1724,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of evas 0.9.9.061:";;
+     short | recursive ) echo "Configuration of evas 0.9.9.062:";;
    esac
   cat <<\_ACEOF
 
@@ -1678,15 +1739,16 @@ Optional Features:
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-strict         enable strict checking mode. [default==disabled]
-  --disable-evas-cserve   disable shared cache server support.
+  --enable-simple-x11     enable simple x11 linking
+  --disable-doc           Disable documentation build [default=enabled]
+  --disable-fontconfig    disable fontconfig for finding fonts.
                           [default=enabled]
   --disable-fribidi       disable bidirectional text support.
                           [default=enabled]
-  --enable-simple-x11     enable simple x11 linking
-  --disable-fontconfig    disable fontconfig for finding fonts.
+  --disable-evas-cserve   disable shared cache server support.
                           [default=enabled]
   --enable-buffer         enable Buffer rendering backend
-  --enable-software-x11   enable Software X11 rendering backend
+  --enable-software-xlib  enable Software Xlib rendering backend
   --enable-xrender-x11    enable XRender X11 rendering backend
   --enable-gl-x11         enable OpenGL X11 rendering backend
   --enable-software-xcb   enable Software XCB rendering backend
@@ -1706,26 +1768,30 @@ Optional Features:
   --enable-software-16-wince
                           enable Software Windows CE 16 bits rendering backend
   --enable-sdl-primitive
-  --disable-image-loader-edb
-                          disable Edb image loader
-  --disable-image-loader-eet
-                          disable Eet image loader
+  --enable-static-software-generic
+                          Build software generic engine as part of libevas
+  --enable-static-software-16
+                          Build software 16 engine as part of libevas
+  --enable-image-loader-edb
+                          enable Edb image loader
+  --enable-image-loader-eet
+                          enable Eet image loader
   --disable-font-loader-eet
                           disable EET font loader. [[default=enabled]]
-  --disable-image-loader-gif
-                          disable Gif image loader
-  --disable-image-loader-jpeg
-                          disable Jpeg image loader
-  --disable-image-loader-pmaps
-                          disable PMAPS image loader
-  --disable-image-loader-png
-                          disable PNG image loader
-  --disable-image-loader-svg
-                          disable SVG image loader
-  --disable-image-loader-tiff
-                          disable Tiff image loader
-  --disable-image-loader-xpm
-                          disable XPM image loader
+  --enable-image-loader-gif
+                          enable Gif image loader
+  --enable-image-loader-jpeg
+                          enable Jpeg image loader
+  --enable-image-loader-pmaps
+                          enable PMAPS image loader
+  --enable-image-loader-png
+                          enable PNG image loader
+  --enable-image-loader-svg
+                          enable SVG image loader
+  --enable-image-loader-tiff
+                          enable Tiff image loader
+  --enable-image-loader-xpm
+                          enable XPM image loader
   --enable-pthreads       enable threaded rendering
   --enable-pipe-render    enable threaded pipe rendering support
   --enable-async-events   enable async events support
@@ -1738,14 +1804,15 @@ Optional Features:
   --disable-evas-magic-debug
                           disable MAGIC_DEBUG check when people pass in wrong
                           object type. [default=enabled]
-  --enable-scale-sample   enable sampling scaler code
-  --enable-scale-smooth   enable smooth scaler code
+  --disable-scale-sample  disable sampling scaler code [default=enabled]
+  --disable-scale-smooth  disable smooth scaler code [default=enabled]
   --enable-convert-yuv    enable yuv converter code
   --enable-small-dither-mask
-                          enable small dither mask code
+                          enable small dither mask [default=disabled]
   --enable-line-dither-mask
-                          enable line dither mask code
+                          enable line dither mask [default=disabled]
   --enable-no-dither-mask enable conversion to 16bpp without dither mask
+                          [default=disabled]
   --disable-convert-8-rgb-332
                           disable the 8bpp RGB 332 converter code
   --disable-convert-8-rgb-666
@@ -1803,7 +1870,6 @@ Optional Features:
   --disable-convert-32-rgb-rot-90
                           disable the 32bpp RGB rotation 90 converter code
   --enable-valgrind       enable valgrind fixes to stop false reports
-  --disable-doc           Disable documentation build [default=enabled]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1811,8 +1877,8 @@ Optional Packages:
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-x                use the X Window System
   --with-doxygen=FILE     doxygen program to use [default=doxygen]
+  --with-x                use the X Window System
 
 Some influential environment variables:
   CC          C compiler command
@@ -1822,17 +1888,13 @@ 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>
+  CPP         C preprocessor
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
-  CPP         C preprocessor
   CXXCPP      C++ preprocessor
   PKG_CONFIG  path to pkg-config utility
   EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config
   EVIL_LIBS   linker flags for EVIL, overriding pkg-config
-  FRIBIDI_CFLAGS
-              C compiler flags for FRIBIDI, overriding pkg-config
-  FRIBIDI_LIBS
-              linker flags for FRIBIDI, overriding pkg-config
   EINA_CFLAGS C compiler flags for EINA, overriding pkg-config
   EINA_LIBS   linker flags for EINA, overriding pkg-config
   FREETYPE_CFLAGS
@@ -1843,6 +1905,10 @@ Some influential environment variables:
               C compiler flags for FONTCONFIG, overriding pkg-config
   FONTCONFIG_LIBS
               linker flags for FONTCONFIG, overriding pkg-config
+  FRIBIDI_CFLAGS
+              C compiler flags for FRIBIDI, overriding pkg-config
+  FRIBIDI_LIBS
+              linker flags for FRIBIDI, overriding pkg-config
   XMKMF       Path to xmkmf, Makefile generator for X Window System
   XCB_CFLAGS  C compiler flags for XCB, overriding pkg-config
   XCB_LIBS    linker flags for XCB, overriding pkg-config
@@ -1933,7 +1999,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-evas configure 0.9.9.061
+evas configure 0.9.9.062
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1947,7 +2013,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 evas $as_me 0.9.9.061, which was
+It was created by evas $as_me 0.9.9.062, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -3789,7 +3855,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='evas'
- VERSION='0.9.9.061'
+ VERSION='0.9.9.062'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4046,27 +4112,20 @@ 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
+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
@@ -4075,7 +4134,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
@@ -4085,32 +4144,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
@@ -4119,7 +4174,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
@@ -4129,21 +4184,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:)
@@ -4155,384 +4206,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
-    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
-
-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`
+    AS=$ac_ct_AS
   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=
+  AS="$ac_cv_prog_AS"
 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
-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
+  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_CC+set}" = set; then
+if test "${ac_cv_prog_DLLTOOL+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 "$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
@@ -4541,7 +4230,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_DLLTOOL="${ac_tool_prefix}dlltool"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4551,10 +4240,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; }
+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; }
@@ -4562,17 +4251,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_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_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_DLLTOOL+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_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
@@ -4581,7 +4270,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_DLLTOOL="dlltool"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4591,17 +4280,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_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
 
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -4613,122 +4302,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
-    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+' '}$@"
+    DLLTOOL=$ac_ct_DLLTOOL
   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; }
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
 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
+  # 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_CC+set}" = set; then
+if test "${ac_cv_prog_OBJDUMP+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 "$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
@@ -4737,7 +4326,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_OBJDUMP="${ac_tool_prefix}objdump"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4747,32 +4336,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; }
+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
 
 
-    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_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_CC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_OBJDUMP+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_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
@@ -4781,7 +4366,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_OBJDUMP="objdump"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -4791,21 +4376,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_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
 
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -4817,1291 +4398,155 @@ 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
+    OBJDUMP=$ac_ct_OBJDUMP
   fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
 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.  */
+test -z "$AS" && AS=as
 
-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.  */
+test -z "$DLLTOOL" && DLLTOOL=dlltool
 
-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
+test -z "$OBJDUMP" && OBJDUMP=objdump
 
-	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
+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
 
-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=
-  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];
+macro_version='2.2.4'
+macro_revision='1.2976'
 
-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
 
 
-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
 
-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
 
-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
+ltmain="$ac_aux_dir/ltmain.sh"
 
-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 "$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
-  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
+            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
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
+  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
   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
-  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
+    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
-    # 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
+    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
 
 
-    test -n "$CC" && break
+    $ac_path_SED_found && break 3
   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;}
+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; }; }
-
-# 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=
-  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
-
-
 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
-
-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=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
-  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
-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
+  ac_cv_path_SED=$SED
 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
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
 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
 
-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
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
 
-    done
-    ac_cv_prog_CPP=$CPP
 
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-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
 
-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
@@ -6266,1119 +4711,6 @@ 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 $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
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-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
-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
-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 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 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
-
-
-
-{ 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
-
-	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
-
-
-cat >>confdefs.h <<\_ACEOF
-#define __PACKED__ __attribute__((packed))
-_ACEOF
-
-  else
-
-cat >>confdefs.h <<\_ACEOF
-#define __PACKED__
-_ACEOF
-
-fi
-
-
-
-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_AS+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.
-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_AS="${ac_tool_prefix}as"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-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; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-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
-{ 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
-  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.
-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_AS="as"
-    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_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
-
-  if test "x$ac_ct_AS" = x; then
-    AS="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
-    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
-
-
-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
-  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
-
-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
-
-  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
-    DLLTOOL=$ac_ct_DLLTOOL
-  fi
-else
-  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
-
-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
-
-
-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
-{ 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
-  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
-
-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
-
-  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
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-  ;;
-esac
-
-test -z "$AS" && AS=as
-
-
-
-
-
-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
-
-
-
-macro_version='2.2.4'
-macro_revision='1.2976'
-
-
-
-
-
-
-
-
-
-
-
-
-
-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
-            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
-  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
-
-
-    $ac_path_SED_found && break 3
-  done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-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
-
-else
-  ac_cv_path_SED=$SED
-fi
-
-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//"
-
-
-
-
-
-
-
-
-
-
-
 { 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
@@ -7773,13 +5105,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:7776: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:5108: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:7779: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:5111: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:7782: output\"" >&5)
+  (eval echo "\"\$as_me:5114: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -8889,7 +6221,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 8892 "configure"' > conftest.$ac_ext
+  echo '#line 6224 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9706,364 +7038,252 @@ echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
     ;;
   esac
 
-
-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
+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
   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
+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.  */
-$ac_includes_default
-
-#include <$ac_header>
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+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_compile") 2>conftest.er1
+  (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); } && {
-	 test -z "$ac_c_werror_flag" ||
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
+       }; then
+  :
 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
-
-
-
-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
-  { 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
+  # Broken: fails on valid input.
+continue
 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); }
+rm -f conftest.err conftest.$ac_ext
 
-{ 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
+  # 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.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
+#include <ac_nonexistent.h>
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+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_compile") 2>conftest.er1
+  (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); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
+       }; then
+  # Broken: success on invalid input.
+continue
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_compiler_gnu=no
+  # Passes both tests.
+ac_preproc_ok=:
+break
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+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
-{ 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
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
 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
+  ac_cv_prog_CPP=$CPP
+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.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+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_compile") 2>conftest.er1
+  (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); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+       }; then
+  :
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
+  # 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.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
+#include <ac_nonexistent.h>
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+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_compile") 2>conftest.er1
+  (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); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
+       }; then
+  # Broken: success on invalid input.
+continue
 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
+  # 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 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 ()
@@ -10087,387 +7307,268 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
+  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
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
+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>
 
-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
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
 else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
+  ac_cv_header_stdc=no
 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
+rm -f conftest*
 
-  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 $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>
 
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
 else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
+  ac_cv_header_stdc=no
 fi
+rm -f conftest*
 
+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
+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
-      # 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>
+#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
-# include <assert.h>
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
-		     Syntax error
+
+#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
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+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_cpp conftest.$ac_ext") 2>conftest.er1
+  (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); } >/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
+  (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_cpp conftest.$ac_ext") 2>conftest.er1
+  (eval "$ac_try") 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_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+  (exit $ac_status); }; }; then
+  :
 else
-  echo "$as_me: failed program was:" >&5
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
+( 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
 
-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
+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
 
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
 
 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
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+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
-  # 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.
+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.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
+$ac_includes_default
+
+#include <$ac_header>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+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_cpp conftest.$ac_ext") 2>conftest.er1
+  (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); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       }; then
-  :
+       } && 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
 
-  # Broken: fails on valid input.
-continue
+	eval "$as_ac_Header=no"
 fi
 
-rm -f conftest.err 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
 
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
+fi
+
+done
+
+
+
+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.  */
-#include <ac_nonexistent.h>
+$ac_includes_default
+
+#include <$ac_header>
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+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_cpp conftest.$ac_ext") 2>conftest.er1
+  (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); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
+       } && 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
 
-  # Passes both tests.
-ac_preproc_ok=:
-break
+	eval "$as_ac_Header=no"
 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
+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
 
-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
 
-
+done
 
 
 
@@ -10969,11 +8070,11 @@ 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:10972: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8073: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:10976: \$? = $ac_status" >&5
+   echo "$as_me:8077: \$? = $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.
@@ -11293,11 +8394,11 @@ 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:8397: $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:8401: \$? = $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.
@@ -11398,11 +8499,11 @@ 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:11401: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8502: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11405: \$? = $ac_status" >&5
+   echo "$as_me:8506: \$? = $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
@@ -11453,11 +8554,11 @@ 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:11456: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8557: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11460: \$? = $ac_status" >&5
+   echo "$as_me:8561: \$? = $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
@@ -14214,7 +11315,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 14217 "configure"
+#line 11318 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14314,7 +11415,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 14317 "configure"
+#line 11418 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14526,6 +11627,1330 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 CC="$lt_save_CC"
 
 
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+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"
+
+
+
+### Needed information
+
+release="ver-svn-03"
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      MODULE_ARCH="$host_os-$host_cpu"
+      ;;
+   *)
+      release_info="-release $release"
+      MODULE_ARCH="$host_os-$host_cpu-$release"
+      ;;
+esac
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define MODULE_ARCH "$MODULE_ARCH"
+_ACEOF
+
+
+# weird debian etch bug where pthread_barrier doesn't work without adding
+# this.
+CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
+
+
+want_fontconfig="auto"
+want_fribidi="auto"
+want_evas_cserve="yes"
+
+want_evas_engine_buffer="yes"
+want_evas_engine_software_xlib="no"
+want_evas_engine_xrender_x11="no"
+want_evas_engine_gl_x11="no"
+want_evas_engine_cairo_x11="no"
+want_evas_engine_software_xcb="no"
+want_evas_engine_xrender_xcb="no"
+want_evas_engine_software_gdi="no"
+want_evas_engine_software_ddraw="no"
+want_evas_engine_direct3d="no"
+want_evas_engine_quartz="no"
+want_evas_engine_gl_glew="no"
+want_evas_engine_software_sdl="no"
+want_evas_engine_fb="no"
+want_evas_engine_directfb="no"
+want_evas_engine_software_qtopia="no"
+want_evas_engine_software_16_x11="no"
+want_evas_engine_software_16_ddraw="no"
+want_evas_engine_software_16_wince="no"
+
+want_evas_image_loader_edb="yes"
+want_evas_image_loader_eet="yes"
+want_evas_image_loader_gif="yes"
+want_evas_image_loader_jpeg="yes"
+want_evas_image_loader_pmaps="yes"
+want_evas_image_loader_png="yes"
+want_evas_image_loader_svg="yes"
+want_evas_image_loader_tiff="yes"
+want_evas_image_loader_xpm="yes"
+
+want_evas_font_loader_eet="yes"
+
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      want_fontconfig="no"
+      want_evas_engine_software_16_wince="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_gif="no"
+      want_evas_image_loader_svg="no"
+      want_evas_image_loader_tiff="no"
+      ;;
+   mingw*)
+      want_evas_engine_software_gdi="yes"
+      want_evas_engine_software_ddraw="yes"
+      want_evas_engine_direct3d="yes"
+      want_evas_engine_software_16_ddraw="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_svg="no"
+      ;;
+   darwin*)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_quartz="auto"
+      ;;
+   *)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_xrender_x11="auto"
+      want_evas_engine_software_16_x11="auto"
+      ;;
+esac
+
+
+### Additional options to configure
+
+# when used, that option makes configure script fails when
+# a requirement is selected, but not met.
+use_strict="no"
+# Check whether --enable-strict was given.
+if test "${enable_strict+set}" = set; then
+  enableval=$enable_strict; use_strict="yes"
+else
+  use_strict="no"
+fi
+
+
+# Simple X11 build/link
+# Check whether --enable-simple-x11 was given.
+if test "${enable_simple_x11+set}" = set; then
+  enableval=$enable_simple_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_simple_x11="yes"
+    else
+       want_evas_simple_x11="no"
+    fi
+
+fi
+
+
+
+### Checks for programs
+
+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
+  { 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
+
+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=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
+  { 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
+
+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
+
+
+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'
@@ -16317,11 +14742,11 @@ 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:16320: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14745: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16324: \$? = $ac_status" >&5
+   echo "$as_me:14749: \$? = $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.
@@ -16416,11 +14841,11 @@ 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:16419: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14844: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16423: \$? = $ac_status" >&5
+   echo "$as_me:14848: \$? = $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
@@ -16468,11 +14893,11 @@ 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:16471: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14896: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16475: \$? = $ac_status" >&5
+   echo "$as_me:14900: \$? = $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
@@ -17444,124 +15869,21 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-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-svn-02"
-case "$host_os" in
-   mingw32ce* | cegcc*)
-      MODULE_ARCH="$host_os-$host_cpu"
-      ;;
-   *)
-      release_info="-release $release"
-      MODULE_ARCH="$host_os-$host_cpu-$release"
-      ;;
-esac
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define MODULE_ARCH "$MODULE_ARCH"
-_ACEOF
-
-
-want_fontconfig="auto"
-want_fribidi="auto"
-
-want_evas_engine_buffer="yes"
-want_evas_engine_software_x11="no"
-want_evas_engine_xrender_x11="no"
-want_evas_engine_gl_x11="no"
-want_evas_engine_cairo_x11="no"
-want_evas_engine_software_xcb="no"
-want_evas_engine_xrender_xcb="no"
-want_evas_engine_software_gdi="no"
-want_evas_engine_software_ddraw="no"
-want_evas_engine_direct3d="no"
-want_evas_engine_quartz="no"
-want_evas_engine_gl_glew="no"
-want_evas_engine_software_sdl="no"
-want_evas_engine_fb="no"
-want_evas_engine_directfb="no"
-want_evas_engine_software_qtopia="no"
-want_evas_engine_software_16_x11="no"
-want_evas_engine_software_16_ddraw="no"
-want_evas_engine_software_16_wince="no"
-
-want_evas_image_loader_edb="yes"
-want_evas_image_loader_eet="yes"
-want_evas_image_loader_gif="yes"
-want_evas_image_loader_jpeg="yes"
-want_evas_image_loader_pmaps="yes"
-want_evas_image_loader_png="yes"
-want_evas_image_loader_svg="yes"
-want_evas_image_loader_tiff="yes"
-want_evas_image_loader_xpm="yes"
-
-want_evas_font_loader_eet="yes"
-
-case "$host_os" in
-   mingw32ce* | cegcc*)
-      want_fontconfig="no"
-      want_evas_engine_software_16_wince="yes"
-      want_evas_image_loader_edb="no"
-      want_evas_image_loader_gif="no"
-      want_evas_image_loader_svg="no"
-      want_evas_image_loader_tiff="no"
-      ;;
-   mingw*)
-      want_evas_engine_software_gdi="yes"
-      want_evas_engine_software_ddraw="yes"
-      want_evas_engine_direct3d="yes"
-      want_evas_engine_software_16_ddraw="yes"
-      want_evas_image_loader_edb="no"
-      want_evas_image_loader_svg="no"
-      ;;
-   darwin*)
-      want_evas_engine_software_x11="auto"
-      want_evas_engine_quartz="auto"
-      ;;
-   *)
-      want_evas_engine_software_x11="auto"
-      want_evas_engine_xrender_x11="auto"
-      want_evas_engine_software_16_x11="auto"
-      ;;
-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}windres", so it can be a program name with args.
-set dummy ${ac_tool_prefix}windres; ac_word=$2
+  # 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_RC+set}" = set; then
+if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$RC"; then
-  ac_cv_prog_RC="$RC" # Let the user override the test.
+  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
@@ -17570,7 +15892,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_RC="${ac_tool_prefix}windres"
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -17580,10 +15902,10 @@ IFS=$as_save_IFS
 
 fi
 fi
-RC=$ac_cv_prog_RC
-if test -n "$RC"; then
-  { echo "$as_me:$LINENO: result: $RC" >&5
-echo "${ECHO_T}$RC" >&6; }
+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; }
@@ -17591,17 +15913,17 @@ fi
 
 
 fi
-if test -z "$ac_cv_prog_RC"; then
-  ac_ct_RC=$RC
-  # Extract the first word of "windres", so it can be a program name with args.
-set dummy windres; 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_prog_ac_ct_RC+set}" = set; then
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$ac_ct_RC"; then
-  ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
+  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
@@ -17610,7 +15932,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_RC="windres"
+    ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -17620,17 +15942,17 @@ IFS=$as_save_IFS
 
 fi
 fi
-ac_ct_RC=$ac_cv_prog_ac_ct_RC
-if test -n "$ac_ct_RC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RC" >&5
-echo "${ECHO_T}$ac_ct_RC" >&6; }
+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_RC" = x; then
-    RC=""
+  if test "x$ac_ct_CC" = x; then
+    CC=""
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -17642,98 +15964,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
-    RC=$ac_ct_RC
+    CC=$ac_ct_CC
   fi
 else
-  RC="$ac_cv_prog_RC"
+  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
 
-# 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"}
+  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
 
-# Allow CC to be a program name with arguments.
-compiler=$CC
+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
 
 
-# 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*
+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
 
-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*
+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
 
 
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=
-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
+    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
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+done
+IFS=$as_save_IFS
 
-lt_cv_prog_compiler_c_o_RC=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
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
 
-if test -n "$compiler"; then
-  :
 
+  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
 
-GCC=$lt_save_GCC
-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"
+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; }; }
 
-# 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
+# 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
@@ -17742,24 +16226,26 @@ _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;
+#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
@@ -17768,78 +16254,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
-  ac_cv_working_alloca_h=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
 
-	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
+	ac_compiler_gnu=no
 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
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 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 "$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.  */
-#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
@@ -17848,131 +16312,75 @@ 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
+	CFLAGS=""
+      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
 
+int
+main ()
+{
+
+  ;
+  return 0;
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "webecray" >/dev/null 2>&1; then
-  ac_cv_os_cray=yes
+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
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-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
+	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.  */
-/* 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
@@ -17981,114 +16389,164 @@ 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 CRAY_STACKSEG_END $ac_func
-_ACEOF
 
-    break
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-  done
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 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
+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 "$cross_compiling" = yes; then
-  ac_cv_c_stack_direction=0
+  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.  */
-$ac_includes_default
-int
-find_stack_direction ()
+#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;
 {
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
+  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 find_stack_direction () < 0;
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
 }
 _ACEOF
-rm -f 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>&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
+  (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
-  ac_cv_c_stack_direction=1
+  (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: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&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
 
+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
-{ 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
+# 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
 
 
-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
 
 
+# pkg-config
 
 
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
@@ -18210,14 +16668,172 @@ echo "${ECHO_T}no" >&6; }
 
 fi
 
-CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
+# doxygen program for documentation building
 
 
-WIN32_CPPFLAGS=""
-WIN32_CFLAGS=""
-lt_enable_auto_import=""
+# 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
+
+else
+  efl_enable_doc="yes"
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether to build documentation" >&5
+echo $ECHO_N "checking whether to build documentation... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${efl_enable_doc}" >&5
+echo "${ECHO_T}${efl_enable_doc}" >&6; }
+
+if test "x${efl_enable_doc}" = "xyes" ; then
+
+
+   efl_doxygen="doxygen"
+
+
+# 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
+
+  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; }
+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: no doxygen detected. Documentation will not be built" >&5
+echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
+       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
+
+  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; }
+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 path."
+          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: no doxygen detected. Documentation will not be built" >&5
+echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
+       fi
+
+fi
+
+fi
+
+
+
+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
+  EFL_BUILD_DOC_TRUE='#'
+  EFL_BUILD_DOC_FALSE=
+fi
+
+
+if test "x${efl_enable_doc}" = "xyes" ; then
+  build_doc="yes"
+else
+  build_doc="no"
+fi
+
+
+
+
+### Checks for libraries
+
+# Evil library for compilation on Windows CE
+
 case "$host_os" in
-        mingw*|cegcc*)
+   mingw* | cegcc*)
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for EVIL" >&5
@@ -18334,236 +16950,12 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_EVIL 1
 _ACEOF
 
-
-cat >>confdefs.h <<\_ACEOF
-#define EFL_EVAS_BUILD 1
-_ACEOF
-
-                if test "$host_os" = "cegcc" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                        WIN32_CFLAGS="-mwin32"
-			lt_enable_auto_import="-Wl,--enable-auto-import"
-                fi
-                if test "$host_os" = "mingw32ce" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                fi
-                ;;
+   ;;
 esac
 
+## strong dependencies
 
-
-
-
-# Check whether --enable-strict was given.
-if test "${enable_strict+set}" = set; then
-  enableval=$enable_strict; use_strict="yes"
-else
-  use_strict="no"
-
-fi
-
-
-#######################################
-## CACHE SERVER (CSERVE / CS)
-want_evas_cserve="yes"
-{ echo "$as_me:$LINENO: checking whether to build shared cache server and support" >&5
-echo $ECHO_N "checking whether to build shared cache server and support... $ECHO_C" >&6; }
-# Check whether --enable-evas-cserve was given.
-if test "${enable_evas_cserve+set}" = set; then
-  enableval=$enable_evas_cserve;  want_evas_cserve="$enableval"
-
-fi
-
-{ echo "$as_me:$LINENO: result: $want_evas_cserve" >&5
-echo "${ECHO_T}$want_evas_cserve" >&6; }
-
-if test "x${want_evas_cserve}" = "xyes" ; then
-   { echo "$as_me:$LINENO: checking whether shm_open() is present" >&5
-echo $ECHO_N "checking whether shm_open() is present... $ECHO_C" >&6; }
-   LIBS_save=${LIBS}
-   LIBS="$LIBS -lrt"
-   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/mman.h>
-#include <fcntl.h>
-
-int
-main ()
-{
-
-int fd;
-fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-shm_unlink("/");
-
-  ;
-  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
-  want_evas_cserve="yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	want_evas_cserve="no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-   LIBS=${LIBS_save}
-   { echo "$as_me:$LINENO: result: $want_evas_cserve" >&5
-echo "${ECHO_T}$want_evas_cserve" >&6; }
-fi
-
- if test "x$want_evas_cserve" = "xyes"; then
-  EVAS_CSERVE_TRUE=
-  EVAS_CSERVE_FALSE='#'
-else
-  EVAS_CSERVE_TRUE='#'
-  EVAS_CSERVE_FALSE=
-fi
-
-if test "x$want_evas_cserve" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define EVAS_CSERVE 1
-_ACEOF
-
-fi
-
-##################################################################
-#fribidi support - OPTIONAL!
-
-have_fribidi="no"
-# Check whether --enable-fribidi was given.
-if test "${enable_fribidi+set}" = set; then
-  enableval=$enable_fribidi;  want_fribidi=$enableval
-
-fi
-
-
-if test "x$want_fribidi" = "xyes" -o "x$want_fribidi" = "xauto" ; then
-  # Check if really available
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for FRIBIDI" >&5
-echo $ECHO_N "checking for FRIBIDI... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$FRIBIDI_CFLAGS"; then
-        pkg_cv_FRIBIDI_CFLAGS="$FRIBIDI_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fribidi\"") >&5
-  ($PKG_CONFIG --exists --print-errors "fribidi") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_FRIBIDI_CFLAGS=`$PKG_CONFIG --cflags "fribidi" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$FRIBIDI_LIBS"; then
-        pkg_cv_FRIBIDI_LIBS="$FRIBIDI_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fribidi\"") >&5
-  ($PKG_CONFIG --exists --print-errors "fribidi") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_FRIBIDI_LIBS=`$PKG_CONFIG --libs "fribidi" 2>/dev/null`
-else
-  pkg_failed=yes
-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
-	        FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fribidi"`
-        else
-	        FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fribidi"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$FRIBIDI_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-
-      if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
-        { { echo "$as_me:$LINENO: error: Fribidi not found (strict dependencies checking)" >&5
-echo "$as_me: error: Fribidi not found (strict dependencies checking)" >&2;}
-   { (exit 1); exit 1; }; }
-      fi
-
-elif test $pkg_failed = untried; then
-
-      if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
-        { { echo "$as_me:$LINENO: error: Fribidi not found (strict dependencies checking)" >&5
-echo "$as_me: error: Fribidi not found (strict dependencies checking)" >&2;}
-   { (exit 1); exit 1; }; }
-      fi
-
-else
-	FRIBIDI_CFLAGS=$pkg_cv_FRIBIDI_CFLAGS
-	FRIBIDI_LIBS=$pkg_cv_FRIBIDI_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-      have_fribidi="yes"
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FRIBIDI 1
-_ACEOF
-
-
-fi
-fi
-if test "x$have_fribidi" = "xno"; then
-  HAS_BIDI=0
-fi
-#####################################################################
-# Check evas strong dependencie
-
+# Eina
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for EINA" >&5
@@ -18676,6 +17068,7 @@ echo "${ECHO_T}yes" >&6; }
 	:
 fi
 
+# Freetype
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for FREETYPE" >&5
@@ -18788,29 +17181,24 @@ echo "${ECHO_T}yes" >&6; }
 	:
 fi
 
-#######################################
-## Simple X11 build/link
-
-# 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
-
-
-#######################################
-## FontConfig
+## optional dependencies
 
+# FontConfig
 have_fontconfig="no"
 # Check whether --enable-fontconfig was given.
 if test "${enable_fontconfig+set}" = set; then
-  enableval=$enable_fontconfig;  want_fontconfig=$enableval
+  enableval=$enable_fontconfig;
+    if test "x${enableval}" = "xyes" ; then
+       want_fontconfig="yes"
+    else
+       want_fontconfig="no"
+    fi
 
 fi
 
 
-if test "x$want_fontconfig" = "xyes" -o "x$want_fontconfig" = "xauto" ; then
-  # Check if really available
+
+if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
 
 pkg_failed=no
 { echo "$as_me:$LINENO: checking for FONTCONFIG" >&5
@@ -18873,19 +17261,19 @@ fi
 	{ echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 
-      if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
-        { { echo "$as_me:$LINENO: error: Fontconfig not found (strict dependencies checking)" >&5
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          { { echo "$as_me:$LINENO: error: Fontconfig not found (strict dependencies checking)" >&5
 echo "$as_me: error: Fontconfig not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
-      fi
+       fi
 
 elif test $pkg_failed = untried; then
 
-      if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
-        { { echo "$as_me:$LINENO: error: Fontconfig not found (strict dependencies checking)" >&5
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          { { echo "$as_me:$LINENO: error: Fontconfig not found (strict dependencies checking)" >&5
 echo "$as_me: error: Fontconfig not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
-      fi
+       fi
 
 else
 	FONTCONFIG_CFLAGS=$pkg_cv_FONTCONFIG_CFLAGS
@@ -18893,7 +17281,7 @@ else
         { echo "$as_me:$LINENO: result: yes" >&5
 echo "${ECHO_T}yes" >&6; }
 
-      have_fontconfig="yes"
+       have_fontconfig="yes"
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_FONTCONFIG 1
@@ -18903,24 +17291,1772 @@ _ACEOF
 fi
 fi
 
-###############
-## dlopen
+# fribidi support
+have_fribidi="no"
+# Check whether --enable-fribidi was given.
+if test "${enable_fribidi+set}" = set; then
+  enableval=$enable_fribidi;
+    if test "x${enableval}" = "xyes" ; then
+       want_fribidi="yes"
+    else
+       want_fribidi="no"
+    fi
 
-dlopen_libs=""
-case "$host_os" in
-  mingw32ce* | cegcc*)
-    cat >>confdefs.h <<\_ACEOF
-#define HAVE_DLADDR 1
+fi
+
+
+if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for FRIBIDI" >&5
+echo $ECHO_N "checking for FRIBIDI... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$FRIBIDI_CFLAGS"; then
+        pkg_cv_FRIBIDI_CFLAGS="$FRIBIDI_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fribidi\"") >&5
+  ($PKG_CONFIG --exists --print-errors "fribidi") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_FRIBIDI_CFLAGS=`$PKG_CONFIG --cflags "fribidi" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$FRIBIDI_LIBS"; then
+        pkg_cv_FRIBIDI_LIBS="$FRIBIDI_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"fribidi\"") >&5
+  ($PKG_CONFIG --exists --print-errors "fribidi") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_FRIBIDI_LIBS=`$PKG_CONFIG --libs "fribidi" 2>/dev/null`
+else
+  pkg_failed=yes
+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
+	        FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fribidi"`
+        else
+	        FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fribidi"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$FRIBIDI_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          { { echo "$as_me:$LINENO: error: Fribidi not found (strict dependencies checking)" >&5
+echo "$as_me: error: Fribidi not found (strict dependencies checking)" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+
+elif test $pkg_failed = untried; then
+
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          { { echo "$as_me:$LINENO: error: Fribidi not found (strict dependencies checking)" >&5
+echo "$as_me: error: Fribidi not found (strict dependencies checking)" >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+
+else
+	FRIBIDI_CFLAGS=$pkg_cv_FRIBIDI_CFLAGS
+	FRIBIDI_LIBS=$pkg_cv_FRIBIDI_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+       have_fribidi="yes"
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FRIBIDI 1
 _ACEOF
 
-  ;;
-  mingw*)
-  ;;
+
+fi
+fi
+
+if test "x${have_fribidi}" = "xno"; then
+  HAS_BIDI=0
+fi
+
+### Checks for header files
+{ 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
+
+
+# fnmatch.h
+if test "${ac_cv_header_fnmatch_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for fnmatch.h" >&5
+echo $ECHO_N "checking for fnmatch.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_fnmatch_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_fnmatch_h" >&5
+echo "${ECHO_T}$ac_cv_header_fnmatch_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking fnmatch.h usability" >&5
+echo $ECHO_N "checking fnmatch.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 <fnmatch.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_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 fnmatch.h presence" >&5
+echo $ECHO_N "checking fnmatch.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 <fnmatch.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
+  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: fnmatch.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: fnmatch.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: fnmatch.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: fnmatch.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: fnmatch.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: fnmatch.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: fnmatch.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: fnmatch.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: fnmatch.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: fnmatch.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 fnmatch.h" >&5
+echo $ECHO_N "checking for fnmatch.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_fnmatch_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_fnmatch_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_fnmatch_h" >&5
+echo "${ECHO_T}$ac_cv_header_fnmatch_h" >&6; }
+
+fi
+if test $ac_cv_header_fnmatch_h = yes; then
+  dummy="yes"
+else
+  { { echo "$as_me:$LINENO: error: Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file" >&5
+echo "$as_me: error: Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+{ 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
+
+{ 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
+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
+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 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
 
-for ac_func in dlopen
+
+
+{ 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
+
+	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
+
+
+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
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+  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
+  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=
+  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
+
+
+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
+
+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
+
+
+WIN32_CPPFLAGS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+
+
+WIN32_CFLAGS=""
+case "${host_os}" in
+   cegcc*)
+      WIN32_CFLAGS="-mwin32"
+   ;;
+esac
+
+
+
+### Checks for linker characteristics
+lt_enable_auto_import=""
+case "${host_os}" in
+   mingw* | cegcc*)
+
+cat >>confdefs.h <<\_ACEOF
+#define EFL_EVAS_BUILD 1
+_ACEOF
+
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+   ;;
+esac
+
+
+
+### Checks for library functions
+
+# alloca
+# 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); } && {
+	 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
+  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
+/* 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
+
+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
@@ -19004,18 +19140,100 @@ 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
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
 _ACEOF
- res=yes
+
+    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
-  res=no
+  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
-done
 
-    if test "x$res" = "xyes"; then
 
-for ac_func in dladdr
+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
+
+
+fi
+
+
+# fnmatch
+
+for ac_func in fnmatch
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 { echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -19104,21 +19322,19 @@ if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_DLADDR 1
-_ACEOF
-
+ res="yes"
+else
+  res="no"
 fi
 done
 
-    else
-      { 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
+if test "x$res" = "xno"; then
+   { echo "$as_me:$LINENO: checking for library containing fnmatch" >&5
+echo $ECHO_N "checking for library containing fnmatch... $ECHO_C" >&6; }
+if test "${ac_cv_search_fnmatch+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -19132,16 +19348,23 @@ cat >>conftest.$ac_ext <<_ACEOF
 #ifdef __cplusplus
 extern "C"
 #endif
-char dlopen ();
+char fnmatch ();
 int
 main ()
 {
-return dlopen ();
+return fnmatch ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
+for ac_lib in '' fnmatch evil iberty; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
 if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
@@ -19159,40 +19382,90 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext &&
        $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
+  ac_cv_search_fnmatch=$ac_res
 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
+      conftest$ac_exeext
+  if test "${ac_cv_search_fnmatch+set}" = set; then
+  break
 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
-  res=yes
+done
+if test "${ac_cv_search_fnmatch+set}" = set; then
+  :
 else
-  res=no
+  ac_cv_search_fnmatch=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_fnmatch" >&5
+echo "${ECHO_T}$ac_cv_search_fnmatch" >&6; }
+ac_res=$ac_cv_search_fnmatch
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  res="yes"
+else
+  res="no"
 fi
 
-      if test "x$res" = "xyes"; then
-        { echo "$as_me:$LINENO: checking for dladdr in -ldl" >&5
-echo $ECHO_N "checking for dladdr in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dladdr+set}" = set; then
+   if test "x$res" = "xno"; then
+      { { echo "$as_me:$LINENO: error: Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil" >&5
+echo "$as_me: error: Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+fi
+
+# dlopen
+dlopen_libs=""
+case "$host_os" in
+  mingw32ce* | cegcc*)
+# managed by evil
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_DLADDR 1
+_ACEOF
+
+  ;;
+  mingw*)
+# nothing on mingw platform
+  ;;
+  *)
+
+for ac_func in dlopen
+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
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+  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
@@ -19200,11 +19473,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 #ifdef __cplusplus
 extern "C"
 #endif
-char dladdr ();
+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 dladdr ();
+return $ac_func ();
   ;
   return 0;
 }
@@ -19227,66 +19507,93 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext &&
        $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dladdr=yes
+  eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_lib_dl_dladdr=no
+	eval "$as_ac_var=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_dladdr" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dladdr" >&6; }
-if test $ac_cv_lib_dl_dladdr = yes; then
-  cat >>confdefs.h <<\_ACEOF
-#define HAVE_DLADDR 1
+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
-
+ res=yes
+else
+  res=no
 fi
+done
 
-        dlopen_libs=-ldl
-      else
-        { { echo "$as_me:$LINENO: error: Cannot find dlopen" >&5
-echo "$as_me: error: Cannot find dlopen" >&2;}
-   { (exit 1); exit 1; }; }
-      fi
-    fi
-esac
-
+    if test "x$res" = "xyes"; then
 
-if test "${ac_cv_header_fnmatch_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for fnmatch.h" >&5
-echo $ECHO_N "checking for fnmatch.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_fnmatch_h+set}" = set; then
+for ac_func in dladdr
+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
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_fnmatch_h" >&5
-echo "${ECHO_T}$ac_cv_header_fnmatch_h" >&6; }
 else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking fnmatch.h usability" >&5
-echo $ECHO_N "checking fnmatch.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+  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 <fnmatch.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
-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
@@ -19295,140 +19602,115 @@ 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
+  eval "$as_ac_var=yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_header_compiler=no
+	eval "$as_ac_var=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
+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
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_DLADDR 1
+_ACEOF
 
-# Is the header present?
-{ echo "$as_me:$LINENO: checking fnmatch.h presence" >&5
-echo $ECHO_N "checking fnmatch.h presence... $ECHO_C" >&6; }
+fi
+done
+
+    else
+      { 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.  */
-#include <fnmatch.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
-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_dl_dlopen=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: fnmatch.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: fnmatch.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: fnmatch.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: fnmatch.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: fnmatch.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: fnmatch.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: fnmatch.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: fnmatch.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: fnmatch.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: fnmatch.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 fnmatch.h" >&5
-echo $ECHO_N "checking for fnmatch.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_fnmatch_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_fnmatch_h=$ac_header_preproc
+	ac_cv_lib_dl_dlopen=no
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_fnmatch_h" >&5
-echo "${ECHO_T}$ac_cv_header_fnmatch_h" >&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
-if test $ac_cv_header_fnmatch_h = yes; then
-  dummy="yes"
+{ 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
+  res=yes
 else
-  { { echo "$as_me:$LINENO: error: Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file" >&5
-echo "$as_me: error: Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file" >&2;}
-   { (exit 1); exit 1; }; }
+  res=no
 fi
 
-
-
-
-for ac_func in fnmatch
-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
+      if test "x$res" = "xyes"; then
+        { echo "$as_me:$LINENO: checking for dladdr in -ldl" >&5
+echo $ECHO_N "checking for dladdr in -ldl... $ECHO_C" >&6; }
+if test "${ac_cv_lib_dl_dladdr+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  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.  */
-/* 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
@@ -19436,18 +19718,11 @@ cat >>conftest.$ac_ext <<_ACEOF
 #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
-
+char dladdr ();
 int
 main ()
 {
-return $ac_func ();
+return dladdr ();
   ;
   return 0;
 }
@@ -19470,67 +19745,83 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext &&
        $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
+  ac_cv_lib_dl_dladdr=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	eval "$as_ac_var=no"
+	ac_cv_lib_dl_dladdr=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
-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
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dladdr" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dladdr" >&6; }
+if test $ac_cv_lib_dl_dladdr = yes; then
+  cat >>confdefs.h <<\_ACEOF
+#define HAVE_DLADDR 1
 _ACEOF
- res="yes"
-else
-  res="no"
+
 fi
-done
 
-if test "x$res" = "xno"; then
-   { echo "$as_me:$LINENO: checking for library containing fnmatch" >&5
-echo $ECHO_N "checking for library containing fnmatch... $ECHO_C" >&6; }
-if test "${ac_cv_search_fnmatch+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
+        dlopen_libs=-ldl
+      else
+        { { echo "$as_me:$LINENO: error: Cannot find dlopen" >&5
+echo "$as_me: error: Cannot find dlopen" >&2;}
+   { (exit 1); exit 1; }; }
+      fi
+    fi
+esac
+
+
+# (shm_open (for cache server)
+# Check whether --enable-evas-cserve was given.
+if test "${enable_evas_cserve+set}" = set; then
+  enableval=$enable_evas_cserve;
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_cserve="yes"
+    else
+       want_evas_cserve="no"
+    fi
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether to build shared cache server and support" >&5
+echo $ECHO_N "checking whether to build shared cache server and support... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${want_evas_cserve}" >&5
+echo "${ECHO_T}${want_evas_cserve}" >&6; }
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+   { echo "$as_me:$LINENO: checking whether shm_open() is present" >&5
+echo $ECHO_N "checking whether shm_open() is present... $ECHO_C" >&6; }
+   LIBS_save=${LIBS}
+   LIBS="${LIBS} -lrt"
+   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 fnmatch ();
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+
 int
 main ()
 {
-return fnmatch ();
+
+int fd;
+fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+shm_unlink("/");
+
   ;
   return 0;
 }
 _ACEOF
-for ac_lib in '' fnmatch evil iberty; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  rm -f conftest.$ac_objext conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
 if { (ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
@@ -19548,44 +19839,39 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext &&
        $as_test_x conftest$ac_exeext; then
-  ac_cv_search_fnmatch=$ac_res
+  want_evas_cserve="yes"
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
+	want_evas_cserve="no"
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext
-  if test "${ac_cv_search_fnmatch+set}" = set; then
-  break
-fi
-done
-if test "${ac_cv_search_fnmatch+set}" = set; then
-  :
-else
-  ac_cv_search_fnmatch=no
+      conftest$ac_exeext conftest.$ac_ext
+   LIBS=${LIBS_save}
+   { echo "$as_me:$LINENO: result: ${want_evas_cserve}" >&5
+echo "${ECHO_T}${want_evas_cserve}" >&6; }
 fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_CSERVE 1
+_ACEOF
+
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_search_fnmatch" >&5
-echo "${ECHO_T}$ac_cv_search_fnmatch" >&6; }
-ac_res=$ac_cv_search_fnmatch
-if test "$ac_res" != no; then
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-  res="yes"
+
+ if test "x${want_evas_cserve}" = "xyes"; then
+  EVAS_CSERVE_TRUE=
+  EVAS_CSERVE_FALSE='#'
 else
-  res="no"
+  EVAS_CSERVE_TRUE='#'
+  EVAS_CSERVE_FALSE=
 fi
 
-   if test "x$res" = "xno"; then
-      { { echo "$as_me:$LINENO: error: Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil" >&5
-echo "$as_me: error: Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil" >&2;}
-   { (exit 1); exit 1; }; }
-   fi
-fi
+
+
 
 #####################################################################
 ## Engines
@@ -19594,11 +19880,22 @@ fi
 
 
 want_engine="${want_evas_engine_buffer}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_buffer="no"
 
 # Check whether --enable-buffer was given.
 if test "${enable_buffer+set}" = set; then
-  enableval=$enable_buffer; want_engine=${enableval}
+  enableval=$enable_buffer;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -19608,7 +19905,7 @@ echo $ECHO_N "checking whether to enable Buffer rendering backend... $ECHO_C" >&
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="yes"
@@ -19619,15 +19916,15 @@ evas_engine_buffer_libs=""
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_buffer="yes"
+  have_engine="yes"
 else
-  have_evas_engine_buffer="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_buffer}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Buffer dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Buffer dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -19635,10 +19932,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Buffer rendering backend will be built" >&5
 echo $ECHO_N "checking whether Buffer rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_buffer}" >&5
-echo "${ECHO_T}${have_evas_engine_buffer}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_buffer="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_buffer="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_buffer}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_BUFFER 1
@@ -19646,7 +19952,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_buffer}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_BUFFER_TRUE=
   BUILD_ENGINE_BUFFER_FALSE='#'
 else
@@ -19655,6 +19961,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_BUFFER 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_BUFFER_TRUE=
+  EVAS_STATIC_BUILD_BUFFER_FALSE='#'
+else
+  EVAS_STATIC_BUILD_BUFFER_TRUE='#'
+  EVAS_STATIC_BUILD_BUFFER_FALSE=
+fi
+
+
 
 
 
@@ -19663,27 +19987,38 @@ fi
 
 
 
-want_engine="${want_evas_engine_software_x11}"
-have_evas_engine_software_x11="no"
+want_engine="${want_evas_engine_software_xlib}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_xlib="no"
 
-# Check whether --enable-software-x11 was given.
-if test "${enable_software_x11+set}" = set; then
-  enableval=$enable_software_x11; want_engine=${enableval}
+# Check whether --enable-software-xlib was given.
+if test "${enable_software_xlib+set}" = set; then
+  enableval=$enable_software_xlib;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
 
-{ echo "$as_me:$LINENO: checking whether to enable Software X11 rendering backend" >&5
-echo $ECHO_N "checking whether to enable Software X11 rendering backend... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: checking whether to enable Software Xlib rendering backend" >&5
+echo $ECHO_N "checking whether to enable Software Xlib rendering backend... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
-evas_engine_software_x11_cflags=""
-evas_engine_software_x11_libs=""
+evas_engine_software_xlib_cflags=""
+evas_engine_software_xlib_libs=""
 
 { echo "$as_me:$LINENO: checking for X" >&5
 echo $ECHO_N "checking for X... $ECHO_C" >&6; }
@@ -21144,47 +21479,74 @@ if test "x${have_dep}" = "xyes" ; then
       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
    fi
-   evas_engine_software_x11_cflags="${x_cflags}"
-   evas_engine_software_x11_libs="${x_libs}"
+   evas_engine_software_xlib_cflags="${x_cflags}"
+   evas_engine_software_xlib_libs="${x_libs}"
 fi
 
 
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_x11="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_x11="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_x11}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
-   { { echo "$as_me:$LINENO: error: Software X11 dependencies not found (strict dependencies checking)" >&5
-echo "$as_me: error: Software X11 dependencies not found (strict dependencies checking)" >&2;}
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   { { echo "$as_me:$LINENO: error: Software Xlib dependencies not found (strict dependencies checking)" >&5
+echo "$as_me: error: Software Xlib dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-{ echo "$as_me:$LINENO: checking whether Software X11 rendering backend will be built" >&5
-echo $ECHO_N "checking whether Software X11 rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_x11}" >&5
-echo "${ECHO_T}${have_evas_engine_software_x11}" >&6; }
+{ echo "$as_me:$LINENO: checking whether Software Xlib rendering backend will be built" >&5
+echo $ECHO_N "checking whether Software Xlib rendering backend will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_xlib="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_xlib="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_software_x11}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
-#define BUILD_ENGINE_SOFTWARE_X11 1
+#define BUILD_ENGINE_SOFTWARE_XLIB 1
 _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_x11}" = "xyes"; then
-  BUILD_ENGINE_SOFTWARE_X11_TRUE=
-  BUILD_ENGINE_SOFTWARE_X11_FALSE='#'
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_XLIB_TRUE=
+  BUILD_ENGINE_SOFTWARE_XLIB_FALSE='#'
 else
-  BUILD_ENGINE_SOFTWARE_X11_TRUE='#'
-  BUILD_ENGINE_SOFTWARE_X11_FALSE=
+  BUILD_ENGINE_SOFTWARE_XLIB_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_XLIB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_XLIB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE=
 fi
 
 
@@ -21197,11 +21559,22 @@ fi
 
 
 want_engine="${want_evas_engine_xrender_x11}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_xrender_x11="no"
 
 # Check whether --enable-xrender-x11 was given.
 if test "${enable_xrender_x11+set}" = set; then
-  enableval=$enable_xrender_x11; want_engine=${enableval}
+  enableval=$enable_xrender_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -21211,7 +21584,7 @@ echo $ECHO_N "checking whether to enable XRender X11 rendering backend... $ECHO_
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 evas_engine_xrender_x11_cflags=""
@@ -22697,15 +23070,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_xrender_x11="yes"
+  have_engine="yes"
 else
-  have_evas_engine_xrender_x11="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_xrender_x11}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: XRender X11 dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: XRender X11 dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -22713,10 +23086,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether XRender X11 rendering backend will be built" >&5
 echo $ECHO_N "checking whether XRender X11 rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_xrender_x11}" >&5
-echo "${ECHO_T}${have_evas_engine_xrender_x11}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_xrender_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_xrender_x11="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_xrender_x11}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_XRENDER_X11 1
@@ -22724,7 +23106,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_xrender_x11}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_XRENDER_X11_TRUE=
   BUILD_ENGINE_XRENDER_X11_FALSE='#'
 else
@@ -22733,6 +23115,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_XRENDER_X11 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_XRENDER_X11_TRUE=
+  EVAS_STATIC_BUILD_XRENDER_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XRENDER_X11_TRUE='#'
+  EVAS_STATIC_BUILD_XRENDER_X11_FALSE=
+fi
+
+
 
 
 
@@ -22742,11 +23142,22 @@ fi
 
 
 want_engine="${want_evas_engine_gl_x11}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_gl_x11="no"
 
 # Check whether --enable-gl-x11 was given.
 if test "${enable_gl_x11+set}" = set; then
-  enableval=$enable_gl_x11; want_engine=${enableval}
+  enableval=$enable_gl_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -22756,7 +23167,7 @@ echo $ECHO_N "checking whether to enable OpenGL X11 rendering backend... $ECHO_C
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 evas_engine_gl_x11_cflags=""
@@ -24243,15 +24654,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_gl_x11="yes"
+  have_engine="yes"
 else
-  have_evas_engine_gl_x11="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_gl_x11}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: OpenGL X11 dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: OpenGL X11 dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -24259,10 +24670,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether OpenGL X11 rendering backend will be built" >&5
 echo $ECHO_N "checking whether OpenGL X11 rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_gl_x11}" >&5
-echo "${ECHO_T}${have_evas_engine_gl_x11}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_gl_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_gl_x11="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_gl_x11}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_GL_X11 1
@@ -24270,7 +24690,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_gl_x11}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_GL_X11_TRUE=
   BUILD_ENGINE_GL_X11_FALSE='#'
 else
@@ -24279,6 +24699,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_GL_X11 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_X11_TRUE=
+  EVAS_STATIC_BUILD_GL_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_X11_TRUE='#'
+  EVAS_STATIC_BUILD_GL_X11_FALSE=
+fi
+
+
 
 
 
@@ -24291,11 +24729,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_xcb}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_xcb="no"
 
 # Check whether --enable-software-xcb was given.
 if test "${enable_software_xcb+set}" = set; then
-  enableval=$enable_software_xcb; want_engine=${enableval}
+  enableval=$enable_software_xcb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -24305,7 +24754,7 @@ echo $ECHO_N "checking whether to enable Software XCB rendering backend... $ECHO
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -24433,15 +24882,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_xcb="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_xcb="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_xcb}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software XCB dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software XCB dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -24449,10 +24898,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software XCB rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software XCB rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_xcb}" >&5
-echo "${ECHO_T}${have_evas_engine_software_xcb}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_xcb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_xcb="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_software_xcb}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_XCB 1
@@ -24460,7 +24918,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_xcb}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_XCB_TRUE=
   BUILD_ENGINE_SOFTWARE_XCB_FALSE='#'
 else
@@ -24469,6 +24927,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_XCB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE=
+fi
+
+
 
 
 
@@ -24478,11 +24954,22 @@ fi
 
 
 want_engine="${want_evas_engine_xrender_xcb}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_xrender_xcb="no"
 
 # Check whether --enable-xrender-xcb was given.
 if test "${enable_xrender_xcb+set}" = set; then
-  enableval=$enable_xrender_xcb; want_engine=${enableval}
+  enableval=$enable_xrender_xcb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -24492,7 +24979,7 @@ echo $ECHO_N "checking whether to enable XRender XCB rendering backend... $ECHO_
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -24620,15 +25107,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_xrender_xcb="yes"
+  have_engine="yes"
 else
-  have_evas_engine_xrender_xcb="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_xrender_xcb}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: XRender XCB dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: XRender XCB dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -24636,10 +25123,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether XRender XCB rendering backend will be built" >&5
 echo $ECHO_N "checking whether XRender XCB rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_xrender_xcb}" >&5
-echo "${ECHO_T}${have_evas_engine_xrender_xcb}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_xrender_xcb}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_xrender_xcb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_xrender_xcb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_XRENDER_XCB 1
@@ -24647,7 +25143,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_xrender_xcb}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_XRENDER_XCB_TRUE=
   BUILD_ENGINE_XRENDER_XCB_FALSE='#'
 else
@@ -24656,6 +25152,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_XRENDER_XCB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_XRENDER_XCB_TRUE=
+  EVAS_STATIC_BUILD_XRENDER_XCB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XRENDER_XCB_TRUE='#'
+  EVAS_STATIC_BUILD_XRENDER_XCB_FALSE=
+fi
+
+
 
 
 
@@ -24665,11 +25179,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_gdi}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_gdi="no"
 
 # Check whether --enable-software-gdi was given.
 if test "${enable_software_gdi+set}" = set; then
-  enableval=$enable_software_gdi; want_engine=${enableval}
+  enableval=$enable_software_gdi;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -24679,7 +25204,7 @@ echo $ECHO_N "checking whether to enable Software GDI rendering backend... $ECHO
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -24830,15 +25355,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_gdi="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_gdi="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_gdi}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software GDI dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software GDI dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -24846,10 +25371,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software GDI rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software GDI rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_gdi}" >&5
-echo "${ECHO_T}${have_evas_engine_software_gdi}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_software_gdi}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_gdi="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_gdi="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_GDI 1
@@ -24857,7 +25391,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_gdi}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_GDI_TRUE=
   BUILD_ENGINE_SOFTWARE_GDI_FALSE='#'
 else
@@ -24866,6 +25400,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_GDI 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE=
+fi
+
+
 
 
 
@@ -24875,11 +25427,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_ddraw}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_ddraw="no"
 
 # Check whether --enable-software-ddraw was given.
 if test "${enable_software_ddraw+set}" = set; then
-  enableval=$enable_software_ddraw; want_engine=${enableval}
+  enableval=$enable_software_ddraw;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -24889,7 +25452,7 @@ echo $ECHO_N "checking whether to enable Software DirectDraw rendering backend..
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -25040,15 +25603,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_ddraw="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_ddraw="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_ddraw}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software DirectDraw dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software DirectDraw dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -25056,10 +25619,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software DirectDraw rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software DirectDraw rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_ddraw}" >&5
-echo "${ECHO_T}${have_evas_engine_software_ddraw}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_ddraw="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_ddraw="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_software_ddraw}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_DDRAW 1
@@ -25067,7 +25639,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_ddraw}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_DDRAW_TRUE=
   BUILD_ENGINE_SOFTWARE_DDRAW_FALSE='#'
 else
@@ -25076,6 +25648,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_DDRAW 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE=
+fi
+
+
 
 
 
@@ -25085,11 +25675,22 @@ fi
 
 
 want_engine="${want_evas_engine_direct3d}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_direct3d="no"
 
 # Check whether --enable-direct3d was given.
 if test "${enable_direct3d+set}" = set; then
-  enableval=$enable_direct3d; want_engine=${enableval}
+  enableval=$enable_direct3d;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -25099,7 +25700,7 @@ echo $ECHO_N "checking whether to enable Direct3D rendering backend... $ECHO_C"
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 evas_engine_direct3d_cflags=""
@@ -25262,15 +25863,15 @@ done
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_direct3d="yes"
+  have_engine="yes"
 else
-  have_evas_engine_direct3d="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_direct3d}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Direct3D dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Direct3D dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -25278,10 +25879,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Direct3D rendering backend will be built" >&5
 echo $ECHO_N "checking whether Direct3D rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_direct3d}" >&5
-echo "${ECHO_T}${have_evas_engine_direct3d}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_direct3d="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_direct3d="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_direct3d}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_DIRECT3D 1
@@ -25289,7 +25899,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_direct3d}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_DIRECT3D_TRUE=
   BUILD_ENGINE_DIRECT3D_FALSE='#'
 else
@@ -25298,6 +25908,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_DIRECT3D 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_DIRECT3D_TRUE=
+  EVAS_STATIC_BUILD_DIRECT3D_FALSE='#'
+else
+  EVAS_STATIC_BUILD_DIRECT3D_TRUE='#'
+  EVAS_STATIC_BUILD_DIRECT3D_FALSE=
+fi
+
+
 
 
 
@@ -25307,11 +25935,22 @@ fi
 
 
 want_engine="${want_evas_engine_quartz}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_quartz="no"
 
 # Check whether --enable-quartz was given.
 if test "${enable_quartz+set}" = set; then
-  enableval=$enable_quartz; want_engine=${enableval}
+  enableval=$enable_quartz;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -25321,7 +25960,7 @@ echo $ECHO_N "checking whether to enable Quartz rendering backend... $ECHO_C" >&
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 evas_engine_quartz_cflags=""
@@ -25480,15 +26119,15 @@ done
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_quartz="yes"
+  have_engine="yes"
 else
-  have_evas_engine_quartz="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_quartz}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Quartz dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Quartz dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -25496,10 +26135,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Quartz rendering backend will be built" >&5
 echo $ECHO_N "checking whether Quartz rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_quartz}" >&5
-echo "${ECHO_T}${have_evas_engine_quartz}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_quartz="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_quartz="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_quartz}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_QUARTZ 1
@@ -25507,7 +26155,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_quartz}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_QUARTZ_TRUE=
   BUILD_ENGINE_QUARTZ_FALSE='#'
 else
@@ -25516,6 +26164,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_QUARTZ 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_QUARTZ_TRUE=
+  EVAS_STATIC_BUILD_QUARTZ_FALSE='#'
+else
+  EVAS_STATIC_BUILD_QUARTZ_TRUE='#'
+  EVAS_STATIC_BUILD_QUARTZ_FALSE=
+fi
+
+
 
 
 
@@ -25525,11 +26191,22 @@ fi
 
 
 want_engine="${want_evas_engine_gl_glew}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_gl_glew="no"
 
 # Check whether --enable-gl-glew was given.
 if test "${enable_gl_glew+set}" = set; then
-  enableval=$enable_gl_glew; want_engine=${enableval}
+  enableval=$enable_gl_glew;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -25539,7 +26216,7 @@ echo $ECHO_N "checking whether to enable OpenGL Glew rendering backend... $ECHO_
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 evas_engine_gl_glew_cflags=""
@@ -25703,15 +26380,15 @@ done
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_gl_glew="yes"
+  have_engine="yes"
 else
-  have_evas_engine_gl_glew="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_gl_glew}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: OpenGL Glew dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: OpenGL Glew dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -25719,10 +26396,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether OpenGL Glew rendering backend will be built" >&5
 echo $ECHO_N "checking whether OpenGL Glew rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_gl_glew}" >&5
-echo "${ECHO_T}${have_evas_engine_gl_glew}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_gl_glew="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_gl_glew="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_gl_glew}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_GL_GLEW 1
@@ -25730,7 +26416,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_gl_glew}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_GL_GLEW_TRUE=
   BUILD_ENGINE_GL_GLEW_FALSE='#'
 else
@@ -25739,6 +26425,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_GL_GLEW 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_GLEW_TRUE=
+  EVAS_STATIC_BUILD_GL_GLEW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_GLEW_TRUE='#'
+  EVAS_STATIC_BUILD_GL_GLEW_FALSE=
+fi
+
+
 
 
 
@@ -25748,11 +26452,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_sdl}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_sdl="no"
 
 # Check whether --enable-software-sdl was given.
 if test "${enable_software_sdl+set}" = set; then
-  enableval=$enable_software_sdl; want_engine=${enableval}
+  enableval=$enable_software_sdl;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -25762,7 +26477,7 @@ echo $ECHO_N "checking whether to enable Software SDL rendering backend... $ECHO
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -25890,15 +26605,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_sdl="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_sdl="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_sdl}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software SDL dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software SDL dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -25906,10 +26621,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software SDL rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software SDL rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_sdl}" >&5
-echo "${ECHO_T}${have_evas_engine_software_sdl}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_sdl="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_sdl="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_software_sdl}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_SDL 1
@@ -25917,7 +26641,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_sdl}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_SDL_TRUE=
   BUILD_ENGINE_SOFTWARE_SDL_FALSE='#'
 else
@@ -25926,6 +26650,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_SDL 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE=
+fi
+
+
 
 
 
@@ -25935,11 +26677,22 @@ fi
 
 
 want_engine="${want_evas_engine_fb}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_fb="no"
 
 # Check whether --enable-fb was given.
 if test "${enable_fb+set}" = set; then
-  enableval=$enable_fb; want_engine=${enableval}
+  enableval=$enable_fb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -25949,7 +26702,7 @@ echo $ECHO_N "checking whether to enable Framebuffer rendering backend... $ECHO_
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -26096,15 +26849,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_fb="yes"
+  have_engine="yes"
 else
-  have_evas_engine_fb="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_fb}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Framebuffer dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Framebuffer dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -26112,10 +26865,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Framebuffer rendering backend will be built" >&5
 echo $ECHO_N "checking whether Framebuffer rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_fb}" >&5
-echo "${ECHO_T}${have_evas_engine_fb}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_fb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_fb="yes"
+   fi
+fi
 
-if test "x${have_evas_engine_fb}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_FB 1
@@ -26123,7 +26885,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_fb}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_FB_TRUE=
   BUILD_ENGINE_FB_FALSE='#'
 else
@@ -26132,6 +26894,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_FB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_FB_TRUE=
+  EVAS_STATIC_BUILD_FB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_FB_TRUE='#'
+  EVAS_STATIC_BUILD_FB_FALSE=
+fi
+
+
 
 
 
@@ -26141,11 +26921,22 @@ fi
 
 
 want_engine="${want_evas_engine_directfb}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_directfb="no"
 
 # Check whether --enable-directfb was given.
 if test "${enable_directfb+set}" = set; then
-  enableval=$enable_directfb; want_engine=${enableval}
+  enableval=$enable_directfb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -26155,7 +26946,7 @@ echo $ECHO_N "checking whether to enable DirectFB rendering backend... $ECHO_C"
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -26283,15 +27074,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_directfb="yes"
+  have_engine="yes"
 else
-  have_evas_engine_directfb="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_directfb}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: DirectFB dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: DirectFB dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -26299,10 +27090,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether DirectFB rendering backend will be built" >&5
 echo $ECHO_N "checking whether DirectFB rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_directfb}" >&5
-echo "${ECHO_T}${have_evas_engine_directfb}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_directfb}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_directfb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_directfb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_DIRECTFB 1
@@ -26310,7 +27110,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_directfb}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_DIRECTFB_TRUE=
   BUILD_ENGINE_DIRECTFB_FALSE='#'
 else
@@ -26319,6 +27119,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_DIRECTFB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_DIRECTFB_TRUE=
+  EVAS_STATIC_BUILD_DIRECTFB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_DIRECTFB_TRUE='#'
+  EVAS_STATIC_BUILD_DIRECTFB_FALSE=
+fi
+
+
 
 
 
@@ -26331,11 +27149,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_16_x11}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_16_x11="no"
 
 # Check whether --enable-software-16-x11 was given.
 if test "${enable_software_16_x11+set}" = set; then
-  enableval=$enable_software_16_x11; want_engine=${enableval}
+  enableval=$enable_software_16_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -26345,7 +27174,7 @@ echo $ECHO_N "checking whether to enable Software X11 16 bits rendering backend.
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -27819,15 +28648,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_16_x11="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_16_x11="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_16_x11}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software X11 16 bits dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software X11 16 bits dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -27835,10 +28664,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software X11 16 bits rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software X11 16 bits rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_16_x11}" >&5
-echo "${ECHO_T}${have_evas_engine_software_16_x11}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_software_16_x11}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_x11="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_16_X11 1
@@ -27846,7 +28684,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_16_x11}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_16_X11_TRUE=
   BUILD_ENGINE_SOFTWARE_16_X11_FALSE='#'
 else
@@ -27855,6 +28693,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_16_X11 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE=
+fi
+
+
 
 
 
@@ -27864,11 +28720,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_16_ddraw}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_16_ddraw="no"
 
 # Check whether --enable-software-16-ddraw was given.
 if test "${enable_software_16_ddraw+set}" = set; then
-  enableval=$enable_software_16_ddraw; want_engine=${enableval}
+  enableval=$enable_software_16_ddraw;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -27878,7 +28745,7 @@ echo $ECHO_N "checking whether to enable Software DirectDraw 16 bits rendering b
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="no"
@@ -28029,15 +28896,15 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_16_ddraw="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_16_ddraw="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_16_ddraw}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software DirectDraw 16 bits dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software DirectDraw 16 bits dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -28045,10 +28912,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software DirectDraw 16 bits rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software DirectDraw 16 bits rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_16_ddraw}" >&5
-echo "${ECHO_T}${have_evas_engine_software_16_ddraw}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_software_16_ddraw}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_ddraw="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_ddraw="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_16_DDRAW 1
@@ -28056,7 +28932,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_16_ddraw}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE=
   BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE='#'
 else
@@ -28065,6 +28941,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE=
+fi
+
+
 
 
 
@@ -28074,11 +28968,22 @@ fi
 
 
 want_engine="${want_evas_engine_software_16_wince}"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_software_16_wince="no"
 
 # Check whether --enable-software-16-wince was given.
 if test "${enable_software_16_wince+set}" = set; then
-  enableval=$enable_software_16_wince; want_engine=${enableval}
+  enableval=$enable_software_16_wince;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
 
 fi
 
@@ -28088,7 +28993,7 @@ echo $ECHO_N "checking whether to enable Software Windows CE 16 bits rendering b
 { echo "$as_me:$LINENO: result: ${want_engine}" >&5
 echo "${ECHO_T}${want_engine}" >&6; }
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
 
 
 have_dep="yes"
@@ -28099,15 +29004,15 @@ evas_engine_software_16_wince_libs=""
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_engine_software_16_wince="yes"
+  have_engine="yes"
 else
-  have_evas_engine_software_16_wince="no"
+  have_engine="no"
 fi
 
 
 fi
 
-if test "x${have_evas_engine_software_16_wince}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Software Windows CE 16 bits dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Software Windows CE 16 bits dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
@@ -28115,10 +29020,19 @@ fi
 
 { echo "$as_me:$LINENO: checking whether Software Windows CE 16 bits rendering backend will be built" >&5
 echo $ECHO_N "checking whether Software Windows CE 16 bits rendering backend will be built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${have_evas_engine_software_16_wince}" >&5
-echo "${ECHO_T}${have_evas_engine_software_16_wince}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_engine}" >&5
+echo "${ECHO_T}${have_engine}" >&6; }
 
-if test "x${have_evas_engine_software_16_wince}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_wince="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_wince="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_ENGINE_SOFTWARE_16_WINCE 1
@@ -28126,7 +29040,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_engine_software_16_wince}" = "xyes"; then
+ if test "x${have_engine}" = "xyes"; then
   BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE=
   BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE='#'
 else
@@ -28135,6 +29049,24 @@ else
 fi
 
 
+if test "x${want_static_engine}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_16_WINCE 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE=
+fi
+
+
 
 
 
@@ -28200,19 +29132,102 @@ _ACEOF
 
 fi
 
+# if software generic need to be build as part of libevas.so
+have_static_software_generic="no"
+# Check whether --enable-static-software-generic was given.
+if test "${enable_static_software_generic+set}" = set; then
+  enableval=$enable_static_software_generic; have_static_software_generic=${enableval}
+
+fi
+
+{ echo "$as_me:$LINENO: checking Whether to build software generic engine as part of libevas" >&5
+echo $ECHO_N "checking Whether to build software generic engine as part of libevas... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_static_software_generic}" >&5
+echo "${ECHO_T}${have_static_software_generic}" >&6; }
+
+ if test "x${have_static_software_generic}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE=
+fi
+
+if test "x${have_static_software_generic}" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_GENERIC 1
+_ACEOF
+
+fi
+
+# if software_xlib or software_xcb are available, define everything needed for X11
+have_evas_engine_software_x11="no"
+if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_x11="static"
+else
+   if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
+      have_evas_engine_software_x11="yes"
+   fi
+fi
+
+if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
+   have_evas_engine_software_xlib="yes"
+fi
+
+if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_xcb="yes"
+fi
+
+if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BUILD_ENGINE_SOFTWARE_X11 1
+_ACEOF
+
+fi
+
+if test "x$have_evas_engine_software_x11" = "xstatic" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_X11 1
+_ACEOF
+
+fi
+
+ if test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"; then
+  BUILD_ENGINE_SOFTWARE_X11_TRUE=
+  BUILD_ENGINE_SOFTWARE_X11_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_X11_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_X11_FALSE=
+fi
+
+ if test "x${have_evas_engine_software_x11}" = "xstatic"; then
+  EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE=
+fi
+
+
+
+
+
 # if software 16 x11 is enabled - build software_16 (the generic 16bit
 # engine). later enable it fb_16 or other "16" bit engines are enabled.
 have_evas_engine_software_16="no"
-if test "x$have_evas_engine_software_16_x11" = "xyes"; then
+if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_sdl" = "xyes"; then
+if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_16_ddraw" = "xyes"; then
+if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_16_wince" = "xyes"; then
+if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
  if test "x$have_evas_engine_software_16" = "xyes"; then
@@ -28224,6 +29239,34 @@ else
 fi
 
 
+# if software 16 need to be build as part of libevas.so
+have_static_software_16="no"
+# Check whether --enable-static-software-16 was given.
+if test "${enable_static_software_16+set}" = set; then
+  enableval=$enable_static_software_16; have_static_software_16=${enableval}
+
+fi
+
+{ echo "$as_me:$LINENO: checking Whether to build software 16 engine as part of libevas" >&5
+echo $ECHO_N "checking Whether to build software 16 engine as part of libevas... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_static_software_16}" >&5
+echo "${ECHO_T}${have_static_software_16}" >&6; }
+
+ if test "x${have_static_software_16}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_FALSE=
+fi
+
+if test "x${have_static_software_16}" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SOFTWARE_16 1
+_ACEOF
+
+fi
 
 #####################################################################
 ## Image loaders
@@ -28234,11 +29277,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_edb}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_edb="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_edb+set}" = set; then
-  enableval=$enable_image_loader_edb; want_loader=${enableval}
+  enableval=$enable_image_loader_edb;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -28248,7 +29303,7 @@ echo $ECHO_N "checking whether to enable Edb image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -28333,21 +29388,35 @@ evas_image_loader_edb_libs="${EDB_LIBS}"
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_edb="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_edb="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_edb}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Edb dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Edb dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_edb}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether Edb image loader will be built" >&5
+echo $ECHO_N "checking whether Edb image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_edb="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_edb="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_EDB 1
@@ -28355,7 +29424,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_edb}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_EDB_TRUE=
   BUILD_LOADER_EDB_FALSE='#'
 else
@@ -28364,6 +29433,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_EDB 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_EDB_TRUE=
+  EVAS_STATIC_BUILD_EDB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_EDB_TRUE='#'
+  EVAS_STATIC_BUILD_EDB_FALSE=
+fi
+
+
 
 
 
@@ -28375,11 +29462,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_eet}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_eet="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_eet+set}" = set; then
-  enableval=$enable_image_loader_eet; want_loader=${enableval}
+  enableval=$enable_image_loader_eet;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -28389,7 +29488,7 @@ echo $ECHO_N "checking whether to enable Eet image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -28474,21 +29573,35 @@ evas_image_loader_eet_libs="${EET_LIBS}"
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_eet="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_eet="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_eet}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Eet dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Eet dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_eet}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether Eet image loader will be built" >&5
+echo $ECHO_N "checking whether Eet image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_eet="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_eet="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_EET 1
@@ -28496,7 +29609,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_eet}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_EET_TRUE=
   BUILD_LOADER_EET_FALSE='#'
 else
@@ -28505,6 +29618,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_EET 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_EET_TRUE=
+  EVAS_STATIC_BUILD_EET_FALSE='#'
+else
+  EVAS_STATIC_BUILD_EET_TRUE='#'
+  EVAS_STATIC_BUILD_EET_FALSE=
+fi
+
+
 
 
 
@@ -28626,11 +29757,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_gif}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_gif="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_gif+set}" = set; then
-  enableval=$enable_image_loader_gif; want_loader=${enableval}
+  enableval=$enable_image_loader_gif;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -28640,7 +29783,7 @@ echo $ECHO_N "checking whether to enable Gif image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -28932,21 +30075,35 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_gif="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_gif="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_gif}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Gif dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Gif dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_gif}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether Gif image loader will be built" >&5
+echo $ECHO_N "checking whether Gif image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_gif="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_gif="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_GIF 1
@@ -28954,7 +30111,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_gif}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_GIF_TRUE=
   BUILD_LOADER_GIF_FALSE='#'
 else
@@ -28963,6 +30120,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_GIF 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_GIF_TRUE=
+  EVAS_STATIC_BUILD_GIF_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GIF_TRUE='#'
+  EVAS_STATIC_BUILD_GIF_FALSE=
+fi
+
+
 
 
 
@@ -28975,11 +30150,23 @@ have_evas_image_saver_jpeg="no"
 
 
 want_loader="${want_evas_image_loader_jpeg}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_jpeg="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_jpeg+set}" = set; then
-  enableval=$enable_image_loader_jpeg; want_loader=${enableval}
+  enableval=$enable_image_loader_jpeg;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -28989,7 +30176,7 @@ echo $ECHO_N "checking whether to enable Jpeg image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -29207,21 +30394,35 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_jpeg="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_jpeg="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_jpeg}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Jpeg dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Jpeg dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether Jpeg image loader will be built" >&5
+echo $ECHO_N "checking whether Jpeg image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_jpeg="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_jpeg="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_JPEG 1
@@ -29229,7 +30430,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_jpeg}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_JPEG_TRUE=
   BUILD_LOADER_JPEG_FALSE='#'
 else
@@ -29238,6 +30439,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_JPEG 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_JPEG_TRUE=
+  EVAS_STATIC_BUILD_JPEG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_JPEG_TRUE='#'
+  EVAS_STATIC_BUILD_JPEG_FALSE=
+fi
+
+
 
 
 
@@ -29267,11 +30486,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_pmaps}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_pmaps="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_pmaps+set}" = set; then
-  enableval=$enable_image_loader_pmaps; want_loader=${enableval}
+  enableval=$enable_image_loader_pmaps;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -29281,7 +30512,7 @@ echo $ECHO_N "checking whether to enable PMAPS image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="yes"
@@ -29292,21 +30523,35 @@ evas_image_loader_pmaps_libs=""
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_pmaps="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_pmaps="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_pmaps}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: PMAPS dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: PMAPS dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_pmaps}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether PMAPS image loader will be built" >&5
+echo $ECHO_N "checking whether PMAPS image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_pmaps="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_pmaps="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_PMAPS 1
@@ -29314,7 +30559,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_pmaps}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_PMAPS_TRUE=
   BUILD_LOADER_PMAPS_FALSE='#'
 else
@@ -29323,6 +30568,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_PMAPS 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_PMAPS_TRUE=
+  EVAS_STATIC_BUILD_PMAPS_FALSE='#'
+else
+  EVAS_STATIC_BUILD_PMAPS_TRUE='#'
+  EVAS_STATIC_BUILD_PMAPS_FALSE=
+fi
+
+
 
 
 
@@ -29334,11 +30597,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_png}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_png="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_png+set}" = set; then
-  enableval=$enable_image_loader_png; want_loader=${enableval}
+  enableval=$enable_image_loader_png;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -29348,7 +30623,7 @@ echo $ECHO_N "checking whether to enable PNG image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -29593,21 +30868,35 @@ evas_image_loader_png_libs="${PNG_LIBS}"
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_png="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_png="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_png}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: PNG dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: PNG dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_png}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether PNG image loader will be built" >&5
+echo $ECHO_N "checking whether PNG image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_png="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_png="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_PNG 1
@@ -29615,7 +30904,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_png}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_PNG_TRUE=
   BUILD_LOADER_PNG_FALSE='#'
 else
@@ -29624,6 +30913,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_PNG 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_PNG_TRUE=
+  EVAS_STATIC_BUILD_PNG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_PNG_TRUE='#'
+  EVAS_STATIC_BUILD_PNG_FALSE=
+fi
+
+
 
 
 
@@ -29635,11 +30942,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_svg}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_svg="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_svg+set}" = set; then
-  enableval=$enable_image_loader_svg; want_loader=${enableval}
+  enableval=$enable_image_loader_svg;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -29649,7 +30968,7 @@ echo $ECHO_N "checking whether to enable SVG image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -29739,21 +31058,35 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_svg="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_svg="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_svg}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: SVG dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: SVG dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_svg}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether SVG image loader will be built" >&5
+echo $ECHO_N "checking whether SVG image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_svg="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_svg="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_SVG 1
@@ -29761,7 +31094,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_svg}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_SVG_TRUE=
   BUILD_LOADER_SVG_FALSE='#'
 else
@@ -29770,6 +31103,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_SVG 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_SVG_TRUE=
+  EVAS_STATIC_BUILD_SVG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SVG_TRUE='#'
+  EVAS_STATIC_BUILD_SVG_FALSE=
+fi
+
+
 
 
 
@@ -29781,11 +31132,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_tiff}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_tiff="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_tiff+set}" = set; then
-  enableval=$enable_image_loader_tiff; want_loader=${enableval}
+  enableval=$enable_image_loader_tiff;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -29795,7 +31158,7 @@ echo $ECHO_N "checking whether to enable Tiff image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="no"
@@ -30159,21 +31522,35 @@ fi
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_tiff="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_tiff="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_tiff}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: Tiff dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: Tiff dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_tiff}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether Tiff image loader will be built" >&5
+echo $ECHO_N "checking whether Tiff image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_tiff="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_tiff="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_TIFF 1
@@ -30181,7 +31558,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_tiff}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_TIFF_TRUE=
   BUILD_LOADER_TIFF_FALSE='#'
 else
@@ -30190,6 +31567,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_TIFF 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_TIFF_TRUE=
+  EVAS_STATIC_BUILD_TIFF_FALSE='#'
+else
+  EVAS_STATIC_BUILD_TIFF_TRUE='#'
+  EVAS_STATIC_BUILD_TIFF_FALSE=
+fi
+
+
 
 
 
@@ -30201,11 +31596,23 @@ fi
 
 
 want_loader="${want_evas_image_loader_xpm}"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_xpm="no"
 
 # Check whether --enable-image-loader-[]DOWN was given.
 if test "${enable_image_loader_xpm+set}" = set; then
-  enableval=$enable_image_loader_xpm; want_loader=${enableval}
+  enableval=$enable_image_loader_xpm;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
 
 fi
 
@@ -30215,7 +31622,7 @@ echo $ECHO_N "checking whether to enable XPM image loader... $ECHO_C" >&6; }
 { echo "$as_me:$LINENO: result: ${want_loader}" >&5
 echo "${ECHO_T}${want_loader}" >&6; }
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
 
 
 have_dep="yes"
@@ -30226,21 +31633,35 @@ evas_image_loader_xpm_libs=""
 
 
 if test "x${have_dep}" = "xyes" ; then
-  have_evas_image_loader_xpm="yes"
+  have_loader="yes"
 else
-  have_evas_image_loader_xpm="no"
+  have_loader="no"
 fi
 
 
 fi
 
-if test "x${have_evas_image_loader_xpm}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    { { echo "$as_me:$LINENO: error: XPM dependencies not found (strict dependencies checking)" >&5
 echo "$as_me: error: XPM dependencies not found (strict dependencies checking)" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-if test "x${have_evas_image_loader_xpm}" = "xyes" ; then
+{ echo "$as_me:$LINENO: checking whether XPM image loader will be built" >&5
+echo $ECHO_N "checking whether XPM image loader will be built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_loader}" >&5
+echo "${ECHO_T}${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_xpm="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_xpm="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LOADER_XPM 1
@@ -30248,7 +31669,7 @@ _ACEOF
 
 fi
 
- if test "x${have_evas_image_loader_xpm}" = "xyes"; then
+ if test "x${have_loader}" = "xyes"; then
   BUILD_LOADER_XPM_TRUE=
   BUILD_LOADER_XPM_FALSE='#'
 else
@@ -30257,6 +31678,24 @@ else
 fi
 
 
+if test "x${want_static_loader}" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EVAS_STATIC_BUILD_XPM 1
+_ACEOF
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_XPM_TRUE=
+  EVAS_STATIC_BUILD_XPM_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XPM_TRUE='#'
+  EVAS_STATIC_BUILD_XPM_FALSE=
+fi
+
+
 
 
 
@@ -31376,7 +32815,6 @@ fi
 
 #######################################
 ## C
-build_cpu_c="no"
 build_cpu_c="yes"
 { echo "$as_me:$LINENO: checking whether to build c code" >&5
 echo $ECHO_N "checking whether to build c code... $ECHO_C" >&6; }
@@ -31449,84 +32887,84 @@ fi
 
 #######################################
 ## Nearest sampling scaler
-scaler_sample="no"
-scaler_sample="yes"
-{ echo "$as_me:$LINENO: checking whether to build sampling scaler" >&5
-echo $ECHO_N "checking whether to build sampling scaler... $ECHO_C" >&6; }
+
+
 # Check whether --enable-scale-sample was given.
 if test "${enable_scale_sample+set}" = set; then
   enableval=$enable_scale_sample;
-      if test "x$enableval" = "xyes" ; then
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_scaler_option_scale_sample="yes"
+    else
+       _efl_enable_scaler_option_scale_sample="no"
+    fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_SCALE_SAMPLE 1
-_ACEOF
+else
+  _efl_enable_scaler_option_scale_sample="yes"
+fi
 
-        scaler_sample="yes"
-      else
-        { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-        scaler_sample="no"
-      fi
 
-else
+{ echo "$as_me:$LINENO: checking whether to build sampling scaler" >&5
+echo $ECHO_N "checking whether to build sampling scaler... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_scaler_option_scale_sample}" >&5
+echo "${ECHO_T}${_efl_enable_scaler_option_scale_sample}" >&6; }
 
-      { echo "$as_me:$LINENO: result: $scaler_sample" >&5
-echo "${ECHO_T}$scaler_sample" >&6; }
-      if test "x$scaler_sample" = "xyes" ; then
+if test "x${_efl_enable_scaler_option_scale_sample}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_SCALE_SAMPLE 1
 _ACEOF
 
-      fi
-
+fi
 
+if test "x${_efl_enable_scaler_option_scale_sample}" = "xyes" ; then
+   scaler_sample="yes"
+else
+   scaler_sample="no"
 fi
 
 
-#######################################
+
+
 ## Smooth super and sub sampling scaler
-scaler_smooth="no"
-scaler_smooth="yes"
-{ echo "$as_me:$LINENO: checking whether to build smooth scaler" >&5
-echo $ECHO_N "checking whether to build smooth scaler... $ECHO_C" >&6; }
+
+
 # Check whether --enable-scale-smooth was given.
 if test "${enable_scale_smooth+set}" = set; then
   enableval=$enable_scale_smooth;
-      if test "x$enableval" = "xyes" ; then
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_scaler_option_scale_smooth="yes"
+    else
+       _efl_enable_scaler_option_scale_smooth="no"
+    fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_SCALE_SMOOTH 1
-_ACEOF
+else
+  _efl_enable_scaler_option_scale_smooth="yes"
+fi
 
-        scaler_smooth="yes"
-      else
-        { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-        scaler_smooth="no"
-      fi
 
-else
+{ echo "$as_me:$LINENO: checking whether to build smooth scaler" >&5
+echo $ECHO_N "checking whether to build smooth scaler... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_scaler_option_scale_smooth}" >&5
+echo "${ECHO_T}${_efl_enable_scaler_option_scale_smooth}" >&6; }
 
-      { echo "$as_me:$LINENO: result: $scaler_smooth" >&5
-echo "${ECHO_T}$scaler_smooth" >&6; }
-      if test "x$scaler_smooth" = "xyes" ; then
+if test "x${_efl_enable_scaler_option_scale_smooth}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_SCALE_SMOOTH 1
 _ACEOF
 
-      fi
-
+fi
 
+if test "x${_efl_enable_scaler_option_scale_smooth}" = "xyes" ; then
+   scaler_smooth="yes"
+else
+   scaler_smooth="no"
 fi
 
 
+
+
+
 #######################################
 ## YUV -> ARGB converter
 conv_yuv="no"
@@ -31572,121 +33010,123 @@ fi
 
 #######################################
 ## Small dither mask instead of big one (lower quality)
-conv_small_dither="no"
-{ echo "$as_me:$LINENO: checking whether to build small dither mask code" >&5
-echo $ECHO_N "checking whether to build small dither mask code... $ECHO_C" >&6; }
+
+
 # Check whether --enable-small-dither-mask was given.
 if test "${enable_small_dither_mask+set}" = set; then
   enableval=$enable_small_dither_mask;
-      if test "x$enableval" = "xyes" ; then
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_small_dither_mask="yes"
+    else
+       _efl_enable_dither_option_small_dither_mask="no"
+    fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_SMALL_DITHER_MASK 1
-_ACEOF
+else
+  _efl_enable_dither_option_small_dither_mask="no"
+fi
 
-        conv_small_dither="yes"
-      else
-        { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-        conv_small_dither="no"
-      fi
 
-else
+{ echo "$as_me:$LINENO: checking whether to build small dither mask" >&5
+echo $ECHO_N "checking whether to build small dither mask... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_dither_option_small_dither_mask}" >&5
+echo "${ECHO_T}${_efl_enable_dither_option_small_dither_mask}" >&6; }
 
-      { echo "$as_me:$LINENO: result: $conv_small_dither" >&5
-echo "${ECHO_T}$conv_small_dither" >&6; }
-      if test "x$conv_small_dither" = "xyes" ; then
+if test "x${_efl_enable_dither_option_small_dither_mask}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_SMALL_DITHER_MASK 1
 _ACEOF
 
-      fi
-
+fi
 
+if test "x${_efl_enable_dither_option_small_dither_mask}" = "xyes" ; then
+   conv_small_dither="yes"
+else
+   conv_small_dither="no"
 fi
 
 
-#######################################
+
+
 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
-conv_line_dither="no"
-{ echo "$as_me:$LINENO: checking whether to build line dither mask code" >&5
-echo $ECHO_N "checking whether to build line dither mask code... $ECHO_C" >&6; }
+
+
 # Check whether --enable-line-dither-mask was given.
 if test "${enable_line_dither_mask+set}" = set; then
   enableval=$enable_line_dither_mask;
-      if test "x$enableval" = "xyes" ; then
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_line_dither_mask="yes"
+    else
+       _efl_enable_dither_option_line_dither_mask="no"
+    fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_LINE_DITHER_MASK 1
-_ACEOF
+else
+  _efl_enable_dither_option_line_dither_mask="no"
+fi
 
-        conv_line_dither="yes"
-      else
-        { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-        conv_line_dither="no"
-      fi
 
-else
+{ echo "$as_me:$LINENO: checking whether to build line dither mask" >&5
+echo $ECHO_N "checking whether to build line dither mask... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_dither_option_line_dither_mask}" >&5
+echo "${ECHO_T}${_efl_enable_dither_option_line_dither_mask}" >&6; }
 
-      { echo "$as_me:$LINENO: result: $conv_line_dither" >&5
-echo "${ECHO_T}$conv_line_dither" >&6; }
-      if test "x$conv_line_dither" = "xyes" ; then
+if test "x${_efl_enable_dither_option_line_dither_mask}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_LINE_DITHER_MASK 1
 _ACEOF
 
-      fi
-
+fi
 
+if test "x${_efl_enable_dither_option_line_dither_mask}" = "xyes" ; then
+   conv_line_dither="yes"
+else
+   conv_line_dither="no"
 fi
 
 
-#######################################
+
+
 ## No dither mask at all for 16bpp
-conv_no_dither="no"
-{ echo "$as_me:$LINENO: checking whether to build without dither mask for 16bpp" >&5
-echo $ECHO_N "checking whether to build without dither mask for 16bpp... $ECHO_C" >&6; }
+
+
 # Check whether --enable-no-dither-mask was given.
 if test "${enable_no_dither_mask+set}" = set; then
   enableval=$enable_no_dither_mask;
-      if test "x$enableval" = "xyes" ; then
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_no_dither_mask="yes"
+    else
+       _efl_enable_dither_option_no_dither_mask="no"
+    fi
 
-cat >>confdefs.h <<\_ACEOF
-#define BUILD_NO_DITHER_MASK 1
-_ACEOF
+else
+  _efl_enable_dither_option_no_dither_mask="no"
+fi
 
-        conv_no_dither="yes"
-      else
-        { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-        conv_no_dither="no"
-      fi
 
-else
+{ echo "$as_me:$LINENO: checking whether to build conversion to 16bpp without dither mask" >&5
+echo $ECHO_N "checking whether to build conversion to 16bpp without dither mask... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_dither_option_no_dither_mask}" >&5
+echo "${ECHO_T}${_efl_enable_dither_option_no_dither_mask}" >&6; }
 
-      { echo "$as_me:$LINENO: result: $conv_no_dither" >&5
-echo "${ECHO_T}$conv_no_dither" >&6; }
-      if test "x$conv_no_dither" = "xyes" ; then
+if test "x${_efl_enable_dither_option_no_dither_mask}" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
 #define BUILD_NO_DITHER_MASK 1
 _ACEOF
 
-      fi
-
+fi
 
+if test "x${_efl_enable_dither_option_no_dither_mask}" = "xyes" ; then
+   conv_no_dither="yes"
+else
+   conv_no_dither="no"
 fi
 
 
+
+
+
 #######################################
 ## Convert to 8bpp RGB 332
 
@@ -32735,162 +34175,6 @@ _ACEOF
 fi
 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
-
-else
-  efl_enable_doc="yes"
-fi
-
-
-{ echo "$as_me:$LINENO: checking whether to build documentation" >&5
-echo $ECHO_N "checking whether to build documentation... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${efl_enable_doc}" >&5
-echo "${ECHO_T}${efl_enable_doc}" >&6; }
-
-if test "x${efl_enable_doc}" = "xyes" ; then
-
-
-   efl_doxygen="doxygen"
-
-
-# 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
-
-  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; }
-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: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
-       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
-
-  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; }
-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 path."
-          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: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
-       fi
-
-fi
-
-fi
-
-
-
-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
-  EFL_BUILD_DOC_TRUE='#'
-  EFL_BUILD_DOC_FALSE=
-fi
-
-
-if test "x${efl_enable_doc}" = "xyes" ; then
-  build_doc="yes"
-else
-  build_doc="no"
-fi
-
-
 #####################################################################
 ## Fill in flags
 
@@ -32902,7 +34186,7 @@ fi
 #####################################################################
 ## Output
 
-ac_config_files="$ac_config_files Makefile evas-directfb.pc evas-fb.pc evas-opengl-glew.pc evas-opengl-x11.pc evas-quartz.pc evas-software-buffer.pc evas-software-x11.pc evas-software-16-x11.pc evas-software-xcb.pc evas-xrender-x11.pc evas-xrender-xcb.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas.pc doc/evas.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/data/Makefile src/lib/file/Makefile src/lib/imaging/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_glew/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/quartz/Makefile src/modules/engines/xrender_x11/Makefile src/modules/engines/software_sdl/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/lib/include/Makefile README evas.spec"
+ac_config_files="$ac_config_files Makefile evas-directfb.pc evas-fb.pc evas-opengl-glew.pc evas-opengl-x11.pc evas-quartz.pc evas-software-buffer.pc evas-software-x11.pc evas-software-16-x11.pc evas-xrender-x11.pc evas-xrender-xcb.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas.pc doc/evas.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/imaging/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_glew/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/quartz/Makefile src/modules/engines/xrender_x11/Makefile src/modules/engines/software_sdl/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/lib/include/Makefile README evas.spec"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -33028,6 +34312,13 @@ 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 "${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 \"EFL_BUILD_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${EVAS_CSERVE_TRUE}" && test -z "${EVAS_CSERVE_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"EVAS_CSERVE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33042,10 +34333,24 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_BUFFER\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${BUILD_ENGINE_SOFTWARE_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_X11_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined.
+if test -z "${EVAS_STATIC_BUILD_BUFFER_TRUE}" && test -z "${EVAS_STATIC_BUILD_BUFFER_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_BUFFER\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined.
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_BUFFER\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_XLIB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XLIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -33056,6 +34361,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_XRENDER_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_XRENDER_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_XRENDER_X11_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_XRENDER_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_XRENDER_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_GL_X11_TRUE}" && test -z "${BUILD_ENGINE_GL_X11_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_GL_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33063,6 +34375,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_GL_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_GL_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_X11_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_GL_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_GL_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_XCB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XCB_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33070,6 +34389,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_XRENDER_XCB_TRUE}" && test -z "${BUILD_ENGINE_XRENDER_XCB_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_XRENDER_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33077,6 +34403,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_XRENDER_XCB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_XRENDER_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_XRENDER_XCB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_XRENDER_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_XRENDER_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_GDI_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_GDI_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_GDI\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33084,6 +34417,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_GDI\" was never defined
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_GDI\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_GDI\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_DDRAW\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33091,6 +34431,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_DDRAW\" was never defin
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_DIRECT3D_TRUE}" && test -z "${BUILD_ENGINE_DIRECT3D_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_DIRECT3D\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33098,6 +34445,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_DIRECT3D\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_DIRECT3D_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECT3D_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_DIRECT3D\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_DIRECT3D\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_QUARTZ_TRUE}" && test -z "${BUILD_ENGINE_QUARTZ_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_QUARTZ\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33105,6 +34459,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_QUARTZ\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_QUARTZ_TRUE}" && test -z "${EVAS_STATIC_BUILD_QUARTZ_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_QUARTZ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_QUARTZ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_GL_GLEW_TRUE}" && test -z "${BUILD_ENGINE_GL_GLEW_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_GL_GLEW\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33112,6 +34473,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_GL_GLEW\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_GL_GLEW_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_GLEW_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_GL_GLEW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_GL_GLEW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_SDL_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_SDL_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_SDL\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33119,6 +34487,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_SDL\" was never defined
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_FB_TRUE}" && test -z "${BUILD_ENGINE_FB_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_FB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33126,6 +34501,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_FB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_FB_TRUE}" && test -z "${EVAS_STATIC_BUILD_FB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_DIRECTFB_TRUE}" && test -z "${BUILD_ENGINE_DIRECTFB_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_DIRECTFB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33133,6 +34515,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_DIRECTFB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_DIRECTFB_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECTFB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_16_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_X11_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_16_X11\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33140,6 +34529,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_16_X11\" was never defi
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_16_DDRAW\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33147,6 +34543,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_16_DDRAW\" was never de
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_16_WINCE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33154,6 +34557,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_16_WINCE\" was never de
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_GL_COMMON_TRUE}" && test -z "${BUILD_ENGINE_GL_COMMON_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_GL_COMMON\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33161,6 +34571,27 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_GL_COMMON\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_GENERIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_GENERIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_X11_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_ENGINE_SOFTWARE_16_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_ENGINE_SOFTWARE_16\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33168,6 +34599,13 @@ echo "$as_me: error: conditional \"BUILD_ENGINE_SOFTWARE_16\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SOFTWARE_16\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_EDB_TRUE}" && test -z "${BUILD_LOADER_EDB_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_EDB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33175,6 +34613,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_EDB\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_EDB_TRUE}" && test -z "${EVAS_STATIC_BUILD_EDB_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_EDB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_EDB\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_EET_TRUE}" && test -z "${BUILD_LOADER_EET_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_EET\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33182,6 +34627,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_EET\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_EET_TRUE}" && test -z "${EVAS_STATIC_BUILD_EET_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_EET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_EET\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_GIF_TRUE}" && test -z "${BUILD_LOADER_GIF_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_GIF\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33189,6 +34641,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_GIF\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_GIF_TRUE}" && test -z "${EVAS_STATIC_BUILD_GIF_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_GIF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_GIF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_JPEG_TRUE}" && test -z "${BUILD_LOADER_JPEG_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_JPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33196,6 +34655,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_JPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_JPEG_TRUE}" && test -z "${EVAS_STATIC_BUILD_JPEG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_JPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_JPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_SAVER_JPEG_TRUE}" && test -z "${BUILD_SAVER_JPEG_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_SAVER_JPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33210,6 +34676,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_PMAPS\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_PMAPS_TRUE}" && test -z "${EVAS_STATIC_BUILD_PMAPS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_PMAPS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_PMAPS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_PNG_TRUE}" && test -z "${BUILD_LOADER_PNG_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_PNG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33217,6 +34690,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_PNG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_PNG_TRUE}" && test -z "${EVAS_STATIC_BUILD_PNG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_PNG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_PNG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_SVG_TRUE}" && test -z "${BUILD_LOADER_SVG_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_SVG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33224,6 +34704,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_SVG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_SVG_TRUE}" && test -z "${EVAS_STATIC_BUILD_SVG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_SVG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_SVG\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_TIFF_TRUE}" && test -z "${BUILD_LOADER_TIFF_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_TIFF\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33231,6 +34718,13 @@ echo "$as_me: error: conditional \"BUILD_LOADER_TIFF\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EVAS_STATIC_BUILD_TIFF_TRUE}" && test -z "${EVAS_STATIC_BUILD_TIFF_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_TIFF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_TIFF\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_LOADER_XPM_TRUE}" && test -z "${BUILD_LOADER_XPM_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_LOADER_XPM\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -33238,17 +34732,17 @@ echo "$as_me: error: conditional \"BUILD_LOADER_XPM\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${EVAS_MAGIC_DEBUG_TRUE}" && test -z "${EVAS_MAGIC_DEBUG_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"EVAS_MAGIC_DEBUG\" was never defined.
+if test -z "${EVAS_STATIC_BUILD_XPM_TRUE}" && test -z "${EVAS_STATIC_BUILD_XPM_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_STATIC_BUILD_XPM\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"EVAS_MAGIC_DEBUG\" was never defined.
+echo "$as_me: error: conditional \"EVAS_STATIC_BUILD_XPM\" 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 "${EVAS_MAGIC_DEBUG_TRUE}" && test -z "${EVAS_MAGIC_DEBUG_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EVAS_MAGIC_DEBUG\" 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 \"EVAS_MAGIC_DEBUG\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -33552,7 +35046,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 evas $as_me 0.9.9.061, which was
+This file was extended by evas $as_me 0.9.9.062, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -33605,7 +35099,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-evas config.status 0.9.9.061
+evas config.status 0.9.9.062
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -33846,99 +35340,52 @@ 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"`'
-LD_RC='`$ECHO "X$LD_RC" | $Xsed -e "$delay_single_quote_subst"`'
 old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-old_archive_cmds_RC='`$ECHO "X$old_archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_RC='`$ECHO "X$compiler_RC" | $Xsed -e "$delay_single_quote_subst"`'
 GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-GCC_RC='`$ECHO "X$GCC_RC" | $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_no_builtin_flag_RC='`$ECHO "X$lt_prog_compiler_no_builtin_flag_RC" | $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_wl_RC='`$ECHO "X$lt_prog_compiler_wl_RC" | $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_pic_RC='`$ECHO "X$lt_prog_compiler_pic_RC" | $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_prog_compiler_static_RC='`$ECHO "X$lt_prog_compiler_static_RC" | $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"`'
-lt_cv_prog_compiler_c_o_RC='`$ECHO "X$lt_cv_prog_compiler_c_o_RC" | $Xsed -e "$delay_single_quote_subst"`'
 archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_need_lc_RC='`$ECHO "X$archive_cmds_need_lc_RC" | $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"`'
-enable_shared_with_static_runtimes_RC='`$ECHO "X$enable_shared_with_static_runtimes_RC" | $Xsed -e "$delay_single_quote_subst"`'
 export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_RC='`$ECHO "X$export_dynamic_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
 whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-whole_archive_flag_spec_RC='`$ECHO "X$whole_archive_flag_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
 compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_needs_object_RC='`$ECHO "X$compiler_needs_object_RC" | $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_new_cmds_RC='`$ECHO "X$old_archive_from_new_cmds_RC" | $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"`'
-old_archive_from_expsyms_cmds_RC='`$ECHO "X$old_archive_from_expsyms_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_cmds_RC='`$ECHO "X$archive_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-archive_expsym_cmds_RC='`$ECHO "X$archive_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_cmds_RC='`$ECHO "X$module_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-module_expsym_cmds_RC='`$ECHO "X$module_expsym_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-with_gnu_ld_RC='`$ECHO "X$with_gnu_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
 allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-allow_undefined_flag_RC='`$ECHO "X$allow_undefined_flag_RC" | $Xsed -e "$delay_single_quote_subst"`'
 no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-no_undefined_flag_RC='`$ECHO "X$no_undefined_flag_RC" | $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_RC='`$ECHO "X$hardcode_libdir_flag_spec_RC" | $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_flag_spec_ld_RC='`$ECHO "X$hardcode_libdir_flag_spec_ld_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_libdir_separator_RC='`$ECHO "X$hardcode_libdir_separator_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_RC='`$ECHO "X$hardcode_direct_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_direct_absolute_RC='`$ECHO "X$hardcode_direct_absolute_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_minus_L_RC='`$ECHO "X$hardcode_minus_L_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_RC='`$ECHO "X$hardcode_shlibpath_var_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_automatic_RC='`$ECHO "X$hardcode_automatic_RC" | $Xsed -e "$delay_single_quote_subst"`'
 inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-inherit_rpath_RC='`$ECHO "X$inherit_rpath_RC" | $Xsed -e "$delay_single_quote_subst"`'
 link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-link_all_deplibs_RC='`$ECHO "X$link_all_deplibs_RC" | $Xsed -e "$delay_single_quote_subst"`'
 fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-fix_srcfile_path_RC='`$ECHO "X$fix_srcfile_path_RC" | $Xsed -e "$delay_single_quote_subst"`'
 always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-always_export_symbols_RC='`$ECHO "X$always_export_symbols_RC" | $Xsed -e "$delay_single_quote_subst"`'
 export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-export_symbols_cmds_RC='`$ECHO "X$export_symbols_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-exclude_expsyms_RC='`$ECHO "X$exclude_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
 include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-include_expsyms_RC='`$ECHO "X$include_expsyms_RC" | $Xsed -e "$delay_single_quote_subst"`'
 prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-prelink_cmds_RC='`$ECHO "X$prelink_cmds_RC" | $Xsed -e "$delay_single_quote_subst"`'
 file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-file_list_spec_RC='`$ECHO "X$file_list_spec_RC" | $Xsed -e "$delay_single_quote_subst"`'
 hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-hardcode_action_RC='`$ECHO "X$hardcode_action_RC" | $Xsed -e "$delay_single_quote_subst"`'
 compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_RC='`$ECHO "X$compiler_lib_search_dirs_RC" | $Xsed -e "$delay_single_quote_subst"`'
 predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predep_objects_RC='`$ECHO "X$predep_objects_RC" | $Xsed -e "$delay_single_quote_subst"`'
 postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdep_objects_RC='`$ECHO "X$postdep_objects_RC" | $Xsed -e "$delay_single_quote_subst"`'
 predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-predeps_RC='`$ECHO "X$predeps_RC" | $Xsed -e "$delay_single_quote_subst"`'
 postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-postdeps_RC='`$ECHO "X$postdeps_RC" | $Xsed -e "$delay_single_quote_subst"`'
 compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
-compiler_lib_search_path_RC='`$ECHO "X$compiler_lib_search_path_RC" | $Xsed -e "$delay_single_quote_subst"`'
 
 LTCC='$LTCC'
 LTCFLAGS='$LTCFLAGS'
@@ -34009,57 +35456,31 @@ predeps \
 postdeps \
 compiler_lib_search_path \
 LD_CXX \
-LD_RC \
 compiler_CXX \
-compiler_RC \
 lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_no_builtin_flag_RC \
 lt_prog_compiler_wl_CXX \
-lt_prog_compiler_wl_RC \
 lt_prog_compiler_pic_CXX \
-lt_prog_compiler_pic_RC \
 lt_prog_compiler_static_CXX \
-lt_prog_compiler_static_RC \
 lt_cv_prog_compiler_c_o_CXX \
-lt_cv_prog_compiler_c_o_RC \
 export_dynamic_flag_spec_CXX \
-export_dynamic_flag_spec_RC \
 whole_archive_flag_spec_CXX \
-whole_archive_flag_spec_RC \
 compiler_needs_object_CXX \
-compiler_needs_object_RC \
 with_gnu_ld_CXX \
-with_gnu_ld_RC \
 allow_undefined_flag_CXX \
-allow_undefined_flag_RC \
 no_undefined_flag_CXX \
-no_undefined_flag_RC \
 hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_RC \
 hardcode_libdir_flag_spec_ld_CXX \
-hardcode_libdir_flag_spec_ld_RC \
 hardcode_libdir_separator_CXX \
-hardcode_libdir_separator_RC \
 fix_srcfile_path_CXX \
-fix_srcfile_path_RC \
 exclude_expsyms_CXX \
-exclude_expsyms_RC \
 include_expsyms_CXX \
-include_expsyms_RC \
 file_list_spec_CXX \
-file_list_spec_RC \
 compiler_lib_search_dirs_CXX \
-compiler_lib_search_dirs_RC \
 predep_objects_CXX \
-predep_objects_RC \
 postdep_objects_CXX \
-postdep_objects_RC \
 predeps_CXX \
-predeps_RC \
 postdeps_CXX \
-postdeps_RC \
-compiler_lib_search_path_CXX \
-compiler_lib_search_path_RC; do
+compiler_lib_search_path_CXX; do
     case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
     *[\\\\\\\`\\"\\\$]*)
       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
@@ -34090,23 +35511,14 @@ finish_cmds \
 sys_lib_search_path_spec \
 sys_lib_dlsearch_path_spec \
 old_archive_cmds_CXX \
-old_archive_cmds_RC \
 old_archive_from_new_cmds_CXX \
-old_archive_from_new_cmds_RC \
 old_archive_from_expsyms_cmds_CXX \
-old_archive_from_expsyms_cmds_RC \
 archive_cmds_CXX \
-archive_cmds_RC \
 archive_expsym_cmds_CXX \
-archive_expsym_cmds_RC \
 module_cmds_CXX \
-module_cmds_RC \
 module_expsym_cmds_CXX \
-module_expsym_cmds_RC \
 export_symbols_cmds_CXX \
-export_symbols_cmds_RC \
-prelink_cmds_CXX \
-prelink_cmds_RC; do
+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\\"\\\`\\\\\\""
@@ -34145,8 +35557,6 @@ fi
 
 
 
-
-
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -34167,7 +35577,6 @@ do
     "evas-software-buffer.pc") CONFIG_FILES="$CONFIG_FILES evas-software-buffer.pc" ;;
     "evas-software-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-x11.pc" ;;
     "evas-software-16-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-x11.pc" ;;
-    "evas-software-xcb.pc") CONFIG_FILES="$CONFIG_FILES evas-software-xcb.pc" ;;
     "evas-xrender-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-x11.pc" ;;
     "evas-xrender-xcb.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-xcb.pc" ;;
     "evas-software-gdi.pc") CONFIG_FILES="$CONFIG_FILES evas-software-gdi.pc" ;;
@@ -34183,7 +35592,6 @@ do
     "src/bin/Makefile") CONFIG_FILES="$CONFIG_FILES src/bin/Makefile" ;;
     "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
     "src/lib/canvas/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/canvas/Makefile" ;;
-    "src/lib/data/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/data/Makefile" ;;
     "src/lib/file/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/file/Makefile" ;;
     "src/lib/imaging/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/imaging/Makefile" ;;
     "src/lib/cache/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/cache/Makefile" ;;
@@ -34382,20 +35790,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
-GREP!$GREP$ac_delim
-EGREP!$EGREP$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
+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
@@ -34437,13 +35845,6 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-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
 RANLIB!$RANLIB$ac_delim
 lt_ECHO!$lt_ECHO$ac_delim
 DSYMUTIL!$DSYMUTIL$ac_delim
@@ -34451,89 +35852,96 @@ NMEDIT!$NMEDIT$ac_delim
 LIPO!$LIPO$ac_delim
 OTOOL!$OTOOL$ac_delim
 OTOOL64!$OTOOL64$ac_delim
-CXXCPP!$CXXCPP$ac_delim
+CPP!$CPP$ac_delim
 version_info!$version_info$ac_delim
 release_info!$release_info$ac_delim
 MODULE_ARCH!$MODULE_ARCH$ac_delim
-RC!$RC$ac_delim
-ALLOCA!$ALLOCA$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
 PKG_CONFIG!$PKG_CONFIG$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
 EVIL_CFLAGS!$EVIL_CFLAGS$ac_delim
 EVIL_LIBS!$EVIL_LIBS$ac_delim
-WIN32_CPPFLAGS!$WIN32_CPPFLAGS$ac_delim
-WIN32_CFLAGS!$WIN32_CFLAGS$ac_delim
-lt_enable_auto_import!$lt_enable_auto_import$ac_delim
-EVAS_CSERVE_TRUE!$EVAS_CSERVE_TRUE$ac_delim
-EVAS_CSERVE_FALSE!$EVAS_CSERVE_FALSE$ac_delim
-FRIBIDI_CFLAGS!$FRIBIDI_CFLAGS$ac_delim
-FRIBIDI_LIBS!$FRIBIDI_LIBS$ac_delim
 EINA_CFLAGS!$EINA_CFLAGS$ac_delim
 EINA_LIBS!$EINA_LIBS$ac_delim
 FREETYPE_CFLAGS!$FREETYPE_CFLAGS$ac_delim
 FREETYPE_LIBS!$FREETYPE_LIBS$ac_delim
 FONTCONFIG_CFLAGS!$FONTCONFIG_CFLAGS$ac_delim
 FONTCONFIG_LIBS!$FONTCONFIG_LIBS$ac_delim
+FRIBIDI_CFLAGS!$FRIBIDI_CFLAGS$ac_delim
+FRIBIDI_LIBS!$FRIBIDI_LIBS$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
 dlopen_libs!$dlopen_libs$ac_delim
+EVAS_CSERVE_TRUE!$EVAS_CSERVE_TRUE$ac_delim
+EVAS_CSERVE_FALSE!$EVAS_CSERVE_FALSE$ac_delim
 evas_engine_buffer_cflags!$evas_engine_buffer_cflags$ac_delim
 evas_engine_buffer_libs!$evas_engine_buffer_libs$ac_delim
 BUILD_ENGINE_BUFFER_TRUE!$BUILD_ENGINE_BUFFER_TRUE$ac_delim
 BUILD_ENGINE_BUFFER_FALSE!$BUILD_ENGINE_BUFFER_FALSE$ac_delim
+EVAS_STATIC_BUILD_BUFFER_TRUE!$EVAS_STATIC_BUILD_BUFFER_TRUE$ac_delim
+EVAS_STATIC_BUILD_BUFFER_FALSE!$EVAS_STATIC_BUILD_BUFFER_FALSE$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
-evas_engine_software_x11_cflags!$evas_engine_software_x11_cflags$ac_delim
-evas_engine_software_x11_libs!$evas_engine_software_x11_libs$ac_delim
-BUILD_ENGINE_SOFTWARE_X11_TRUE!$BUILD_ENGINE_SOFTWARE_X11_TRUE$ac_delim
-BUILD_ENGINE_SOFTWARE_X11_FALSE!$BUILD_ENGINE_SOFTWARE_X11_FALSE$ac_delim
+evas_engine_software_xlib_cflags!$evas_engine_software_xlib_cflags$ac_delim
+evas_engine_software_xlib_libs!$evas_engine_software_xlib_libs$ac_delim
+BUILD_ENGINE_SOFTWARE_XLIB_TRUE!$BUILD_ENGINE_SOFTWARE_XLIB_TRUE$ac_delim
+BUILD_ENGINE_SOFTWARE_XLIB_FALSE!$BUILD_ENGINE_SOFTWARE_XLIB_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE$ac_delim
 evas_engine_xrender_x11_cflags!$evas_engine_xrender_x11_cflags$ac_delim
 evas_engine_xrender_x11_libs!$evas_engine_xrender_x11_libs$ac_delim
 BUILD_ENGINE_XRENDER_X11_TRUE!$BUILD_ENGINE_XRENDER_X11_TRUE$ac_delim
 BUILD_ENGINE_XRENDER_X11_FALSE!$BUILD_ENGINE_XRENDER_X11_FALSE$ac_delim
+EVAS_STATIC_BUILD_XRENDER_X11_TRUE!$EVAS_STATIC_BUILD_XRENDER_X11_TRUE$ac_delim
+EVAS_STATIC_BUILD_XRENDER_X11_FALSE!$EVAS_STATIC_BUILD_XRENDER_X11_FALSE$ac_delim
 evas_engine_gl_x11_cflags!$evas_engine_gl_x11_cflags$ac_delim
 evas_engine_gl_x11_libs!$evas_engine_gl_x11_libs$ac_delim
 BUILD_ENGINE_GL_X11_TRUE!$BUILD_ENGINE_GL_X11_TRUE$ac_delim
 BUILD_ENGINE_GL_X11_FALSE!$BUILD_ENGINE_GL_X11_FALSE$ac_delim
+EVAS_STATIC_BUILD_GL_X11_TRUE!$EVAS_STATIC_BUILD_GL_X11_TRUE$ac_delim
+EVAS_STATIC_BUILD_GL_X11_FALSE!$EVAS_STATIC_BUILD_GL_X11_FALSE$ac_delim
 XCB_CFLAGS!$XCB_CFLAGS$ac_delim
 XCB_LIBS!$XCB_LIBS$ac_delim
 evas_engine_software_xcb_cflags!$evas_engine_software_xcb_cflags$ac_delim
 evas_engine_software_xcb_libs!$evas_engine_software_xcb_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_XCB_TRUE!$BUILD_ENGINE_SOFTWARE_XCB_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_XCB_FALSE!$BUILD_ENGINE_SOFTWARE_XCB_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE$ac_delim
 XCBRENDER_CFLAGS!$XCBRENDER_CFLAGS$ac_delim
 XCBRENDER_LIBS!$XCBRENDER_LIBS$ac_delim
 evas_engine_xrender_xcb_cflags!$evas_engine_xrender_xcb_cflags$ac_delim
 evas_engine_xrender_xcb_libs!$evas_engine_xrender_xcb_libs$ac_delim
 BUILD_ENGINE_XRENDER_XCB_TRUE!$BUILD_ENGINE_XRENDER_XCB_TRUE$ac_delim
 BUILD_ENGINE_XRENDER_XCB_FALSE!$BUILD_ENGINE_XRENDER_XCB_FALSE$ac_delim
+EVAS_STATIC_BUILD_XRENDER_XCB_TRUE!$EVAS_STATIC_BUILD_XRENDER_XCB_TRUE$ac_delim
+EVAS_STATIC_BUILD_XRENDER_XCB_FALSE!$EVAS_STATIC_BUILD_XRENDER_XCB_FALSE$ac_delim
 evas_engine_software_gdi_cflags!$evas_engine_software_gdi_cflags$ac_delim
 evas_engine_software_gdi_libs!$evas_engine_software_gdi_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_GDI_TRUE!$BUILD_ENGINE_SOFTWARE_GDI_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_GDI_FALSE!$BUILD_ENGINE_SOFTWARE_GDI_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE$ac_delim
 evas_engine_software_ddraw_cflags!$evas_engine_software_ddraw_cflags$ac_delim
 evas_engine_software_ddraw_libs!$evas_engine_software_ddraw_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_DDRAW_TRUE!$BUILD_ENGINE_SOFTWARE_DDRAW_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_DDRAW_FALSE!$BUILD_ENGINE_SOFTWARE_DDRAW_FALSE$ac_delim
-evas_engine_direct3d_cflags!$evas_engine_direct3d_cflags$ac_delim
-evas_engine_direct3d_libs!$evas_engine_direct3d_libs$ac_delim
-BUILD_ENGINE_DIRECT3D_TRUE!$BUILD_ENGINE_DIRECT3D_TRUE$ac_delim
-BUILD_ENGINE_DIRECT3D_FALSE!$BUILD_ENGINE_DIRECT3D_FALSE$ac_delim
-evas_engine_quartz_cflags!$evas_engine_quartz_cflags$ac_delim
-evas_engine_quartz_libs!$evas_engine_quartz_libs$ac_delim
-BUILD_ENGINE_QUARTZ_TRUE!$BUILD_ENGINE_QUARTZ_TRUE$ac_delim
-BUILD_ENGINE_QUARTZ_FALSE!$BUILD_ENGINE_QUARTZ_FALSE$ac_delim
-evas_engine_gl_glew_cflags!$evas_engine_gl_glew_cflags$ac_delim
-evas_engine_gl_glew_libs!$evas_engine_gl_glew_libs$ac_delim
-BUILD_ENGINE_GL_GLEW_TRUE!$BUILD_ENGINE_GL_GLEW_TRUE$ac_delim
-BUILD_ENGINE_GL_GLEW_FALSE!$BUILD_ENGINE_GL_GLEW_FALSE$ac_delim
-SDL_CFLAGS!$SDL_CFLAGS$ac_delim
-SDL_LIBS!$SDL_LIBS$ac_delim
-evas_engine_software_sdl_cflags!$evas_engine_software_sdl_cflags$ac_delim
-evas_engine_software_sdl_libs!$evas_engine_software_sdl_libs$ac_delim
-BUILD_ENGINE_SOFTWARE_SDL_TRUE!$BUILD_ENGINE_SOFTWARE_SDL_TRUE$ac_delim
-BUILD_ENGINE_SOFTWARE_SDL_FALSE!$BUILD_ENGINE_SOFTWARE_SDL_FALSE$ac_delim
-evas_engine_fb_cflags!$evas_engine_fb_cflags$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -34575,86 +35983,188 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+evas_engine_direct3d_cflags!$evas_engine_direct3d_cflags$ac_delim
+evas_engine_direct3d_libs!$evas_engine_direct3d_libs$ac_delim
+BUILD_ENGINE_DIRECT3D_TRUE!$BUILD_ENGINE_DIRECT3D_TRUE$ac_delim
+BUILD_ENGINE_DIRECT3D_FALSE!$BUILD_ENGINE_DIRECT3D_FALSE$ac_delim
+EVAS_STATIC_BUILD_DIRECT3D_TRUE!$EVAS_STATIC_BUILD_DIRECT3D_TRUE$ac_delim
+EVAS_STATIC_BUILD_DIRECT3D_FALSE!$EVAS_STATIC_BUILD_DIRECT3D_FALSE$ac_delim
+evas_engine_quartz_cflags!$evas_engine_quartz_cflags$ac_delim
+evas_engine_quartz_libs!$evas_engine_quartz_libs$ac_delim
+BUILD_ENGINE_QUARTZ_TRUE!$BUILD_ENGINE_QUARTZ_TRUE$ac_delim
+BUILD_ENGINE_QUARTZ_FALSE!$BUILD_ENGINE_QUARTZ_FALSE$ac_delim
+EVAS_STATIC_BUILD_QUARTZ_TRUE!$EVAS_STATIC_BUILD_QUARTZ_TRUE$ac_delim
+EVAS_STATIC_BUILD_QUARTZ_FALSE!$EVAS_STATIC_BUILD_QUARTZ_FALSE$ac_delim
+evas_engine_gl_glew_cflags!$evas_engine_gl_glew_cflags$ac_delim
+evas_engine_gl_glew_libs!$evas_engine_gl_glew_libs$ac_delim
+BUILD_ENGINE_GL_GLEW_TRUE!$BUILD_ENGINE_GL_GLEW_TRUE$ac_delim
+BUILD_ENGINE_GL_GLEW_FALSE!$BUILD_ENGINE_GL_GLEW_FALSE$ac_delim
+EVAS_STATIC_BUILD_GL_GLEW_TRUE!$EVAS_STATIC_BUILD_GL_GLEW_TRUE$ac_delim
+EVAS_STATIC_BUILD_GL_GLEW_FALSE!$EVAS_STATIC_BUILD_GL_GLEW_FALSE$ac_delim
+SDL_CFLAGS!$SDL_CFLAGS$ac_delim
+SDL_LIBS!$SDL_LIBS$ac_delim
+evas_engine_software_sdl_cflags!$evas_engine_software_sdl_cflags$ac_delim
+evas_engine_software_sdl_libs!$evas_engine_software_sdl_libs$ac_delim
+BUILD_ENGINE_SOFTWARE_SDL_TRUE!$BUILD_ENGINE_SOFTWARE_SDL_TRUE$ac_delim
+BUILD_ENGINE_SOFTWARE_SDL_FALSE!$BUILD_ENGINE_SOFTWARE_SDL_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE$ac_delim
+evas_engine_fb_cflags!$evas_engine_fb_cflags$ac_delim
 evas_engine_fb_libs!$evas_engine_fb_libs$ac_delim
 BUILD_ENGINE_FB_TRUE!$BUILD_ENGINE_FB_TRUE$ac_delim
 BUILD_ENGINE_FB_FALSE!$BUILD_ENGINE_FB_FALSE$ac_delim
+EVAS_STATIC_BUILD_FB_TRUE!$EVAS_STATIC_BUILD_FB_TRUE$ac_delim
+EVAS_STATIC_BUILD_FB_FALSE!$EVAS_STATIC_BUILD_FB_FALSE$ac_delim
 DIRECTFB_CFLAGS!$DIRECTFB_CFLAGS$ac_delim
 DIRECTFB_LIBS!$DIRECTFB_LIBS$ac_delim
 evas_engine_directfb_cflags!$evas_engine_directfb_cflags$ac_delim
 evas_engine_directfb_libs!$evas_engine_directfb_libs$ac_delim
 BUILD_ENGINE_DIRECTFB_TRUE!$BUILD_ENGINE_DIRECTFB_TRUE$ac_delim
 BUILD_ENGINE_DIRECTFB_FALSE!$BUILD_ENGINE_DIRECTFB_FALSE$ac_delim
+EVAS_STATIC_BUILD_DIRECTFB_TRUE!$EVAS_STATIC_BUILD_DIRECTFB_TRUE$ac_delim
+EVAS_STATIC_BUILD_DIRECTFB_FALSE!$EVAS_STATIC_BUILD_DIRECTFB_FALSE$ac_delim
 evas_engine_software_16_x11_cflags!$evas_engine_software_16_x11_cflags$ac_delim
 evas_engine_software_16_x11_libs!$evas_engine_software_16_x11_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_16_X11_TRUE!$BUILD_ENGINE_SOFTWARE_16_X11_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_16_X11_FALSE!$BUILD_ENGINE_SOFTWARE_16_X11_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE$ac_delim
 evas_engine_software_16_ddraw_cflags!$evas_engine_software_16_ddraw_cflags$ac_delim
 evas_engine_software_16_ddraw_libs!$evas_engine_software_16_ddraw_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE!$BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE!$BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE$ac_delim
 evas_engine_software_16_wince_cflags!$evas_engine_software_16_wince_cflags$ac_delim
 evas_engine_software_16_wince_libs!$evas_engine_software_16_wince_libs$ac_delim
 BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE!$BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE!$BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE$ac_delim
 evas_engine_gl_common_libs!$evas_engine_gl_common_libs$ac_delim
 BUILD_ENGINE_GL_COMMON_TRUE!$BUILD_ENGINE_GL_COMMON_TRUE$ac_delim
 BUILD_ENGINE_GL_COMMON_FALSE!$BUILD_ENGINE_GL_COMMON_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE$ac_delim
+BUILD_ENGINE_SOFTWARE_X11_TRUE!$BUILD_ENGINE_SOFTWARE_X11_TRUE$ac_delim
+BUILD_ENGINE_SOFTWARE_X11_FALSE!$BUILD_ENGINE_SOFTWARE_X11_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE$ac_delim
+have_evas_engine_software_xlib!$have_evas_engine_software_xlib$ac_delim
+have_evas_engine_software_xcb!$have_evas_engine_software_xcb$ac_delim
 BUILD_ENGINE_SOFTWARE_16_TRUE!$BUILD_ENGINE_SOFTWARE_16_TRUE$ac_delim
 BUILD_ENGINE_SOFTWARE_16_FALSE!$BUILD_ENGINE_SOFTWARE_16_FALSE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_TRUE!$EVAS_STATIC_BUILD_SOFTWARE_16_TRUE$ac_delim
+EVAS_STATIC_BUILD_SOFTWARE_16_FALSE!$EVAS_STATIC_BUILD_SOFTWARE_16_FALSE$ac_delim
 EDB_CFLAGS!$EDB_CFLAGS$ac_delim
 EDB_LIBS!$EDB_LIBS$ac_delim
 evas_image_loader_edb_cflags!$evas_image_loader_edb_cflags$ac_delim
 evas_image_loader_edb_libs!$evas_image_loader_edb_libs$ac_delim
 BUILD_LOADER_EDB_TRUE!$BUILD_LOADER_EDB_TRUE$ac_delim
 BUILD_LOADER_EDB_FALSE!$BUILD_LOADER_EDB_FALSE$ac_delim
+EVAS_STATIC_BUILD_EDB_TRUE!$EVAS_STATIC_BUILD_EDB_TRUE$ac_delim
+EVAS_STATIC_BUILD_EDB_FALSE!$EVAS_STATIC_BUILD_EDB_FALSE$ac_delim
 EET_CFLAGS!$EET_CFLAGS$ac_delim
 EET_LIBS!$EET_LIBS$ac_delim
 evas_image_loader_eet_cflags!$evas_image_loader_eet_cflags$ac_delim
 evas_image_loader_eet_libs!$evas_image_loader_eet_libs$ac_delim
 BUILD_LOADER_EET_TRUE!$BUILD_LOADER_EET_TRUE$ac_delim
 BUILD_LOADER_EET_FALSE!$BUILD_LOADER_EET_FALSE$ac_delim
+EVAS_STATIC_BUILD_EET_TRUE!$EVAS_STATIC_BUILD_EET_TRUE$ac_delim
+EVAS_STATIC_BUILD_EET_FALSE!$EVAS_STATIC_BUILD_EET_FALSE$ac_delim
 evas_image_loader_gif_cflags!$evas_image_loader_gif_cflags$ac_delim
 evas_image_loader_gif_libs!$evas_image_loader_gif_libs$ac_delim
 BUILD_LOADER_GIF_TRUE!$BUILD_LOADER_GIF_TRUE$ac_delim
 BUILD_LOADER_GIF_FALSE!$BUILD_LOADER_GIF_FALSE$ac_delim
+EVAS_STATIC_BUILD_GIF_TRUE!$EVAS_STATIC_BUILD_GIF_TRUE$ac_delim
+EVAS_STATIC_BUILD_GIF_FALSE!$EVAS_STATIC_BUILD_GIF_FALSE$ac_delim
 evas_image_loader_jpeg_cflags!$evas_image_loader_jpeg_cflags$ac_delim
 evas_image_loader_jpeg_libs!$evas_image_loader_jpeg_libs$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
 BUILD_LOADER_JPEG_TRUE!$BUILD_LOADER_JPEG_TRUE$ac_delim
 BUILD_LOADER_JPEG_FALSE!$BUILD_LOADER_JPEG_FALSE$ac_delim
+EVAS_STATIC_BUILD_JPEG_TRUE!$EVAS_STATIC_BUILD_JPEG_TRUE$ac_delim
+EVAS_STATIC_BUILD_JPEG_FALSE!$EVAS_STATIC_BUILD_JPEG_FALSE$ac_delim
 BUILD_SAVER_JPEG_TRUE!$BUILD_SAVER_JPEG_TRUE$ac_delim
 BUILD_SAVER_JPEG_FALSE!$BUILD_SAVER_JPEG_FALSE$ac_delim
 evas_image_loader_pmaps_cflags!$evas_image_loader_pmaps_cflags$ac_delim
 evas_image_loader_pmaps_libs!$evas_image_loader_pmaps_libs$ac_delim
 BUILD_LOADER_PMAPS_TRUE!$BUILD_LOADER_PMAPS_TRUE$ac_delim
 BUILD_LOADER_PMAPS_FALSE!$BUILD_LOADER_PMAPS_FALSE$ac_delim
+EVAS_STATIC_BUILD_PMAPS_TRUE!$EVAS_STATIC_BUILD_PMAPS_TRUE$ac_delim
+EVAS_STATIC_BUILD_PMAPS_FALSE!$EVAS_STATIC_BUILD_PMAPS_FALSE$ac_delim
 PNG_CFLAGS!$PNG_CFLAGS$ac_delim
 PNG_LIBS!$PNG_LIBS$ac_delim
 evas_image_loader_png_cflags!$evas_image_loader_png_cflags$ac_delim
 evas_image_loader_png_libs!$evas_image_loader_png_libs$ac_delim
 BUILD_LOADER_PNG_TRUE!$BUILD_LOADER_PNG_TRUE$ac_delim
 BUILD_LOADER_PNG_FALSE!$BUILD_LOADER_PNG_FALSE$ac_delim
+EVAS_STATIC_BUILD_PNG_TRUE!$EVAS_STATIC_BUILD_PNG_TRUE$ac_delim
+EVAS_STATIC_BUILD_PNG_FALSE!$EVAS_STATIC_BUILD_PNG_FALSE$ac_delim
 SVG_CFLAGS!$SVG_CFLAGS$ac_delim
 SVG_LIBS!$SVG_LIBS$ac_delim
 evas_image_loader_svg_cflags!$evas_image_loader_svg_cflags$ac_delim
 evas_image_loader_svg_libs!$evas_image_loader_svg_libs$ac_delim
 BUILD_LOADER_SVG_TRUE!$BUILD_LOADER_SVG_TRUE$ac_delim
 BUILD_LOADER_SVG_FALSE!$BUILD_LOADER_SVG_FALSE$ac_delim
+EVAS_STATIC_BUILD_SVG_TRUE!$EVAS_STATIC_BUILD_SVG_TRUE$ac_delim
+EVAS_STATIC_BUILD_SVG_FALSE!$EVAS_STATIC_BUILD_SVG_FALSE$ac_delim
 evas_image_loader_tiff_cflags!$evas_image_loader_tiff_cflags$ac_delim
 evas_image_loader_tiff_libs!$evas_image_loader_tiff_libs$ac_delim
 BUILD_LOADER_TIFF_TRUE!$BUILD_LOADER_TIFF_TRUE$ac_delim
 BUILD_LOADER_TIFF_FALSE!$BUILD_LOADER_TIFF_FALSE$ac_delim
+EVAS_STATIC_BUILD_TIFF_TRUE!$EVAS_STATIC_BUILD_TIFF_TRUE$ac_delim
+EVAS_STATIC_BUILD_TIFF_FALSE!$EVAS_STATIC_BUILD_TIFF_FALSE$ac_delim
 evas_image_loader_xpm_cflags!$evas_image_loader_xpm_cflags$ac_delim
 evas_image_loader_xpm_libs!$evas_image_loader_xpm_libs$ac_delim
 BUILD_LOADER_XPM_TRUE!$BUILD_LOADER_XPM_TRUE$ac_delim
 BUILD_LOADER_XPM_FALSE!$BUILD_LOADER_XPM_FALSE$ac_delim
+EVAS_STATIC_BUILD_XPM_TRUE!$EVAS_STATIC_BUILD_XPM_TRUE$ac_delim
+EVAS_STATIC_BUILD_XPM_FALSE!$EVAS_STATIC_BUILD_XPM_FALSE$ac_delim
 EVAS_MAGIC_DEBUG_TRUE!$EVAS_MAGIC_DEBUG_TRUE$ac_delim
 EVAS_MAGIC_DEBUG_FALSE!$EVAS_MAGIC_DEBUG_FALSE$ac_delim
 VALGRIND_CFLAGS!$VALGRIND_CFLAGS$ac_delim
 VALGRIND_LIBS!$VALGRIND_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
 altivec_cflags!$altivec_cflags$ac_delim
 pthread_cflags!$pthread_cflags$ac_delim
 pthread_libs!$pthread_libs$ac_delim
@@ -34662,7 +36172,7 @@ LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 85; 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
@@ -34680,7 +36190,7 @@ if test -n "$ac_eof"; then
 fi
 
 cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
 _ACEOF
 sed '
@@ -34949,7 +36459,7 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" >$tmp/out
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
@@ -35278,7 +36788,7 @@ done
 
 
 # The names of the tagged configurations supported by this script.
-available_tags="CXX RC "
+available_tags="CXX "
 
 # ### BEGIN LIBTOOL CONFIG
 
@@ -36036,159 +37546,6 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
 # ### END LIBTOOL TAG CONFIG: CXX
 _LT_EOF
 
-
-    cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: RC
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_RC
-
-# A language specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# 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
-
-# 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
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_RC
-
-# 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 a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_RC
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# 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 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_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
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_RC
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_RC
-
-# 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
-
-# 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
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_RC
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_RC
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_RC
-postdep_objects=$lt_postdep_objects_RC
-predeps=$lt_predeps_RC
-postdeps=$lt_postdeps_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
-
-# ### END LIBTOOL TAG CONFIG: RC
-_LT_EOF
-
  ;;
 
   esac
@@ -36245,7 +37602,7 @@ echo "Configuration Options Summary:"
 echo
 echo "Engines:"
 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
-echo "  Software X11...............: $have_evas_engine_software_x11 (XCB: $have_evas_engine_software_xcb)"
+echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
 echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
 echo "  OpenGL X11.................: $have_evas_engine_gl_x11"
 #echo "  Cairo X11..................: $have_evas_engine_cairo_x11"
@@ -36294,6 +37651,7 @@ echo "  SSE.....................: $build_cpu_sse"
 echo "  ALTIVEC.................: $build_cpu_altivec"
 echo "  NEON....................: $build_cpu_neon"
 echo "  Thread Support..........: $build_pthreads"
+echo
 echo "Features:"
 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
 echo "  Cache Server............: $want_evas_cserve"
@@ -36356,3 +37714,10 @@ echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE,"
 echo "and then afterwards as root (or the user who will install this), type"
 echo "'make install'. Change users with 'su' or 'sudo' appropriately."
 echo
+if test "x${have_static_module}" = "xyes" ; then
+echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
+echo "         You must know what you are doing, or else you will have a lot of problems."
+echo "         And Kenny will be killed."
+echo "         Think about that."
+echo
+fi
diff --git a/configure.ac b/configure.ac
index 9c6e4e7..287ec98 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT([evas], [0.9.9.061], [enlightenment-devel at lists.sourceforge.net])
+AC_INIT([evas], [0.9.9.062], [enlightenment-devel at lists.sourceforge.net])
 AC_PREREQ([2.52])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
@@ -12,14 +12,6 @@ AC_ISC_POSIX
 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
 AM_CONFIG_HEADER(config.h)
 
-AC_PROG_CXX
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_HEADER_STDC
-AC_C_BIGENDIAN
-AC_C_CONST
-AC_C___ATTRIBUTE__
-
 AC_LIBTOOL_WIN32_DLL
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 AC_PROG_LIBTOOL
@@ -31,7 +23,10 @@ SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
 AC_SUBST(version_info)
 
-release="ver-svn-02"
+
+### Needed information
+
+release="ver-svn-03"
 case "$host_os" in
    mingw32ce* | cegcc*)
       MODULE_ARCH="$host_os-$host_cpu"
@@ -45,11 +40,17 @@ AC_SUBST(release_info)
 AC_SUBST(MODULE_ARCH)
 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
 
+# weird debian etch bug where pthread_barrier doesn't work without adding
+# this.
+CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
+AC_SUBST(CFLAGS)
+
 want_fontconfig="auto"
 want_fribidi="auto"
+want_evas_cserve="yes"
 
 want_evas_engine_buffer="yes"
-want_evas_engine_software_x11="no"
+want_evas_engine_software_xlib="no"
 want_evas_engine_xrender_x11="no"
 want_evas_engine_gl_x11="no"
 want_evas_engine_cairo_x11="no"
@@ -98,180 +99,209 @@ case "$host_os" in
       want_evas_image_loader_svg="no"
       ;;
    darwin*)
-      want_evas_engine_software_x11="auto"
+      want_evas_engine_software_xlib="auto"
       want_evas_engine_quartz="auto"
       ;;
    *)
-      want_evas_engine_software_x11="auto"
+      want_evas_engine_software_xlib="auto"
       want_evas_engine_xrender_x11="auto"
       want_evas_engine_software_16_x11="auto"
       ;;
 esac
 
-LT_PROG_RC
-AC_FUNC_ALLOCA
 
+### Additional options to configure
+
+# when used, that option makes configure script fails when
+# a requirement is selected, but not met.
+use_strict="no"
+AC_ARG_ENABLE([strict],
+   AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
+   [use_strict="yes"],
+   [use_strict="no"])
+
+# Simple X11 build/link
+AC_ARG_ENABLE([simple-x11],
+   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_simple_x11="yes"
+    else
+       want_evas_simple_x11="no"
+    fi
+   ])
+
+
+### Checks for programs
+
+AC_PROG_CXX
+AC_PROG_CC
+
+# pkg-config
 PKG_PROG_PKG_CONFIG
 
-dnl wierd debian etch bug where pthread_barrier doesn't work without adding
-dnl this.
-CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
-AC_SUBST(CFLAGS)
+# doxygen program for documentation building
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+
+
+### Checks for libraries
+
+# Evil library for compilation on Windows CE
 
-WIN32_CPPFLAGS=""
-WIN32_CFLAGS=""
-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_EVAS_BUILD, 1, [Define to mention that evas is built])
-                if test "$host_os" = "cegcc" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                        WIN32_CFLAGS="-mwin32"
-			lt_enable_auto_import="-Wl,--enable-auto-import"
-                fi
-                if test "$host_os" = "mingw32ce" ; then
-                        WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
-                fi
-                ;;
+   mingw* | cegcc*)
+   PKG_CHECK_MODULES([EVIL], [evil])
+   AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
+   ;;
 esac
-AC_SUBST(WIN32_CPPFLAGS)
-AC_SUBST(WIN32_CFLAGS)
-AC_SUBST(lt_enable_auto_import)
 
+## strong dependencies
 
-dnl when used, that option makes configure script fails when
-dnl a requirement is selected, but not met.
-AC_ARG_ENABLE(strict,
-  AC_HELP_STRING(
-    [--enable-strict],
-    [enable strict checking mode. [[default==disabled]]]),
-  [use_strict="yes"],
-  [use_strict="no"]
-)
+# Eina
+PKG_CHECK_MODULES([EINA], [eina-0])
 
-#######################################
-## CACHE SERVER (CSERVE / CS)
-want_evas_cserve="yes"
-AC_MSG_CHECKING(whether to build shared cache server and support)
-AC_ARG_ENABLE(evas-cserve,
-  AC_HELP_STRING(
-    [--disable-evas-cserve],
-    [disable shared cache server support. [[default=enabled]]]
-  ),
-  [ want_evas_cserve="$enableval" ]
-)
-AC_MSG_RESULT($want_evas_cserve)
+# Freetype
+PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
 
-if test "x${want_evas_cserve}" = "xyes" ; then
-   AC_MSG_CHECKING([whether shm_open() is present])
-   LIBS_save=${LIBS}
-   LIBS="$LIBS -lrt"
-   AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-         ]],
-         [[
-int fd;
-fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-shm_unlink("/");
-         ]])],
-      [want_evas_cserve="yes"],
-      [want_evas_cserve="no"])
-   LIBS=${LIBS_save}
-   AC_MSG_RESULT([$want_evas_cserve])
-fi
+## optional dependencies
 
-AM_CONDITIONAL(EVAS_CSERVE, test "x$want_evas_cserve" = "xyes")
-if test "x$want_evas_cserve" = "xyes"; then
-  AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
-fi
+# FontConfig
+have_fontconfig="no"
+AC_ARG_ENABLE([fontconfig],
+   AC_HELP_STRING([--disable-fontconfig],
+      [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_fontconfig="yes"
+    else
+       want_fontconfig="no"
+    fi
+   ])
 
-##################################################################
-#fribidi support - OPTIONAL!
 
+if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
+   PKG_CHECK_MODULES([FONTCONFIG],
+      [fontconfig],
+      [
+       have_fontconfig="yes"
+       AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
+      ],
+      [
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
+       fi
+      ])
+fi
+
+# fribidi support
 have_fribidi="no"
-AC_ARG_ENABLE(fribidi,
-  AC_HELP_STRING(
-    [--disable-fribidi],
-    [disable bidirectional text support. [[default=enabled]]]
-  ),
-  [ want_fribidi=$enableval ]
-)
+AC_ARG_ENABLE([fribidi],
+   AC_HELP_STRING([--disable-fribidi],
+      [disable bidirectional text support. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_fribidi="yes"
+    else
+       want_fribidi="no"
+    fi
+   ])
 
-if test "x$want_fribidi" = "xyes" -o "x$want_fribidi" = "xauto" ; then
-  # Check if really available
-  PKG_CHECK_MODULES(FRIBIDI, fribidi,
-    [
-      have_fribidi="yes"
-      AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
-    ],
-    [
-      if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
-      fi
-    ])
+if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
+   PKG_CHECK_MODULES([FRIBIDI],
+      [fribidi],
+      [
+       have_fribidi="yes"
+       AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
+      ],
+      [
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
+       fi
+      ])
 fi
-if test "x$have_fribidi" = "xno"; then
+
+if test "x${have_fribidi}" = "xno"; then
   HAS_BIDI=0
 fi
-#####################################################################
-# Check evas strong dependencie
 
-PKG_CHECK_MODULES([EINA], [eina-0])
+### Checks for header files
+AC_HEADER_STDC
 
-PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
+# fnmatch.h
+AC_CHECK_HEADER([fnmatch.h],
+   [dummy="yes"],
+   [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
 
-#######################################
-## Simple X11 build/link
 
-AC_ARG_ENABLE(simple-x11,
-  AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
-  [ want_evas_simple_x11=$enableval ]
-)
+### Checks for types
 
-#######################################
-## FontConfig
 
-have_fontconfig="no"
-AC_ARG_ENABLE(fontconfig,
-  AC_HELP_STRING(
-    [--disable-fontconfig],
-    [disable fontconfig for finding fonts. [[default=enabled]]]
-  ),
-  [ want_fontconfig=$enableval ]
-)
+### Checks for structures
+
+
+### Checks for compiler characteristics
+AC_C_CONST
+AC_C_BIGENDIAN
+AC_C___ATTRIBUTE__
+AM_PROG_CC_STDC
+
+WIN32_CPPFLAGS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+AC_SUBST(WIN32_CPPFLAGS)
+
+WIN32_CFLAGS=""
+case "${host_os}" in
+   cegcc*)
+      WIN32_CFLAGS="-mwin32"
+   ;;
+esac
+AC_SUBST(WIN32_CFLAGS)
+
+
+### Checks for linker characteristics
+lt_enable_auto_import=""
+case "${host_os}" in
+   mingw* | cegcc*)
+      AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+   ;;
+esac
+AC_SUBST(lt_enable_auto_import)
 
-if test "x$want_fontconfig" = "xyes" -o "x$want_fontconfig" = "xauto" ; then
-  # Check if really available
-  PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
-    [
-      have_fontconfig="yes"
-      AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
-    ],
-    [
-      if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
-        AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
-      fi
-    ])
-fi
 
-###############
-## dlopen
+### Checks for library functions
 
+# alloca
+AC_FUNC_ALLOCA
+
+# fnmatch
+AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
+if test "x$res" = "xno"; then
+   AC_SEARCH_LIBS([fnmatch],
+      [fnmatch evil iberty],
+      [res="yes"],
+      [res="no"])
+   if test "x$res" = "xno"; then
+      AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
+   fi
+fi
+
+# dlopen
 dlopen_libs=""
 case "$host_os" in
   mingw32ce* | cegcc*)
-dnl managed by evil
+# managed by evil
     AC_DEFINE(HAVE_DLADDR)
   ;;
   mingw*)
-dnl nothing on mingw platform
+# nothing on mingw platform
   ;;
   *)
     AC_CHECK_FUNCS(dlopen, res=yes, res=no)
@@ -289,27 +319,56 @@ dnl nothing on mingw platform
 esac
 AC_SUBST(dlopen_libs)
 
-AC_CHECK_HEADER([fnmatch.h],
-   [dummy="yes"],
-   [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
+# (shm_open (for cache server)
+AC_ARG_ENABLE([evas-cserve],
+   AC_HELP_STRING([--disable-evas-cserve],
+      [disable shared cache server support. @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_cserve="yes"
+    else
+       want_evas_cserve="no"
+    fi
+   ])
+AC_MSG_CHECKING(whether to build shared cache server and support)
+AC_MSG_RESULT(${want_evas_cserve})
 
-AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
-if test "x$res" = "xno"; then
-   AC_SEARCH_LIBS([fnmatch],
-      [fnmatch evil iberty],
-      [res="yes"],
-      [res="no"])
-   if test "x$res" = "xno"; then
-      AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
-   fi
+if test "x${want_evas_cserve}" = "xyes" ; then
+   AC_MSG_CHECKING([whether shm_open() is present])
+   LIBS_save=${LIBS}
+   LIBS="${LIBS} -lrt"
+   AC_LINK_IFELSE(
+      [AC_LANG_PROGRAM(
+         [[
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+         ]],
+         [[
+int fd;
+fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+shm_unlink("/");
+         ]])],
+      [want_evas_cserve="yes"],
+      [want_evas_cserve="no"])
+   LIBS=${LIBS_save}
+   AC_MSG_RESULT([${want_evas_cserve}])
+fi
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+  AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
 fi
 
+AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
+
+
+
 #####################################################################
 ## Engines
 
 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [no], [Buffer])
 
-EVAS_CHECK_ENGINE([software-x11], [${want_evas_engine_software_x11}], [yes], [Software X11])
+EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
 
 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
 
@@ -388,23 +447,82 @@ if test "x${sdl_primitive}" = "xyes" ; then
    AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
 fi
 
+# if software generic need to be build as part of libevas.so
+have_static_software_generic="no"
+AC_ARG_ENABLE([static-software-generic],
+   [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
+   [have_static_software_generic=${enableval}]
+)
+AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
+AC_MSG_RESULT([${have_static_software_generic}])
+
+AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
+if test "x${have_static_software_generic}" = "xyes"; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
+fi
+
+# if software_xlib or software_xcb are available, define everything needed for X11
+have_evas_engine_software_x11="no"
+if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_x11="static"
+else
+   if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
+      have_evas_engine_software_x11="yes"
+   fi
+fi
+
+if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
+   have_evas_engine_software_xlib="yes"
+fi
+
+if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_xcb="yes"
+fi
+
+if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
+   AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
+fi
+
+if test "x$have_evas_engine_software_x11" = "xstatic" ; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
+fi
+
+AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
+AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
+
+AC_SUBST(have_evas_engine_software_xlib)
+AC_SUBST(have_evas_engine_software_xcb)
+
 # if software 16 x11 is enabled - build software_16 (the generic 16bit
 # engine). later enable it fb_16 or other "16" bit engines are enabled.
 have_evas_engine_software_16="no"
-if test "x$have_evas_engine_software_16_x11" = "xyes"; then
+if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_sdl" = "xyes"; then
+if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_16_ddraw" = "xyes"; then
+if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
-if test "x$have_evas_engine_software_16_wince" = "xyes"; then
+if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
    have_evas_engine_software_16="yes"
 fi
 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
 
+# if software 16 need to be build as part of libevas.so
+have_static_software_16="no"
+AC_ARG_ENABLE([static-software-16],
+   [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
+   [have_static_software_16=${enableval}]
+)
+AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
+AC_MSG_RESULT([${have_static_software_16}])
+
+AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
+if test "x${have_static_software_16}" = "xyes"; then
+   AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
+fi
 
 #####################################################################
 ## Image loaders
@@ -750,7 +868,6 @@ AC_ARG_ENABLE(cpu-neon,
 
 #######################################
 ## C
-build_cpu_c="no"
 build_cpu_c="yes"
 AC_MSG_CHECKING(whether to build c code)
 AC_ARG_ENABLE(cpu-c,
@@ -795,51 +912,9 @@ fi
 
 #######################################
 ## Nearest sampling scaler
-scaler_sample="no"
-scaler_sample="yes"
-AC_MSG_CHECKING(whether to build sampling scaler)
-AC_ARG_ENABLE(scale-sample,
-  AC_HELP_STRING([--enable-scale-sample], [enable sampling scaler code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
-        scaler_sample="yes"
-      else
-        AC_MSG_RESULT(no)
-        scaler_sample="no"
-      fi
-  ], [
-      AC_MSG_RESULT($scaler_sample)
-      if test "x$scaler_sample" = "xyes" ; then
-        AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
 ## Smooth super and sub sampling scaler
-scaler_smooth="no"
-scaler_smooth="yes"
-AC_MSG_CHECKING(whether to build smooth scaler)
-AC_ARG_ENABLE(scale-smooth,
-  AC_HELP_STRING([--enable-scale-smooth], [enable smooth scaler code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
-        scaler_smooth="yes"
-      else
-        AC_MSG_RESULT(no)
-        scaler_smooth="no"
-      fi
-  ], [
-      AC_MSG_RESULT($scaler_smooth)
-      if test "x$scaler_smooth" = "xyes" ; then
-        AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
-      fi
-  ]
-)
+EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
 
 #######################################
 ## YUV -> ARGB converter
@@ -870,72 +945,11 @@ AC_ARG_ENABLE(convert-yuv,
 
 #######################################
 ## Small dither mask instead of big one (lower quality)
-conv_small_dither="no"
-AC_MSG_CHECKING(whether to build small dither mask code)
-AC_ARG_ENABLE(small-dither-mask,
-  AC_HELP_STRING([--enable-small-dither-mask], [enable small dither mask code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
-        conv_small_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_small_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_small_dither)
-      if test "x$conv_small_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
-conv_line_dither="no"
-AC_MSG_CHECKING(whether to build line dither mask code)
-AC_ARG_ENABLE(line-dither-mask,
-  AC_HELP_STRING([--enable-line-dither-mask], [enable line dither mask code]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
-        conv_line_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_line_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_line_dither)
-      if test "x$conv_line_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
-      fi
-  ]
-)
-
-#######################################
+EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
 ## No dither mask at all for 16bpp
-conv_no_dither="no"
-AC_MSG_CHECKING(whether to build without dither mask for 16bpp)
-AC_ARG_ENABLE(no-dither-mask,
-  AC_HELP_STRING([--enable-no-dither-mask], [enable conversion to 16bpp without dither mask]),
-  [
-      if test "x$enableval" = "xyes" ; then
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
-        conv_no_dither="yes"
-      else
-        AC_MSG_RESULT(no)
-        conv_no_dither="no"
-      fi
-  ], [
-      AC_MSG_RESULT($conv_no_dither)
-      if test "x$conv_no_dither" = "xyes" ; then
-        AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
-      fi
-  ]
-)
+EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
 
 #######################################
 ## Convert to 8bpp RGB 332
@@ -1083,7 +1097,6 @@ if test x$want_valgrind = "xyes"; then
   )
 fi
 
-EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 #####################################################################
 ## Fill in flags
 
@@ -1105,7 +1118,6 @@ evas-quartz.pc
 evas-software-buffer.pc
 evas-software-x11.pc
 evas-software-16-x11.pc
-evas-software-xcb.pc
 evas-xrender-x11.pc
 evas-xrender-xcb.pc
 evas-software-gdi.pc
@@ -1121,7 +1133,6 @@ src/Makefile
 src/bin/Makefile
 src/lib/Makefile
 src/lib/canvas/Makefile
-src/lib/data/Makefile
 src/lib/file/Makefile
 src/lib/imaging/Makefile
 src/lib/cache/Makefile
@@ -1199,7 +1210,7 @@ echo "Configuration Options Summary:"
 echo
 echo "Engines:"
 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
-echo "  Software X11...............: $have_evas_engine_software_x11 (XCB: $have_evas_engine_software_xcb)"
+echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
 echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
 echo "  OpenGL X11.................: $have_evas_engine_gl_x11"
 #echo "  Cairo X11..................: $have_evas_engine_cairo_x11"
@@ -1248,6 +1259,7 @@ echo "  SSE.....................: $build_cpu_sse"
 echo "  ALTIVEC.................: $build_cpu_altivec"
 echo "  NEON....................: $build_cpu_neon"
 echo "  Thread Support..........: $build_pthreads"
+echo
 echo "Features:"
 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
 echo "  Cache Server............: $want_evas_cserve"
@@ -1310,3 +1322,10 @@ echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE,"
 echo "and then afterwards as root (or the user who will install this), type"
 echo "'make install'. Change users with 'su' or 'sudo' appropriately."
 echo
+if test "x${have_static_module}" = "xyes" ; then
+echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
+echo "         You must know what you are doing, or else you will have a lot of problems."
+echo "         And Kenny will be killed."
+echo "         Think about that."
+echo
+fi
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 1ef6fb1..2eede08 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -131,7 +133,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -208,10 +209,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -235,6 +236,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/evas-software-x11.pc.in b/evas-software-x11.pc.in
index 7487b7c..b32556c 100644
--- a/evas-software-x11.pc.in
+++ b/evas-software-x11.pc.in
@@ -1,3 +1,6 @@
 Name: evas-software-x11
 Description: Evas software X11 engine
 Version: @VERSION@
+
+Xlib=@have_evas_engine_software_xlib@
+XCB=@have_evas_engine_software_xcb@
diff --git a/evas-software-xcb.pc.in b/evas-software-xcb.pc.in
deleted file mode 100644
index f91efbf..0000000
--- a/evas-software-xcb.pc.in
+++ /dev/null
@@ -1,3 +0,0 @@
-Name: evas-software-xcb
-Description: Evas software XCB engine
-Version: @VERSION@
diff --git a/evas.spec b/evas.spec
index 2db7c17..63465ee 100644
--- a/evas.spec
+++ b/evas.spec
@@ -77,7 +77,7 @@
 
 Summary: Multi-platform Canvas Library
 Name: evas
-Version: 0.9.9.061
+Version: 0.9.9.062
 Release: 0.%(date '+%Y%m%d')
 License: BSD
 Group: System Environment/Libraries
diff --git a/m4/ac_attribute.m4 b/m4/ac_attribute.m4
index 04bf5f2..23479a9 100644
--- a/m4/ac_attribute.m4
+++ b/m4/ac_attribute.m4
@@ -31,17 +31,17 @@ int foo(int x __attribute__ ((unused)))
        [],
        [ac_cv___attribute__="yes"],
        [ac_cv___attribute__="no"]
-    )]
-)
+    )])
 
 AC_MSG_RESULT($ac_cv___attribute__)
 
 if test "x${ac_cv___attribute__}" = "xyes" ; then
    AC_DEFINE([HAVE___ATTRIBUTE__], [1], [Define to 1 if your compiler has __attribute__])
    AC_DEFINE([__UNUSED__], [__attribute__((unused))], [Macro declaring a function argument to be unused])
-   AC_DEFINE([__PACKED__], [__attribute__((packed))], [Macro declaring a function argument to be unused])
   else
-    AC_DEFINE([__PACKED__], [], [Macro declaring a function argument to be unused])
+    AC_DEFINE([__UNUSED__], [], [Macro declaring a function argument to be unused])
 fi
 
 ])
+
+dnl End of ac_attribute.m4
diff --git a/m4/efl_doxygen.m4 b/m4/efl_doxygen.m4
index dd6bc3e..d83ed68 100644
--- a/m4/efl_doxygen.m4
+++ b/m4/efl_doxygen.m4
@@ -32,9 +32,7 @@ AC_MSG_RESULT([${efl_enable_doc}])
 
 if test "x${efl_enable_doc}" = "xyes" ; then
 
-dnl
 dnl Specify the file name, without path
-dnl
 
    efl_doxygen="doxygen"
 
@@ -42,9 +40,9 @@ dnl
       [AC_HELP_STRING(
           [--with-doxygen=FILE],
           [doxygen program to use @<:@default=doxygen@:>@])],
-dnl
+
 dnl Check the given doxygen program.
-dnl
+
       [efl_doxygen=${withval}
        AC_CHECK_PROG([efl_have_doxygen],
           [${efl_doxygen}],
@@ -96,4 +94,4 @@ fi
 
 ])
 
-dnl End of doxygen.m4
+dnl End of efl_doxygen.m4
diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4
index 2ad18f8..a0609f8 100644
--- a/m4/evas_check_engine.m4
+++ b/m4/evas_check_engine.m4
@@ -19,9 +19,9 @@ fi
 
 ])
 
-dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_X11(engine, simple[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_XLIB(engine, simple[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
 
-AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_X11],
+AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_XLIB],
 [
 
 have_dep="no"
@@ -590,32 +590,59 @@ m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
 m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
 
 want_engine="$2"
+want_static_engine="no"
+have_engine="no"
 have_evas_engine_[]DOWN="no"
 
 AC_ARG_ENABLE([$1],
    [AC_HELP_STRING([--enable-$1], [enable $4 rendering backend])],
-   [want_engine=${enableval}]
-)
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+   ])
 
 AC_MSG_CHECKING([whether to enable $4 rendering backend])
 AC_MSG_RESULT([${want_engine}])
 
-if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xauto"; then
-   m4_default([EVAS_CHECK_ENGINE_DEP_]m4_defn([UP]))(DOWN, $3, [have_evas_engine_[]DOWN="yes"], [have_evas_engine_[]DOWN="no"])
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+   m4_default([EVAS_CHECK_ENGINE_DEP_]m4_defn([UP]))(DOWN, $3, [have_engine="yes"], [have_engine="no"])
 fi
 
-if test "x${have_evas_engine_[]DOWN}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    AC_MSG_ERROR([$4 dependencies not found (strict dependencies checking)])
 fi
 
 AC_MSG_CHECKING([whether $4 rendering backend will be built])
-AC_MSG_RESULT([${have_evas_engine_[]DOWN}])
+AC_MSG_RESULT([${have_engine}])
 
-if test "x${have_evas_engine_[]DOWN}" = "xyes" ; then
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_[]DOWN="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_[]DOWN="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
    AC_DEFINE(BUILD_ENGINE_[]UP, [1], [$4 rendering backend])
 fi
 
-AM_CONDITIONAL(BUILD_ENGINE_[]UP, [test "x${have_evas_engine_[]DOWN}" = "xyes"])
+AM_CONDITIONAL(BUILD_ENGINE_[]UP, [test "x${have_engine}" = "xyes"])
+
+if test "x${want_static_engine}" = "xyes" ; then
+   AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 engine inside libevas])
+   have_static_module="yes"
+fi
+
+AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_engine}" = "xyes"])
 
 m4_popdef([UP])
 m4_popdef([DOWN])
diff --git a/m4/evas_check_loader.m4 b/m4/evas_check_loader.m4
index e30d2c0..2c2154e 100644
--- a/m4/evas_check_loader.m4
+++ b/m4/evas_check_loader.m4
@@ -280,29 +280,60 @@ m4_pushdef([UP], m4_toupper([[$1]]))
 m4_pushdef([DOWN], m4_tolower([[$1]]))
 
 want_loader="$2"
+want_static_loader="no"
+have_loader="no"
 have_evas_image_loader_[]DOWN="no"
 
 AC_ARG_ENABLE([image-loader-[]DOWN],
-   [AC_HELP_STRING([--disable-image-loader-[]DOWN], [disable $1 image loader])],
-   [want_loader=${enableval}]
+   [AC_HELP_STRING([--enable-image-loader-[]DOWN], [enable $1 image loader])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+   ]
 )
 
 AC_MSG_CHECKING([whether to enable $1 image loader])
 AC_MSG_RESULT([${want_loader}])
 
-if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xauto"; then
-   m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, [have_evas_image_loader_[]DOWN="yes"], [have_evas_image_loader_[]DOWN="no"])
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+   m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, [have_loader="yes"], [have_loader="no"])
 fi
 
-if test "x${have_evas_image_loader_[]DOWN}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
    AC_MSG_ERROR([$1 dependencies not found (strict dependencies checking)])
 fi
 
-if test "x${have_evas_image_loader_[]DOWN}" = "xyes" ; then
+AC_MSG_CHECKING([whether $1 image loader will be built])
+AC_MSG_RESULT([${have_loader}])
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_[]DOWN="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_[]DOWN="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
    AC_DEFINE(BUILD_LOADER_[]UP, [1], [UP Image Loader Support])
 fi
 
-AM_CONDITIONAL(BUILD_LOADER_[]UP, [test "x${have_evas_image_loader_[]DOWN}" = "xyes"])
+AM_CONDITIONAL(BUILD_LOADER_[]UP, [test "x${have_loader}" = "xyes"])
+
+if test "x${want_static_loader}" = "xyes" ; then
+   AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 image loader inside libevas])
+   have_static_module="yes"
+fi
+
+AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_loader}" = "xyes"])
 
 m4_popdef([UP])
 m4_popdef([DOWN])
diff --git a/m4/evas_dither.m4 b/m4/evas_dither.m4
new file mode 100644
index 0000000..f8dcca3
--- /dev/null
+++ b/m4/evas_dither.m4
@@ -0,0 +1,44 @@
+dnl Copyright (C) 2009 Vincent Torri <vtorri at univ-evry dot fr>
+dnl That code is public domain and can be freely used or copied.
+
+dnl Macro that enables dithering support is wanted.
+
+dnl Usage: EVAS_CHECK_DITHER(dither, description [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl The parameter 'dither' is the type of dithering.
+dnl The parameter 'description' is the description of the dithering.
+dnl Defines BUILD_[TYPEOFDITHERING]
+
+AC_DEFUN([EVAS_CHECK_DITHER],
+[
+m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
+m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
+
+AC_ARG_ENABLE([$1],
+   AC_HELP_STRING([--enable-$1], [enable $2 @<:@default=disabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_[]DOWN="yes"
+    else
+       _efl_enable_dither_option_[]DOWN="no"
+    fi
+   ],
+   [_efl_enable_dither_option_[]DOWN="no"])
+
+AC_MSG_CHECKING(whether to build $2)
+AC_MSG_RESULT([${_efl_enable_dither_option_[]DOWN}])
+
+if test "x${_efl_enable_dither_option_[]DOWN}" = "xyes" ; then
+   AC_DEFINE([BUILD_]UP[], [1], [define to 1 if you have the $2 support])
+fi
+
+if test "x${_efl_enable_dither_option_[]DOWN}" = "xyes" ; then
+   m4_default([$3], [:])
+else
+   m4_default([$4], [:])
+fi
+
+m4_popdef([UP])
+m4_popdef([DOWN])
+])
+
+dnl End of evas_dither.m4
diff --git a/m4/evas_scaler.m4 b/m4/evas_scaler.m4
new file mode 100644
index 0000000..c78dcc6
--- /dev/null
+++ b/m4/evas_scaler.m4
@@ -0,0 +1,44 @@
+dnl Copyright (C) 2009 Vincent Torri <vtorri at univ-evry dot fr>
+dnl That code is public domain and can be freely used or copied.
+
+dnl Macro that enables scaler support is wanted.
+
+dnl Usage: EVAS_CHECK_SCALER(scaler, description [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl The parameter 'scaler' is the type of scaler.
+dnl The parameter 'description' is the description of the scaler.
+dnl Defines BUILD_[TYPEOFSCALER]
+
+AC_DEFUN([EVAS_CHECK_SCALER],
+[
+m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
+m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
+
+AC_ARG_ENABLE([$1],
+   AC_HELP_STRING([--disable-$1], [disable $2 code @<:@default=enabled@:>@]),
+   [
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_scaler_option_[]DOWN="yes"
+    else
+       _efl_enable_scaler_option_[]DOWN="no"
+    fi
+   ],
+   [_efl_enable_scaler_option_[]DOWN="yes"])
+
+AC_MSG_CHECKING(whether to build $2)
+AC_MSG_RESULT([${_efl_enable_scaler_option_[]DOWN}])
+
+if test "x${_efl_enable_scaler_option_[]DOWN}" = "xyes" ; then
+   AC_DEFINE([BUILD_]UP[], [1], [define to 1 if you have the $2 support])
+fi
+
+if test "x${_efl_enable_scaler_option_[]DOWN}" = "xyes" ; then
+   m4_default([$3], [:])
+else
+   m4_default([$4], [:])
+fi
+
+m4_popdef([UP])
+m4_popdef([DOWN])
+])
+
+dnl End of evas_scaler.m4
diff --git a/src/Makefile.in b/src/Makefile.in
index b9f7a0c..fb154ef 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -142,7 +144,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -219,10 +220,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -246,6 +247,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/bin/Makefile.in b/src/bin/Makefile.in
index 90229b0..b43a0eb 100644
--- a/src/bin/Makefile.in
+++ b/src/bin/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -165,7 +167,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -242,10 +243,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -269,6 +270,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/bin/evas_cserve_main.c b/src/bin/evas_cserve_main.c
index 5d46ae1..770485f 100644
--- a/src/bin/evas_cserve_main.c
+++ b/src/bin/evas_cserve_main.c
@@ -9,6 +9,10 @@
 # include <windows.h>
 #endif
 
+#ifdef BUILD_PTHREAD
+#include <pthread.h>
+#endif
+
 #include "Evas.h"
 #include "evas_cs.h"
 
@@ -23,6 +27,7 @@
 
 typedef struct _Img Img;
 typedef struct _Lopt Lopt;
+typedef struct _Load_Inf Load_Inf;
 
 struct _Lopt
 {
@@ -57,11 +62,18 @@ struct _Img
       Eina_Bool alpha : 1;
    } image;
    int incache;
+   LK(lock);
    Eina_Bool dead : 1;
    Eina_Bool active : 1;
    Eina_Bool useless : 1;
 };
 
+struct _Load_Inf
+{
+   Img *img;
+   Client *c;
+};
+
 // config
 static int stat_res_interval = 2;
 
@@ -72,6 +84,7 @@ static int server_id = 0;
 static Evas_Cache_Image *cache = NULL;
 
 static Eina_Hash *active_images = NULL;
+LK(cache_lock);
 static Eina_List *cache_images = NULL;
 static int cache_usage = 0;
 static int cache_max_usage = 1 * 1024;
@@ -155,6 +168,7 @@ stats_hash_image_cb(const Eina_Hash *hash __UNUSED__,
 {
    Img *img = data;
    
+
    saved_load_time += img->stats.load1 * img->stats.load1saved;
    saved_loaddata_time += img->stats.load2 * img->stats.load2saved;
    if (img->ref > 1)
@@ -185,6 +199,7 @@ stats_calc(void)
    
    if (active_images)
      eina_hash_foreach(active_images, stats_hash_image_cb, NULL);
+   LKL(cache_lock);
    EINA_LIST_FOREACH(cache_images, l, img)
      {
         saved_loads += img->stats.load1saved;
@@ -197,6 +212,7 @@ stats_calc(void)
              real_memory += (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) >> 12) << 12;
           }
      }
+   LKU(cache_lock);
    if (saved_memory > saved_memory_peak)
      saved_memory_peak = saved_memory;
    if (real_memory > real_memory_peak)
@@ -416,6 +432,7 @@ img_init(void)
    
    active_images = eina_hash_string_superfast_new(NULL);
    cache = evas_cache_image_init(&cache_funcs);
+   LKI(cache_lock);
 }
 
 static void
@@ -476,6 +493,7 @@ img_loaddata(Img *img)
    
    if (img->mem) return;
    t = get_time();
+   LKL(cache_lock);
    evas_cache_image_load_data((Image_Entry *)img);
    t = get_time() - t;
    img->stats.load2 = t;
@@ -486,6 +504,7 @@ img_loaddata(Img *img)
      (4096 * (((img->image.w * img->image.h * sizeof(DATA32)) + 4095) / 4096)) +
      sizeof(Mem);
    if (!img->active) cache_usage += img->usage;
+   LKU(cache_lock);
    cache_clean();
 }
 
@@ -512,12 +531,14 @@ static void
 cache_clean(void)
 {
    D("... cache clean!!! do\n");
+   LKL(cache_lock);
    while ((cache_usage > ((cache_max_usage + cache_max_adjust) * 1024)) && 
           (cache_images))
      {
         Img *img;
         Eina_List *l;
         
+        LKL(img->lock);
         D("... clean loop %i > %i\n", cache_usage, (cache_max_usage + cache_max_adjust) * 1024);
         l = eina_list_last(cache_images);
         if (!l) break;
@@ -530,6 +551,7 @@ cache_clean(void)
         D("...   IMG FREE %p\n", img);
         img_free(img);
      }
+   LKU(cache_lock);
 }
 
 static void
@@ -539,8 +561,10 @@ cache_timeout(time_t t)
    Img *img;
    
    if (cache_item_timeout < 0) return;
+   LKL(cache_lock);
    EINA_LIST_FOREACH_SAFE(cache_images, l, l_next, img)
      {
+        LKL(img->lock);
         if ((t - img->cached) > cache_item_timeout)
           {
              cache_images = eina_list_remove_list(cache_images, l);
@@ -548,7 +572,10 @@ cache_timeout(time_t t)
              cache_usage -= img->usage;
              img_free(img);
           }
+        else
+          LKU(img->lock);
      }
+   LKU(cache_lock);
 }
 
 static void
@@ -580,6 +607,7 @@ mem_cache_adjust(void)
    if (pval != cache_max_adjust)
      {
         D("... cache clean\n");
+        // FIXME lock problem
         cache_clean();
      }
 }
@@ -592,7 +620,7 @@ img_cache(Img *img)
      {
         D("... img %p '%s' dead\n", img , img->file.file);
         img_free(img);
-        return;
+       return;
      }
    if ((cache_usage + img->usage) > ((cache_max_usage + cache_max_adjust) * 1024))
      {
@@ -609,11 +637,14 @@ img_cache(Img *img)
         printf("EEEEEEEEEEEEEEEEK!\n");
         return;
      }
+   LKL(cache_lock);
    cache_images = eina_list_prepend(cache_images, img);
+   LKU(cache_lock);
    img->incache++;
    cache_usage += img->usage;
    img->active = 0;
    img->cached = t_now;
+   // FIXME: lock problem
    if (cache_usage > ((cache_max_usage + cache_max_adjust) * 1024))
      cache_clean();
 }
@@ -622,7 +653,9 @@ static void
 img_dead(Img *img)
 {
    if (img->active) return;
+   LKL(cache_lock);
    cache_images = eina_list_remove(cache_images, img);
+   LKU(cache_lock);
    img->incache--;
    cache_usage -= img->usage;
    img_free(img);
@@ -691,10 +724,12 @@ img_load(const char *file, const char *key, RGBA_Image_Loadopts *load_opts)
      }
    
    // FIXME: keep hash of cached images too 
+   LKL(cache_lock);
    EINA_LIST_FOREACH_SAFE(cache_images, l, l_next, img)
     {
         if (!strcmp(img->key, buf))
           {
+             LKL(img->lock);
              if (img_ok(img))
                {
                   D("... found cached\n");
@@ -708,10 +743,14 @@ img_load(const char *file, const char *key, RGBA_Image_Loadopts *load_opts)
                   D("... sats update\n");
                   stats_update();
                   D("... return %p\n", img);
+                  LKU(img->lock);
+                  LKU(cache_lock);
                   return img;
                }
+             LKU(img->lock);
           }
      }
+   LKU(cache_lock);
    D("... ned new img\n");
    return img_new(file, key, load_opts, buf);
 }
@@ -815,6 +854,46 @@ getinfo_hash_image_cb(const Eina_Hash *hash __UNUSED__,
    return 1;
 }
 
+#ifdef BUILD_PTHREAD
+static void *
+load_data_thread(void *data)
+{
+   Load_Inf *li = data;
+   Img *img = li->img;
+   Client *c = li->c;
+   Op_Loaddata_Reply msg;
+
+   free(li);
+   LKL(img->lock);
+   if (img->mem)
+     {
+        memset(&msg, 0, sizeof(msg));
+        msg.mem.id = img->mem->id;
+        msg.mem.offset = img->mem->offset;
+        msg.mem.size = img->mem->size;
+        D("... reply\n");
+        evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
+        LKU(c->lock);
+        return NULL;
+     }
+   img_loaddata(img);
+   memset(&msg, 0, sizeof(msg));
+   if (img->mem)
+     {
+        msg.mem.id = img->mem->id;
+        msg.mem.offset = img->mem->offset;
+        msg.mem.size = img->mem->size;
+     }
+   else
+     msg.mem.id = msg.mem.offset = msg.mem.size = 0;
+   LKU(img->lock);
+   D("... reply\n");
+   evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
+   LKU(c->lock);
+   return NULL;
+}
+#endif
+
 static int
 message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *data)
 {
@@ -903,7 +982,9 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
                   D("... remove %p from list\n", img);
                   c->data = eina_list_remove(c->data, img);
                   D("... unload %p\n", img);
+                  LKL(img->lock);
                   img_unload(img);
+                  LKU(img->lock);
                }
           } 
         break;
@@ -923,26 +1004,62 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
                        D("... load saved - cached %p\n", img);
                        img->stats.load2saved++;
                        stats_update();
+                       memset(&msg, 0, sizeof(msg));
+                       if (img->mem)
+                         {
+                            msg.mem.id = img->mem->id;
+                            msg.mem.offset = img->mem->offset;
+                            msg.mem.size = img->mem->size;
+                         }
+                       else
+                         msg.mem.id = msg.mem.offset = msg.mem.size = 0;
+                       D("... reply\n");
+                       evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
                     }
                   else
                     {
+#ifdef BUILD_PTHREAD
+                       pthread_t tid;
+                       pthread_attr_t attr;
+                       Load_Inf *li;
+                       
                        D("... load data %p\n", img);
+                       pthread_attr_init(&attr);
+                       li = calloc(1, sizeof(Load_Inf));
+                       if (li)
+                         {
+                            li->img= img;
+                            li->c = c;
+                            LKL(c->lock);
+                            if (pthread_create(&tid, &attr, load_data_thread, li))
+                              {
+                                 perror("pthread_create()");
+                              }
+                            else
+                              pthread_detach(tid);
+                         }
+                       pthread_attr_destroy(&attr);
+#else
                        img_loaddata(img);
+                       memset(&msg, 0, sizeof(msg));
+                       if (img->mem)
+                         {
+                            msg.mem.id = img->mem->id;
+                            msg.mem.offset = img->mem->offset;
+                            msg.mem.size = img->mem->size;
+                         }
+                       else
+                         msg.mem.id = msg.mem.offset = msg.mem.size = 0;
+                       D("... reply\n");
+                       evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
+#endif
                     }
-                  memset(&msg, 0, sizeof(msg));
-                  if (img->mem)
-                    {
-                       msg.mem.id = img->mem->id;
-                       msg.mem.offset = img->mem->offset;
-                       msg.mem.size = img->mem->size;
-                    }
-                  else
-                    msg.mem.id = msg.mem.offset = msg.mem.size = 0;
                }
              else
-               msg.mem.id = msg.mem.offset = msg.mem.size = 0;
-             D("... reply\n");
-             evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
+               {
+                  msg.mem.id = msg.mem.offset = msg.mem.size = 0;
+                  evas_cserve_client_send(c, OP_LOADDATA, sizeof(msg), (unsigned char *)(&msg));
+               }
           }
         break;
      case OP_UNLOADDATA:
@@ -956,10 +1073,12 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
              if ((img) && (rep->server_id == server_id))
                {
                   D("... dref--\n");
+                  LKL(img->lock);
                   img->dref--;
                   if (img->dref < 0) img->dref = 0;
                   D("... unload data %p '%s'\n", img, img->file.file);
                   img_unloaddata(img);
+                  LKU(img->lock);
                }
           } 
         break;
@@ -974,10 +1093,12 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
              if ((img) && (rep->server_id == server_id))
                {
                   D("... dref--\n");
+                  LKL(img->lock);
                   img->dref--;
                   if (img->dref < 0) img->dref = 0;
                   D("... useless %p\n", img);
                   img_useless(img);
+                  LKU(img->lock);
                }
           } 
         break;
@@ -991,8 +1112,11 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
              img = rep->handle;
              if ((img) && (rep->server_id == server_id))
                {
+                  LKL(img->lock);
                   c->data = eina_list_remove(c->data, img);
+                  // FIXME: preload doesnt work async
                   img_preload(img);
+                  LKU(img->lock);
                }
           }
      case OP_FORCEDUNLOAD:
@@ -1005,10 +1129,12 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
              img = rep->handle;
              if ((img) && (rep->server_id == server_id))
                {
+                  LKL(img->lock);
                   D("remove %p from list\n", img);
                   c->data = eina_list_remove(c->data, img);
                   D("... forced unload now\n");
                   img_forcedunload(img);
+                  LKU(img->lock);
                }
           } 
         break;
@@ -1068,10 +1194,12 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
              if (active_images)
                eina_hash_foreach(active_images, getinfo_hash_image_cb, &imgs);
              D("... walk foreach list output\n");
+             LKL(cache_lock);
              EINA_LIST_FOREACH(cache_images, l, img)
                {
                   imgs = eina_list_append(imgs, img);
                }
+             LKU(cache_lock);
              D("... walk image cache\n");
              EINA_LIST_FOREACH(imgs, l, img)
                {
@@ -1100,6 +1228,7 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
                     {
                        Op_Getinfo_Item *itt, it;
 
+                       LKL(img->lock); 
                        D("...   img %p\n", img);
                        memset(&it, 0, sizeof(Op_Getinfo_Item));
                        itt = (Op_Getinfo_Item *)p;
@@ -1155,6 +1284,7 @@ message(void *fdata, Server *s, Client *c, int opcode, int size, unsigned char *
                        memcpy(itt, &it, sizeof(Op_Getinfo_Item));
                        D("...   memcpy done n\n", img);
                        p += sizeof(Op_Getinfo_Item) + it.file_key_size;
+                       LKU(img->lock); 
                     }
                   D("...   walk all imgs done\n");
                   msg->active.mem_total = 
diff --git a/src/lib/Evas.h b/src/lib/Evas.h
index 0f7efb7..d8775d7 100644
--- a/src/lib/Evas.h
+++ b/src/lib/Evas.h
@@ -41,8 +41,6 @@
  * @todo finish api documentation
  */
 
-#include <Evas_Data.h>
-
 typedef enum _Evas_Callback_Type
 {
    EVAS_CALLBACK_MOUSE_IN, /**< Mouse In Event */
@@ -104,7 +102,6 @@ typedef enum _Evas_Object_Table_Homogeneous_Mode
 } Evas_Object_Table_Homogeneous_Mode;
 
 typedef struct _Evas_Transform Evas_Transform; /**< An Evas projective or affine transform */
-typedef struct _Evas_Rectangle        Evas_Rectangle; /**< A generic rectangle handle */
 typedef struct _Evas_Coord_Rectangle  Evas_Coord_Rectangle; /**< A generic rectangle handle */
 typedef struct _Evas_Smart_Class      Evas_Smart_Class; /**< A smart object base class */
 
@@ -128,14 +125,6 @@ struct _Evas_Transform /** An affine or projective coordinate transformation mat
    float mzx, mzy, mzz;
 };
 
-struct _Evas_Rectangle /** A rectangle */
-{
-   int x; /**< top-left x co-ordinate of rectangle */
-   int y; /**< top-left y co-ordinate of rectangle */
-   int w; /**< width of rectangle */
-   int h; /**< height of rectangle */
-};
-
 struct _Evas_Coord_Rectangle /** A rectangle in Evas_Coord */
 {
    Evas_Coord x; /**< top-left x co-ordinate of rectangle */
@@ -459,6 +448,8 @@ typedef enum _Evas_Object_Pointer_Mode
    EVAS_OBJECT_POINTER_MODE_NOGRAB
 } Evas_Object_Pointer_Mode;
 
+typedef void (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *event_info);
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -646,7 +637,7 @@ extern "C" {
    EAPI Evas_Coord        evas_object_text_horiz_advance_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
    EAPI Evas_Coord        evas_object_text_vert_advance_get (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
    EAPI Evas_Coord        evas_object_text_inset_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
-   EAPI int               evas_object_text_char_pos_get     (const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_text_char_pos_get     (const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
    EAPI int               evas_object_text_char_coords_get  (const Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
    EAPI Evas_Text_Style_Type evas_object_text_style_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
    EAPI void              evas_object_text_style_set        (Evas_Object *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1);
@@ -863,8 +854,8 @@ extern "C" {
    EAPI Evas_Smart       *evas_object_smart_smart_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
    EAPI void             *evas_object_smart_data_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
    EAPI void              evas_object_smart_data_set        (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
-   EAPI void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data) EINA_ARG_NONNULL(1, 2, 3);
-   EAPI void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, void (*func) (void *data, Evas_Object *obj, void *event_info)) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3);
    EAPI void              evas_object_smart_callback_call   (Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2);
    EAPI void              evas_object_smart_changed         (Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void              evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
diff --git a/src/lib/Evas_Data.h b/src/lib/Evas_Data.h
deleted file mode 100644
index ab62907..0000000
--- a/src/lib/Evas_Data.h
+++ /dev/null
@@ -1,171 +0,0 @@
-#ifndef _EVAS_DATA_H
-#define _EVAS_DATA_H
-
-#include <Eina.h>
-
-#ifdef EAPI
-# undef EAPI
-#endif
-
-#ifdef _WIN32
-# ifdef EFL_EVAS_BUILD
-#  ifdef DLL_EXPORT
-#   define EAPI __declspec(dllexport)
-#  else
-#   define EAPI
-#  endif /* ! DLL_EXPORT */
-# else
-#  define EAPI __declspec(dllimport)
-# endif /* ! EFL_EVAS_BUILD */
-#else
-# ifdef __GNUC__
-#  if __GNUC__ >= 4
-#   define EAPI __attribute__ ((visibility("default")))
-#  else
-#   define EAPI
-#  endif
-# else
-#  define EAPI
-# endif
-#endif /* ! _WIN32 */
-
-/**
- * @file
- * @brief These routines are used for Evas data types.
- */
-
-typedef unsigned char Evas_Bool;
-
-#define Evas_List Eina_List
-#define Evas_Hash Eina_Hash
-
-typedef struct _Evas_Array_Hash  Evas_Array_Hash;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-  /*
-   * Evas Array Hash functions
-   */
-
-   EAPI Evas_Array_Hash *evas_array_hash_new        (void);
-   EAPI void             evas_array_hash_free       (Evas_Array_Hash *hash);
-   EAPI void             evas_array_hash_add        (Evas_Array_Hash *hash, int key, int data);
-   EAPI int              evas_array_hash_search     (Evas_Array_Hash *hash, int key);
-
-
-  /*
-   * Evas Hash functions
-   */
-
-   /* FIXME: add:
-    * api to add find, del members by data, size not just string and also
-    * provide hash generation functions settable by the app
-    *
-    * do we really need this? hmmm - let me think... there may be a better way
-    */
-  static inline Eina_Hash *evas_hash_add(Eina_Hash *hash, const char *key, const void *data)
-  {
-     if (!hash) hash = eina_hash_string_superfast_new(NULL);
-     if (!hash) return NULL;
-
-     eina_hash_add(hash, key, data);
-     return hash;
-  }
-
-  static inline Eina_Hash *evas_hash_direct_add(Eina_Hash *hash, const char *key, const void *data)
-  {
-     if (!hash) hash = eina_hash_string_superfast_new(NULL);
-     if (!hash) return NULL;
-
-     eina_hash_direct_add(hash, key, data);
-     return hash;
-  }
-
-  static inline Eina_Hash *evas_hash_del(Eina_Hash *hash, const char *key, const void *data)
-  {
-     if (!hash) return NULL;
-     eina_hash_del(hash, key, data);
-
-     if (eina_hash_population(hash) == 0)
-       {
-	  eina_hash_free(hash);
-	  return NULL;
-       }
-
-     return hash;
-  }
-  static inline int evas_hash_size(const Eina_Hash *hash)
-  {
-     if (!hash) return 0;
-     return 255;
-  }
-
-  static inline void *evas_hash_find(const Eina_Hash *hash, const void *key)
-  {
-     if (!hash) return NULL;
-     return eina_hash_find(hash, key);
-  }
-
-  static inline void *evas_hash_modify(Eina_Hash *hash, const void *key, const void *data)
-  {
-     if (!hash) return NULL;
-     return eina_hash_modify(hash, key, data);
-  }
-
-  static inline void evas_hash_free(Eina_Hash *hash)
-  {
-     if (!hash) return;
-     eina_hash_free(hash);
-  }
-
-  static inline void evas_hash_foreach(const Eina_Hash *hash, Eina_Bool (*cb)(const Eina_Hash *hash, const char *key, void *data, void *fdata), const void *fdata)
-  {
-     if (!hash) return;
-     eina_hash_foreach(hash, (Eina_Hash_Foreach)cb, fdata);
-  }
-
-  #define evas_hash_alloc_error eina_error_get
-
-  /*
-   * Evas List functions
-   */
-
-  #define evas_list_append eina_list_append
-  #define evas_list_prepend eina_list_prepend
-  #define evas_list_append_relative eina_list_append_relative
-  #define evas_list_append_relative_list eina_list_append_relative_list
-  #define evas_list_prepend_relative eina_list_prepend_relative
-  #define evas_list_prepend_relative_list eina_list_prepend_relative_list
-  #define evas_list_remove eina_list_remove
-  #define evas_list_remove_list eina_list_remove_list
-  #define evas_list_promote_list eina_list_promote_list
-  #define evas_list_find eina_list_data_find
-  #define evas_list_find_list eina_list_data_find_list
-  #define evas_list_free eina_list_free
-  #define evas_list_last eina_list_last
-  #define evas_list_next eina_list_next
-  #define evas_list_prev eina_list_prev
-  #define evas_list_data eina_list_data_get
-  #define evas_list_count eina_list_count
-  #define evas_list_nth eina_list_nth
-  #define evas_list_nth_list eina_list_nth_list
-  #define evas_list_reverse eina_list_reverse
-  #define evas_list_sort eina_list_sort
-  #define evas_list_alloc_error eina_error_get
-
-  /*
-   * Evas Stringshare functions
-   */
-
-  #define evas_stringshare_init eina_stringshare_init
-  #define evas_stringshare_shutdown eina_stringshare_shutdown
-  #define evas_stringshare_add eina_stringshare_add
-  #define evas_stringshare_del eina_stringshare_del
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _EVAS_DATA_H */
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 4b22a87..b990a16 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -1,6 +1,162 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-SUBDIRS = canvas data cache cserve file engines imaging include
+SUBDIRS = canvas cache cserve file engines imaging include
+EVAS_STATIC_MODULE =
+EVAS_STATIC_LIBADD =
+
+if EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+SUBDIRS += ../modules/engines/software_generic/
+EVAS_STATIC_MODULE += ../modules/engines/software_generic/libevas_engine_software_generic.la
+endif
+if EVAS_STATIC_BUILD_BUFFER
+SUBDIRS += ../modules/engines/buffer/
+EVAS_STATIC_MODULE += ../modules/engines/buffer/libevas_engine_buffer.la
+endif
+if EVAS_STATIC_BUILD_DIRECT3D
+SUBDIRS += ../modules/engines/direct3d/
+EVAS_STATIC_MODULE += ../modules/engines/direct3d/libevas_engine_direct3d.la
+EVAS_STATIC_LIBADD += @evas_engine_direct3d_libs@
+endif
+if EVAS_STATIC_BUILD_DIRECTFB
+SUBDIRS += ../modules/engines/directfb/
+EVAS_STATIC_MODULE += ../modules/engines/directfb/libevas_engine_directfb.la
+EVAS_STATIC_LIBADD += @evas_engine_directfb_libs@
+endif
+if EVAS_STATIC_BUILD_FB
+SUBDIRS += ../modules/engines/fb/
+EVAS_STATIC_MODULE += ../modules/engines/fb/libevas_engine_fb.la
+EVAS_STATIC_LIBADD += @evas_engine_fb_libs@
+endif
+if EVAS_STATIC_BUILD_GL_GLEW
+SUBDIRS += \
+	../modules/engines/gl_common \
+	../modules/engines/gl_glew
+EVAS_STATIC_MODULE += \
+	../modules/engines/gl_glew/libevas_engine_gl_glew.la
+EVAS_STATIC_LIBADD += @evas_engine_gl_common_libs@ @evas_engine_gl_glew_libs@
+endif
+if EVAS_STATIC_BUILD_GL_X11
+SUBDIRS += \
+	../modules/engines/gl_common \
+	../modules/engines/gl_x11
+EVAS_STATIC_MODULE += \
+	../modules/engines/gl_x11/libevas_engine_gl_x11.la
+EVAS_STATIC_LIBADD += @evas_engine_gl_common_libs@ @evas_engine_gl_x11_libs@
+endif
+if EVAS_STATIC_BUILD_QUARTZ
+SUBDIRS += ../modules/engines/quartz/
+EVAS_STATIC_MODULE += ../modules/engines/quartz/libevas_engine_quartz.la
+EVAS_STATIC_LIBADD += @evas_engine_quartz_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_16
+SUBDIRS += ../modules/engines/software_16/
+EVAS_STATIC_MODULE += ../modules/engines/software_16/libevas_engine_software_16.la
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+SUBDIRS += ../modules/engines/software_16_ddraw/
+EVAS_STATIC_MODULE += ../modules/engines/software_16_ddraw/libevas_engine_software_16_ddraw.la
+EVAS_STATIC_LIBADD += @evas_engine_software_16_ddraw_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+SUBDIRS += ../modules/engines/software_16_wince/
+EVAS_STATIC_MODULE += ../modules/engines/software_16_wince/libevas_engine_software_16_wince.la
+EVAS_STATIC_LIBADD += @evas_engine_software_16_wince_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_16_X11
+SUBDIRS += ../modules/engines/software_16_x11/
+EVAS_STATIC_MODULE += ../modules/engines/software_16_x11/libevas_engine_software_16_x11.la
+EVAS_STATIC_LIBADD += @evas_engine_software_16_x11_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_SDL
+SUBDIRS += \
+	../modules/engines/software_16_sdl/ \
+	../modules/engines/software_sdl/
+EVAS_STATIC_MODULE += \
+	../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la \
+	../modules/engines/software_sdl/libevas_engine_software_sdl.la
+EVAS_STATIC_LIBADD += @SDL_LIBS@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+SUBDIRS += ../modules/engines/software_ddraw/
+EVAS_STATIC_MODULE += ../modules/engines/software_ddraw/libevas_engine_software_ddraw.la
+EVAS_STATIC_LIBADD += @evas_engine_software_ddraw_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_GDI
+SUBDIRS += ../modules/engines/software_gdi/
+EVAS_STATIC_MODULE += ../modules/engines/software_gdi/libevas_engine_software_gdi.la
+EVAS_STATIC_LIBADD += @evas_engine_software_gdi_libs@
+endif
+if EVAS_STATIC_BUILD_SOFTWARE_X11
+SUBDIRS += ../modules/engines/software_x11/
+EVAS_STATIC_MODULE += ../modules/engines/software_x11/libevas_engine_software_x11.la
+EVAS_STATIC_LIBADD += @evas_engine_software_xlib_libs@ @evas_engine_software_xcb_libs@
+endif
+if EVAS_STATIC_BUILD_XRENDER_X11
+SUBDIRS += ../modules/engines/xrender_x11/
+EVAS_STATIC_MODULE += ../modules/engines/xrender_x11/libevas_engine_xrender_x11.la
+EVAS_STATIC_LIBADD += @evas_engine_xrender_x11_libs@ @evas_engine_xrender_xcb_libs@
+endif
+if EVAS_STATIC_BUILD_EDB
+SUBDIRS += ../modules/savers/edb ../modules/loaders/edb
+EVAS_STATIC_MODULE += ../modules/savers/edb/libevas_saver_edb.la ../modules/loaders/edb/libevas_loader_edb.la
+EVAS_STATIC_LIBADD += @evas_image_loader_edb_libs@
+endif
+if EVAS_STATIC_BUILD_EET
+SUBDIRS += ../modules/savers/eet ../modules/loaders/eet
+EVAS_STATIC_MODULE += ../modules/savers/eet/libevas_saver_eet.la ../modules/loaders/eet/libevas_loader_eet.la
+EVAS_STATIC_LIBADD += @evas_image_loader_eet_libs@
+endif
+if EVAS_STATIC_BUILD_GIF
+SUBDIRS += ../modules/loaders/gif
+EVAS_STATIC_MODULE += ../modules/loaders/gif/libevas_loader_gif.la
+EVAS_STATIC_LIBADD += @evas_image_loader_gif_libs@
+endif
+if EVAS_STATIC_BUILD_JPEG
+SUBDIRS += ../modules/savers/jpeg ../modules/loaders/jpeg
+EVAS_STATIC_MODULE += ../modules/savers/jpeg/libevas_saver_jpeg.la ../modules/loaders/jpeg/libevas_loader_jpeg.la
+EVAS_STATIC_LIBADD += @evas_image_loader_jpeg_libs@
+endif
+if EVAS_STATIC_BUILD_PMAPS
+SUBDIRS += ../modules/loaders/pmaps
+EVAS_STATIC_MODULE += ../modules/loaders/pmaps/libevas_loader_pmaps.la
+EVAS_STATIC_LIBADD += @evas_image_loader_pmaps_libs@
+endif
+if EVAS_STATIC_BUILD_PNG
+SUBDIRS += ../modules/savers/png ../modules/loaders/png
+EVAS_STATIC_MODULE += ../modules/savers/png/libevas_saver_png.la ../modules/loaders/png/libevas_loader_png.la
+EVAS_STATIC_LIBADD += @evas_image_loader_png_libs@
+endif
+if EVAS_STATIC_BUILD_SVG
+SUBDIRS += ../modules/loaders/svg
+EVAS_STATIC_MODULE += ../modules/loaders/svg/libevas_loader_svg.la
+EVAS_STATIC_LIBADD += @evas_image_loader_svg_libs@
+endif
+if EVAS_STATIC_BUILD_TIFF
+SUBDIRS += ../modules/savers/tiff ../modules/loaders/tiff
+EVAS_STATIC_MODULE += ../modules/savers/tiff/libevas_saver_tiff.la ../modules/loaders/tiff/libevas_loader_tiff.la
+EVAS_STATIC_LIBADD += @evas_image_loader_tiff_libs@
+endif
+if EVAS_STATIC_BUILD_XPM
+SUBDIRS += ../modules/loaders/xpm
+EVAS_STATIC_MODULE += ../modules/loaders/xpm/libevas_loader_xpm.la
+EVAS_STATIC_LIBADD += @evas_image_loader_xpm_libs@
+endif
+
+
+#if EVAS_STATIC_BUILD_CAIRO_X11
+#SUBDIRS += \
+#	../modules/engines/cairo_common \
+#	../modules/engines/cairo_x11
+#EVAS_STATIC_MODULE += \
+#	../modules/engines/cairo_common/libevas_engine_cairo_common.la \
+#	../modules/engines/cairo_x11/libevas_engine_cairo_x11.la
+#EVAS_STATIC_LIBADD += @CAIRO_CFLAGS@
+#endif
+#if EVAS_STATIC_BUILD_SOFTWARE_QTOPIA
+#SUBDIRS += ../modules/engines/software_qtopia/
+#EVAS_STATIC_MODULE += ../modules/engines/software_qtopia/libevas_engine_software_qtopia.la
+#EVAS_STATIC_LIBADD += @evas_engine_software_qtopia_libs@
+#endif
 
 AM_CPPFLAGS = \
 -I. \
@@ -20,7 +176,7 @@ AM_CFLAGS = @WIN32_CFLAGS@
 
 lib_LTLIBRARIES = libevas.la
 
-include_HEADERS = Evas.h Evas_Data.h
+include_HEADERS = Evas.h
 
 libevas_la_SOURCES = main.c
 
@@ -32,7 +188,6 @@ endif
 
 libevas_la_LIBADD = \
 canvas/libevas_canvas.la \
-data/libevas_data.la \
 file/libevas_file.la \
 cache/libevas_cache.la \
 imaging/libevas_imaging.la \
@@ -45,16 +200,18 @@ engines/common/libevas_engine_common.la \
 @FONTCONFIG_LIBS@ \
 @pthread_libs@ \
 @EINA_LIBS@ \
+$(EVAS_STATIC_MODULE) \
+$(EVAS_STATIC_LIBADD) \
 -lm
 
 libevas_la_DEPENDENCIES = \
 canvas/libevas_canvas.la \
-data/libevas_data.la \
 file/libevas_file.la \
 cache/libevas_cache.la \
 imaging/libevas_imaging.la \
 $(libevas_cserve_la) \
-engines/common/libevas_engine_common.la
+engines/common/libevas_engine_common.la \
+$(EVAS_STATIC_MODULE)
 
 if BUILD_ENGINE_SOFTWARE_16
 
@@ -65,3 +222,4 @@ endif
 
 libevas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
 
+DIST_SUBDIRS = canvas cache cserve file engines imaging include
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index ea5098b..f92fa8f 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -33,8 +33,99 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
- at BUILD_ENGINE_SOFTWARE_16_TRUE@am__append_1 = engines/common_16/libevas_engine_common_16.la
- at BUILD_ENGINE_SOFTWARE_16_TRUE@am__append_2 = engines/common_16/libevas_engine_common_16.la
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@am__append_1 = ../modules/engines/software_generic/
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@am__append_2 = ../modules/engines/software_generic/libevas_engine_software_generic.la
+ at EVAS_STATIC_BUILD_BUFFER_TRUE@am__append_3 = ../modules/engines/buffer/
+ at EVAS_STATIC_BUILD_BUFFER_TRUE@am__append_4 = ../modules/engines/buffer/libevas_engine_buffer.la
+ at EVAS_STATIC_BUILD_DIRECT3D_TRUE@am__append_5 = ../modules/engines/direct3d/
+ at EVAS_STATIC_BUILD_DIRECT3D_TRUE@am__append_6 = ../modules/engines/direct3d/libevas_engine_direct3d.la
+ at EVAS_STATIC_BUILD_DIRECT3D_TRUE@am__append_7 = @evas_engine_direct3d_libs@
+ at EVAS_STATIC_BUILD_DIRECTFB_TRUE@am__append_8 = ../modules/engines/directfb/
+ at EVAS_STATIC_BUILD_DIRECTFB_TRUE@am__append_9 = ../modules/engines/directfb/libevas_engine_directfb.la
+ at EVAS_STATIC_BUILD_DIRECTFB_TRUE@am__append_10 = @evas_engine_directfb_libs@
+ at EVAS_STATIC_BUILD_FB_TRUE@am__append_11 = ../modules/engines/fb/
+ at EVAS_STATIC_BUILD_FB_TRUE@am__append_12 = ../modules/engines/fb/libevas_engine_fb.la
+ at EVAS_STATIC_BUILD_FB_TRUE@am__append_13 = @evas_engine_fb_libs@
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@am__append_14 = \
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@	../modules/engines/gl_common \
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@	../modules/engines/gl_glew
+
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@am__append_15 = \
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@	../modules/engines/gl_glew/libevas_engine_gl_glew.la
+
+ at EVAS_STATIC_BUILD_GL_GLEW_TRUE@am__append_16 = @evas_engine_gl_common_libs@ @evas_engine_gl_glew_libs@
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@am__append_17 = \
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@	../modules/engines/gl_common \
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@	../modules/engines/gl_x11
+
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@am__append_18 = \
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@	../modules/engines/gl_x11/libevas_engine_gl_x11.la
+
+ at EVAS_STATIC_BUILD_GL_X11_TRUE@am__append_19 = @evas_engine_gl_common_libs@ @evas_engine_gl_x11_libs@
+ at EVAS_STATIC_BUILD_QUARTZ_TRUE@am__append_20 = ../modules/engines/quartz/
+ at EVAS_STATIC_BUILD_QUARTZ_TRUE@am__append_21 = ../modules/engines/quartz/libevas_engine_quartz.la
+ at EVAS_STATIC_BUILD_QUARTZ_TRUE@am__append_22 = @evas_engine_quartz_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@am__append_23 = ../modules/engines/software_16/
+ at EVAS_STATIC_BUILD_SOFTWARE_16_TRUE@am__append_24 = ../modules/engines/software_16/libevas_engine_software_16.la
+ at EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@am__append_25 = ../modules/engines/software_16_ddraw/
+ at EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@am__append_26 = ../modules/engines/software_16_ddraw/libevas_engine_software_16_ddraw.la
+ at EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE@am__append_27 = @evas_engine_software_16_ddraw_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@am__append_28 = ../modules/engines/software_16_wince/
+ at EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@am__append_29 = ../modules/engines/software_16_wince/libevas_engine_software_16_wince.la
+ at EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE@am__append_30 = @evas_engine_software_16_wince_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@am__append_31 = ../modules/engines/software_16_x11/
+ at EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@am__append_32 = ../modules/engines/software_16_x11/libevas_engine_software_16_x11.la
+ at EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE@am__append_33 = @evas_engine_software_16_x11_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_34 = \
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@	../modules/engines/software_16_sdl/ \
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@	../modules/engines/software_sdl/
+
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_35 = \
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@	../modules/engines/software_16_sdl/libevas_engine_software_16_sdl.la \
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@	../modules/engines/software_sdl/libevas_engine_software_sdl.la
+
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE@am__append_36 = @SDL_LIBS@
+ at EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_37 = ../modules/engines/software_ddraw/
+ at EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_38 = ../modules/engines/software_ddraw/libevas_engine_software_ddraw.la
+ at EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE@am__append_39 = @evas_engine_software_ddraw_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@am__append_40 = ../modules/engines/software_gdi/
+ at EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@am__append_41 = ../modules/engines/software_gdi/libevas_engine_software_gdi.la
+ at EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE@am__append_42 = @evas_engine_software_gdi_libs@
+ at EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE@am__append_43 = ../modules/engines/software_x11/
+ at EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE@am__append_44 = ../modules/engines/software_x11/libevas_engine_software_x11.la
+ at EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE@am__append_45 = @evas_engine_software_xlib_libs@ @evas_engine_software_xcb_libs@
+ at EVAS_STATIC_BUILD_XRENDER_X11_TRUE@am__append_46 = ../modules/engines/xrender_x11/
+ at EVAS_STATIC_BUILD_XRENDER_X11_TRUE@am__append_47 = ../modules/engines/xrender_x11/libevas_engine_xrender_x11.la
+ at EVAS_STATIC_BUILD_XRENDER_X11_TRUE@am__append_48 = @evas_engine_xrender_x11_libs@ @evas_engine_xrender_xcb_libs@
+ at EVAS_STATIC_BUILD_EDB_TRUE@am__append_49 = ../modules/savers/edb ../modules/loaders/edb
+ at EVAS_STATIC_BUILD_EDB_TRUE@am__append_50 = ../modules/savers/edb/libevas_saver_edb.la ../modules/loaders/edb/libevas_loader_edb.la
+ at EVAS_STATIC_BUILD_EDB_TRUE@am__append_51 = @evas_image_loader_edb_libs@
+ at EVAS_STATIC_BUILD_EET_TRUE@am__append_52 = ../modules/savers/eet ../modules/loaders/eet
+ at EVAS_STATIC_BUILD_EET_TRUE@am__append_53 = ../modules/savers/eet/libevas_saver_eet.la ../modules/loaders/eet/libevas_loader_eet.la
+ at EVAS_STATIC_BUILD_EET_TRUE@am__append_54 = @evas_image_loader_eet_libs@
+ at EVAS_STATIC_BUILD_GIF_TRUE@am__append_55 = ../modules/loaders/gif
+ at EVAS_STATIC_BUILD_GIF_TRUE@am__append_56 = ../modules/loaders/gif/libevas_loader_gif.la
+ at EVAS_STATIC_BUILD_GIF_TRUE@am__append_57 = @evas_image_loader_gif_libs@
+ at EVAS_STATIC_BUILD_JPEG_TRUE@am__append_58 = ../modules/savers/jpeg ../modules/loaders/jpeg
+ at EVAS_STATIC_BUILD_JPEG_TRUE@am__append_59 = ../modules/savers/jpeg/libevas_saver_jpeg.la ../modules/loaders/jpeg/libevas_loader_jpeg.la
+ at EVAS_STATIC_BUILD_JPEG_TRUE@am__append_60 = @evas_image_loader_jpeg_libs@
+ at EVAS_STATIC_BUILD_PMAPS_TRUE@am__append_61 = ../modules/loaders/pmaps
+ at EVAS_STATIC_BUILD_PMAPS_TRUE@am__append_62 = ../modules/loaders/pmaps/libevas_loader_pmaps.la
+ at EVAS_STATIC_BUILD_PMAPS_TRUE@am__append_63 = @evas_image_loader_pmaps_libs@
+ at EVAS_STATIC_BUILD_PNG_TRUE@am__append_64 = ../modules/savers/png ../modules/loaders/png
+ at EVAS_STATIC_BUILD_PNG_TRUE@am__append_65 = ../modules/savers/png/libevas_saver_png.la ../modules/loaders/png/libevas_loader_png.la
+ at EVAS_STATIC_BUILD_PNG_TRUE@am__append_66 = @evas_image_loader_png_libs@
+ at EVAS_STATIC_BUILD_SVG_TRUE@am__append_67 = ../modules/loaders/svg
+ at EVAS_STATIC_BUILD_SVG_TRUE@am__append_68 = ../modules/loaders/svg/libevas_loader_svg.la
+ at EVAS_STATIC_BUILD_SVG_TRUE@am__append_69 = @evas_image_loader_svg_libs@
+ at EVAS_STATIC_BUILD_TIFF_TRUE@am__append_70 = ../modules/savers/tiff ../modules/loaders/tiff
+ at EVAS_STATIC_BUILD_TIFF_TRUE@am__append_71 = ../modules/savers/tiff/libevas_saver_tiff.la ../modules/loaders/tiff/libevas_loader_tiff.la
+ at EVAS_STATIC_BUILD_TIFF_TRUE@am__append_72 = @evas_image_loader_tiff_libs@
+ at EVAS_STATIC_BUILD_XPM_TRUE@am__append_73 = ../modules/loaders/xpm
+ at EVAS_STATIC_BUILD_XPM_TRUE@am__append_74 = ../modules/loaders/xpm/libevas_loader_xpm.la
+ at EVAS_STATIC_BUILD_XPM_TRUE@am__append_75 = @evas_image_loader_xpm_libs@
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@am__append_76 = engines/common_16/libevas_engine_common_16.la
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@am__append_77 = engines/common_16/libevas_engine_common_16.la
 subdir = src/lib
 DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -43,7 +134,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -61,6 +154,19 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 am_libevas_la_OBJECTS = main.lo
 libevas_la_OBJECTS = $(am_libevas_la_OBJECTS)
 libevas_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -93,7 +199,6 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -175,7 +280,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -252,10 +356,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -279,6 +383,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -313,7 +419,48 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 version_info = @version_info@
 MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = canvas data cache cserve file engines imaging include
+SUBDIRS = canvas cache cserve file engines imaging include \
+	$(am__append_1) $(am__append_3) $(am__append_5) \
+	$(am__append_8) $(am__append_11) $(am__append_14) \
+	$(am__append_17) $(am__append_20) $(am__append_23) \
+	$(am__append_25) $(am__append_28) $(am__append_31) \
+	$(am__append_34) $(am__append_37) $(am__append_40) \
+	$(am__append_43) $(am__append_46) $(am__append_49) \
+	$(am__append_52) $(am__append_55) $(am__append_58) \
+	$(am__append_61) $(am__append_64) $(am__append_67) \
+	$(am__append_70) $(am__append_73)
+EVAS_STATIC_MODULE = $(am__append_2) $(am__append_4) $(am__append_6) \
+	$(am__append_9) $(am__append_12) $(am__append_15) \
+	$(am__append_18) $(am__append_21) $(am__append_24) \
+	$(am__append_26) $(am__append_29) $(am__append_32) \
+	$(am__append_35) $(am__append_38) $(am__append_41) \
+	$(am__append_44) $(am__append_47) $(am__append_50) \
+	$(am__append_53) $(am__append_56) $(am__append_59) \
+	$(am__append_62) $(am__append_65) $(am__append_68) \
+	$(am__append_71) $(am__append_74)
+EVAS_STATIC_LIBADD = $(am__append_7) $(am__append_10) $(am__append_13) \
+	$(am__append_16) $(am__append_19) $(am__append_22) \
+	$(am__append_27) $(am__append_30) $(am__append_33) \
+	$(am__append_36) $(am__append_39) $(am__append_42) \
+	$(am__append_45) $(am__append_48) $(am__append_51) \
+	$(am__append_54) $(am__append_57) $(am__append_60) \
+	$(am__append_63) $(am__append_66) $(am__append_69) \
+	$(am__append_72) $(am__append_75)
+
+#if EVAS_STATIC_BUILD_CAIRO_X11
+#SUBDIRS += \
+#	../modules/engines/cairo_common \
+#	../modules/engines/cairo_x11
+#EVAS_STATIC_MODULE += \
+#	../modules/engines/cairo_common/libevas_engine_cairo_common.la \
+#	../modules/engines/cairo_x11/libevas_engine_cairo_x11.la
+#EVAS_STATIC_LIBADD += @CAIRO_CFLAGS@
+#endif
+#if EVAS_STATIC_BUILD_SOFTWARE_QTOPIA
+#SUBDIRS += ../modules/engines/software_qtopia/
+#EVAS_STATIC_MODULE += ../modules/engines/software_qtopia/libevas_engine_software_qtopia.la
+#EVAS_STATIC_LIBADD += @evas_engine_software_qtopia_libs@
+#endif
 AM_CPPFLAGS = \
 -I. \
 -I$(top_srcdir)/src/lib \
@@ -330,21 +477,23 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 lib_LTLIBRARIES = libevas.la
-include_HEADERS = Evas.h Evas_Data.h
+include_HEADERS = Evas.h
 libevas_la_SOURCES = main.c
 @EVAS_CSERVE_TRUE at libevas_cserve_la = cserve/libevas_cserve.la
-libevas_la_LIBADD = canvas/libevas_canvas.la data/libevas_data.la \
-	file/libevas_file.la cache/libevas_cache.la \
-	imaging/libevas_imaging.la $(libevas_cserve_la) \
-	engines/common/libevas_engine_common.la @dlopen_libs@ \
-	@FREETYPE_LIBS@ @FRIBIDI_LIBS@ @EET_LIBS@ @FONTCONFIG_LIBS@ \
-	@pthread_libs@ @EINA_LIBS@ -lm $(am__append_1)
-libevas_la_DEPENDENCIES = canvas/libevas_canvas.la \
-	data/libevas_data.la file/libevas_file.la \
+libevas_la_LIBADD = canvas/libevas_canvas.la file/libevas_file.la \
 	cache/libevas_cache.la imaging/libevas_imaging.la \
 	$(libevas_cserve_la) engines/common/libevas_engine_common.la \
-	$(am__append_2)
+	@dlopen_libs@ @FREETYPE_LIBS@ @FRIBIDI_LIBS@ @EET_LIBS@ \
+	@FONTCONFIG_LIBS@ @pthread_libs@ @EINA_LIBS@ \
+	$(EVAS_STATIC_MODULE) $(EVAS_STATIC_LIBADD) -lm \
+	$(am__append_76)
+libevas_la_DEPENDENCIES = canvas/libevas_canvas.la \
+	file/libevas_file.la cache/libevas_cache.la \
+	imaging/libevas_imaging.la $(libevas_cserve_la) \
+	engines/common/libevas_engine_common.la $(EVAS_STATIC_MODULE) \
+	$(am__append_77)
 libevas_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
+DIST_SUBDIRS = canvas cache cserve file engines imaging include
 all: all-recursive
 
 .SUFFIXES:
diff --git a/src/lib/cache/Makefile.in b/src/lib/cache/Makefile.in
index de0bc44..7385d1b 100644
--- a/src/lib/cache/Makefile.in
+++ b/src/lib/cache/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -150,7 +152,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -227,10 +228,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -254,6 +255,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/cache/evas_cache_engine_image.c b/src/lib/cache/evas_cache_engine_image.c
index 544a918..d01dcc1 100644
--- a/src/lib/cache/evas_cache_engine_image.c
+++ b/src/lib/cache/evas_cache_engine_image.c
@@ -238,14 +238,14 @@ evas_cache_engine_image_dup(const Evas_Cache_Engine_Image_Func *cb, Evas_Cache_E
    return new;
 }
 
-static Evas_Bool
+static Eina_Bool
 _evas_cache_engine_image_free_cb(__UNUSED__ const Eina_Hash *hash, __UNUSED__ const void *key, void *data, void *fdata)
 {
    Eina_List **delete_list = fdata;
 
    *delete_list = eina_list_prepend(*delete_list, data);
 
-   return 1;
+   return EINA_TRUE;
 }
 
 EAPI void
diff --git a/src/lib/cache/evas_cache_image.c b/src/lib/cache/evas_cache_image.c
index 22a4ad0..988cdaa 100644
--- a/src/lib/cache/evas_cache_image.c
+++ b/src/lib/cache/evas_cache_image.c
@@ -44,7 +44,7 @@ static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
 static pthread_mutex_t mutex_surface_alloc = PTHREAD_MUTEX_INITIALIZER;
 static pthread_t tid = 0;
 
-static Evas_Bool running = 0;
+static Eina_Bool running = EINA_FALSE;
 
 static void* _evas_cache_background_load(void *);
 #endif
@@ -362,13 +362,13 @@ _evas_cache_image_entry_preload_add(Image_Entry *ie,
 	       {
 		  if (tid)
 		    {
-		       running = 1;
+		       running = EINA_TRUE;
 		       pthread_cond_signal(&cond_new);
 		    }
 		  else
 		    {
 		       if (pthread_create(&tid, NULL, _evas_cache_background_load, NULL) == 0)
-			 running = 1;
+			 running = EINA_TRUE;
 		    }
 	       }
 
@@ -500,14 +500,14 @@ evas_cache_image_init(const Evas_Cache_Image_Func *cb)
    return new;
 }
 
-static Evas_Bool
+static Eina_Bool
 _evas_cache_image_free_cb(__UNUSED__ const Eina_Hash *hash, __UNUSED__ const void *key, void *data, void *fdata)
 {
    Eina_List **delete_list = fdata;
 
    *delete_list = eina_list_prepend(*delete_list, data);
 
-   return 1;
+   return EINA_TRUE;
 }
 
 #ifdef BUILD_ASYNC_PRELOAD
@@ -1297,7 +1297,7 @@ _evas_cache_background_load(void *data)
 	goto restart;
      }
 
-   running = 0;
+   running = EINA_FALSE;
    pthread_mutex_unlock(&mutex);
 
    pthread_mutex_lock(&mutex_new);
diff --git a/src/lib/canvas/Makefile.in b/src/lib/canvas/Makefile.in
index e9ff8ee..4c5c43b 100644
--- a/src/lib/canvas/Makefile.in
+++ b/src/lib/canvas/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -160,7 +162,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +238,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +265,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/canvas/evas_async_events.c b/src/lib/canvas/evas_async_events.c
index 5411f90..b574e6d 100644
--- a/src/lib/canvas/evas_async_events.c
+++ b/src/lib/canvas/evas_async_events.c
@@ -123,14 +123,14 @@ evas_async_events_process(void)
 #endif
 }
 
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_info, void (*func)(void *target, Evas_Callback_Type type, void *event_info))
 {
 #ifdef BUILD_ASYNC_EVENTS
    Evas_Event_Async new;
    ssize_t check;
    int offset = 0;
-   Evas_Bool result = 0;
+   Eina_Bool result = EINA_FALSE;
 
    if (!func) return 0;
    if (_fd_write == -1) return 0;
@@ -150,7 +150,7 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i
    } while (offset != sizeof(new) && (errno == EINTR || errno == EAGAIN));
 
    if (offset == sizeof(new))
-     result = 1;
+     result = EINA_TRUE;
    else
      switch (errno)
        {
@@ -167,7 +167,7 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i
 #else
    func(target, type, event_info);
 
-   return 1;
+   return EINA_TRUE;
 #endif
 }
 
diff --git a/src/lib/canvas/evas_events.c b/src/lib/canvas/evas_events.c
index aed2f3a..16acac5 100644
--- a/src/lib/canvas/evas_events.c
+++ b/src/lib/canvas/evas_events.c
@@ -927,15 +927,12 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char
 	       {
 		  while (e->delete_grabs > 0)
 		    {
-		       Evas_List *l;
+		       Eina_List *l, *l_next;
+		       Evas_Key_Grab *g;
 
 		       e->delete_grabs--;
-		       for (l = e->grabs; l;)
+		       EINA_LIST_FOREACH_SAFE(e->grabs, l, l_next, g)
 			 {
-			    Evas_Key_Grab *g;
-
-			    g = eina_list_data_get(l);
-			    l = eina_list_next(l);
 			    if (g->delete_me)
 			      evas_key_grab_free(g->object, g->keyname, g->modifiers, g->not_modifiers);
 			 }
@@ -1008,7 +1005,7 @@ evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data
  * @ingroup Evas_Object_Event_Flags_Group
  */
 EAPI void
-evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
+evas_object_pass_events_set(Evas_Object *obj, Eina_Bool pass)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1036,7 +1033,7 @@ evas_object_pass_events_set(Evas_Object *obj, Evas_Bool pass)
  *
  * @ingroup Evas_Object_Event_Flags_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_pass_events_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -1060,7 +1057,7 @@ evas_object_pass_events_get(const Evas_Object *obj)
  * @ingroup Evas_Object_Event_Flags_Group
  */
 EAPI void
-evas_object_repeat_events_set(Evas_Object *obj, Evas_Bool repeat)
+evas_object_repeat_events_set(Evas_Object *obj, Eina_Bool repeat)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1087,7 +1084,7 @@ evas_object_repeat_events_set(Evas_Object *obj, Evas_Bool repeat)
  *
  * @ingroup Evas_Object_Event_Flags_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_repeat_events_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -1115,7 +1112,7 @@ evas_object_repeat_events_get(const Evas_Object *obj)
  * @ingroup Evas_Object_Event_Flags_Group
  */
 EAPI void
-evas_object_propagate_events_set(Evas_Object *obj, Evas_Bool prop)
+evas_object_propagate_events_set(Evas_Object *obj, Eina_Bool prop)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1130,7 +1127,7 @@ evas_object_propagate_events_set(Evas_Object *obj, Evas_Bool prop)
  *
  * @ingroup Evas_Object_Event_Flags_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_propagate_events_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
diff --git a/src/lib/canvas/evas_focus.c b/src/lib/canvas/evas_focus.c
index ad6e259..cc144bc 100644
--- a/src/lib/canvas/evas_focus.c
+++ b/src/lib/canvas/evas_focus.c
@@ -26,7 +26,7 @@
  * @see evas_object_key_ungrab
  */
 EAPI void
-evas_object_focus_set(Evas_Object *obj, Evas_Bool focus)
+evas_object_focus_set(Evas_Object *obj, Eina_Bool focus)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -65,7 +65,7 @@ evas_object_focus_set(Evas_Object *obj, Evas_Bool focus)
  *
  * @return 1 if the object has the focus, 0 otherwise.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_focus_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
diff --git a/src/lib/canvas/evas_font_dir.c b/src/lib/canvas/evas_font_dir.c
index 1a2dad9..1b1be60 100644
--- a/src/lib/canvas/evas_font_dir.c
+++ b/src/lib/canvas/evas_font_dir.c
@@ -35,7 +35,7 @@ struct _Fndat
 };
 
 /* private methods for font dir cache */
-static Evas_Bool font_cache_dir_free(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Bool font_cache_dir_free(const Eina_Hash *hash, const void *key, void *data, void *fdata);
 static Evas_Font_Dir *object_text_font_cache_dir_update(char *dir, Evas_Font_Dir *fd);
 static Evas_Font *object_text_font_cache_font_find_x(Evas_Font_Dir *fd, char *font);
 static Evas_Font *object_text_font_cache_font_find_file(Evas_Font_Dir *fd, char *font);
@@ -120,16 +120,34 @@ evas_fonts_zero_free(Evas *evas)
 {
    Fndat *fd;
 
-   while (fonts_zero)
+   EINA_LIST_FREE(fonts_zero, fd)
+     {
+	if (fd->name) eina_stringshare_del(fd->name);
+	if (fd->source) eina_stringshare_del(fd->source);
+	evas->engine.func->font_free(evas->engine.data.output, fd->font);
+	free(fd);
+     }
+}
+
+void
+evas_fonts_zero_presure(Evas *evas)
+{
+   Fndat *fd;
+
+   while (fonts_zero
+	  && eina_list_count(fonts_zero) > 4) /* 4 is arbitrary */
      {
 	fd = eina_list_data_get(fonts_zero);
 
+	if (fd->ref != 0) break;
+	fonts_zero = eina_list_remove_list(fonts_zero, fonts_zero);
+
 	if (fd->name) eina_stringshare_del(fd->name);
 	if (fd->source) eina_stringshare_del(fd->source);
 	evas->engine.func->font_free(evas->engine.data.output, fd->font);
 	free(fd);
 
-	fonts_zero = eina_list_remove_list(fonts_zero, fonts_zero);
+	if (eina_list_count(fonts_zero) < 5) break;
      }
 }
 
@@ -152,16 +170,20 @@ evas_font_free(Evas *evas, void *font)
 	     break;
 	  }
      }
-   while ((fonts_zero) &&
-	  (eina_list_count(fonts_zero) > 4)) /* 4 is arbitrary */
+   while (fonts_zero
+	  && eina_list_count(fonts_zero) > 42) /* 42 is arbitrary */
      {
 	fd = eina_list_data_get(fonts_zero);
+
 	if (fd->ref != 0) break;
 	fonts_zero = eina_list_remove_list(fonts_zero, fonts_zero);
+
 	if (fd->name) eina_stringshare_del(fd->name);
 	if (fd->source) eina_stringshare_del(fd->source);
 	evas->engine.func->font_free(evas->engine.data.output, fd->font);
 	free(fd);
+
+	if (eina_list_count(fonts_zero) < 43) break;
      }
 }
 
diff --git a/src/lib/canvas/evas_key.c b/src/lib/canvas/evas_key.c
index 289a3f4..e6529cc 100644
--- a/src/lib/canvas/evas_key.c
+++ b/src/lib/canvas/evas_key.c
@@ -95,7 +95,7 @@ evas_key_lock_get(const Evas *e)
  *
  * @return 1 if the @p keyname is on, 0 otherwise.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_key_modifier_is_set(const Evas_Modifier *m, const char *keyname)
 {
    Evas_Modifier_Mask num;
@@ -126,7 +126,7 @@ evas_key_modifier_is_set(const Evas_Modifier *m, const char *keyname)
  * 
  * @param 1 if the @p keyname kock is set, 0 otherwise.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_key_lock_is_set(const Evas_Lock *l, const char *keyname)
 {
    Evas_Modifier_Mask num;
diff --git a/src/lib/canvas/evas_key_grab.c b/src/lib/canvas/evas_key_grab.c
index 6008824..18e5d90 100644
--- a/src/lib/canvas/evas_key_grab.c
+++ b/src/lib/canvas/evas_key_grab.c
@@ -171,8 +171,8 @@ evas_key_grab_free(Evas_Object *obj, const char *keyname, Evas_Modifier_Mask mod
  * @param exclusive request that the @p obj is the only object receiving the @p keyname events.
  * @return Boolean indicating whether the grab succeeded
  */
-EAPI Evas_Bool
-evas_object_key_grab(Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Evas_Bool exclusive)
+EAPI Eina_Bool
+evas_object_key_grab(Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Eina_Bool exclusive)
 {
    /* MEM OK */
    Evas_Key_Grab *g;
diff --git a/src/lib/canvas/evas_layer.c b/src/lib/canvas/evas_layer.c
index da15d54..9f0041d 100644
--- a/src/lib/canvas/evas_layer.c
+++ b/src/lib/canvas/evas_layer.c
@@ -1,6 +1,8 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
+static void _evas_layer_free(Evas_Layer *lay);
+
 void
 evas_object_inject(Evas_Object *obj, Evas *e)
 {
@@ -31,7 +33,7 @@ evas_object_release(Evas_Object *obj, int clean_layer)
 	if (obj->layer->usage <= 0)
 	  {
 	     evas_layer_del(obj->layer);
-	     evas_layer_free(obj->layer);
+	     _evas_layer_free(obj->layer);
 	  }
      }
    obj->layer = NULL;
@@ -49,6 +51,12 @@ evas_layer_new(Evas *e)
    return lay;
 }
 
+static void
+_evas_layer_free(Evas_Layer *lay)
+{
+   free(lay);
+}
+
 void
 evas_layer_pre_free(Evas_Layer *lay)
 {
@@ -62,7 +70,7 @@ evas_layer_pre_free(Evas_Layer *lay)
 }
 
 void
-evas_layer_free(Evas_Layer *lay)
+evas_layer_free_objects(Evas_Layer *lay)
 {
    while (lay->objects)
      {
@@ -71,7 +79,19 @@ evas_layer_free(Evas_Layer *lay)
 	obj = (Evas_Object *)lay->objects;
 	evas_object_free(obj, 0);
      }
-   free(lay);
+}
+
+void
+evas_layer_clean(Evas *e)
+{
+   Evas_Layer *tmp;
+
+   while (e->layers)
+     {
+	tmp = e->layers;
+	evas_layer_del(tmp);
+	_evas_layer_free(tmp);
+     }
 }
 
 Evas_Layer *
@@ -122,6 +142,9 @@ evas_layer_del(Evas_Layer *lay)
 
 /**
  * Sets the layer of the evas that the given object will be part of.
+ *
+ * It is not possible to change the layer of a smart object's child.
+ *
  * @param   obj The given evas object.
  * @param   l   The number of the layer to place the object on.
  */
@@ -170,6 +193,11 @@ evas_object_layer_set(Evas_Object *obj, short l)
 
 /**
  * Retrieves the layer of the evas that the given object is part of.
+ *
+ * Be carefull, it doesn't make sense to change the layer of smart object's
+ * child. So the returned value could be wrong in some case. Don't rely on
+ * it's accuracy.
+ *
  * @param   obj The given evas object.
  * @return  Number of the layer.
  */
diff --git a/src/lib/canvas/evas_main.c b/src/lib/canvas/evas_main.c
index 2d2065b..0853585 100644
--- a/src/lib/canvas/evas_main.c
+++ b/src/lib/canvas/evas_main.c
@@ -2,31 +2,15 @@
 #include "evas_private.h"
 #include "evas_cs.h"
 
-extern Eina_List *evas_modules;
 static int initcount = 0;
 
-Eina_Mempool *_evas_rectangle_mp = NULL;
-
 EAPI int
 evas_init(void)
 {
    if (initcount == 0)
      {
-	const char *choice;
-
 	eina_init();
 
-	if (!(choice = getenv("EINA_MEMPOOL")))
-	  choice = "chained_mempool";
-
-	_evas_rectangle_mp = eina_mempool_new(choice, "evas_rectangle", NULL,
-					      sizeof (Evas_Rectangle), 42);
-	if (!_evas_rectangle_mp)
-	  {
-	     EINA_ERROR_PERR("ERROR: Mempool for rectangle cannot be allocated in list init.\n");
-	     abort();
-	  }
-
 	evas_module_init();
 	evas_async_events_init();
 #ifdef EVAS_CSERVE
@@ -49,8 +33,6 @@ evas_shutdown(void)
 	evas_font_dir_cache_free();
 	evas_common_shutdown();
 	evas_module_shutdown();
-        eina_mempool_delete(_evas_rectangle_mp);
-        _evas_rectangle_mp = NULL;
 	eina_shutdown();
      }
    return initcount;
@@ -120,7 +102,7 @@ evas_new(void)
 EAPI void
 evas_free(Evas *e)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
    Evas_Layer *lay;
    int i;
    int del;
@@ -158,12 +140,10 @@ evas_free(Evas *e)
 	       }
 	  }
      }
-   while (e->layers)
-     {
-	lay = e->layers;
-	evas_layer_del(lay);
-	evas_layer_free(lay);
-     }
+   EINA_INLIST_FOREACH(e->layers, lay)
+     evas_layer_free_objects(lay);
+   evas_layer_clean(e);
+
    e->walking_list--;
 
    evas_font_path_clear(e);
@@ -173,9 +153,9 @@ evas_free(Evas *e)
    e->name_hash = NULL;
 
    EINA_LIST_FREE(e->damages, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
    EINA_LIST_FREE(e->obscures, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
 
    evas_fonts_zero_free(e);
 
@@ -252,7 +232,6 @@ evas_free(Evas *e)
 EAPI void
 evas_output_method_set(Evas *e, int render_method)
 {
-   Eina_List *l;
    Evas_Module *em;
 
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
@@ -263,27 +242,22 @@ evas_output_method_set(Evas *e, int render_method)
    if (render_method == RENDER_METHOD_INVALID) return;
    /* if the engine is already set up - abort */
    if (e->output.render_method != RENDER_METHOD_INVALID) return;
-   /* iterate trough the list to find the id */
-   EINA_LIST_FOREACH(evas_modules, l, em)
-     {
-	Evas_Module_Engine *eme;
-
-	if (em->type != EVAS_MODULE_TYPE_ENGINE) continue;
-	if (!em->data) continue;
-	eme = (Evas_Module_Engine *)em->data;
-	if (eme->id != render_method) continue;
-	if (!evas_module_load(em)) return;
-	/* set the correct render */
-	e->output.render_method = render_method;
-	e->engine.func = (em->functions);
-	evas_module_use(em);
-	if (e->engine.module) evas_module_unref(e->engine.module);
-	e->engine.module = em;
-	evas_module_ref(em);
-	/* get the engine info struct */
-	if (e->engine.func->info) e->engine.info = e->engine.func->info(e);
-	return;
-     }
+   /* Request the right engine. */
+   em = evas_module_engine_get(render_method);
+   if (!em) return ;
+   if (em->id_engine != render_method) return;
+   if (!evas_module_load(em)) return;
+
+   /* set the correct render */
+   e->output.render_method = render_method;
+   e->engine.func = (em->functions);
+   evas_module_use(em);
+   if (e->engine.module) evas_module_unref(e->engine.module);
+   e->engine.module = em;
+   evas_module_ref(em);
+   /* get the engine info struct */
+   if (e->engine.func->info) e->engine.info = e->engine.func->info(e);
+   return;
 }
 
 /**
@@ -691,25 +665,14 @@ evas_coord_world_y_to_screen(const Evas *e, Evas_Coord y)
 EAPI int
 evas_render_method_lookup(const char *name)
 {
-   static int i = 1;
    Evas_Module *em;
-   Evas_Module_Engine *eem;
-   
+
    if (!name) return RENDER_METHOD_INVALID;
    /* search on the engines list for the name */
    em = evas_module_find_type(EVAS_MODULE_TYPE_ENGINE, name);
-   
    if (!em) return RENDER_METHOD_INVALID;
-   
-   eem = (Evas_Module_Engine *)em->data;
-   if (!eem)
-     {
-	eem = malloc(sizeof(Evas_Module_Engine));
-	em->data = eem;
-	eem->id = i;
-	i++;
-     }
-   return eem->id;
+
+   return em->id_engine;
 }
 
 /**
@@ -750,58 +713,58 @@ evas_render_method_list(void)
 
    /* FIXME: get from modules - this is currently coded-in */
 #ifdef BUILD_ENGINE_SOFTWARE_GDI
-   methods = eina_list_append(methods, strdup("software_gdi"));
+   methods = eina_list_append(methods, "software_gdi");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_DDRAW
-   methods = eina_list_append(methods, strdup("software_ddraw"));
+   methods = eina_list_append(methods, "software_ddraw");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_16_DDRAW
-   methods = eina_list_append(methods, strdup("software_16_ddraw"));
+   methods = eina_list_append(methods, "software_16_ddraw");
 #endif
 #ifdef BUILD_ENGINE_DIRECT3D
-   methods = eina_list_append(methods, strdup("direct3d"));
+   methods = eina_list_append(methods, "direct3d");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_16_WINCE
-   methods = eina_list_append(methods, strdup("software_16_wince"));
+   methods = eina_list_append(methods, "software_16_wince");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_X11
-   methods = eina_list_append(methods, strdup("software_x11"));
+   methods = eina_list_append(methods, "software_x11");
 #endif
 #ifdef BUILD_ENGINE_XRENDER_X11
-   methods = eina_list_append(methods, strdup("xrender_x11"));
+   methods = eina_list_append(methods, "xrender_x11");
 #endif
 #ifdef BUILD_ENGINE_XRENDER_XCB
-   methods = eina_list_append(methods, strdup("xrender_xcb"));
+   methods = eina_list_append(methods, "xrender_xcb");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_16_X11
-   methods = eina_list_append(methods, strdup("software_16_x11"));
+   methods = eina_list_append(methods, "software_16_x11");
 #endif
 #ifdef BUILD_ENGINE_GL_X11
-   methods = eina_list_append(methods, strdup("gl_x11"));
+   methods = eina_list_append(methods, "gl_x11");
 #endif
 #ifdef BUILD_ENGINE_GL_GLEW
-   methods = eina_list_append(methods, strdup("gl_glew"));
+   methods = eina_list_append(methods, "gl_glew");
 #endif
 #ifdef BUILD_ENGINE_CAIRO_X11
-   methods = eina_list_append(methods, strdup("cairo_x11"));
+   methods = eina_list_append(methods, "cairo_x11");
 #endif
 #ifdef BUILD_ENGINE_DIRECTFB
-   methods = eina_list_append(methods, strdup("directfb"));
+   methods = eina_list_append(methods, "directfb");
 #endif
 #ifdef BUILD_ENGINE_FB
-   methods = eina_list_append(methods, strdup("fb"));
+   methods = eina_list_append(methods, "fb");
 #endif
 #ifdef BUILD_ENGINE_BUFFER
-   methods = eina_list_append(methods, strdup("buffer"));
+   methods = eina_list_append(methods, "buffer");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_WIN32_GDI
-   methods = eina_list_append(methods, strdup("software_win32_gdi"));
+   methods = eina_list_append(methods, "software_win32_gdi");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_QTOPIA
-   methods = eina_list_append(methods, strdup("software_qtopia"));
+   methods = eina_list_append(methods, "software_qtopia");
 #endif
 #ifdef BUILD_ENGINE_SOFTWARE_SDL
-   methods = eina_list_append(methods, strdup("software_sdl"));
+   methods = eina_list_append(methods, "software_sdl");
 #endif
 
    return methods;
@@ -837,11 +800,7 @@ evas_render_method_list(void)
 EAPI void
 evas_render_method_list_free(Eina_List *list)
 {
-   while (list)
-     {
-	free(list->data);
-	list = eina_list_remove(list, list->data);
-     }
+   eina_list_free(list);
 }
 
 /**
@@ -990,7 +949,7 @@ evas_pointer_button_down_mask_get(const Evas *e)
  * else printf("Mouse is out!\n");
  * @endcode
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_pointer_inside_get(const Evas *e)
 {
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
diff --git a/src/lib/canvas/evas_object_box.c b/src/lib/canvas/evas_object_box.c
index ffcb4ae..d6fa475 100644
--- a/src/lib/canvas/evas_object_box.c
+++ b/src/lib/canvas/evas_object_box.c
@@ -2022,15 +2022,14 @@ evas_object_box_insert_at(Evas_Object *o, Evas_Object *child, unsigned int pos)
  * Remove an object @a child from the box @a o. On error, @c 0 is
  * returned.
  */
-Evas_Bool
+Eina_Bool
 evas_object_box_remove(Evas_Object *o, Evas_Object *child)
 {
    const Evas_Object_Box_Api *api;
    Evas_Object *obj;
 
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(o, priv, 0);
-   if (!child)
-     return 0;
+   if (!child) return EINA_FALSE;
 
    api = priv->api;
    if ((!api) || (!api->remove))
@@ -2043,17 +2042,17 @@ evas_object_box_remove(Evas_Object *o, Evas_Object *child)
         _evas_object_box_child_callbacks_unregister(obj);
         evas_object_smart_member_del(obj);
         evas_object_smart_changed(o);
-        return 1;
+        return EINA_TRUE;
      }
 
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
  * Remove an object from the box @a o which occupies position @a
  * pos. On error, @c 0 is returned.
  */
-Evas_Bool
+Eina_Bool
 evas_object_box_remove_at(Evas_Object *o, unsigned int pos)
 {
    const Evas_Object_Box_Api *api;
@@ -2061,8 +2060,7 @@ evas_object_box_remove_at(Evas_Object *o, unsigned int pos)
 
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(o, priv, 0);
    api = priv->api;
-   if ((!api) || (!api->remove_at))
-     return 0;
+   if ((!api) || (!api->remove_at)) return EINA_FALSE;
 
    obj = api->remove_at(o, priv, pos);
 
@@ -2071,26 +2069,25 @@ evas_object_box_remove_at(Evas_Object *o, unsigned int pos)
         _evas_object_box_child_callbacks_unregister(obj);
         evas_object_smart_member_del(obj);
         evas_object_smart_changed(o);
-        return 1;
+        return EINA_TRUE;
      }
 
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
  * Remove all child objects.
  * @return 0 on errors
  */
-Evas_Bool
-evas_object_box_remove_all(Evas_Object *o, Evas_Bool clear)
+Eina_Bool
+evas_object_box_remove_all(Evas_Object *o, Eina_Bool clear)
 {
    const Evas_Object_Box_Api *api;
 
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(o, priv, 0);
 
    api = priv->api;
-   if ((!api) || (!api->remove))
-     return 0;
+   if ((!api) || (!api->remove)) return EINA_FALSE;
 
    evas_object_smart_changed(o);
 
@@ -2107,10 +2104,10 @@ evas_object_box_remove_all(Evas_Object *o, Evas_Bool clear)
              if (clear)
                evas_object_del(obj);
           }
-        else return 0;
+        else return EINA_FALSE;
      }
 
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -2239,10 +2236,10 @@ evas_object_box_option_property_id_get(Evas_Object *o, const char *name)
  * must be the last arguments and their type *must* match that of the
  * property itself. On error, @c 0 is returned.
  */
-Evas_Bool
+Eina_Bool
 evas_object_box_option_property_set(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
 {
-   Evas_Bool ret;
+   Eina_Bool ret;
    va_list args;
 
    va_start(args, property);
@@ -2260,24 +2257,23 @@ evas_object_box_option_property_set(Evas_Object *o, Evas_Object_Box_Option *opt,
  * is returned.
  */
 
-Evas_Bool
+Eina_Bool
 evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
 {
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(o, priv, 0);
    const Evas_Object_Box_Api *api;
 
-   if (!opt)
-     return 0;
+   if (!opt) return EINA_FALSE;
 
    api = priv->api;
    if ((!api) || (!api->property_set))
-     return 0;
+     return EINA_FALSE;
 
    if (!api->property_set(o, opt, property, args))
-     return 0;
+     return EINA_FALSE;
 
    evas_object_smart_changed(o);
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -2286,10 +2282,10 @@ evas_object_box_option_property_vset(Evas_Object *o, Evas_Object_Box_Option *opt
  * be addresses of variables with the same type of that property. On
  * error, @c 0 is returned.
  */
-Evas_Bool
+Eina_Bool
 evas_object_box_option_property_get(Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...)
 {
-   Evas_Bool ret;
+   Eina_Bool ret;
    va_list args;
 
    va_start(args, property);
@@ -2305,18 +2301,17 @@ evas_object_box_option_property_get(Evas_Object *o, Evas_Object_Box_Option *opt,
  * va_list @a args is initialized with must be addresses of variables
  * with the same type of that property. On error, @c 0 is returned.
  */
-Evas_Bool
+Eina_Bool
 evas_object_box_option_property_vget(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)
 {
    EVAS_OBJECT_BOX_DATA_GET_OR_RETURN_VAL(o, priv, 0);
    const Evas_Object_Box_Api *api;
 
-   if (!opt)
-     return 0;
+   if (!opt) return EINA_FALSE;
 
    api = priv->api;
    if ((!api) || (!api->property_get))
-     return 0;
+     return EINA_FALSE;
 
    return api->property_get(o, opt, property, args);
 }
diff --git a/src/lib/canvas/evas_object_gradient.c b/src/lib/canvas/evas_object_gradient.c
index 44b9031..f8c0ffc 100644
--- a/src/lib/canvas/evas_object_gradient.c
+++ b/src/lib/canvas/evas_object_gradient.c
@@ -239,7 +239,7 @@ evas_object_gradient_clear(Evas_Object *obj)
  * @param   has_alpha A flag indicating if the data has alpha or not.
  */
 EAPI void
-evas_object_gradient_color_data_set(Evas_Object *obj, void *data, int len, Evas_Bool has_alpha)
+evas_object_gradient_color_data_set(Evas_Object *obj, void *data, int len, Eina_Bool has_alpha)
 {
    Evas_Object_Gradient *o;
 
diff --git a/src/lib/canvas/evas_object_image.c b/src/lib/canvas/evas_object_image.c
index f425e3d..2763f6c 100644
--- a/src/lib/canvas/evas_object_image.c
+++ b/src/lib/canvas/evas_object_image.c
@@ -63,7 +63,7 @@ struct _Evas_Object_Image
 };
 
 /* private methods for image objects */
-static void evas_object_image_unload(Evas_Object *obj, Evas_Bool dirty);
+static void evas_object_image_unload(Evas_Object *obj, Eina_Bool dirty);
 static void evas_object_image_load(Evas_Object *obj);
 static Evas_Coord evas_object_image_figure_x_fill(Evas_Object *obj, Evas_Coord start, Evas_Coord size, Evas_Coord *size_ret);
 static Evas_Coord evas_object_image_figure_y_fill(Evas_Object *obj, Evas_Coord start, Evas_Coord size, Evas_Coord *size_ret);
@@ -478,7 +478,7 @@ evas_object_image_border_center_fill_set(Evas_Object *obj, Evas_Border_Fill_Mode
  * @return 1 if it is tracking, 0 if not and evas_object_fill_set()
  * must be called manually.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_filled_get(const Evas_Object *obj)
 {
    Evas_Object_Image *o;
@@ -508,7 +508,7 @@ evas_object_image_filled_get(const Evas_Object *obj)
  * @see evas_object_image_fill_set()
  */
 EAPI void
-evas_object_image_filled_set(Evas_Object *obj, Evas_Bool setting)
+evas_object_image_filled_set(Evas_Object *obj, Eina_Bool setting)
 {
    Evas_Object_Image *o;
 
@@ -1026,7 +1026,7 @@ evas_object_image_data_set(Evas_Object *obj, void *data)
  * @return The raw image data.
  */
 EAPI void *
-evas_object_image_data_get(const Evas_Object *obj, Evas_Bool for_writing)
+evas_object_image_data_get(const Evas_Object *obj, Eina_Bool for_writing)
 {
    Evas_Object_Image *o;
    DATA32 *data;
@@ -1068,7 +1068,7 @@ evas_object_image_data_get(const Evas_Object *obj, Evas_Bool for_writing)
  * @param cancel 0 means add to the workqueue, 1 remove it.
  */
 EAPI void
-evas_object_image_preload(Evas_Object *obj, Evas_Bool cancel)
+evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel)
 {
    Evas_Object_Image *o;
 
@@ -1164,7 +1164,7 @@ EAPI void
 evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int w, int h)
 {
    Evas_Object_Image *o;
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1194,7 +1194,7 @@ evas_object_image_data_update_add(Evas_Object *obj, int x, int y, int w, int h)
  * @param has_alpha Whether to use alpha channel data or not.
  */
 EAPI void
-evas_object_image_alpha_set(Evas_Object *obj, Evas_Bool has_alpha)
+evas_object_image_alpha_set(Evas_Object *obj, Eina_Bool has_alpha)
 {
    Evas_Object_Image *o;
 
@@ -1229,7 +1229,7 @@ evas_object_image_alpha_set(Evas_Object *obj, Evas_Bool has_alpha)
  * @param obj The given image object.
  * @return Whether the alpha channel data is being used.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_alpha_get(const Evas_Object *obj)
 {
    Evas_Object_Image *o;
@@ -1256,7 +1256,7 @@ evas_object_image_alpha_get(const Evas_Object *obj)
  * @param smooth_scale Whether to use smooth scale or not.
  */
 EAPI void
-evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale)
+evas_object_image_smooth_scale_set(Evas_Object *obj, Eina_Bool smooth_scale)
 {
    Evas_Object_Image *o;
 
@@ -1284,7 +1284,7 @@ evas_object_image_smooth_scale_set(Evas_Object *obj, Evas_Bool smooth_scale)
  * @param obj The given image object.
  * @return Whether smooth scale is being used.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_smooth_scale_get(const Evas_Object *obj)
 {
    Evas_Object_Image *o;
@@ -1346,7 +1346,7 @@ evas_object_image_reload(Evas_Object *obj)
  * @param key The image key in file, or NULL.
  * @param flags String containing the flags to be used.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_save(const Evas_Object *obj, const char *file, const char *key, const char *flags)
 {
    Evas_Object_Image *o;
@@ -1418,7 +1418,7 @@ evas_object_image_save(const Evas_Object *obj, const char *file, const char *key
  * FIXME: To be fixed.
  *
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_pixels_import(Evas_Object *obj, Evas_Pixel_Import_Source *pixels)
 {
    Evas_Object_Image *o;
@@ -1533,7 +1533,7 @@ evas_object_image_pixels_get_callback_set(Evas_Object *obj, void (*func) (void *
  * @param dirty Whether the image is dirty.
  */
 EAPI void
-evas_object_image_pixels_dirty_set(Evas_Object *obj, Evas_Bool dirty)
+evas_object_image_pixels_dirty_set(Evas_Object *obj, Eina_Bool dirty)
 {
    Evas_Object_Image *o;
 
@@ -1556,7 +1556,7 @@ evas_object_image_pixels_dirty_set(Evas_Object *obj, Evas_Bool dirty)
  * @param obj The given image object.
  * @return Whether the image is dirty.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_image_pixels_dirty_get(const Evas_Object *obj)
 {
    Evas_Object_Image *o;
@@ -1953,7 +1953,7 @@ evas_image_cache_get(const Evas *e)
 /* all nice and private */
 
 static void
-evas_object_image_unload(Evas_Object *obj, Evas_Bool dirty)
+evas_object_image_unload(Evas_Object *obj, Eina_Bool dirty)
 {
    Evas_Object_Image *o;
 
@@ -2116,7 +2116,7 @@ static void
 evas_object_image_free(Evas_Object *obj)
 {
    Evas_Object_Image *o;
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    /* frees private object data. very simple here */
    o = (Evas_Object_Image *)(obj->object_data);
@@ -2132,7 +2132,7 @@ evas_object_image_free(Evas_Object *obj)
    o->engine_data = NULL;
    o->magic = 0;
    EINA_LIST_FREE(o->pixel_updates, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
    free(o);
 }
 
@@ -2500,7 +2500,7 @@ evas_object_image_render_pre(Evas_Object *obj)
 	    (o->cur.border.t == 0) &&
 	    (o->cur.border.b == 0))
 	  {
-	     Evas_Rectangle *rr;
+	     Eina_Rectangle *rr;
 
 	     EINA_LIST_FREE(o->pixel_updates, rr)
 	       {
@@ -2525,7 +2525,7 @@ evas_object_image_render_pre(Evas_Object *obj)
 		       w = ((int)(idx + idw)) - x;
 		       while (idy < obj->cur.geometry.h)
 			 {
-			    Evas_Rectangle r;
+			    Eina_Rectangle r;
 
 			    y = idy;
 			    h = ((int)(idy + idh)) - y;
@@ -2542,7 +2542,7 @@ evas_object_image_render_pre(Evas_Object *obj)
 		       idx += idw;
 		       idy = ydy;
 		    }
-		  eina_mempool_free(_evas_rectangle_mp, rr);
+		  eina_rectangle_free(rr);
 	       }
 	     goto done;
 	  }
@@ -2550,10 +2550,10 @@ evas_object_image_render_pre(Evas_Object *obj)
 	  {
 	     if (o->pixel_updates)
 	       {
-		  Evas_Rectangle *r;
+		  Eina_Rectangle *r;
 
 		  EINA_LIST_FREE(o->pixel_updates, r)
-		    eina_mempool_free(_evas_rectangle_mp, r);
+		    eina_rectangle_free(r);
 		  obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output, o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h);
 		  evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
 		  goto done;
@@ -2578,7 +2578,7 @@ static void
 evas_object_image_render_post(Evas_Object *obj)
 {
    Evas_Object_Image *o;
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    /* this moves the current data to the previous state parts of the object */
    /* in whatever way is safest for the object. also if we don't need object */
@@ -2587,7 +2587,7 @@ evas_object_image_render_post(Evas_Object *obj)
    /* remove those pesky changes */
    evas_object_clip_changes_clean(obj);
    EINA_LIST_FREE(o->pixel_updates, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
    /* move cur to prev safely for object data */
    obj->prev = obj->cur;
    o->prev = o->cur;
diff --git a/src/lib/canvas/evas_object_main.c b/src/lib/canvas/evas_object_main.c
index 07ed7c5..b21302f 100644
--- a/src/lib/canvas/evas_object_main.c
+++ b/src/lib/canvas/evas_object_main.c
@@ -194,17 +194,17 @@ evas_object_render_pre_prev_cur_add(Eina_Array *rects, Evas_Object *obj)
 void
 evas_object_clip_changes_clean(Evas_Object *obj)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    EINA_LIST_FREE(obj->clip.changes, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
 }
 
 
 void
 evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int is_v, int was_v)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
    Evas_Object *clipper;
    Eina_List *l;
    unsigned int i;
@@ -288,7 +288,7 @@ evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *obj, int i
 
  end:
    EINA_ARRAY_ITER_NEXT(rects, i, r, it)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
    eina_array_clean(rects);
 }
 
@@ -1132,6 +1132,8 @@ evas_object_hide(Evas_Object *obj)
                        ev.data = NULL;
                        ev.modifiers = &(obj->layer->evas->modifiers);
                        ev.locks = &(obj->layer->evas->locks);
+		       ev.timestamp = obj->layer->evas->last_timestamp;
+		       ev.event_flags = EVAS_EVENT_FLAG_NONE;
                        evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
 		    }
 	       }
@@ -1153,7 +1155,7 @@ evas_object_hide(Evas_Object *obj)
  * @return  @c 1 if the object is visible.  @c 0 otherwise.
  * @ingroup Evas_Object_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_visible_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -1244,7 +1246,7 @@ evas_object_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a)
  * @ingroup Evas_Object_Group
  */
 EAPI void
-evas_object_anti_alias_set(Evas_Object *obj, Evas_Bool anti_alias)
+evas_object_anti_alias_set(Evas_Object *obj, Eina_Bool anti_alias)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1263,7 +1265,7 @@ evas_object_anti_alias_set(Evas_Object *obj, Evas_Bool anti_alias)
  * @return  @c 1 if the object is to be anti_aliased.  @c 0 otherwise.
  * @ingroup Evas_Object_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_anti_alias_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -1409,7 +1411,7 @@ evas_object_evas_get(const Evas_Object *obj)
  * FIXME: To be fixed.
  */
 EAPI Evas_Object *
-evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
+evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 {
    Evas_Layer *lay;
    int xx, yy;
@@ -1457,7 +1459,7 @@ evas_object_top_at_pointer_get(const Evas *e)
  * FIXME: To be fixed.
  */
 EAPI Evas_Object *
-evas_object_top_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
+evas_object_top_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 {
    Evas_Layer *lay;
    int xx, yy, ww, hh;
@@ -1499,7 +1501,7 @@ evas_object_top_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas
  * FIXME: To be fixed.
  */
 EAPI Eina_List *
-evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
+evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 {
    Eina_List *in = NULL;
    Evas_Layer *lay;
@@ -1536,7 +1538,7 @@ evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool incl
  * FIXME: To be fixed.
  */
 EAPI Eina_List *
-evas_objects_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
+evas_objects_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)
 {
    Eina_List *in = NULL;
    Evas_Layer *lay;
@@ -1595,7 +1597,7 @@ evas_object_type_get(const Evas_Object *obj)
  * The default value is false.
  */
 EAPI void
-evas_object_precise_is_inside_set(Evas_Object *obj, Evas_Bool precise)
+evas_object_precise_is_inside_set(Evas_Object *obj, Eina_Bool precise)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
    return;
@@ -1607,7 +1609,7 @@ evas_object_precise_is_inside_set(Evas_Object *obj, Evas_Bool precise)
  * Determine whether an object is set to use a precise point collision detection.
  * @param obj The given object.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_precise_is_inside_get(const Evas_Object *obj)
 {
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
diff --git a/src/lib/canvas/evas_object_smart.c b/src/lib/canvas/evas_object_smart.c
index b7f7c0c..836c08e 100644
--- a/src/lib/canvas/evas_object_smart.c
+++ b/src/lib/canvas/evas_object_smart.c
@@ -12,8 +12,8 @@ struct _Evas_Object_Smart
    Eina_List        *callbacks;
    Eina_Inlist *contained;
    int               walking_list;
-   Evas_Bool         deletions_waiting : 1;
-   Evas_Bool         need_recalculate : 1;
+   Eina_Bool         deletions_waiting : 1;
+   Eina_Bool         need_recalculate : 1;
 };
 
 struct _Evas_Smart_Callback
@@ -471,7 +471,7 @@ evas_object_smart_callback_call(Evas_Object *obj, const char *event, void *event
  * @ingroup Evas_Smart_Object_Group
  */
 EAPI void
-evas_object_smart_need_recalculate_set(Evas_Object *obj, Evas_Bool value)
+evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value)
 {
    Evas_Object_Smart *o;
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
@@ -516,7 +516,7 @@ evas_object_smart_need_recalculate_set(Evas_Object *obj, Evas_Bool value)
  *
  * @ingroup Evas_Smart_Object_Group
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_smart_need_recalculate_get(const Evas_Object *obj)
 {
    Evas_Object_Smart *o;
diff --git a/src/lib/canvas/evas_object_table.c b/src/lib/canvas/evas_object_table.c
index 7aa6c48..cc78e64 100644
--- a/src/lib/canvas/evas_object_table.c
+++ b/src/lib/canvas/evas_object_table.c
@@ -20,8 +20,8 @@ struct _Evas_Object_Table_Option
    struct {
       Evas_Coord l, r, t, b;
    } pad;
-   Evas_Bool expand_h : 1; /* XXX required? */
-   Evas_Bool expand_v : 1; /* XXX required? */
+   Eina_Bool expand_h : 1; /* XXX required? */
+   Eina_Bool expand_v : 1; /* XXX required? */
 };
 
 struct _Evas_Object_Table_Cache
@@ -38,7 +38,7 @@ struct _Evas_Object_Table_Cache
       Evas_Coord *h, *v;
    } sizes;
    struct {
-      Evas_Bool *h, *v;
+      Eina_Bool *h, *v;
    } expands;
 };
 
@@ -57,9 +57,9 @@ struct _Evas_Object_Table_Data
    } size;
    Evas_Object_Table_Cache *cache;
    Evas_Object_Table_Homogeneous_Mode homogeneous;
-   Evas_Bool hints_changed : 1;
-   Evas_Bool expand_h : 1;
-   Evas_Bool expand_v : 1;
+   Eina_Bool hints_changed : 1;
+   Eina_Bool expand_h : 1;
+   Eina_Bool expand_v : 1;
 };
 
 struct _Evas_Object_Table_Iterator
@@ -166,7 +166,7 @@ _evas_object_table_cache_alloc(int cols, int rows)
    int size;
 
    size = (sizeof(Evas_Object_Table_Cache) +
-	   (cols + rows) * (sizeof(Evas_Bool) + sizeof(Evas_Coord)));
+	   (cols + rows) * (sizeof(Eina_Bool) + sizeof(Evas_Coord)));
    cache = malloc(size);
    if (!cache)
      {
@@ -178,8 +178,8 @@ _evas_object_table_cache_alloc(int cols, int rows)
 
    cache->sizes.h = (Evas_Coord *)(cache + 1);
    cache->sizes.v = (Evas_Coord *)(cache->sizes.h + cols);
-   cache->expands.h = (Evas_Bool *)(cache->sizes.v + rows);
-   cache->expands.v = (Evas_Bool *)(cache->expands.h + cols);
+   cache->expands.h = (Eina_Bool *)(cache->sizes.v + rows);
+   cache->expands.v = (Eina_Bool *)(cache->expands.h + cols);
 
    return cache;
 }
@@ -202,7 +202,7 @@ _evas_object_table_cache_reset(Evas_Object_Table_Data *priv)
    c->total.min.h = 0;
 
    size = ((priv->size.rows + priv->size.cols) *
-	   (sizeof(Evas_Bool) + sizeof(Evas_Coord)));
+	   (sizeof(Eina_Bool) + sizeof(Evas_Coord)));
    memset(c + 1, 0, size);
 }
 
@@ -305,7 +305,7 @@ _evas_object_table_calculate_cell(const Evas_Object_Table_Option *opt, Evas_Coor
      }
 }
 
-/* static Evas_Bool */
+/* static Eina_Bool */
 /* _evas_object_table_check_hints_homogeneous_table(Evas_Object *child, double *align, Evas_Coord min, const char *axis_name) */
 /* { */
 /*    if (*align < 0.0) */
@@ -337,7 +337,7 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Object_Table
    Eina_List *l;
    Evas_Object_Table_Option *opt;
    Evas_Coord minw, minh, o_minw, o_minh;
-   Evas_Bool expand_h, expand_v;
+   Eina_Bool expand_h, expand_v;
 
    o_minw = 0;
    o_minh = 0;
@@ -450,7 +450,7 @@ static void
 _evas_object_table_calculate_layout_homogeneous_sizes_item(const Evas_Object *o, const Evas_Object_Table_Data *priv, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
 {
    Evas_Coord minw, minh;
-   Evas_Bool expand_h, expand_v;
+   Eina_Bool expand_h, expand_v;
 
    evas_object_size_hint_min_get(o, &minw, &minh);
    expand_h = priv->expand_h;
@@ -522,9 +522,9 @@ _evas_object_table_smart_calculate_homogeneous(Evas_Object *o, Evas_Object_Table
 }
 
 static int
-_evas_object_table_count_expands(const Evas_Bool *expands, int start, int end)
+_evas_object_table_count_expands(const Eina_Bool *expands, int start, int end)
 {
-   const Evas_Bool *itr = expands + start, *itr_end = expands + end;
+   const Eina_Bool *itr = expands + start, *itr_end = expands + end;
    int count = 0;
 
    for (; itr < itr_end; itr++)
@@ -563,10 +563,10 @@ _evas_object_table_sizes_calc_noexpand(Evas_Coord *sizes, int start, int end, Ev
 }
 
 static void
-_evas_object_table_sizes_calc_expand(Evas_Coord *sizes, int start, int end, Evas_Coord space, const Evas_Bool *expands, int expand_count)
+_evas_object_table_sizes_calc_expand(Evas_Coord *sizes, int start, int end, Evas_Coord space, const Eina_Bool *expands, int expand_count)
 {
    Evas_Coord *itr = sizes + start, *itr_end = sizes + end;
-   const Evas_Bool *itr_expand = expands + start;
+   const Eina_Bool *itr_expand = expands + start;
    Evas_Coord step, last_space;
 
    /* XXX move to fixed point math and spread errors among cells */
@@ -1093,7 +1093,7 @@ evas_object_table_padding_get(const Evas_Object *o, Evas_Coord *horizontal, Evas
  *
  * @return 1 on success, 0 on failure.
  */
-Evas_Bool
+Eina_Bool
 evas_object_table_pack(Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
 {
    EVAS_OBJECT_TABLE_DATA_GET_OR_RETURN_VAL(o, priv, 0);
@@ -1102,12 +1102,12 @@ evas_object_table_pack(Evas_Object *o, Evas_Object *child, unsigned short col, u
    if (rowspan < 1)
      {
 	fputs("ERROR: rowspan < 1\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
    if (colspan < 1)
      {
 	fputs("ERROR: colspan < 1\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    opt = _evas_object_table_option_get(child);
@@ -1115,14 +1115,14 @@ evas_object_table_pack(Evas_Object *o, Evas_Object *child, unsigned short col, u
      {
 	fputs("ERROR: cannot add object that is already part of a table!\n",
 	      stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    opt = malloc(sizeof(*opt));
    if (!opt)
      {
 	fputs("ERROR: could not allocate table option data.\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    opt->obj = child;
@@ -1158,7 +1158,7 @@ evas_object_table_pack(Evas_Object *o, Evas_Object *child, unsigned short col, u
    _evas_object_table_cache_invalidate(priv);
    evas_object_smart_changed(o);
 
-   return 1;
+   return EINA_TRUE;
 }
 
 static void
@@ -1216,7 +1216,7 @@ _evas_object_table_remove_opt(Evas_Object_Table_Data *priv, Evas_Object_Table_Op
  *
  * @return 1 on success, 0 on failure.
  */
-Evas_Bool
+Eina_Bool
 evas_object_table_unpack(Evas_Object *o, Evas_Object *child)
 {
    EVAS_OBJECT_TABLE_DATA_GET_OR_RETURN_VAL(o, priv, 0);
@@ -1225,14 +1225,14 @@ evas_object_table_unpack(Evas_Object *o, Evas_Object *child)
    if (o != evas_object_smart_parent_get(child))
      {
 	fputs("ERROR: cannot unpack child from incorrect table!\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    opt = _evas_object_table_option_del(child);
    if (!opt)
      {
 	fputs("ERROR: cannot unpack child with no packing option!\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    _evas_object_table_child_disconnect(o, child);
@@ -1242,7 +1242,7 @@ evas_object_table_unpack(Evas_Object *o, Evas_Object *child)
    _evas_object_table_cache_invalidate(priv);
    evas_object_smart_changed(o);
 
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -1251,24 +1251,21 @@ evas_object_table_unpack(Evas_Object *o, Evas_Object *child)
  * @param clear if true, it will delete just removed children.
  */
 void
-evas_object_table_clear(Evas_Object *o, Evas_Bool clear)
+evas_object_table_clear(Evas_Object *o, Eina_Bool clear)
 {
+   Evas_Object_Table_Option *opt;
+
    EVAS_OBJECT_TABLE_DATA_GET_OR_RETURN(o, priv);
-   Eina_List *l;
 
-   l = priv->children;
-   while (l)
+   EINA_LIST_FREE(priv->children, opt)
      {
-	Evas_Object_Table_Option *opt = l->data;
 	_evas_object_table_child_disconnect(o, opt->obj);
 	_evas_object_table_option_del(opt->obj);
 	evas_object_smart_member_del(opt->obj);
 	if (clear)
 	  evas_object_del(opt->obj);
 	free(opt);
-	l = eina_list_remove_list(l, l);
      }
-   priv->children = NULL;
    priv->size.cols = 0;
    priv->size.rows = 0;
    _evas_object_table_cache_invalidate(priv);
diff --git a/src/lib/canvas/evas_object_text.c b/src/lib/canvas/evas_object_text.c
index bf6f6b8..a9acd9a 100644
--- a/src/lib/canvas/evas_object_text.c
+++ b/src/lib/canvas/evas_object_text.c
@@ -565,9 +565,9 @@ evas_object_text_vert_advance_get(const Evas_Object *obj)
  * @param cw	A pointer to an @c Evas_Coord to store the Width value in (can be NULL).
  * @param ch	A pointer to an @c Evas_Coord to store the Height value in (can be NULL).
  *
- * @returns 0 on error, 1 on success.
+ * @returns EINA_FALSE on error, EINA_TRUE on success.
  */
-EAPI int
+EAPI Eina_Bool
 evas_object_text_char_pos_get(const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
 {
    Evas_Object_Text *o;
@@ -576,14 +576,14 @@ evas_object_text_char_pos_get(const Evas_Object *obj, int pos, Evas_Coord *cx, E
    int inset;
 
    MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
-   return 0;
+   return EINA_FALSE;
    MAGIC_CHECK_END();
    o = (Evas_Object_Text *)(obj->object_data);
    MAGIC_CHECK(o, Evas_Object_Text, MAGIC_OBJ_TEXT);
-   return 0;
+   return EINA_FALSE;
    MAGIC_CHECK_END();
-   if (!o->engine_data) return 0;
-   if (!o->cur.text) return 0;
+   if (!o->engine_data) return EINA_FALSE;
+   if (!o->cur.text) return EINA_FALSE;
    inset =
      ENFN->font_inset_get(ENDT, o->engine_data, o->cur.text);
    ret = ENFN->font_char_coords_get(ENDT, o->engine_data, o->cur.text,
@@ -1085,7 +1085,7 @@ evas_font_hinting_get(const Evas *e)
    return e->hinting;
 }
 
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_font_hinting_can_hint(const Evas *e, Evas_Font_Hinting_Flags hinting)
 {
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
@@ -1094,7 +1094,7 @@ evas_font_hinting_can_hint(const Evas *e, Evas_Font_Hinting_Flags hinting)
    if (e->engine.func->font_hinting_can_hint)
      return e->engine.func->font_hinting_can_hint(e->engine.data.output,
 						  hinting);
-   return 0;
+   return EINA_FALSE;
 }
 
 
diff --git a/src/lib/canvas/evas_object_textblock.c b/src/lib/canvas/evas_object_textblock.c
index 679722e..07ae750 100644
--- a/src/lib/canvas/evas_object_textblock.c
+++ b/src/lib/canvas/evas_object_textblock.c
@@ -3211,19 +3211,19 @@ evas_textblock_cursor_node_last(Evas_Textblock_Cursor *cur)
  * @param cur  to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_node_next(Evas_Textblock_Cursor *cur)
 {
-   if (!cur) return 0;
-   if (!cur->node) return 0;
+   if (!cur) return EINA_FALSE;
+   if (!cur->node) return EINA_FALSE;
    if ((EINA_INLIST_GET(cur->node))->next)
      {
 	cur->node = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(cur->node))->next);
 	cur->pos = 0;
         cur->eol = 0;
-	return 1;
+	return EINA_TRUE;
      }
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
@@ -3231,18 +3231,18 @@ evas_textblock_cursor_node_next(Evas_Textblock_Cursor *cur)
  * @param cur  to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_node_prev(Evas_Textblock_Cursor *cur)
 {
-   if (!cur) return 0;
-   if (!cur->node) return 0;
+   if (!cur) return EINA_FALSE;
+   if (!cur->node) return EINA_FALSE;
    if ((EINA_INLIST_GET(cur->node))->prev)
      {
 	cur->node = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(cur->node))->prev);
 	evas_textblock_cursor_char_last(cur);
-	return 1;
+	return EINA_TRUE;
      }
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
@@ -3250,16 +3250,16 @@ evas_textblock_cursor_node_prev(Evas_Textblock_Cursor *cur)
  * @param cur  to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur)
 {
    int index, ch;
    int at_start_of_line = 0;
    
-   if (!cur) return 0;
-   if (!cur->node) return 0;
-   if (cur->node->type == NODE_FORMAT) return 0;
-   if (!cur->node->text) return 0;
+   if (!cur) return EINA_FALSE;
+   if (!cur->node) return EINA_FALSE;
+   if (cur->node->type == NODE_FORMAT) return EINA_FALSE;
+   if (!cur->node->text) return EINA_FALSE;
    index = cur->pos;
 
    if (cur->node->type == NODE_TEXT)
@@ -3274,11 +3274,11 @@ evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur)
      }
    
    ch = evas_common_font_utf8_get_next((unsigned char *)(cur->node->text), &index);
-   if ((ch == 0) || (index < 0)) return 0;
-   if (cur->node->text[index] == 0) return 0;
+   if ((ch == 0) || (index < 0)) return EINA_FALSE;
+   if (cur->node->text[index] == 0) return EINA_FALSE;
    cur->pos = index;
    cur->eol = 0; // 1
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -3286,19 +3286,19 @@ evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur)
  * @param cur  to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur)
 {
    int index;
    int at_end_of_line = 0;
    int at_start_of_line = 0;
    
-   if (!cur) return 0;
-   if (!cur->node) return 0;
-   if (cur->node->type == NODE_FORMAT) return 0;
-   if (!cur->node->text) return 0;
+   if (!cur) return EINA_FALSE;
+   if (!cur->node) return EINA_FALSE;
+   if (cur->node->type == NODE_FORMAT) return EINA_FALSE;
+   if (!cur->node->text) return EINA_FALSE;
    index = cur->pos;
-   if (index == 0) return 0;
+   if (index == 0) return EINA_FALSE;
    
    // XXX: FIXME: determine at_end_of_line and at_start_of_line
   
@@ -3326,16 +3326,16 @@ evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur)
    if ((cur->eol) && (at_end_of_line))
      {
         cur->eol = 0;
-        return 1;
+        return EINA_TRUE;
      }
    evas_common_font_utf8_get_prev((unsigned char *)(cur->node->text), &index);
-   if (/*(ch == 0) || */(index < 0)) return 0;
+   if (/*(ch == 0) || */(index < 0)) return EINA_FALSE;
    cur->pos = index;
    if (at_start_of_line)
      cur->eol =1;
    else
      cur->eol = 0;
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -3505,7 +3505,7 @@ evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int pos)
  * @param int to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line)
 {
    Evas_Object_Textblock *o;
@@ -3513,12 +3513,12 @@ evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line)
    Evas_Object_Textblock_Item *it;
    Evas_Object_Textblock_Format_Item *fi;
    
-   if (!cur) return 0;
+   if (!cur) return EINA_FALSE;
    o = (Evas_Object_Textblock *)(cur->obj->object_data);
    if (!o->formatted.valid) _relayout(cur->obj);
 
    ln = _find_layout_line_num(cur->obj, line);
-   if (!ln) return 0;
+   if (!ln) return EINA_FALSE;
    it = (Evas_Object_Textblock_Item *)ln->items;
    fi = (Evas_Object_Textblock_Format_Item *)ln->format_items;
    if ((it) && (fi))
@@ -3539,7 +3539,7 @@ evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line)
 	cur->node = fi->source_node;
      }
    cur->eol = 0;
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
@@ -4393,16 +4393,16 @@ evas_textblock_cursor_node_format_get(const Evas_Textblock_Cursor *cur)
  * @param cur to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_node_format_is_visible_get(const Evas_Textblock_Cursor *cur)
 {
    Evas_Object_Textblock_Node *n;
    
-   if (!cur) return 0;
+   if (!cur) return EINA_FALSE;
    n = cur->node;
-   if (!n) return 0;
-   if (n->type != NODE_FORMAT) return 0;
-   if (!n->text) return 0;
+   if (!n) return EINA_FALSE;
+   if (n->type != NODE_FORMAT) return EINA_FALSE;
+   if (!n->text) return EINA_FALSE;
      {
 	char *s;
 	char *item;
@@ -4422,10 +4422,10 @@ evas_textblock_cursor_node_format_is_visible_get(const Evas_Textblock_Cursor *cu
 	     else if ((!strcmp(item, "\t")) || (!strcmp(item, "\\t")))
 	       visible = 1;
 	     *s = tmp_delim;
-	     if (visible) return 1;
+	     if (visible) return EINA_TRUE;
 	  }
      }
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
@@ -4718,7 +4718,7 @@ evas_textblock_cursor_line_geometry_get(const Evas_Textblock_Cursor *cur, Evas_C
  * @param y to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)
 {
    Evas_Object_Textblock *o;
@@ -4726,7 +4726,7 @@ evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, E
    Evas_Object_Textblock_Item *it = NULL, *it_break = NULL;
    Evas_Object_Textblock_Format_Item *fi = NULL;
    
-   if (!cur) return 0;
+   if (!cur) return EINA_FALSE;
    o = (Evas_Object_Textblock *)(cur->obj->object_data);
    if (!o->formatted.valid) _relayout(cur->obj);
    x += o->style_pad.l;
@@ -4756,7 +4756,7 @@ evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, E
 								  x - it->x - ln->x, 0,
 								  &cx, &cy, &cw, &ch);
 		       if (pos < 0)
-			 return 0;
+			 return EINA_FALSE;
 		       cur->pos = pos + it->source_pos;
 		       cur->node = it->source_node;
 		       return 1;
@@ -4770,7 +4770,7 @@ evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, E
 		       cur->pos = 0;
                        cur->eol = 0;
 		       cur->node = fi->source_node;
-		       return 1;
+		       return EINA_TRUE;
 		    }
 	       }
 	     if (it_break)
@@ -4779,11 +4779,11 @@ evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, E
 		  cur->pos = it->source_pos;
                   cur->eol = 0;
 		  cur->node = it->source_node;
-		  return 1;
+		  return EINA_TRUE;
 	       }
 	  }
      }
-   return 0;
+   return EINA_FALSE;
 }
 
 /**
@@ -4915,7 +4915,7 @@ evas_textblock_cursor_range_geometry_get(const Evas_Textblock_Cursor *cur1, cons
 EAPI Eina_Bool
 evas_textblock_cursor_eol_get(const Evas_Textblock_Cursor *cur)
 {
-   if (!cur) return 0;
+   if (!cur) return EINA_FALSE;
    return cur->eol;
 }
 
@@ -4938,19 +4938,19 @@ evas_textblock_cursor_eol_set(Evas_Textblock_Cursor *cur, Eina_Bool eol)
  * @param ch to be documented.
  * @return to be documented.
  */
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)
 {
    Evas_Object_Textblock_Line *ln;
    
    TB_HEAD_RETURN(0);
    ln = _find_layout_line_num(obj, line);
-   if (!ln) return 0;
+   if (!ln) return EINA_FALSE;
    if (cx) *cx = ln->x;
    if (cy) *cy = ln->y;
    if (cw) *cw = ln->w;
    if (ch) *ch = ln->h;
-   return 1;
+   return EINA_TRUE;
 }
 
 /**
diff --git a/src/lib/canvas/evas_render.c b/src/lib/canvas/evas_render.c
index 2e4e7ad..5171159 100644
--- a/src/lib/canvas/evas_render.c
+++ b/src/lib/canvas/evas_render.c
@@ -13,7 +13,7 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
 EAPI void
 evas_damage_rectangle_add(Evas *e, int x, int y, int w, int h)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
    return;
@@ -33,7 +33,7 @@ evas_damage_rectangle_add(Evas *e, int x, int y, int w, int h)
 EAPI void
 evas_obscured_rectangle_add(Evas *e, int x, int y, int w, int h)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
    return;
@@ -52,13 +52,13 @@ evas_obscured_rectangle_add(Evas *e, int x, int y, int w, int h)
 EAPI void
 evas_obscured_clear(Evas *e)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    MAGIC_CHECK(e, Evas, MAGIC_EVAS);
    return;
    MAGIC_CHECK_END();
    EINA_LIST_FREE(e->obscures, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
 }
 
 static void
@@ -89,10 +89,10 @@ _evas_render_phase1_direct(Evas *e, Eina_Array *render_objects)
      }
 }
 
-static Evas_Bool
+static Eina_Bool
 _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects, int restack)
 {
-   int clean_them = 0;
+   Eina_Bool clean_them = EINA_FALSE;
    int is_active;
 
    obj->rect_del = 0;
@@ -106,7 +106,7 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
    else if (obj->delete_me != 0) obj->delete_me++;
    /* If the object will be removed, we should not cache anything during this run. */
    if (obj->delete_me != 0)
-     clean_them = 1;
+     clean_them = EINA_TRUE;
 
    /* build active object list */
    is_active = evas_object_is_active(obj);
@@ -120,7 +120,7 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
 	  eina_array_push(&e->pending_objects, obj);
 	obj->restack = 1;
 	obj->changed = 1;
-	clean_them = 1;
+	clean_them = EINA_TRUE;
      }
    if (obj->changed)
      {
@@ -192,11 +192,11 @@ _evas_render_phase1_object_process(Evas *e, Evas_Object *obj, Eina_Array *active
    return clean_them;
 }
 
-static Evas_Bool
+static Eina_Bool
 _evas_render_phase1_process(Evas *e, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects)
 {
    Evas_Layer *lay;
-   int clean_them = 0;
+   Eina_Bool clean_them = EINA_FALSE;
 
    EINA_INLIST_FOREACH(e->layers, lay)
      {
@@ -314,8 +314,9 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
    Eina_List *updates = NULL;
    Eina_List *ll;
    void *surface;
-   Evas_Bool clean_them = 0;
-   Evas_Rectangle *r;
+   Eina_Bool clean_them = EINA_FALSE;
+   Eina_Bool alpha;
+   Eina_Rectangle *r;
    int ux, uy, uw, uh;
    int cx, cy, cw, ch;
    unsigned int i, j;
@@ -361,7 +362,7 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
      {
 	e->engine.func->output_redraws_rect_add(e->engine.data.output,
 					       r->x, r->y, r->w, r->h);
-	eina_mempool_free(_evas_rectangle_mp, r);
+	eina_rectangle_free(r);
      }
    /* phase 4. output & viewport changes */
    if (e->viewport.changed)
@@ -412,6 +413,8 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
      {
 	unsigned int offset = 0;
 
+	alpha = e->engine.func->canvas_alpha_get(e->engine.data.output, e->engine.data.context);
+
 	while ((surface =
 		e->engine.func->output_redraws_next_update_get(e->engine.data.output,
 							       &ux, &uy, &uw, &uh,
@@ -421,7 +424,7 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
 
 	     if (make_updates)
 	       {
-		  Evas_Rectangle *rect;
+		  Eina_Rectangle *rect;
 
 		  NEW_RECT(rect, ux, uy, uw, uh);
 		  if (rect)
@@ -436,8 +439,58 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
 
 		  obj = (Evas_Object *) eina_array_data_get(&e->obscuring_objects, i);
 		  if (evas_object_is_in_output_rect(obj, ux, uy, uw, uh))
-		    eina_array_push(&e->temporary_objects, obj);
+		    {
+		       eina_array_push(&e->temporary_objects, obj);
+
+		       /* reset the background of the area if needed (using cutout and engine alpha flag to help) */
+		       if (alpha)
+			 {
+			    if (evas_object_is_opaque(obj))
+			      e->engine.func->context_cutout_add(e->engine.data.output,
+								 e->engine.data.context,
+								 obj->cur.cache.clip.x + off_x,
+								 obj->cur.cache.clip.y + off_y,
+								 obj->cur.cache.clip.w,
+								 obj->cur.cache.clip.h);
+			    else
+			      {
+				 if (obj->func->get_opaque_rect)
+				   {
+				      Evas_Coord obx, oby, obw, obh;
+
+				      obj->func->get_opaque_rect(obj, &obx, &oby, &obw, &obh);
+				      if ((obw > 0) && (obh > 0))
+					{
+					   obx += off_x;
+					   oby += off_y;
+					   RECTS_CLIP_TO_RECT(obx, oby, obw, obh,
+							      obj->cur.cache.clip.x + off_x,
+							      obj->cur.cache.clip.y + off_y,
+							      obj->cur.cache.clip.w,
+							      obj->cur.cache.clip.h);
+					   e->engine.func->context_cutout_add(e->engine.data.output,
+									      e->engine.data.context,
+									      obx, oby,
+									      obw, obh);
+					}
+				   }
+			      }
+			 }
+		    }
+	       }
+	     if (alpha)
+	       {
+		  e->engine.func->context_color_set(e->engine.data.output, e->engine.data.context, 0, 0, 0, 0);
+		  e->engine.func->context_multiplier_unset(e->engine.data.output, e->engine.data.context);
+		  e->engine.func->context_render_op_set(e->engine.data.output, e->engine.data.context, EVAS_RENDER_COPY);
+		  e->engine.func->rectangle_draw(e->engine.data.output,
+						 e->engine.data.context,
+						 surface,
+						 cx, cy, cw, ch);
+		  e->engine.func->context_cutout_clear(e->engine.data.output,
+						       e->engine.data.context);
 	       }
+
 	     /* render all object that intersect with rect */
              for (i = 0; i < e->active_objects.count; ++i)
 	       {
@@ -597,10 +650,10 @@ evas_render_updates_internal(Evas *e, unsigned char make_updates, unsigned char
 EAPI void
 evas_render_updates_free(Eina_List *updates)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    EINA_LIST_FREE(updates, r)
-     eina_mempool_free(_evas_rectangle_mp, r);
+     eina_rectangle_free(r);
 }
 
 /**
@@ -667,6 +720,8 @@ evas_render_idle_flush(Evas *e)
    return;
    MAGIC_CHECK_END();
 
+   evas_fonts_zero_presure(e);
+
    if ((e->engine.func) && (e->engine.func->output_idle_flush) &&
        (e->engine.data.output))
      e->engine.func->output_idle_flush(e->engine.data.output);
diff --git a/src/lib/cserve/Makefile.in b/src/lib/cserve/Makefile.in
index f47865f..f953ad2 100644
--- a/src/lib/cserve/Makefile.in
+++ b/src/lib/cserve/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -151,7 +153,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -228,10 +229,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -255,6 +256,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/cserve/evas_cs.h b/src/lib/cserve/evas_cs.h
index 68b3085..d23e028 100644
--- a/src/lib/cserve/evas_cs.h
+++ b/src/lib/cserve/evas_cs.h
@@ -80,6 +80,7 @@ struct _Client
    void *data;
    pid_t pid;
    int req_from, req_to;
+   LK(lock);
 };
 
 struct _Mem
diff --git a/src/lib/cserve/evas_cs_server.c b/src/lib/cserve/evas_cs_server.c
index 63286a3..7d149fa 100644
--- a/src/lib/cserve/evas_cs_server.c
+++ b/src/lib/cserve/evas_cs_server.c
@@ -68,9 +68,11 @@ evas_cserve_server_del(Server *s)
    
    EINA_LIST_FREE(s->clients, c)
      {
+        LKL(c->lock);
         close(c->fd);
         if (c->buf) free(c->buf);
         if (c->inbuf) free(c->inbuf);
+        LKD(c->lock);
         free(c);
      }
    close(s->fd);
@@ -100,6 +102,7 @@ server_accept(Server *s)
      }
    c->server = s;
    c->fd = new_fd;
+   LKI(c->lock);
    s->clients = eina_list_append(s->clients, c);
 }
 
@@ -183,10 +186,12 @@ evas_cserve_client_send(Client *c, int opcode, int size, unsigned char *data)
    ints = (int *)data2;
    ints[0] = size;
    ints[1] = opcode;
+//   LKL(c->lock);
    c->req_to++;
    ints[2] = c->req_to;
    memcpy(data2 + (sizeof(int) * 3), data, size);
    client_write(c, data2, size + (sizeof(int) * 3));
+//   LKU(c->lock);
    free(data2);
 }
 
@@ -361,11 +366,13 @@ evas_cserve_server_wait(Server *s, int timeout)
      }
    EINA_LIST_FREE(dead, c)
      {
+        LKL(c->lock);
         if (c->func) c->func(c->data, c);
         s->clients = eina_list_remove(s->clients, c);
         close(c->fd);
         if (c->buf) free(c->buf);
         if (c->inbuf) free(c->inbuf);
+        LKD(c->lock);
         free(c);
      }
 }
diff --git a/src/lib/data/Makefile.am b/src/lib/data/Makefile.am
deleted file mode 100644
index b5cb04b..0000000
--- a/src/lib/data/Makefile.am
+++ /dev/null
@@ -1,19 +0,0 @@
-
-MAINTAINERCLEANFILES = Makefile.in
-
-AM_CPPFLAGS	     = -I. \
-		       -I$(top_srcdir)/src/lib \
-		       -I$(top_srcdir)/src/lib/include \
-		       -DPACKAGE_BIN_DIR=\"$(bindir)\" \
-		       -DPACKAGE_LIB_DIR=\"$(libdir)\" \
-		       -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-		       @FREETYPE_CFLAGS@ @EINA_CFLAGS@
-
-noinst_LTLIBRARIES      = libevas_data.la
-libevas_data_la_SOURCES  = \
-evas_array_hash.c \
-evas_mempool.c
-
-libevas_data_la_DEPENDENCIES = $(top_builddir)/config.h
-
-EXTRA_DIST = evas_mempool.h
diff --git a/src/lib/data/Makefile.in b/src/lib/data/Makefile.in
deleted file mode 100644
index 63107cd..0000000
--- a/src/lib/data/Makefile.in
+++ /dev/null
@@ -1,564 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in 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.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = src/lib/data
-DIST_COMMON = $(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/efl_doxygen.m4 \
-	$(top_srcdir)/m4/evas_check_engine.m4 \
-	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.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
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libevas_data_la_LIBADD =
-am_libevas_data_la_OBJECTS = evas_array_hash.lo evas_mempool.lo
-libevas_data_la_OBJECTS = $(am_libevas_data_la_OBJECTS)
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-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) \
-	$(LDFLAGS) -o $@
-SOURCES = $(libevas_data_la_SOURCES)
-DIST_SOURCES = $(libevas_data_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
-DIRECTFB_LIBS = @DIRECTFB_LIBS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EDB_CFLAGS = @EDB_CFLAGS@
-EDB_LIBS = @EDB_LIBS@
-EET_CFLAGS = @EET_CFLAGS@
-EET_LIBS = @EET_LIBS@
-EGREP = @EGREP@
-EINA_CFLAGS = @EINA_CFLAGS@
-EINA_LIBS = @EINA_LIBS@
-EVIL_CFLAGS = @EVIL_CFLAGS@
-EVIL_LIBS = @EVIL_LIBS@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
-FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
-FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
-FREETYPE_LIBS = @FREETYPE_LIBS@
-FRIBIDI_CFLAGS = @FRIBIDI_CFLAGS@
-FRIBIDI_LIBS = @FRIBIDI_LIBS@
-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@
-MODULE_ARCH = @MODULE_ARCH@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PNG_CFLAGS = @PNG_CFLAGS@
-PNG_LIBS = @PNG_LIBS@
-RANLIB = @RANLIB@
-RC = @RC@
-SDL_CFLAGS = @SDL_CFLAGS@
-SDL_LIBS = @SDL_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SVG_CFLAGS = @SVG_CFLAGS@
-SVG_LIBS = @SVG_LIBS@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VERSION = @VERSION@
-WIN32_CFLAGS = @WIN32_CFLAGS@
-WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
-XCBRENDER_CFLAGS = @XCBRENDER_CFLAGS@
-XCBRENDER_LIBS = @XCBRENDER_LIBS@
-XCB_CFLAGS = @XCB_CFLAGS@
-XCB_LIBS = @XCB_LIBS@
-XMKMF = @XMKMF@
-X_CFLAGS = @X_CFLAGS@
-X_EXTRA_LIBS = @X_EXTRA_LIBS@
-X_LIBS = @X_LIBS@
-X_PRE_LIBS = @X_PRE_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-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@
-altivec_cflags = @altivec_cflags@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-dlopen_libs = @dlopen_libs@
-docdir = @docdir@
-dvidir = @dvidir@
-efl_doxygen = @efl_doxygen@
-efl_have_doxygen = @efl_have_doxygen@
-evas_engine_buffer_cflags = @evas_engine_buffer_cflags@
-evas_engine_buffer_libs = @evas_engine_buffer_libs@
-evas_engine_direct3d_cflags = @evas_engine_direct3d_cflags@
-evas_engine_direct3d_libs = @evas_engine_direct3d_libs@
-evas_engine_directfb_cflags = @evas_engine_directfb_cflags@
-evas_engine_directfb_libs = @evas_engine_directfb_libs@
-evas_engine_fb_cflags = @evas_engine_fb_cflags@
-evas_engine_fb_libs = @evas_engine_fb_libs@
-evas_engine_gl_common_libs = @evas_engine_gl_common_libs@
-evas_engine_gl_glew_cflags = @evas_engine_gl_glew_cflags@
-evas_engine_gl_glew_libs = @evas_engine_gl_glew_libs@
-evas_engine_gl_x11_cflags = @evas_engine_gl_x11_cflags@
-evas_engine_gl_x11_libs = @evas_engine_gl_x11_libs@
-evas_engine_quartz_cflags = @evas_engine_quartz_cflags@
-evas_engine_quartz_libs = @evas_engine_quartz_libs@
-evas_engine_software_16_ddraw_cflags = @evas_engine_software_16_ddraw_cflags@
-evas_engine_software_16_ddraw_libs = @evas_engine_software_16_ddraw_libs@
-evas_engine_software_16_wince_cflags = @evas_engine_software_16_wince_cflags@
-evas_engine_software_16_wince_libs = @evas_engine_software_16_wince_libs@
-evas_engine_software_16_x11_cflags = @evas_engine_software_16_x11_cflags@
-evas_engine_software_16_x11_libs = @evas_engine_software_16_x11_libs@
-evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
-evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
-evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
-evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
-evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
-evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
-evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
-evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
-evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
-evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
-evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
-evas_engine_xrender_xcb_libs = @evas_engine_xrender_xcb_libs@
-evas_image_loader_edb_cflags = @evas_image_loader_edb_cflags@
-evas_image_loader_edb_libs = @evas_image_loader_edb_libs@
-evas_image_loader_eet_cflags = @evas_image_loader_eet_cflags@
-evas_image_loader_eet_libs = @evas_image_loader_eet_libs@
-evas_image_loader_gif_cflags = @evas_image_loader_gif_cflags@
-evas_image_loader_gif_libs = @evas_image_loader_gif_libs@
-evas_image_loader_jpeg_cflags = @evas_image_loader_jpeg_cflags@
-evas_image_loader_jpeg_libs = @evas_image_loader_jpeg_libs@
-evas_image_loader_pmaps_cflags = @evas_image_loader_pmaps_cflags@
-evas_image_loader_pmaps_libs = @evas_image_loader_pmaps_libs@
-evas_image_loader_png_cflags = @evas_image_loader_png_cflags@
-evas_image_loader_png_libs = @evas_image_loader_png_libs@
-evas_image_loader_svg_cflags = @evas_image_loader_svg_cflags@
-evas_image_loader_svg_libs = @evas_image_loader_svg_libs@
-evas_image_loader_tiff_cflags = @evas_image_loader_tiff_cflags@
-evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
-evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
-evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-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@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_cflags = @pthread_cflags@
-pthread_libs = @pthread_libs@
-release_info = @release_info@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-version_info = @version_info@
-MAINTAINERCLEANFILES = Makefile.in
-AM_CPPFLAGS = -I. \
-		       -I$(top_srcdir)/src/lib \
-		       -I$(top_srcdir)/src/lib/include \
-		       -DPACKAGE_BIN_DIR=\"$(bindir)\" \
-		       -DPACKAGE_LIB_DIR=\"$(libdir)\" \
-		       -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-		       @FREETYPE_CFLAGS@ @EINA_CFLAGS@
-
-noinst_LTLIBRARIES = libevas_data.la
-libevas_data_la_SOURCES = \
-evas_array_hash.c \
-evas_mempool.c
-
-libevas_data_la_DEPENDENCIES = $(top_builddir)/config.h
-EXTRA_DIST = evas_mempool.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/lib/data/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/lib/data/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
-	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-libevas_data.la: $(libevas_data_la_OBJECTS) $(libevas_data_la_DEPENDENCIES) 
-	$(LINK)  $(libevas_data_la_OBJECTS) $(libevas_data_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_array_hash.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_mempool.Plo at am__quote@
-
-.c.o:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c $<
-
-.c.obj:
- at am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
- at am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	tags=; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-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
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/src/lib/data/evas_array_hash.c b/src/lib/data/evas_array_hash.c
deleted file mode 100644
index 3724f43..0000000
--- a/src/lib/data/evas_array_hash.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdlib.h>
-
-#include "Evas_Data.h"
-
-#define EAH_BUCKETS 256
-#define EAH_HASH(key) \
-	( key % EAH_BUCKETS )
-
-typedef struct _Evas_Array_Hash_El    Evas_Array_Hash_El;
-
-struct _Evas_Array_Hash
-{
-   Evas_Array_Hash_El	*buckets[EAH_BUCKETS];
-};
-
-struct _Evas_Array_Hash_El
-{
-   int		  data_max;
-   int		  data_count;
-   int		  *data;
-};
-
-/*
- These functions provide an interface for a simple hash. The hash
- is and array of int array pointers. Right now that hash size is 256.
- The hash size is static. The key and data are ints.
-
- Keys must be added in ascending order because the search function
- assumes that the hash buckets are sorted.
- */
-EAPI Evas_Array_Hash	*
-evas_array_hash_new(void)
-{
-   Evas_Array_Hash *hash;
-
-   hash = calloc(1, sizeof(Evas_Array_Hash));
-   return hash;
-}
-
-EAPI void
-evas_array_hash_free(Evas_Array_Hash *hash)
-{
-   int i;
-
-   for (i = 0; i < EAH_BUCKETS; i++)
-     {
-	if (hash->buckets[i])
-	  {
-	     free(hash->buckets[i]->data);
-	     free(hash->buckets[i]);
-	  }
-     }
-
-   free(hash);
-}
-
-EAPI void
-evas_array_hash_add(Evas_Array_Hash *hash, int key, int data)
-{
-   int hash_val;
-   Evas_Array_Hash_El *el;
-
-   hash_val = EAH_HASH(key);
-   el = hash->buckets[hash_val];
-   if (!el)
-     {
-	el = malloc(sizeof(Evas_Array_Hash_El));
-	el->data_max = 4;
-	el->data = malloc(sizeof(int) * el->data_max);
-	el->data_count = 0;
-	hash->buckets[hash_val] = el;
-     }
-   else if (el->data_count == el->data_max)
-     {
-	el->data_max *= 2;
-	el->data = realloc(el->data, sizeof(int) * el->data_max);
-     }
-
-   el->data[el->data_count++] = key;
-   el->data[el->data_count++] = data;
-}
-
-EAPI int
-evas_array_hash_search(Evas_Array_Hash *hash, int key)
-{
-   int hash_val;
-   Evas_Array_Hash_El *el;
-   int low, high, i, val;
-
-   hash_val = EAH_HASH(key);
-
-   el = hash->buckets[hash_val];
-   if (!el)
-     return 0;
-
-   /* Binary Search the bucket for key */
-   low = 0;
-   high = ( el->data_count / 2 ) - 1;
-
-   while ( high >= low )
-     {
-	i = (high + low) / 2;
-
-	val = el->data[i << 1];
-
-	if (val == key)
-	  return el->data[(i << 1) + 1];
-	else if (val > key)
-	  high = i - 1;
-	else
-	  low = i + 1;
-     }
-   return 0;
-}
diff --git a/src/lib/data/evas_mempool.c b/src/lib/data/evas_mempool.c
deleted file mode 100644
index 6bbf390..0000000
--- a/src/lib/data/evas_mempool.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "Evas_Data.h"
-#include "evas_mempool.h"
-
-//#define NOPOOL
-
-typedef struct _Pool Pool;
-
-struct _Pool
-{
-   int   usage;
-   void *base;
-   Pool *prev, *next;
-};
-
-
-Pool *
-_evas_mp_pool_new(Evas_Mempool *pool)
-#ifdef NOPOOL
-{
-   static Pool thepool;
-   return &thepool;
-}
-#else
-{
-   Pool *p;
-   void **ptr;
-   int item_alloc, i;
-
-   item_alloc = ((pool->item_size + sizeof(void *) - 1) / sizeof(void *)) * sizeof(void *);
-   p = malloc(sizeof(Pool) + (pool->pool_size * item_alloc));
-   ptr = (void **)(((unsigned char *)p) + sizeof(Pool));
-   p->usage = 0;
-   p->base = ptr;
-   for (i = 0; i < pool->pool_size - 1; i++)
-     {
-	*ptr = (void **)(((unsigned char *)ptr) + item_alloc);
-	ptr = *ptr;
-     }
-   *ptr = NULL;
-   return p;
-}
-#endif
-
-void
-_evas_mp_pool_free(Pool *p)
-#ifdef NOPOOL
-{
-}
-#else
-{
-   free(p);
-}
-#endif
-
-void *
-evas_mempool_malloc(Evas_Mempool *pool, int size)
-#ifdef NOPOOL
-{
-   return malloc(size);
-}
-#else
-{
-   Pool *p;
-   void *mem;
-
-   for (p = pool->first; p; p = p->next) // look 4 pool from 2nd bucket on
-     {
-	if (p->base) // base is not NULL - has a free slot
-	  {
-	     if (p->prev)
-	       {
-		  if (pool->last == p) pool->last = p->prev;
-		  p->prev->next = p->next;
-		  p->prev = NULL;
-		  p->next = pool->first;
-		  p->next->prev = p;
-		  pool->first = p;
-	       }
-	     break;
-	  }
-     }
-   if (!p) // we have reached the end of the list - no free pools
-     {
-	p = _evas_mp_pool_new(pool);
-	if (!p) return NULL;
-	p->prev = NULL;
-	p->next = pool->first;
-	if (p->next) p->next->prev = p;
-	if (!pool->last) pool->last = p;
-	pool->first = p;
-     }
-   mem = p->base; // this points to the next free block - so take it
-   p->base = *((void **)mem); // base now points to the next free block
-   if (!p->base) // move to end - it just filled up
-     {
-	if (p->next)
-	  {
-	     if (p->prev) p->prev->next = p->next;
-	     else pool->first = p->next;
-	     p->next->prev = p->prev;
-	     ((Pool *)pool->last)->next = p;
-	     p->prev = pool->last;
-	     p->next = NULL;
-	     pool->last = p;
-	  }
-     }
-   p->usage++;
-   pool->usage++;
-   return mem;
-}
-#endif
-
-void
-evas_mempool_free(Evas_Mempool *pool, void *ptr)
-#ifdef NOPOOL
-{
-   free(ptr);
-}
-#else
-{
-   Pool *p;
-   void *pmem;
-   int item_alloc, psize;
-
-   item_alloc = ((pool->item_size + sizeof(void *) - 1) / sizeof(void *)) * sizeof(void *);
-   psize = item_alloc * pool->pool_size;
-   for (p = (Pool *)(pool->first); p; p = p->next) // look 4 pool
-     {
-	pmem = (void *)(((unsigned char *)p) + sizeof(Pool)); // pool mem base
-	if ((ptr >= pmem) && ((unsigned char *)ptr < (((unsigned char *)pmem) + psize))) // is it in pool mem?
-	  {
-	     *((void **)ptr) = p->base; // freed node points to prev free node
-	     p->base = ptr; // next free node is now the one we freed
-	     p->usage--;
-	     pool->usage--;
-	     if (p->usage == 0) // free bucket
-	       {
-		  if (p->prev) p->prev->next = p->next;
-		  if (p->next) p->next->prev = p->prev;
-		  if (pool->last == p) pool->last = p->prev;
-		  if (pool->first == p) pool->first = p->next;
-		  _evas_mp_pool_free(p);
-	       }
-	     else
-	       {
-		  if (p->prev) // if not the first - move to front
-		    {
-		       p->prev->next = p->next;
-		       if (p->next) p->next->prev = p->prev;
-		       if (pool->last == p) pool->last = p->prev;
-		       p->prev = NULL;
-		       p->next = pool->first;
-		       p->next->prev = p;
-		       pool->first = p;
-		    }
-	       }
-	     break;
-	  }
-     }
-}
-#endif
-
-void *
-evas_mempool_calloc(Evas_Mempool *pool, int size)
-#ifdef NOPOOL
-{
-   return calloc(1, size);
-}
-#else
-{
-   void *mem;
-
-   mem = evas_mempool_malloc(pool, size);
-   memset(mem, 0, size);
-   return mem;
-}
-#endif
diff --git a/src/lib/data/evas_mempool.h b/src/lib/data/evas_mempool.h
deleted file mode 100644
index b1d5283..0000000
--- a/src/lib/data/evas_mempool.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
- */
-
-#ifndef _EVAS_MEMPOOL_H
-#define _EVAS_MEMPOOL_H
-
-
-typedef struct _Evas_Mempool Evas_Mempool;
-
-struct _Evas_Mempool
-{
-   int           item_size;
-   int           pool_size;
-   int           usage;
-   void         *first, *last;
-};
-
-
-void *evas_mempool_malloc(Evas_Mempool *pool, int size);
-void  evas_mempool_free(Evas_Mempool *pool, void *ptr);
-void *evas_mempool_calloc(Evas_Mempool *pool, int size);
-
-
-#endif /* _EVAS_MEMPOOL_H */
diff --git a/src/lib/engines/Makefile.in b/src/lib/engines/Makefile.in
index 0d2b8e1..3a6861c 100644
--- a/src/lib/engines/Makefile.in
+++ b/src/lib/engines/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -143,7 +145,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -220,10 +221,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -247,6 +248,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/Makefile.in b/src/lib/engines/common/Makefile.in
index 9d8d864..82c3f49 100644
--- a/src/lib/engines/common/Makefile.in
+++ b/src/lib/engines/common/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -181,7 +183,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -258,10 +259,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -285,6 +286,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_convert_color.c b/src/lib/engines/common/evas_convert_color.c
index b5b12b6..5b16eac 100644
--- a/src/lib/engines/common/evas_convert_color.c
+++ b/src/lib/engines/common/evas_convert_color.c
@@ -6,10 +6,11 @@
 #include "evas_convert_color.h"
 
 
-EAPI void
+EAPI DATA32
 evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
 {
-   DATA32  *de = data + len;
+   DATA32 *de = data + len;
+   DATA32 nas = 0;
 
    while (data < de)
      {
@@ -19,7 +20,12 @@ evas_common_convert_argb_premul(DATA32 *data, unsigned int len)
 	  (((((*data) >> 8) & 0xff) * a) & 0xff00) +
 	  (((((*data) & 0x00ff00ff) * a) >> 8) & 0x00ff00ff);
 	data++;
+
+	if ((a == 1) || (a == 256))
+	  nas++;
      }
+
+   return nas;
 }
 
 EAPI void
diff --git a/src/lib/engines/common/evas_convert_color.h b/src/lib/engines/common/evas_convert_color.h
index 81cb8c0..a95bef8 100644
--- a/src/lib/engines/common/evas_convert_color.h
+++ b/src/lib/engines/common/evas_convert_color.h
@@ -6,7 +6,7 @@
 #define _EVAS_CONVERT_COLOR_H
 
 
-EAPI void evas_common_convert_argb_premul                          (DATA32 *src, unsigned int len);
+EAPI DATA32 evas_common_convert_argb_premul                        (DATA32 *src, unsigned int len);
 EAPI void evas_common_convert_argb_unpremul                        (DATA32 *src, unsigned int len);
 EAPI void evas_common_convert_color_argb_premul                    (int a, int *r, int *g, int *b);
 EAPI void evas_common_convert_color_argb_unpremul                  (int a, int *r, int *g, int *b);
diff --git a/src/lib/engines/common/evas_convert_colorspace.c b/src/lib/engines/common/evas_convert_colorspace.c
index c158317..1ad9ad7 100644
--- a/src/lib/engines/common/evas_convert_colorspace.c
+++ b/src/lib/engines/common/evas_convert_colorspace.c
@@ -14,13 +14,13 @@
 	((((s) << 3) & 0xf8) | (((s) >> 2) & 0x7))
 
 static inline void *
-evas_common_convert_argb8888_to_rgb565_a5p(void *data __UNUSED__, int w __UNUSED__, int h __UNUSED__, int stride __UNUSED__, Evas_Bool has_alpha __UNUSED__)
+evas_common_convert_argb8888_to_rgb565_a5p(void *data __UNUSED__, int w __UNUSED__, int h __UNUSED__, int stride __UNUSED__, Eina_Bool has_alpha __UNUSED__)
 {
    return NULL;
 }
 
 static inline void *
-evas_common_convert_rgb565_a5p_to_argb8888(void *data, int w, int h, int stride, Evas_Bool has_alpha)
+evas_common_convert_rgb565_a5p_to_argb8888(void *data, int w, int h, int stride, Eina_Bool has_alpha)
 {
    DATA16 *src, *end;
    DATA32 *ret, *dst;
@@ -48,7 +48,7 @@ evas_common_convert_rgb565_a5p_to_argb8888(void *data, int w, int h, int stride,
 }
 
 EAPI void *
-evas_common_convert_argb8888_to(void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace)
+evas_common_convert_argb8888_to(void *data, int w, int h, int stride, Eina_Bool has_alpha, Evas_Colorspace cspace)
 {
    switch (cspace)
      {
@@ -61,7 +61,7 @@ evas_common_convert_argb8888_to(void *data, int w, int h, int stride, Evas_Bool
 }
 
 EAPI void *
-evas_common_convert_rgb565_a5p_to(void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace)
+evas_common_convert_rgb565_a5p_to(void *data, int w, int h, int stride, Eina_Bool has_alpha, Evas_Colorspace cspace)
 {
    switch (cspace)
      {
diff --git a/src/lib/engines/common/evas_convert_colorspace.h b/src/lib/engines/common/evas_convert_colorspace.h
index 9630110..d82a5d9 100644
--- a/src/lib/engines/common/evas_convert_colorspace.h
+++ b/src/lib/engines/common/evas_convert_colorspace.h
@@ -6,8 +6,8 @@
 #define _EVAS_CONVERT_COLORSPACE_H
 
 
-EAPI void *evas_common_convert_argb8888_to                         (void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace);
-EAPI void *evas_common_convert_rgb565_a5p_to                       (void *data, int w, int h, int stride, Evas_Bool has_alpha, Evas_Colorspace cspace);
+EAPI void *evas_common_convert_argb8888_to                         (void *data, int w, int h, int stride, Eina_Bool has_alpha, Evas_Colorspace cspace);
+EAPI void *evas_common_convert_rgb565_a5p_to                       (void *data, int w, int h, int stride, Eina_Bool has_alpha, Evas_Colorspace cspace);
 
 
 #endif /* _EVAS_CONVERT_COLORSPACE_H */
diff --git a/src/lib/engines/common/evas_cpu.c b/src/lib/engines/common/evas_cpu.c
index d4b00a0..68a3821 100644
--- a/src/lib/engines/common/evas_cpu.c
+++ b/src/lib/engines/common/evas_cpu.c
@@ -11,6 +11,7 @@
 #ifndef _WIN32
 #include <signal.h>
 #include <setjmp.h>
+#include <errno.h>
 
 static sigjmp_buf detect_buf;
 #endif
@@ -255,7 +256,12 @@ evas_common_cpu_count(void)
 
    if (cpus != 0) return cpus;
 
-   sched_getaffinity(getpid(), sizeof(cpu), &cpu);
+   CPU_ZERO(&cpu);
+   if (sched_getaffinity(0, sizeof(cpu), &cpu) != 0)
+     {
+	printf("[Evas] could not get cpu affinity: %s\n", strerror(errno));
+	return 1;
+     }
    for (i = 0; i < TH_MAX; i++)
      {
 	if (CPU_ISSET(i, &cpu)) cpus = i + 1;
diff --git a/src/lib/engines/common/evas_font.h b/src/lib/engines/common/evas_font.h
index c27a348..219324d 100644
--- a/src/lib/engines/common/evas_font.h
+++ b/src/lib/engines/common/evas_font.h
@@ -46,7 +46,7 @@ EAPI RGBA_Font        *evas_common_font_add                  (RGBA_Font *fn, con
 EAPI RGBA_Font        *evas_common_font_memory_add           (RGBA_Font *fn, const char *name, int size, const void *data, int data_size);
 EAPI void              evas_common_font_free                 (RGBA_Font *fn);
 EAPI void              evas_common_font_hinting_set          (RGBA_Font *fn, Font_Hint_Flags hinting);
-EAPI Evas_Bool         evas_common_hinting_available         (Font_Hint_Flags hinting);
+EAPI Eina_Bool         evas_common_hinting_available         (Font_Hint_Flags hinting);
 EAPI RGBA_Font        *evas_common_font_memory_hinting_load  (const char *name, int size, const void *data, int data_size, Font_Hint_Flags hinting);
 EAPI RGBA_Font        *evas_common_font_hinting_load         (const char *name, int size, Font_Hint_Flags hinting);
 EAPI RGBA_Font        *evas_common_font_hinting_add          (RGBA_Font *fn, const char *name, int size, Font_Hint_Flags hinting);
@@ -68,4 +68,7 @@ EAPI int               evas_common_font_query_char_coords    (RGBA_Font *fn, con
 EAPI int               evas_common_font_query_text_at_pos    (RGBA_Font *fn, const char *text, int x, int y, int *cx, int *cy, int *cw, int *ch);
 EAPI int               evas_common_font_query_last_up_to_pos (RGBA_Font *fn, const char *text, int x, int y);
 
+void evas_common_font_load_init(void);
+void evas_common_font_load_shutdown(void);
+
 #endif /* _EVAS_FONT_H */
diff --git a/src/lib/engines/common/evas_font_draw.c b/src/lib/engines/common/evas_font_draw.c
index 485c7fb..9f531f0 100644
--- a/src/lib/engines/common/evas_font_draw.c
+++ b/src/lib/engines/common/evas_font_draw.c
@@ -53,8 +53,9 @@ evas_common_font_int_cache_glyph_get(RGBA_Font_Int *fi, FT_UInt index)
 	  }
      }
    fg->glyph_out = (FT_BitmapGlyph)fg->glyph;
+   fg->index = hindex;
 
-   eina_hash_add(fi->glyphs, &hindex, fg);
+   eina_hash_direct_add(fi->glyphs, &fg->index, fg);
    return fg;
 }
 
@@ -110,6 +111,7 @@ evas_common_font_glyph_search(RGBA_Font *fn, RGBA_Font_Int **fi_ret, int gl)
 
 	fi = l->data;
 
+#if 0 /* FIXME: charmap user is disabled and use a deprecated data type. */
 	if (fi->src->charmap) /* Charmap loaded, FI/FS blank */
 	  {
 	     index = evas_array_hash_search(fi->src->charmap, gl);
@@ -125,7 +127,9 @@ evas_common_font_glyph_search(RGBA_Font *fn, RGBA_Font_Int **fi_ret, int gl)
 		  return index;
 	       }
 	  }
-	else if (!fi->src->ft.face) /* Charmap not loaded, FI/FS blank */
+	else
+#endif
+	  if (!fi->src->ft.face) /* Charmap not loaded, FI/FS blank */
 	  {
 	     if (evas_common_font_source_load_complete(fi->src))
 	       return 0;
diff --git a/src/lib/engines/common/evas_font_load.c b/src/lib/engines/common/evas_font_load.c
index c57a1d1..93d6543 100644
--- a/src/lib/engines/common/evas_font_load.c
+++ b/src/lib/engines/common/evas_font_load.c
@@ -5,15 +5,114 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
+#include <assert.h>
+
 extern FT_Library         evas_ft_lib;
 
 static int                font_cache_usage = 0;
 static int                font_cache = 0;
-static Eina_Inlist * fonts_src = NULL;
-static Eina_Inlist * fonts = NULL;
 
-static Evas_Bool font_modify_cache_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
-static Evas_Bool font_flush_free_glyph_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Hash * fonts_src = NULL;
+static Eina_Hash * fonts = NULL;
+static Eina_List * fonts_lru = NULL;
+
+static Eina_Bool font_modify_cache_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Bool font_flush_free_glyph_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+
+static int
+_evas_font_cache_int_cmp(const RGBA_Font_Int *k1, int k1_length,
+			 const RGBA_Font_Int *k2, int k2_length)
+{
+   /* RGBA_Font_Source->name is a stringshare */
+   if (k1->src->name == k2->src->name)
+     return k1->size - k2->size;
+   return strcmp(k1->src->name, k2->src->name);;
+}
+
+static int
+_evas_font_cache_int_hash(const RGBA_Font_Int *key, int key_length)
+{
+   int hash;
+
+   hash = eina_hash_djb2(key->src->name, eina_stringshare_strlen(key->src->name) + 1);
+   hash ^= eina_hash_int32(&key->size, sizeof (int));
+
+   return hash;
+}
+
+static void
+_evas_common_font_source_free(RGBA_Font_Source *fs)
+{
+   FT_Done_Face(fs->ft.face);
+#if 0 /* FIXME: Disable as it is only used by dead code using deprecated datatype. */
+   if (fs->charmap) evas_array_hash_free(fs->charmap);
+#endif
+   if (fs->name) eina_stringshare_del(fs->name);
+   free(fs);
+}
+
+
+static Eina_Bool
+font_flush_free_glyph_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
+{
+   RGBA_Font_Glyph *fg;
+
+   fg = data;
+   FT_Done_Glyph(fg->glyph);
+   /* extension calls */
+   if (fg->ext_dat_free) fg->ext_dat_free(fg->ext_dat);
+   free(fg);
+   return 1;
+   hash = 0;
+   key = 0;
+   fdata = 0;
+}
+
+static void
+_evas_common_font_int_free(RGBA_Font_Int *fi)
+{
+   FT_Done_Size(fi->ft.size);
+
+   evas_common_font_int_modify_cache_by(fi, -1);
+
+   eina_hash_foreach(fi->glyphs, font_flush_free_glyph_cb, NULL);
+   eina_hash_free(fi->glyphs);
+
+   eina_hash_free(fi->kerning);
+   eina_hash_free(fi->indexes);
+
+#ifdef HAVE_PTHREAD
+   pthread_mutex_destroy(&fi->ft_mutex);
+#endif
+
+   evas_common_font_source_free(fi->src);
+
+   if (fi->references == 0)
+     fonts_lru = eina_list_remove(fonts_lru, fi);
+
+   free(fi);
+}
+
+void
+evas_common_font_load_init(void)
+{
+   fonts_src = eina_hash_string_small_new(EINA_FREE_CB(_evas_common_font_source_free));
+   fonts = eina_hash_new(NULL,
+			 EINA_KEY_CMP(_evas_font_cache_int_cmp),
+			 EINA_KEY_HASH(_evas_font_cache_int_hash),
+			 EINA_FREE_CB(_evas_common_font_int_free),
+			 5);
+}
+
+void
+evas_common_font_load_shutdown(void)
+{
+   eina_hash_free(fonts);
+   fonts = NULL;
+
+   eina_hash_free(fonts_src);
+   fonts_src = NULL;
+}
 
 EAPI RGBA_Font_Source *
 evas_common_font_source_memory_load(const char *name, const void *data, int data_size)
@@ -21,6 +120,8 @@ evas_common_font_source_memory_load(const char *name, const void *data, int data
    int error;
    RGBA_Font_Source *fs;
 
+   assert(name != NULL);
+
    fs = calloc(1, sizeof(RGBA_Font_Source) + data_size);
    if (!fs) return NULL;
    fs->data = ((unsigned char *)fs) + sizeof(RGBA_Font_Source);
@@ -38,7 +139,8 @@ evas_common_font_source_memory_load(const char *name, const void *data, int data
    error = FT_Select_Charmap(fs->ft.face, ft_encoding_unicode);
    fs->ft.orig_upem = fs->ft.face->units_per_EM;
    fs->references = 1;
-   fonts_src = eina_inlist_prepend(fonts_src, EINA_INLIST_GET(fs));
+
+   eina_hash_direct_add(fonts_src, fs->name, fs);
    return fs;
 }
 
@@ -47,6 +149,8 @@ evas_common_font_source_load(const char *name)
 {
    RGBA_Font_Source *fs;
 
+   assert(name != NULL);
+
    fs = calloc(1, sizeof(RGBA_Font_Source));
    if (!fs) return NULL;
    fs->data = NULL;
@@ -60,7 +164,8 @@ evas_common_font_source_load(const char *name)
    fs->ft.orig_upem = 0;
 
    fs->references = 1;
-   fonts_src = eina_inlist_prepend(fonts_src, EINA_INLIST_GET(fs));
+
+   eina_hash_direct_add(fonts_src, fs->name, fs);
    return fs;
 }
 
@@ -94,14 +199,11 @@ evas_common_font_source_find(const char *name)
    RGBA_Font_Source *fs;
 
    if (!name) return NULL;
-   EINA_INLIST_FOREACH(fonts_src, fs)
+   fs = eina_hash_find(fonts_src, name);
+   if (fs)
      {
-	if ((fs->name) && (!strcmp(name, fs->name)))
-	  {
-	     fs->references++;
-	     fonts_src = eina_inlist_demote(fonts_src, EINA_INLIST_GET(fs));
-	     return fs;
-	  }
+	fs->references++;
+	return fs;
      }
    return NULL;
 }
@@ -112,24 +214,17 @@ evas_common_font_source_free(RGBA_Font_Source *fs)
    fs->references--;
    if (fs->references > 0) return;
 
-   fonts_src = eina_inlist_remove(fonts_src, EINA_INLIST_GET(fs));
-   FT_Done_Face(fs->ft.face);
-   if (fs->charmap) evas_array_hash_free(fs->charmap);
-   if (fs->name) eina_stringshare_del(fs->name);
-   free(fs);
+   eina_hash_del(fonts_src, fs->name, fs);
 }
 
 EAPI void
 evas_common_font_size_use(RGBA_Font *fn)
 {
+   RGBA_Font_Int *fi;
    Eina_List *l;
 
-   for (l = fn->fonts; l; l = l->next)
+   EINA_LIST_FOREACH(fn->fonts, l, fi)
      {
-	RGBA_Font_Int *fi;
-
-	fi = l->data;
-
 	if (fi->src->current_size != fi->size)
 	  {
 	     FT_Activate_Size(fi->ft.size);
@@ -138,18 +233,6 @@ evas_common_font_size_use(RGBA_Font *fn)
      }
 }
 
-static unsigned int
-_evas_common_font_int_length(const void *key __UNUSED__)
-{
-   return sizeof (int);
-}
-
-static unsigned int
-_evas_common_font_double_int_length(const void *key __UNUSED__)
-{
-   return sizeof (int) * 2;
-}
-
 static int
 _evas_common_font_int_cmp(const int *key1, __UNUSED__ int key1_length,
 			  const int *key2, __UNUSED__ int key2_length)
@@ -178,14 +261,14 @@ _evas_common_font_double_int_hash(const unsigned int key[2], int key_length)
 }
 
 static void
-_evas_commont_font_int_cache_init(RGBA_Font_Int *fi)
+_evas_common_font_int_cache_init(RGBA_Font_Int *fi)
 {
    /* Add some font kerning cache. */
-   fi->indexes = eina_hash_new(EINA_KEY_LENGTH(_evas_common_font_int_length),
+   fi->indexes = eina_hash_new(NULL,
 			       EINA_KEY_CMP(_evas_common_font_int_cmp),
 			       EINA_KEY_HASH(eina_hash_int32),
 			       free, 3);
-   fi->kerning = eina_hash_new(EINA_KEY_LENGTH(_evas_common_font_double_int_length),
+   fi->kerning = eina_hash_new(NULL,
 			       EINA_KEY_CMP(_evas_common_font_double_int_cmp),
 			       EINA_KEY_HASH(_evas_common_font_double_int_hash),
 			       free, 3);
@@ -194,7 +277,6 @@ _evas_commont_font_int_cache_init(RGBA_Font_Int *fi)
 #endif
 }
 
-
 EAPI RGBA_Font_Int *
 evas_common_font_int_memory_load(const char *name, int size, const void *data, int data_size)
 {
@@ -218,7 +300,7 @@ evas_common_font_int_memory_load(const char *name, int size, const void *data, i
 
    fi->size = size;
 
-   _evas_commont_font_int_cache_init(fi);
+   _evas_common_font_int_cache_init(fi);
 
    fi = evas_common_font_int_load_init(fi);
    evas_common_font_int_load_complete(fi);
@@ -249,7 +331,7 @@ evas_common_font_int_load(const char *name, int size)
 
    fi->size = size;
 
-   _evas_commont_font_int_cache_init(fi);
+   _evas_common_font_int_cache_init(fi);
 
    return evas_common_font_int_load_init(fi);
 }
@@ -258,10 +340,15 @@ EAPI RGBA_Font_Int *
 evas_common_font_int_load_init(RGBA_Font_Int *fi)
 {
    fi->ft.size = NULL;
-   fi->glyphs = eina_hash_int32_new(NULL);
+   fi->glyphs = eina_hash_new(NULL,
+			      EINA_KEY_CMP(_evas_common_font_int_cmp),
+			      EINA_KEY_HASH(eina_hash_int32),
+			      NULL,
+			      6);
    fi->usage = 0;
    fi->references = 1;
-   fonts = eina_inlist_prepend(fonts, EINA_INLIST_GET(fi));
+
+   eina_hash_direct_add(fonts, fi, fi);
 
    return fi;
 }
@@ -359,6 +446,7 @@ evas_common_font_load(const char *name, int size)
 		  fi->references--;
 		  if (fi->references == 0)
 		    {
+		       fonts_lru = eina_list_prepend(fonts_lru, fi);
 		       evas_common_font_int_modify_cache_by(fi, 1);
 		       evas_common_font_flush();
 		    }
@@ -374,6 +462,7 @@ evas_common_font_load(const char *name, int size)
 	fi->references--;
 	if (fi->references == 0)
 	  {
+	     fonts_lru = eina_list_prepend(fonts_lru, fi);
 	     evas_common_font_int_modify_cache_by(fi, 1);
 	     evas_common_font_flush();
 	  }
@@ -436,10 +525,11 @@ evas_common_font_free(RGBA_Font *fn)
 	fi->references--;
 	if (fi->references == 0)
 	  {
+	     fonts_lru = eina_list_append(fonts_lru, fi);
 	     evas_common_font_int_modify_cache_by(fi, 1);
-	     evas_common_font_flush();
 	  }
      }
+   evas_common_font_flush();
    eina_list_free(fn->fonts);
    LKD(fn->lock);
    free(fn);
@@ -458,7 +548,7 @@ evas_common_font_hinting_set(RGBA_Font *fn, Font_Hint_Flags hinting)
      fi->hinting = fn->hinting;
 }
 
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_common_hinting_available(Font_Hint_Flags hinting)
 {
    switch (hinting)
@@ -466,7 +556,7 @@ evas_common_hinting_available(Font_Hint_Flags hinting)
       case FONT_NO_HINT:
       case FONT_AUTO_HINT:
 	 /* these two hinting modes are always available */
-	 return 1;
+	 return EINA_TRUE;
       case FONT_BYTECODE_HINT:
 	 /* Only use the bytecode interpreter if support for the _patented_
 	  * algorithms is available because the free bytecode
@@ -485,12 +575,12 @@ evas_common_hinting_available(Font_Hint_Flags hinting)
 	  *
 	  * so, assume it is. o_O
 	  */
-	 return 1;
+	 return EINA_TRUE;
 #endif
      }
 
    /* shouldn't get here - need to add another case statement */
-   return 0;
+   return EINA_FALSE;
 }
 
 EAPI RGBA_Font *
@@ -580,71 +670,44 @@ evas_common_font_flush(void)
    while (font_cache_usage > font_cache) evas_common_font_flush_last();
 }
 
-static Eina_Bool
-font_flush_free_glyph_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
-{
-   RGBA_Font_Glyph *fg;
-
-   fg = data;
-   FT_Done_Glyph(fg->glyph);
-   /* extension calls */
-   if (fg->ext_dat_free) fg->ext_dat_free(fg->ext_dat);
-   free(fg);
-   return 1;
-   hash = 0;
-   key = 0;
-   fdata = 0;
-}
-
 /* We run this when the cache gets larger than allowed size
  * We check cache size each time a fi->references goes to 0
  * PERFORMS: Find font_int(s) with references == 0 and delete them */
 EAPI void
 evas_common_font_flush_last(void)
 {
-   RGBA_Font_Int *fi_tmp;
    RGBA_Font_Int *fi = NULL;
 
-   EINA_INLIST_FOREACH(fonts, fi_tmp)
-     {
-	if (fi_tmp->references == 0) fi = fi_tmp;
-     }
-   if (!fi) return;
-
-   FT_Done_Size(fi->ft.size);
-
-   fonts = eina_inlist_remove(fonts, EINA_INLIST_GET(fi));
-   evas_common_font_int_modify_cache_by(fi, -1);
-
-   eina_hash_foreach(fi->glyphs, font_flush_free_glyph_cb, NULL);
-   eina_hash_free(fi->glyphs);
-
-   eina_hash_free(fi->kerning);
-   eina_hash_free(fi->indexes);
-
-#ifdef HAVE_PTHREAD
-   pthread_mutex_destroy(&fi->ft_mutex);
-#endif
+   if (!fonts_lru) return ;
 
-   evas_common_font_source_free(fi->src);
+   fi = eina_list_data_get(fonts_lru);
+   fonts_lru = eina_list_remove_list(fonts_lru, fonts_lru);
 
-   free(fi);
+   eina_hash_del(fonts, fi, fi);
 }
 
 EAPI RGBA_Font_Int *
 evas_common_font_int_find(const char *name, int size)
 {
+   RGBA_Font_Int tmp_fi;
+   RGBA_Font_Source tmp_fn;
    RGBA_Font_Int *fi;
 
-   EINA_INLIST_FOREACH(fonts, fi)
+   tmp_fn.name = (char*) eina_stringshare_add(name);
+   tmp_fi.src = &tmp_fn;
+   tmp_fi.size = size;
+
+   fi = eina_hash_find(fonts, &tmp_fi);
+   if (fi)
      {
-	if ((fi->size == size) && (!strcmp(name, fi->src->name)))
+	if (fi->references == 0)
 	  {
-	     if (fi->references == 0) evas_common_font_int_modify_cache_by(fi, -1);
-	     fi->references++;
-	     fonts = eina_inlist_promote(fonts, EINA_INLIST_GET(fi));
-	     return fi;
+	     evas_common_font_int_modify_cache_by(fi, -1);
+	     fonts_lru = eina_list_remove(fonts_lru, fi);
 	  }
+	fi->references++;
      }
-   return NULL;
+
+   eina_stringshare_del(tmp_fn.name);
+   return fi;
 }
diff --git a/src/lib/engines/common/evas_font_main.c b/src/lib/engines/common/evas_font_main.c
index c8df596..ee8bf34 100644
--- a/src/lib/engines/common/evas_font_main.c
+++ b/src/lib/engines/common/evas_font_main.c
@@ -20,6 +20,7 @@ evas_common_font_init(void)
 	initialised--;
 	return;
      }
+   evas_common_font_load_init();
 }
 
 EAPI void
@@ -30,6 +31,7 @@ evas_common_font_shutdown(void)
    initialised--;
    if (initialised != 0) return;
 
+   evas_common_font_load_shutdown();
    evas_common_font_cache_set(0);
    evas_common_font_flush();
 
@@ -191,52 +193,19 @@ evas_common_font_utf8_get_prev(const unsigned char *buf, int *iindex)
     *
     * Returns 0 to indicate there is no prev char
     */
-   int index = *iindex, len, r;
-   unsigned char d, d2, d3, d4;
 
+   int index = *iindex;
    if (index <= 0)
      return 0;
-   d = buf[index--];
 
+   /* First obtain the codepoint at iindex */
+   int r = evas_common_font_utf8_get_next(buf, &index);
+
+   /* Next advance iindex to previous codepoint */
+   index = *iindex;
+   index--;
    while ((index > 0) && ((buf[index] & 0xc0) == 0x80))
      index--;
-   len = *iindex - index;
-
-   if (len == 1)
-      r = d;
-   else if (len == 2)
-     {
-	/* 2 bytes */
-        d2 = buf[index + 1];
-	r = d & 0x1f; /* copy lower 5 */
-	r <<= 6;
-	r |= (d2 & 0x3f); /* copy lower 6 */
-     }
-   else if (len == 3)
-     {
-	/* 3 bytes */
-        d2 = buf[index + 1];
-        d3 = buf[index + 2];
-	r = d & 0x0f; /* copy lower 4 */
-	r <<= 6;
-	r |= (d2 & 0x3f);
-	r <<= 6;
-	r |= (d3 & 0x3f);
-     }
-   else
-     {
-	/* 4 bytes */
-        d2 = buf[index + 1];
-        d3 = buf[index + 2];
-        d4 = buf[index + 3];
-	r = d & 0x0f; /* copy lower 4 */
-	r <<= 6;
-	r |= (d2 & 0x3f);
-	r <<= 6;
-	r |= (d3 & 0x3f);
-	r <<= 6;
-	r |= (d4 & 0x3f);
-     }
 
    *iindex = index;
    return r;
diff --git a/src/lib/engines/common/evas_image_load.c b/src/lib/engines/common/evas_image_load.c
index d6b1736..9ab8a6d 100644
--- a/src/lib/engines/common/evas_image_load.c
+++ b/src/lib/engines/common/evas_image_load.c
@@ -6,14 +6,12 @@
 #include "evas_private.h"
 #include "evas_cs.h"
 
-extern Eina_List *evas_modules;
-
 struct ext_loader_s {
    const char*	extention;
    const char*	loader;
 };
 
-static struct ext_loader_s	loaders[] = {
+static struct ext_loader_s	const loaders[] = {
    { "png", "png" },
    { "jpg", "jpeg" },
    { "jpeg", "jpeg" },
@@ -34,12 +32,34 @@ static struct ext_loader_s	loaders[] = {
    { "pnm", "pmaps" }
 };
 
+static const char *loaders_name[] = {
+  "png", "jpeg", "eet", "xpm", "tiff", "gif", "svg", "pmaps", "edb"
+};
+
+static Eina_Bool
+_evas_image_foreach_loader(const Eina_Hash *hash, const char *key, Evas_Module *em, Image_Entry *ie)
+{
+   Evas_Image_Load_Func *evas_image_load_func = NULL;
+
+   if (!evas_module_load(em)) return EINA_TRUE;
+   evas_image_load_func = em->functions;
+   evas_module_use(em);
+   if (evas_image_load_func && evas_image_load_func->file_head(ie, ie->file, ie->key))
+     {
+	ie->info.module = (void*) em;
+	ie->info.loader = (void*) evas_image_load_func;
+	evas_module_ref((Evas_Module*) ie->info.module);
+	return EINA_FALSE;
+     }
+
+   return EINA_TRUE;
+}
+
 EAPI int
 evas_common_load_rgba_image_module_from_file(Image_Entry *ie)
 {
    Evas_Image_Load_Func *evas_image_load_func = NULL;
    const char           *loader = NULL;
-   Eina_List            *l;
    Evas_Module          *em;
    char                 *dot;
    int                   i;
@@ -78,23 +98,29 @@ evas_common_load_rgba_image_module_from_file(Image_Entry *ie)
 		  evas_image_load_func = em->functions;
 		  if (evas_image_load_func->file_head(ie, ie->file, ie->key))
 		    goto ok;
+		  evas_module_unload(em);
 	       }
 	  }
      }
 
-   EINA_LIST_FOREACH(evas_modules, l, em)
+   evas_module_foreach_image_loader(_evas_image_foreach_loader, ie);
+   if (ie->info.module) return 0;
+
+   /* This is our last chance, try all known image loader. */
+   /* FIXME: We could use eina recursive module search ability. */
+   for (i = 0; i < sizeof (loaders_name) / sizeof (char *); ++i)
      {
-	if (em->type != EVAS_MODULE_TYPE_IMAGE_LOADER) continue;
-	if (!evas_module_load(em)) continue;
-        evas_image_load_func = em->functions;
-	evas_module_use(em);
-	if (evas_image_load_func && evas_image_load_func->file_head(ie, ie->file, ie->key))
+	em = evas_module_find_type(EVAS_MODULE_TYPE_IMAGE_LOADER, loaders_name[i]);
+	if (em)
 	  {
-	     if (evas_modules != l)
+	     if (evas_module_load(em))
 	       {
-		  evas_modules = eina_list_promote_list(evas_modules, l);
+		  evas_module_use(em);
+		  evas_image_load_func = em->functions;
+		  if (evas_image_load_func->file_head(ie, ie->file, ie->key))
+		    goto ok;
+		  evas_module_unload(em);
 	       }
-	     goto ok;
 	  }
      }
 
diff --git a/src/lib/engines/common/evas_image_main.c b/src/lib/engines/common/evas_image_main.c
index 0640ee7..aa3e988 100644
--- a/src/lib/engines/common/evas_image_main.c
+++ b/src/lib/engines/common/evas_image_main.c
@@ -649,25 +649,13 @@ evas_common_image_alpha_line_buffer_release(RGBA_Image *im)
 EAPI void
 evas_common_image_premul(Image_Entry *ie)
 {
-   DATA32  *s, *se;
    DATA32  nas = 0;
 
    if (!ie) return ;
    if (!evas_cache_image_pixels(ie)) return ;
    if (!ie->flags.alpha) return;
 
-   s = evas_cache_image_pixels(ie);
-   se = s + (ie->w * ie->h);
-   while (s < se)
-     {
-	DATA32  a = 1 + (*s >> 24);
-
-	*s = (*s & 0xff000000) + (((((*s) >> 8) & 0xff) * a) & 0xff00) +
-			 (((((*s) & 0x00ff00ff) * a) >> 8) & 0x00ff00ff);
-	s++;
-	if ((a == 1) || (a == 256))
-	   nas++;
-     }
+   nas = evas_common_convert_argb_premul(evas_cache_image_pixels(ie), ie->w * ie->h);
    if ((ALPHA_SPARSE_INV_FRACTION * nas) >= (ie->w * ie->h))
      ie->flags.alpha_sparse = 1;
 }
diff --git a/src/lib/engines/common/evas_image_save.c b/src/lib/engines/common/evas_image_save.c
index 21d666c..a2fa3c8 100644
--- a/src/lib/engines/common/evas_image_save.c
+++ b/src/lib/engines/common/evas_image_save.c
@@ -12,8 +12,6 @@
 #include "evas_private.h"
 
 
-extern Eina_List *evas_modules;
-
 int
 evas_common_save_image_to_file(RGBA_Image *im, const char *file, const char *key, int quality, int compress)
 {
diff --git a/src/lib/engines/common/evas_image_scalecache.c b/src/lib/engines/common/evas_image_scalecache.c
index 3f99202..0ac4995 100644
--- a/src/lib/engines/common/evas_image_scalecache.c
+++ b/src/lib/engines/common/evas_image_scalecache.c
@@ -266,7 +266,7 @@ _sci_find(RGBA_Image *im,
 }
 
 static void
-_cache_prune(Scaleitem *notsci, Evas_Bool copies_only)
+_cache_prune(Scaleitem *notsci, Eina_Bool copies_only)
 {
    Scaleitem *sci;
    while (cache_size > max_cache_size)
diff --git a/src/lib/engines/common/evas_intl_utils.c b/src/lib/engines/common/evas_intl_utils.c
index cced211..1618a2c 100644
--- a/src/lib/engines/common/evas_intl_utils.c
+++ b/src/lib/engines/common/evas_intl_utils.c
@@ -38,7 +38,7 @@ evas_intl_utf8_to_visual(const char *text, int *ret_len, FriBidiCharType *direct
 
    byte_len = strlen(text); /* we need the actual number of bytes, not number of chars */
 
-   unicode_in = (FriBidiChar *)malloc(sizeof(FriBidiChar) * (len + 1));
+   unicode_in = (FriBidiChar *)alloca(sizeof(FriBidiChar) * (len + 1));
    if (!unicode_in)
      {
 	len = -1;
@@ -47,18 +47,18 @@ evas_intl_utf8_to_visual(const char *text, int *ret_len, FriBidiCharType *direct
 
    len = fribidi_utf8_to_unicode(text, byte_len, unicode_in);
 
-   unicode_out = (FriBidiChar *)malloc(sizeof(FriBidiChar) * (len + 1));
+   unicode_out = (FriBidiChar *)alloca(sizeof(FriBidiChar) * (len + 1));
    if (!unicode_out)
      {
 	len = -2;
-	goto error2;
+	goto error1;
      }
 
    *embedding_level_list = (FriBidiLevel *)malloc(sizeof(FriBidiLevel) * len);
    if (!*embedding_level_list)
      {
 	len = -3;
-	goto error3;
+	goto error2;
      }
 
 #ifdef ARABIC_SUPPORT
@@ -69,31 +69,24 @@ evas_intl_utf8_to_visual(const char *text, int *ret_len, FriBidiCharType *direct
 	    unicode_out, NULL, NULL, *embedding_level_list))
      {
 	len = -4;
-	goto error3;
+	goto error2;
      }
 
    text_out = malloc(UTF8_BYTES_PER_CHAR * len + 1);
    if (!text_out)
      {
 	len = -5;
-	goto error4;
+	goto error2;
      }
 
    fribidi_unicode_to_utf8(unicode_out, len, text_out);
 
-   free(unicode_in);
-   free(unicode_out);
-
    *ret_len = len;
    return text_out;
 
    /* ERROR HANDLING */
-error4:
-   free(unicode_out);
-error3:
-   free(*embedding_level_list);
 error2:
-   free(unicode_in);
+   free(*embedding_level_list);
 error1:
 
    *ret_len = len;
diff --git a/src/lib/engines/common/evas_op_add/Makefile.in b/src/lib/engines/common/evas_op_add/Makefile.in
index 29e7158..fdc9b40 100644
--- a/src/lib/engines/common/evas_op_add/Makefile.in
+++ b/src/lib/engines/common/evas_op_add/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_op_blend/Makefile.in b/src/lib/engines/common/evas_op_blend/Makefile.in
index 9ff0cb3..288d1fb 100644
--- a/src/lib/engines/common/evas_op_blend/Makefile.in
+++ b/src/lib/engines/common/evas_op_blend/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_op_copy/Makefile.in b/src/lib/engines/common/evas_op_copy/Makefile.in
index 194e21f..e5f2754 100644
--- a/src/lib/engines/common/evas_op_copy/Makefile.in
+++ b/src/lib/engines/common/evas_op_copy/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_op_mask/Makefile.in b/src/lib/engines/common/evas_op_mask/Makefile.in
index c4a30f6..3086a72 100644
--- a/src/lib/engines/common/evas_op_mask/Makefile.in
+++ b/src/lib/engines/common/evas_op_mask/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_op_mul/Makefile.in b/src/lib/engines/common/evas_op_mul/Makefile.in
index 3018fd7..243de45 100644
--- a/src/lib/engines/common/evas_op_mul/Makefile.in
+++ b/src/lib/engines/common/evas_op_mul/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_op_sub/Makefile.in b/src/lib/engines/common/evas_op_sub/Makefile.in
index 775e63a..dff2bbd 100644
--- a/src/lib/engines/common/evas_op_sub/Makefile.in
+++ b/src/lib/engines/common/evas_op_sub/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common/evas_scale_smooth.c b/src/lib/engines/common/evas_scale_smooth.c
index dcdcff6..cd6c5d6 100644
--- a/src/lib/engines/common/evas_scale_smooth.c
+++ b/src/lib/engines/common/evas_scale_smooth.c
@@ -6,19 +6,27 @@
 #include "evas_scale_smooth.h"
 #include "evas_blend_private.h"
 
+#define SCALE_CALC_X_POINTS(P, SW, DW)		\
+  P = alloca((DW + 1) * sizeof (int));		\
+  scale_calc_x_points(P, SW, DW);
 
-static DATA32 **scale_calc_y_points(DATA32 *src, int sw, int sh, int dh);
-static int     *scale_calc_x_points(int sw, int dw);
-static int     *scale_calc_a_points(int s, int d);
+#define SCALE_CALC_Y_POINTS(P, SRC, SW, SH, DH)	\
+  P = alloca((DH + 1) * sizeof (DATA32 *));	\
+  scale_calc_y_points(P, SRC, SW, SH, DH);
 
-static DATA32 **
-scale_calc_y_points(DATA32 *src, int sw, int sh, int dh)
+#define SCALE_CALC_A_POINTS(P, S, D)		\
+  P = alloca(D * sizeof (int));			\
+  scale_calc_a_points(P, S, D);
+
+static void scale_calc_y_points(DATA32** p, DATA32 *src, int sw, int sh, int dh);
+static void scale_calc_x_points(int *p, int sw, int dw);
+static void scale_calc_a_points(int *p, int s, int d);
+
+static void
+scale_calc_y_points(DATA32** p, DATA32 *src, int sw, int sh, int dh)
 {
-   DATA32 **p;
    int i, val, inc;
 
-   p = malloc((dh + 1) * sizeof(DATA32 *));
-   if (!p) return NULL;
    val = 0;
    inc = (sh << 16) / dh;
    for (i = 0; i < dh; i++)
@@ -27,17 +35,13 @@ scale_calc_y_points(DATA32 *src, int sw, int sh, int dh)
 	val += inc;
      }
    p[i] = p[i - 1];
-   return p;
 }
 
-static int *
-scale_calc_x_points(int sw, int dw)
+static void
+scale_calc_x_points(int *p, int sw, int dw)
 {
-   int *p;
    int i, val, inc;
 
-   p = malloc((dw + 1) * sizeof(int));
-   if (!p) return NULL;
    val = 0;
    inc = (sw << 16) / dw;
    for (i = 0; i < dw; i++)
@@ -46,17 +50,13 @@ scale_calc_x_points(int sw, int dw)
 	val += inc;
      }
    p[i] = p[i - 1];
-   return p;
 }
 
-static int *
-scale_calc_a_points(int s, int d)
+static void
+scale_calc_a_points(int *p, int s, int d)
 {
-   int *p;
    int i, val, inc;
 
-   p = malloc(d * sizeof(int));
-   if (!p) return NULL;
    if (d >= s)
      {
 	val = 0;
@@ -83,7 +83,6 @@ scale_calc_a_points(int s, int d)
 	  }
      }
 //   sleep(1);
-   return p;
 }
 
 #ifdef BUILD_SCALE_SMOOTH
diff --git a/src/lib/engines/common/evas_scale_smooth_scaler_down.c b/src/lib/engines/common/evas_scale_smooth_scaler_down.c
index 97498b0..859f2f3 100644
--- a/src/lib/engines/common/evas_scale_smooth_scaler_down.c
+++ b/src/lib/engines/common/evas_scale_smooth_scaler_down.c
@@ -9,12 +9,10 @@
 
    src_data = src->image.data;
 
-   xpoints = scale_calc_x_points(src_region_w, dst_region_w);
-   ypoints = scale_calc_y_points(src_data, src_w, src_region_h, dst_region_h);
-   xapoints = scale_calc_a_points(src_region_w, dst_region_w);
-   yapoints = scale_calc_a_points(src_region_h, dst_region_h);
-   if ( (!xpoints) || (!ypoints) || (!xapoints) || (!yapoints) )
-	goto done_scale_down;
+   SCALE_CALC_X_POINTS(xpoints, src_region_w, dst_region_w);
+   SCALE_CALC_Y_POINTS(ypoints, src_data, src_w, src_region_h, dst_region_h);
+   SCALE_CALC_A_POINTS(xapoints, src_region_w, dst_region_w);
+   SCALE_CALC_A_POINTS(yapoints, src_region_h, dst_region_h);
 
    /* a scanline buffer */
    buf = alloca(dst_clip_w * sizeof(DATA32));
@@ -41,10 +39,4 @@
      {
 #include "evas_scale_smooth_scaler_downx_downy.c"
      }
-
-   done_scale_down:
-   if (xpoints) free(xpoints);
-   if (ypoints) free(ypoints);
-   if (xapoints) free(xapoints);
-   if (yapoints) free(yapoints);
 }
diff --git a/src/lib/engines/common_16/Makefile.in b/src/lib/engines/common_16/Makefile.in
index 800ed8f..a1106fe 100644
--- a/src/lib/engines/common_16/Makefile.in
+++ b/src/lib/engines/common_16/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -154,7 +156,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -231,10 +232,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -258,6 +259,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/engines/common_16/evas_soft16_font.c b/src/lib/engines/common_16/evas_soft16_font.c
index 85e3666..c39ef31 100644
--- a/src/lib/engines/common_16/evas_soft16_font.c
+++ b/src/lib/engines/common_16/evas_soft16_font.c
@@ -103,21 +103,15 @@ _glyph_scanline_mask_transp_solid(DATA16 *dst,
 
 static inline void
 _calc_ext(const Soft16_Image *dst, const RGBA_Draw_Context *dc,
-	  Evas_Rectangle *ext)
+	  Eina_Rectangle *ext)
 {
-   ext->x = 0;
-   ext->y = 0;
-   ext->w = dst->cache_entry.w;
-   ext->h = dst->cache_entry.h;
+   EINA_RECTANGLE_SET(ext, 0, 0, dst->cache_entry.w, dst->cache_entry.h);
 
    if (dc->clip.use)
      {
 	int v;
 
-	ext->x = dc->clip.x;
-	ext->y = dc->clip.y;
-	ext->w = dc->clip.w;
-	ext->h = dc->clip.h;
+	EINA_RECTANGLE_SET(ext, dc->clip.x, dc->clip.y, dc->clip.w, dc->clip.h);
 	if (ext->x < 0)
 	  {
 	     ext->w += ext->x;
@@ -139,7 +133,7 @@ _calc_ext(const Soft16_Image *dst, const RGBA_Draw_Context *dc,
 
 static inline void
 _glyph_scanline(Soft16_Image *dst, const DATA8 *p_mask,
-		const Evas_Rectangle ext, int dx, int dy, int max_x, int max_y,
+		const Eina_Rectangle ext, int dx, int dy, int max_x, int max_y,
 		int w, DATA8 alpha, const DATA16 rgb565,
 		const DATA32 rgb565_unpack)
 {
@@ -186,7 +180,7 @@ static void
 _soft16_font_glyph_draw_grayscale(Soft16_Image *dst,
 				  RGBA_Draw_Context *dc __UNUSED__, RGBA_Font_Glyph *fg __UNUSED__,
 				  int x, int y, DATA8 alpha, DATA16 rgb565,
-				  const Evas_Rectangle ext, int bw, int bh,
+				  const Eina_Rectangle ext, int bw, int bh,
 				  int bpitch, const DATA8 *bitmap)
 {
    const DATA32 rgb565_unpack = RGB_565_UNPACK(rgb565);
@@ -225,7 +219,7 @@ static void
 _soft16_font_glyph_draw_mono(Soft16_Image *dst,
 			     RGBA_Draw_Context *dc __UNUSED__, RGBA_Font_Glyph *fg __UNUSED__,
 			     int x, int y, DATA8 alpha, DATA16 rgb565,
-			     const Evas_Rectangle ext, int bw, int bh,
+			     const Eina_Rectangle ext, int bw, int bh,
 			     int bpitch, const DATA8 *bitmap)
 {
    const DATA32 rgb565_unpack = RGB_565_UNPACK(rgb565);
@@ -253,7 +247,7 @@ soft16_font_glyph_draw(void *data, void *dest __UNUSED__, void *context,
    const DATA8 *bitmap;
    DATA8 alpha, r, g, b;
    DATA16 rgb565;
-   Evas_Rectangle ext;
+   Eina_Rectangle ext;
    int bpitch, bw, bh;
 
    dst = data;
diff --git a/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c b/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c
index be92ed8..71f9914 100644
--- a/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c
+++ b/src/lib/engines/common_16/evas_soft16_image_scaled_sampled.c
@@ -421,9 +421,9 @@ _soft16_image_draw_scaled_mul(Soft16_Image *src, Soft16_Image *dst,
 void
 soft16_image_draw_scaled_sampled(Soft16_Image *src, Soft16_Image *dst,
 				 RGBA_Draw_Context *dc,
-				 const Evas_Rectangle sr,
-				 const Evas_Rectangle dr,
-				 const Evas_Rectangle cr)
+				 const Eina_Rectangle sr,
+				 const Eina_Rectangle dr,
+				 const Eina_Rectangle cr)
 {
    int x, y, dst_offset, *offset_x, *offset_y;
    DATA16 mul_rgb565;
diff --git a/src/lib/engines/common_16/evas_soft16_image_unscaled.c b/src/lib/engines/common_16/evas_soft16_image_unscaled.c
index c462fee..73d7d44 100644
--- a/src/lib/engines/common_16/evas_soft16_image_unscaled.c
+++ b/src/lib/engines/common_16/evas_soft16_image_unscaled.c
@@ -244,9 +244,9 @@ _soft16_image_draw_unscaled_mul(Soft16_Image *src, Soft16_Image *dst,
 void
 soft16_image_draw_unscaled(Soft16_Image *src, Soft16_Image *dst,
 			   RGBA_Draw_Context *dc,
-			   const Evas_Rectangle sr,
-			   const Evas_Rectangle dr,
-			   const Evas_Rectangle cr)
+			   const Eina_Rectangle sr,
+			   const Eina_Rectangle dr,
+			   const Eina_Rectangle cr)
 {
    int src_offset_rows, src_offset, dst_offset;
    DATA16 mul_rgb565;
diff --git a/src/lib/engines/common_16/evas_soft16_main.c b/src/lib/engines/common_16/evas_soft16_main.c
index 2966ebe..18d3e65 100644
--- a/src/lib/engines/common_16/evas_soft16_main.c
+++ b/src/lib/engines/common_16/evas_soft16_main.c
@@ -319,14 +319,11 @@ _evas_common_load_soft16_image_data_from_file(Image_Entry *ie)
 
 static inline void
 _get_clip(const RGBA_Draw_Context *dc, const Soft16_Image *im,
-	  Evas_Rectangle *clip)
+	  Eina_Rectangle *clip)
 {
    if (dc->clip.use)
      {
-	clip->x = dc->clip.x;
-	clip->y = dc->clip.y;
-	clip->w = dc->clip.w;
-	clip->h = dc->clip.h;
+	EINA_RECTANGLE_SET(clip, dc->clip.x, dc->clip.y, dc->clip.w, dc->clip.h);
 	if (clip->x < 0)
 	  {
 	     clip->w += clip->x;
@@ -342,15 +339,12 @@ _get_clip(const RGBA_Draw_Context *dc, const Soft16_Image *im,
      }
    else
      {
-	clip->x = 0;
-	clip->y = 0;
-	clip->w = im->cache_entry.w;
-	clip->h = im->cache_entry.h;
+	EINA_RECTANGLE_SET(clip, 0, 0, im->cache_entry.w, im->cache_entry.h);
      }
 }
 
 static inline int
-_is_empty_rectangle(const Evas_Rectangle *r)
+_is_empty_rectangle(const Eina_Rectangle *r)
 {
    return (r->w < 1) || (r->h < 1);
 }
@@ -373,11 +367,11 @@ _shrink(int *s_pos, int *s_size, int pos, int size)
 }
 
 static int
-_soft16_adjust_areas(Evas_Rectangle *src,
+_soft16_adjust_areas(Eina_Rectangle *src,
 		     int src_max_x, int src_max_y,
-		     Evas_Rectangle *dst,
+		     Eina_Rectangle *dst,
 		     int dst_max_x, int dst_max_y,
-		     Evas_Rectangle *dst_clip)
+		     Eina_Rectangle *dst_clip)
 {
    if (_is_empty_rectangle(src) ||
        _is_empty_rectangle(dst) ||
@@ -449,9 +443,9 @@ _soft16_adjust_areas(Evas_Rectangle *src,
 static void
 _soft16_image_draw_sampled_int(Soft16_Image *src, Soft16_Image *dst,
 			       RGBA_Draw_Context *dc,
-			       Evas_Rectangle sr, Evas_Rectangle dr)
+			       Eina_Rectangle sr, Eina_Rectangle dr)
 {
-   Evas_Rectangle cr;
+   Eina_Rectangle cr;
 
    if (!(RECTS_INTERSECT(dr.x, dr.y, dr.w, dr.h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
      return;
@@ -477,26 +471,20 @@ soft16_image_draw(Soft16_Image *src, Soft16_Image *dst,
 		  int dst_region_w, int dst_region_h,
 		  int smooth __UNUSED__)
 {
-   Evas_Rectangle sr, dr;
+   Eina_Rectangle sr, dr;
    Cutout_Rects *rects;
    Cutout_Rect  *r;
    struct RGBA_Draw_Context_clip clip_bkp;
    int i;
 
    /* handle cutouts here! */
-   dr.x = dst_region_x;
-   dr.y = dst_region_y;
-   dr.w = dst_region_w;
-   dr.h = dst_region_h;
+   EINA_RECTANGLE_SET(&dr, dst_region_x, dst_region_y, dst_region_w, dst_region_h);
 
    if (_is_empty_rectangle(&dr)) return;
    if (!(RECTS_INTERSECT(dr.x, dr.y, dr.w, dr.h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
      return;
 
-   sr.x = src_region_x;
-   sr.y = src_region_y;
-   sr.w = src_region_w;
-   sr.h = src_region_h;
+   EINA_RECTANGLE_SET(&sr, src_region_x, src_region_y, src_region_w, src_region_h);
 
    if (_is_empty_rectangle(&sr)) return;
    if (!(RECTS_INTERSECT(sr.x, sr.y, sr.w, sr.h, 0, 0, src->cache_entry.w, src->cache_entry.h)))
diff --git a/src/lib/engines/common_16/evas_soft16_rectangle.c b/src/lib/engines/common_16/evas_soft16_rectangle.c
index eb6ae92..6e78d60 100644
--- a/src/lib/engines/common_16/evas_soft16_rectangle.c
+++ b/src/lib/engines/common_16/evas_soft16_rectangle.c
@@ -2,7 +2,7 @@
 #include "evas_soft16_scanline_fill.c"
 
 static inline int
-_is_empty_rectangle(const Evas_Rectangle *r)
+_is_empty_rectangle(const Eina_Rectangle *r)
 {
    return (r->w < 1) || (r->h < 1);
 }
@@ -38,7 +38,7 @@ _soft16_rectangle_draw_transp_solid(Soft16_Image *dst, int offset, int w, int h,
 
 static void
 _soft16_rectangle_draw_int(Soft16_Image *dst, RGBA_Draw_Context *dc,
-                           Evas_Rectangle dr)
+                           Eina_Rectangle dr)
 {
    int dst_offset;
 
@@ -80,17 +80,14 @@ void
 soft16_rectangle_draw(Soft16_Image *dst, RGBA_Draw_Context *dc,
                       int x, int y, int w, int h)
 {
-   Evas_Rectangle dr;
+   Eina_Rectangle dr;
    Cutout_Rects *rects;
    Cutout_Rect  *r;
    struct RGBA_Draw_Context_clip c_bkp;
    int i;
 
    /* handle cutouts here! */
-   dr.x = x;
-   dr.y = y;
-   dr.w = w;
-   dr.h = h;
+   EINA_RECTANGLE_SET(&dr, x, y, w, h);
 
    if (_is_empty_rectangle(&dr)) return;
    if (!(RECTS_INTERSECT(dr.x, dr.y, dr.w, dr.h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
diff --git a/src/lib/file/Makefile.in b/src/lib/file/Makefile.in
index f94b93f..62c4e64 100644
--- a/src/lib/file/Makefile.in
+++ b/src/lib/file/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -149,7 +151,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -226,10 +227,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -253,6 +254,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/file/evas_module.c b/src/lib/file/evas_module.c
index 46f6071..0640c66 100644
--- a/src/lib/file/evas_module.c
+++ b/src/lib/file/evas_module.c
@@ -2,35 +2,35 @@
 # define _GNU_SOURCE
 #endif
 
-#include <dirent.h>	/* DIR, dirent */
-#include <dlfcn.h>	/* dlopen,dlclose,etc */
+#include <string.h>
 
 #include <evas_common.h>
 #include <evas_private.h>
 
-Eina_List *evas_modules = NULL;
+static Eina_Hash *evas_modules[4] = {
+  NULL,
+  NULL,
+  NULL,
+  NULL
+};
+
+static Eina_List *eina_evas_modules = NULL;
 static Eina_List *evas_module_paths = NULL;
+static Eina_Array *evas_engines = NULL;
 
-static void
-_evas_module_path_append(Evas_Module_Type type, char *path, const char *subdir)
+static Eina_List *
+_evas_module_append(Eina_List *list, char *path)
 {
-   Evas_Module_Path *mp;
-   char *buf;
-
-   buf = evas_file_path_join(path, subdir);
-   if (!buf) return;
-   if (evas_file_path_exists(buf))
+   if (path)
      {
-	mp = malloc(sizeof(Evas_Module_Path));
-	mp->type = type;
-	mp->path = buf;
-	evas_module_paths = eina_list_append(evas_module_paths, mp);
+	if (evas_file_path_exists(path))
+	  list = eina_list_append(list, path);
+	else
+	  free(path);
      }
-   else
-     free(buf);
+   return list;
 }
 
-
 /* this will alloc a list of paths to search for the modules */
 /* by now these are:  */
 /* 1. ~/.evas/modules/ */
@@ -40,261 +40,349 @@ _evas_module_path_append(Evas_Module_Type type, char *path, const char *subdir)
 void
 evas_module_paths_init(void)
 {
-
-   char *prefix;
-   char *path;
-   Eina_List *paths = NULL;
+   char *path, *path2;
+   const char *path3;
 
    /* 1. ~/.evas/modules/ */
-   prefix = getenv("HOME");
-   if (prefix)
-     {
-	path = malloc(strlen(prefix) + 1 + strlen("/.evas/modules"));
-	if (path)
-	  {
-	     path[0] = 0;
-	     strcpy(path, prefix);
-	     strcat(path, "/.evas/modules");
-	     if (evas_file_path_exists(path))
-	       paths = eina_list_append(paths, path);
-	     else
-	       free(path);
-	  }
-     }
+   path = eina_module_environment_path_get("HOME", "/.evas/modules");
+   evas_module_paths = _evas_module_append(evas_module_paths, path);
 
    /* 2. $(EVAS_MODULE_DIR)/evas/modules/ */
-   prefix = getenv("EVAS_MODULES_DIR");
-   if (prefix)
-     {
-	path = malloc(strlen(prefix) + 1 + strlen("/evas/modules"));
-	if (path)
-	  {
-	     path[0] = 0;
-	     strcpy(path, prefix);
-	     strcat(path, "/evas/modules");
-	     if (evas_file_path_exists(path))
-	       paths = eina_list_append(paths, path);
-	     else
-	       free(path);
-	  }
-     }
+   path = eina_module_environment_path_get("EVAS_MODULES_DIR", "/evas/modules");
+   evas_module_paths = _evas_module_append(evas_module_paths, path);
 
-#ifdef HAVE_DLADDR
-     {
-	Dl_info evas_dl;
-	/* 3. libevas.so/../evas/modules/ */
-	if (dladdr(evas_module_paths_init, &evas_dl))
-	  {
-	     int length;
-
-	     if (strrchr(evas_dl.dli_fname, '/'))
-	       {
-		  length = strlen(strrchr(evas_dl.dli_fname, '/'));
-		  path = malloc(strlen(evas_dl.dli_fname) - length +
-				strlen("/evas/modules") + 1);
-		  if (path)
-		    {
-		       strncpy(path, evas_dl.dli_fname,
-			       strlen(evas_dl.dli_fname) - length);
-		       path[strlen(evas_dl.dli_fname) - length] = 0;
-		       strcat(path, "/evas/modules");
-		       if (evas_file_path_exists(path))
-			 paths = eina_list_append(paths, path);
-		       else
-			 free(path);
-		    }
-	       }
-	  }
-     }
-#else
-   /* 4. PREFIX/evas/modules/ */
-   prefix = PACKAGE_LIB_DIR;
-   path = malloc(strlen(prefix) + 1 + strlen("/evas/modules"));
-   if (path)
-     {
-	strcpy(path, prefix);
-	strcat(path, "/evas/modules");
-	if (evas_file_path_exists(path))
-	  paths = eina_list_append(paths, path);
-	else
-	  free(path);
-     }
-#endif
+   /* 3. libevas.so/../evas/modules/ */
+   path2 = eina_module_symbol_path_get(evas_module_paths_init, "/evas/modules");
+   if (path2 && path && (strcmp(path, path2) == 0))
+     free(path2);
+   else
+     evas_module_paths = _evas_module_append(evas_module_paths, path2);
 
-   /* append all the module types subdirs */
-   while (paths)
+   /* 4. PREFIX/evas/modules/ */
+   path3 = PACKAGE_LIB_DIR "/evas/modules";
+   if ((path && (strcmp(path, path3) != 0)) ||
+       (path2 && (strcmp(path2, path3) != 0)) ||
+       (!path && !path2))
      {
-	/* here must be added all the types of modules and their subdirectory */
-	/* do this on a separate function */
-	/* 1. engines */
-	_evas_module_path_append(EVAS_MODULE_TYPE_ENGINE, paths->data, "engines");
-	_evas_module_path_append(EVAS_MODULE_TYPE_IMAGE_LOADER, paths->data, "loaders");
-	_evas_module_path_append(EVAS_MODULE_TYPE_IMAGE_SAVER, paths->data, "savers");
-	_evas_module_path_append(EVAS_MODULE_TYPE_OBJECT, paths->data, "objects");
-	free(paths->data);
-	paths = eina_list_remove_list(paths, paths);
+	path = strdup(path3);
+	if (path)
+	  evas_module_paths = _evas_module_append(evas_module_paths, path);
      }
 }
 
+#define EVAS_EINA_STATIC_MODULE_DEFINE(Tn, Name)	\
+  Eina_Bool evas_##Tn##_##Name##_init(void);		\
+  void evas_##Tn##_##Name##_shutdown(void);
+
+#define EVAS_EINA_STATIC_MODULE_USE(Tn, Name)	\
+  { evas_##Tn##_##Name##_init, evas_##Tn##_##Name##_shutdown }
+
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, buffer);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, cairo_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, direct3d);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, directfb);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, fb);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_glew);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, gl_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, quartz);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_ddraw);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_sdl);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_wince);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_16_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_ddraw);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_gdi);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_generic);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_qtopia);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_sdl);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, software_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(engine, xrender_x11);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, xpm);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, tiff);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, svg);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, png);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, pmaps);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, jpeg);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, gif);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, eet);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_loader, edb);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, edb);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, eet);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, jpeg);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, png);
+EVAS_EINA_STATIC_MODULE_DEFINE(image_saver, tiff);
+
+static const struct {
+   Eina_Bool (*init)(void);
+   void (*shutdown)(void);
+} evas_static_module[] = {
+#ifdef EVAS_STATIC_BUILD_BUFFER
+  EVAS_EINA_STATIC_MODULE_USE(engine, buffer),
+#endif
+#ifdef EVAS_STATIC_BUILD_CAIRO_X11
+  EVAS_EINA_STATIC_MODULE_USE(engine, cairo_x11),
+#endif
+#ifdef EVAS_STATIC_BUILD_DIRECT3D
+  EVAS_EINA_STATIC_MODULE_USE(engine, direct3d),
+#endif
+#ifdef EVAS_STATIC_BUILD_DIRECTFB
+  EVAS_EINA_STATIC_MODULE_USE(engine, directfb),
+#endif
+#ifdef EVAS_STATIC_BUILD_FB
+  EVAS_EINA_STATIC_MODULE_USE(engine, fb),
+#endif
+#ifdef EVAS_STATIC_BUILD_GL_GLEW
+  EVAS_EINA_STATIC_MODULE_USE(engine, gl_glew),
+#endif
+#ifdef EVAS_STATIC_BUILD_GL_X11
+  EVAS_EINA_STATIC_MODULE_USE(engine, gl_x11),
+#endif
+#ifdef EVAS_STATIC_BUILD_QUARTZ
+  EVAS_EINA_STATIC_MODULE_USE(engine, quartz),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_16),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_16_ddraw),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_SDL
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_16_sdl),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_16_wince),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_X11
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_16_x11),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_ddraw),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_16_GDI
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_gdi),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_generic),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_QTOPIA
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_qtopia),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_SDL
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_sdl),
+#endif
+#ifdef EVAS_STATIC_BUILD_SOFTWARE_X11
+  EVAS_EINA_STATIC_MODULE_USE(engine, software_x11),
+#endif
+#ifdef EVAS_STATIC_BUILD_XRENDER_X11
+  EVAS_EINA_STATIC_MODULE_USE(engine, xrender_x11),
+#endif
+#ifdef EVAS_STATIC_BUILD_XPM
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, xpm),
+#endif
+#ifdef EVAS_STATIC_BUILD_TIFF
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, tiff),
+#endif
+#ifdef EVAS_STATIC_BUILD_SVG
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, svg),
+#endif
+#ifdef EVAS_STATIC_BUILD_PNG
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, png),
+#endif
+#ifdef EVAS_STATIC_BUILD_PMAPS
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, pmaps),
+#endif
+#ifdef EVAS_STATIC_BUILD_JPEG
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, jpeg),
+#endif
+#ifdef EVAS_STATIC_BUILD_GIF
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, gif),
+#endif
+#ifdef EVAS_STATIC_BUILD_EET
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, eet),
+#endif
+#ifdef EVAS_STATIC_BUILD_EDB
+  EVAS_EINA_STATIC_MODULE_USE(image_loader, edb),
+#endif
+#ifdef EVAS_STATIC_BUILD_EDB
+  EVAS_EINA_STATIC_MODULE_USE(image_saver, edb),
+#endif
+#ifdef EVAS_STATIC_BUILD_EET
+  EVAS_EINA_STATIC_MODULE_USE(image_saver, eet),
+#endif
+#ifdef EVAS_STATIC_BUILD_JPEG
+  EVAS_EINA_STATIC_MODULE_USE(image_saver, jpeg),
+#endif
+#ifdef EVAS_STATIC_BUILD_PNG
+  EVAS_EINA_STATIC_MODULE_USE(image_saver, png),
+#endif
+#ifdef EVAS_STATIC_BUILD_TIFF
+  EVAS_EINA_STATIC_MODULE_USE(image_saver, tiff),
+#endif
+  { NULL, NULL }
+};
+
 /* this will alloc an Evas_Module struct for each module
  * it finds on the paths */
 void
 evas_module_init(void)
 {
-   Eina_List *l;
-   Evas_Module_Path *mp;
-   int new_id_engine = 1;
+   int i;
 
-/*    printf("[init modules]\n"); */
    evas_module_paths_init();
-   EINA_LIST_FOREACH(evas_module_paths, l, mp)
-     {
-	DIR *dir;
-	struct dirent *de;
 
-	if (!(dir = opendir(mp->path))) break;
-/* 	printf("[evas module] searching modules on %s\n", mp->path); */
-	while ((de = readdir(dir)))
-	  {
-	     char *buf;
-
-	     if ((!strcmp(de->d_name, ".")) || (!strcmp(de->d_name, "..")))
-	       continue;
-	     buf = malloc(strlen(mp->path) + 1 + strlen(de->d_name) + 1);
-	     sprintf(buf, "%s/%s", mp->path, de->d_name);
-	     if (evas_file_path_is_dir(buf))
-	       {
-		  Evas_Module *em;
-
-		  em = calloc(1, sizeof(Evas_Module));
-		  if (!em) continue;
-		  em->name = strdup(de->d_name);
-		  em->path = strdup(mp->path);
-		  em->type = mp->type;
-		  em->handle = NULL;
-		  em->data = NULL;
-                  em->loaded = 0;
-#ifdef BUILD_ASYNC_PRELOAD                  
-                  LKI(em->lock);
-#endif                  
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//		  pthread_mutex_init(&em->lock, NULL);
-//#endif
-		  if (em->type == EVAS_MODULE_TYPE_ENGINE)
-		    {
-		       Evas_Module_Engine *eme;
-
-		       eme = malloc(sizeof(Evas_Module_Engine));
-		       if (eme)
-			 {
-			    eme->id = new_id_engine;
-			    em->data = eme;
-			    new_id_engine++;
-			 }
-		    }
-                  else if (em->type == EVAS_MODULE_TYPE_IMAGE_LOADER)
-		    {
-		    }
-                  else if (em->type == EVAS_MODULE_TYPE_IMAGE_SAVER)
-		    {
-		    }
-/* 		  printf("[evas module] including module path %s/%s of type %d\n",em->path, em->name, em->type); */
-		  evas_modules = eina_list_append(evas_modules, em);
-	       }
-	     free(buf);
-	  }
-	closedir(dir);
+   evas_modules[EVAS_MODULE_TYPE_ENGINE] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
+   evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
+   evas_modules[EVAS_MODULE_TYPE_IMAGE_SAVER] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
+   evas_modules[EVAS_MODULE_TYPE_OBJECT] = eina_hash_string_small_new(/* FIXME: Add a function to cleanup stuff. */ NULL);
+
+   evas_engines = eina_array_new(4);
+
+   for (i = 0; evas_static_module[i].init != NULL; ++i)
+     evas_static_module[i].init();
+}
+
+Eina_Bool
+evas_module_register(const Evas_Module_Api *module, Evas_Module_Type type)
+{
+   Evas_Module *em;
+
+   if (type < 0 || type > 3) return EINA_FALSE;
+   if (module->version != EVAS_MODULE_API_VERSION) return EINA_FALSE;
+   if (!module) return EINA_FALSE;
+
+   em = eina_hash_find(evas_modules[type], module->name);
+   if (em) return EINA_FALSE;
+
+   em = calloc(1, sizeof (Evas_Module));
+   if (!em) return EINA_FALSE;
+
+   em->definition = module;
+
+   if (type == EVAS_MODULE_TYPE_ENGINE)
+     {
+	eina_array_push(evas_engines, em);
+	em->id_engine = eina_array_count_get(evas_engines);
      }
+
+   eina_hash_direct_add(evas_modules[type], module->name, em);
+
+   return EINA_TRUE;
+}
+
+Eina_Bool
+evas_module_unregister(const Evas_Module_Api *module, Evas_Module_Type type)
+{
+   Evas_Module *em;
+
+   if (type < 0 || type > 3) return EINA_FALSE;
+   if (!module) return EINA_FALSE;
+
+   em = eina_hash_find(evas_modules[type], module->name);
+   if (!em || em->definition != module) return EINA_FALSE;
+
+   if (type == EVAS_MODULE_TYPE_ENGINE)
+     eina_array_data_set(evas_engines, em->id_engine, NULL);
+
+   eina_hash_del(evas_modules[type], module->name, em);
+   free(em);
+
+   return EINA_TRUE;
 }
 
+#if defined(__CEGCC__) || defined(__MINGW32CE__)
+# define EVAS_MODULE_NAME_IMAGE_SAVER "saver_%s.dll"
+# define EVAS_MODULE_NAME_IMAGE_LOADER "loader_%s.dll"
+# define EVAS_MODULE_NAME_ENGINE "engine_%s.dll"
+# define EVAS_MODULE_NAME_OBJECT "object_%s.dll"
+#elif _WIN32
+# define EVAS_MODULE_NAME_IMAGE_SAVER "module.dll"
+# define EVAS_MODULE_NAME_IMAGE_LOADER "module.dll"
+# define EVAS_MODULE_NAME_ENGINE "module.dll"
+# define EVAS_MODULE_NAME_OBJECT "module.dll"
+#else
+# define EVAS_MODULE_NAME_IMAGE_SAVER "module.so"
+# define EVAS_MODULE_NAME_IMAGE_LOADER "module.so"
+# define EVAS_MODULE_NAME_ENGINE "module.so"
+# define EVAS_MODULE_NAME_OBJECT "module.so"
+#endif
+
 Evas_Module *
 evas_module_find_type(Evas_Module_Type type, const char *name)
 {
-   Eina_List *l;
+   const char *path;
+   const char *format = NULL;
+   char buffer[4096];
    Evas_Module *em;
+   Eina_Module *en;
+   Eina_List *l;
+
+   if (type < 0 || type > 3) return NULL;
+
+   em = eina_hash_find(evas_modules[type], name);
+   if (em) return em;
 
-   EINA_LIST_FOREACH(evas_modules, l, em)
+   EINA_LIST_FOREACH(evas_module_paths, l, path)
      {
-	if ((type == em->type) && (!strcmp(name,em->name)))
+	switch (type)
 	  {
-             if (evas_modules != l)
-	       {
-		  evas_modules = eina_list_promote_list(evas_modules, l);
-	       }
+	   case EVAS_MODULE_TYPE_ENGINE: format = "%s/engines/%s/%s/" EVAS_MODULE_NAME_ENGINE; break;
+	   case EVAS_MODULE_TYPE_IMAGE_LOADER: format = "%s/loaders/%s/%s/" EVAS_MODULE_NAME_IMAGE_LOADER; break;
+	   case EVAS_MODULE_TYPE_IMAGE_SAVER: format = "%s/savers/%s/%s/" EVAS_MODULE_NAME_IMAGE_SAVER; break;
+	   case EVAS_MODULE_TYPE_OBJECT: format = "%s/object/%s/%s/" EVAS_MODULE_NAME_OBJECT; break;
+	  }
+
+	snprintf(buffer, sizeof (buffer), format, path, name, MODULE_ARCH, name);
+	if (!evas_file_path_is_file(buffer)) continue;
+
+	en = eina_module_new(buffer);
+	if (!en) continue;
+
+	if (!eina_module_load(en))
+	  {
+	     eina_module_free(en);
+	     continue;
+	  }
+
+	em = eina_hash_find(evas_modules[type], name);
+	if (em)
+	  {
+	     eina_evas_modules = eina_list_append(eina_evas_modules, en);
 	     return em;
 	  }
+
+	eina_module_free(en);
      }
+
    return NULL;
 }
 
+Evas_Module *
+evas_module_engine_get(int render_method)
+{
+   if (render_method <= 0 || render_method > eina_array_count_get(evas_engines))
+     return NULL;
+   return eina_array_data_get(evas_engines, render_method - 1);
+}
+
+void
+evas_module_foreach_image_loader(Eina_Hash_Foreach cb, const void *fdata)
+{
+   eina_hash_foreach(evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER], cb, fdata);
+}
+
 int
 evas_module_load(Evas_Module *em)
 {
-   char buf[4096];
-   void *handle;
-
    if (em->loaded) return 1;
+   if (em->definition == NULL) return 0;
 
-/*   printf("LOAD %s\n", em->name); */
-#if defined(__CEGCC__) || defined(__MINGW32CE__)
-   switch (em->type) {
-     case EVAS_MODULE_TYPE_IMAGE_SAVER:
-        snprintf(buf, sizeof(buf), "%s/%s/%s/saver_%s.dll", em->path, em->name, MODULE_ARCH, em->name);
-        break;
-     case EVAS_MODULE_TYPE_IMAGE_LOADER:
-        snprintf(buf, sizeof(buf), "%s/%s/%s/loader_%s.dll", em->path, em->name, MODULE_ARCH, em->name);
-        break;
-     case EVAS_MODULE_TYPE_ENGINE:
-        snprintf(buf, sizeof(buf), "%s/%s/%s/engine_%s.dll", em->path, em->name, MODULE_ARCH, em->name);
-        break;
-     default:
-        snprintf(buf, sizeof(buf), "%s/%s/%s/object_%s.dll", em->path, em->name, MODULE_ARCH, em->name);
-   }
-#elif _WIN32
-   snprintf(buf, sizeof(buf), "%s/%s/%s/module.dll", em->path, em->name, MODULE_ARCH);
-#else
-   snprintf(buf, sizeof(buf), "%s/%s/%s/module.so", em->path, em->name, MODULE_ARCH);
-#endif
-   if (!evas_file_path_exists(buf))
-     {
-	printf("[evas module] error loading the module %s. It doesnt exists\n", buf);
-	return 0;
-     }
+   if (!em->definition->func.open(em)) return 0;
+   em->loaded = 1;
 
-   handle = dlopen(buf, RTLD_LAZY);
-   if (handle)
-     {
-	em->handle = handle;
-	em->func.open = dlsym(em->handle, "module_open");
-	em->func.close = dlsym(em->handle, "module_close");
-	em->api = dlsym(em->handle, "evas_modapi");
-
-	if ((!em->func.open) || (!em->api) || (!em->func.close))
-	  goto error_dl;
-	/* check the api */
-	if (em->api->version != EVAS_MODULE_API_VERSION)
-	  {
-	     printf("[evas module] error loading the modules %s. The version doesnt match\n", buf);
-	     goto error_dl;
-	  }
-	em->func.open(em);
-	em->loaded = 1;
-	return 1;
-     }
-   error_dl:
-     {
-	const char *err;
-
-	err = dlerror();
-	printf("[evas module] error loading the module %s. %s\n", buf, err);
-	if (handle)
-	  dlclose(handle);
-	em->handle = NULL;
-	em->func.open = NULL;
-	em->func.close = NULL;
-	em->api = NULL;
-     }
-   return 0;
+#ifdef BUILD_ASYNC_PRELOAD
+   LKI(em->lock);
+#endif
+   return 1;
 }
 
 void
@@ -302,22 +390,15 @@ evas_module_unload(Evas_Module *em)
 {
    if (!em->loaded)
      return;
-   if (em->handle)
-     {
-	em->func.close(em);
-	dlclose(em->handle);
-     }
-   em->handle = NULL;
-   em->func.open = NULL;
-   em->func.close = NULL;
-   em->api = NULL;
+   if (em->definition == NULL)
+     return ;
+
+   em->definition->func.close(em);
    em->loaded = 0;
-#ifdef BUILD_ASYNC_PRELOAD   
+
+#ifdef BUILD_ASYNC_PRELOAD
    LKD(em->lock);
 #endif
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_destroy(&em->lock);
-//#endif
 }
 
 void
@@ -325,18 +406,11 @@ evas_module_ref(Evas_Module *em)
 {
 #ifdef BUILD_ASYNC_PRELOAD
    LKL(em->lock);
-#endif   
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_lock(&em->lock);
-//#endif
+#endif
    em->ref++;
-/*   printf("M: %s ref++ = %i\n", em->name, em->ref); */
 #ifdef BUILD_ASYNC_PRELOAD
    LKU(em->lock);
 #endif
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_unlock(&em->lock);
-//#endif
 }
 
 void
@@ -344,18 +418,11 @@ evas_module_unref(Evas_Module *em)
 {
 #ifdef BUILD_ASYNC_PRELOAD
    LKL(em->lock);
-#endif   
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_lock(&em->lock);
-//#endif
+#endif
    em->ref--;
-/*   printf("M: %s ref-- = %i\n", em->name, em->ref); */
 #ifdef BUILD_ASYNC_PRELOAD
    LKU(em->lock);
 #endif
-//#if defined(BUILD_PTHREAD) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_unlock(&em->lock);
-//#endif
 }
 
 static int use_count = 0;
@@ -370,10 +437,10 @@ void
 evas_module_clean(void)
 {
    static int call_count = 0;
-   int ago;
+/*    int ago; */
    int noclean = -1;
-   Eina_List *l;
-   Evas_Module *em;
+/*    Eina_List *l; */
+/*    Evas_Module *em; */
 
    /* only clean modules every 256 calls */
    call_count++;
@@ -393,64 +460,54 @@ evas_module_clean(void)
    /* disable module cleaning for now - may cause instability with some modules */
    return;
 
-   /* incriment use counter = 28bits */
-   use_count++;
-   if (use_count > 0x0fffffff) use_count = 0;
-
-   /* printf("CLEAN!\n"); */
-   /* go through all modules */
-   EINA_LIST_FOREACH(evas_modules, l, em)
-     {
-        /* printf("M %s %i %i\n", em->name, em->ref, em->loaded); */
-	/* if the module is refernced - skip */
-	if ((em->ref > 0) || (!em->loaded)) continue;
-	/* how many clean cycles ago was this module last used */
-	ago = use_count - em->last_used;
-	if (em->last_used > use_count) ago += 0x10000000;
-	/* if it was used last more than N clean cycles ago - unload */
-	if (ago > 5)
-	  {
-            /* printf("  UNLOAD %s\n", em->name); */
-	     evas_module_unload(em);
-	  }
-     }
+   /* FIXME: Don't know what it is supposed to do. */
+/*    /\* incriment use counter = 28bits *\/ */
+/*    use_count++; */
+/*    if (use_count > 0x0fffffff) use_count = 0; */
+
+/*    /\* printf("CLEAN!\n"); *\/ */
+/*    /\* go through all modules *\/ */
+/*    EINA_LIST_FOREACH(evas_modules, l, em) */
+/*      { */
+/*         /\* printf("M %s %i %i\n", em->name, em->ref, em->loaded); *\/ */
+/* 	/\* if the module is refernced - skip *\/ */
+/* 	if ((em->ref > 0) || (!em->loaded)) continue; */
+/* 	/\* how many clean cycles ago was this module last used *\/ */
+/* 	ago = use_count - em->last_used; */
+/* 	if (em->last_used > use_count) ago += 0x10000000; */
+/* 	/\* if it was used last more than N clean cycles ago - unload *\/ */
+/* 	if (ago > 5) */
+/* 	  { */
+/*             /\* printf("  UNLOAD %s\n", em->name); *\/ */
+/* 	     evas_module_unload(em); */
+/* 	  } */
+/*      } */
 }
 
 /* will dlclose all the modules loaded and free all the structs */
 void
 evas_module_shutdown(void)
 {
-   Evas_Module *em;
+   Eina_Module *en;
+   char *path;
+   int i;
 
-/*    printf("[shutdown modules]\n"); */
-   while (evas_modules)
-     {
-	em = (Evas_Module *)evas_modules->data;
-	evas_module_unload(em);
-	if (em->name) free(em->name);
-	if (em->path) free(em->path);
-	if (em->type == EVAS_MODULE_TYPE_ENGINE)
-	  {
-	     if (em->data) free(em->data);
-	  }
-	else if (em->type == EVAS_MODULE_TYPE_IMAGE_LOADER)
-	  {
-	  }
-	else if (em->type == EVAS_MODULE_TYPE_IMAGE_SAVER)
-	  {
-	  }
-	free(evas_modules->data);
-	evas_modules = eina_list_remove_list(evas_modules, evas_modules);
-     }
-   while (evas_module_paths)
-     {
-	Evas_Module_Path *mp;
+   for (i = 0; evas_static_module[i].shutdown != NULL; ++i)
+     evas_static_module[i].shutdown();
 
-	mp = evas_module_paths->data;
-	evas_module_paths = eina_list_remove_list(evas_module_paths, evas_module_paths);
-	free(mp->path);
-	free(mp);
-     }
+   EINA_LIST_FREE(eina_evas_modules, en)
+     eina_module_free(en);
+
+   eina_hash_free(evas_modules[EVAS_MODULE_TYPE_ENGINE]);
+   eina_hash_free(evas_modules[EVAS_MODULE_TYPE_IMAGE_LOADER]);
+   eina_hash_free(evas_modules[EVAS_MODULE_TYPE_IMAGE_SAVER]);
+   eina_hash_free(evas_modules[EVAS_MODULE_TYPE_OBJECT]);
+
+   EINA_LIST_FREE(evas_module_paths, path)
+     free(path);
+
+   eina_array_free(evas_engines);
+   evas_engines = NULL;
 }
 
 EAPI int
diff --git a/src/lib/file/evas_module.h b/src/lib/file/evas_module.h
index d297fcd..8699b6b 100644
--- a/src/lib/file/evas_module.h
+++ b/src/lib/file/evas_module.h
@@ -3,16 +3,16 @@
 
 
 /* the module api version */
-#define EVAS_MODULE_API_VERSION 1
+#define EVAS_MODULE_API_VERSION 2
 
 
 /* the module types */
 typedef enum _Evas_Module_Type
 {
-   EVAS_MODULE_TYPE_ENGINE,
-   EVAS_MODULE_TYPE_IMAGE_LOADER,
-   EVAS_MODULE_TYPE_IMAGE_SAVER,
-     EVAS_MODULE_TYPE_OBJECT
+   EVAS_MODULE_TYPE_ENGINE = 0,
+   EVAS_MODULE_TYPE_IMAGE_LOADER = 1,
+   EVAS_MODULE_TYPE_IMAGE_SAVER = 2,
+   EVAS_MODULE_TYPE_OBJECT = 3
 } Evas_Module_Type;
 
 
@@ -20,40 +20,34 @@ typedef struct _Evas_Module_Api    Evas_Module_Api;
 typedef struct _Evas_Module        Evas_Module;
 typedef struct _Evas_Module_Path   Evas_Module_Path;
 typedef struct _Evas_Module_Engine Evas_Module_Engine;
+typedef struct _Evas_Module_Public Evas_Module_Public;
 
 /* the module api structure, all modules should define this struct */
 struct _Evas_Module_Api
 {
    int			version;
-   Evas_Module_Type	type;
    const char		*name;
    const char		*author;
-};
 
-/* the module structure */
-struct _Evas_Module
-{
-   Evas_Module_Api	*api;
-   void			*handle;	/* the dlopen handle */
-   char			*path;		/* the path where this modules is */
-   char			*name;		/* the name of the dir where this module is */
    struct
      {
 	int (*open)(Evas_Module *);
 	void (*close)(Evas_Module *);
      } func;
-   void		*functions;	/* this are the functions exported by the module */
-   void		*data;		/* some internal data for the module i.e the id for engines */
+};
+
+/* the module structure */
+struct _Evas_Module
+{
+   const Evas_Module_Api *definition;
 
-   Evas_Module_Type	type;		/* the type detected by the path */
+   void		*functions;	/* this are the functions exported by the module */
+   int           id_engine;	/* some internal data for the module i.e the id for engines */
 
    int           ref; /* how many refs */
    int           last_used; /* the cycle count when it was last used */
 
    LK(lock);
-//#if defined(HAVE_PTHREAD_H) && defined(BUILD_ASYNC_PRELOAD)
-//   pthread_mutex_t lock;
-//#endif
 
    unsigned char	loaded : 1;
 };
@@ -68,14 +62,11 @@ struct _Evas_Module_Path
    char		       *path;
 };
 
-struct _Evas_Module_Engine
-{
-   int			id;
-};
-
 void         evas_module_paths_init (void);
 void         evas_module_init       (void);
 Evas_Module *evas_module_find_type  (Evas_Module_Type type, const char *name);
+Evas_Module *evas_module_engine_get(int render_method);
+void         evas_module_foreach_image_loader(Eina_Hash_Foreach cb, const void *fdata);
 int          evas_module_load       (Evas_Module *em);
 void         evas_module_unload     (Evas_Module *em);
 void         evas_module_ref        (Evas_Module *em);
@@ -83,6 +74,21 @@ void         evas_module_unref      (Evas_Module *em);
 void         evas_module_use        (Evas_Module *em);
 void         evas_module_clean      (void);
 void         evas_module_shutdown   (void);
-
+EAPI Eina_Bool    evas_module_register   (const Evas_Module_Api *module, Evas_Module_Type type);
+EAPI Eina_Bool    evas_module_unregister (const Evas_Module_Api *module, Evas_Module_Type type);
+
+#define EVAS_MODULE_DEFINE(Type, Tn, Name)		\
+  Eina_Bool evas_##Tn##_##Name##_init(void)		\
+  {							\
+     return evas_module_register(&evas_modapi, Type);	\
+  }							\
+  void evas_##Tn##_##Name##_shutdown(void)		\
+  {							\
+     evas_module_unregister(&evas_modapi, Type);	\
+  }
+
+#define EVAS_EINA_MODULE_DEFINE(Tn, Name)	\
+  EINA_MODULE_INIT(evas_##Tn##_##Name##_init);	\
+  EINA_MODULE_SHUTDOWN(evas_##Tn##_##Name##_shutdown);
 
 #endif /* _EVAS_MODULE_H */
diff --git a/src/lib/imaging/Makefile.in b/src/lib/imaging/Makefile.in
index 12edbc1..f194cae 100644
--- a/src/lib/imaging/Makefile.in
+++ b/src/lib/imaging/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -149,7 +151,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -226,10 +227,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -253,6 +254,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/imaging/evas_imaging.c b/src/lib/imaging/evas_imaging.c
index 9bd0d49..6892136 100644
--- a/src/lib/imaging/evas_imaging.c
+++ b/src/lib/imaging/evas_imaging.c
@@ -47,12 +47,12 @@ evas_imaging_image_size_get(const Evas_Imaging_Image *im, int *w, int *h)
    if (h) *h = im->image->cache_entry.h;
 }
 
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_imaging_image_alpha_get(const Evas_Imaging_Image *im)
 {
-   if (!im) return 0;
-   if (im->image->cache_entry.flags.alpha) return 1;
-   return 0;
+   if (!im) return EINA_FALSE;
+   if (im->image->cache_entry.flags.alpha) return EINA_TRUE;
+   return EINA_FALSE;
 }
 
 EAPI void
@@ -81,7 +81,7 @@ evas_imaging_font_hinting_get(void)
    return _evas_hinting;
 }
 
-EAPI Evas_Bool
+EAPI Eina_Bool
 evas_imaging_font_hinting_can_hint(Evas_Font_Hinting_Flags hinting)
 {
    return evas_common_hinting_available(hinting);
diff --git a/src/lib/include/Makefile.in b/src/lib/include/Makefile.in
index 7fb0625..894673b 100644
--- a/src/lib/include/Makefile.in
+++ b/src/lib/include/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -130,7 +132,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -207,10 +208,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -234,6 +235,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/lib/include/evas_common.h b/src/lib/include/evas_common.h
index c80f87c..f4b7286 100644
--- a/src/lib/include/evas_common.h
+++ b/src/lib/include/evas_common.h
@@ -94,6 +94,7 @@
 # define LKI(x) pthread_mutex_init(&(x), NULL);
 # define LKD(x) pthread_mutex_destroy(&(x));
 # define LKL(x) pthread_mutex_lock(&(x));
+# define LKT(x) pthread_mutex_trylock(&(x));
 # define LKU(x) pthread_mutex_unlock(&(x));
 # define TH(x)  pthread_t x
 # define THI(x) int x
@@ -108,6 +109,7 @@
 # define LKI(x)
 # define LKD(x)
 # define LKL(x)
+# define LKT(x) 0
 # define LKU(x)
 # define TH(x)
 # define THI(x)
@@ -410,16 +412,16 @@ struct _RGBA_Image_Loadopts
 
 struct _Image_Entry_Flags
 {
-   Evas_Bool loaded       : 1;
-   Evas_Bool dirty        : 1;
-   Evas_Bool activ        : 1;
-   Evas_Bool need_data    : 1;
-   Evas_Bool lru_nodata   : 1;
-   Evas_Bool cached       : 1;
-   Evas_Bool alpha        : 1;
-   Evas_Bool alpha_sparse : 1;
+   Eina_Bool loaded       : 1;
+   Eina_Bool dirty        : 1;
+   Eina_Bool activ        : 1;
+   Eina_Bool need_data    : 1;
+   Eina_Bool lru_nodata   : 1;
+   Eina_Bool cached       : 1;
+   Eina_Bool alpha        : 1;
+   Eina_Bool alpha_sparse : 1;
 #ifdef BUILD_ASYNC_PRELOAD
-   Evas_Bool preload      : 1;
+   Eina_Bool preload      : 1;
 #endif
 };
 
@@ -434,38 +436,38 @@ struct _Image_Entry
    EINA_INLIST;
 
    Evas_Cache_Image      *cache;
-   
+
    const char            *cache_key;
-   
+
    const char            *file;
    const char            *key;
-   
+
    Evas_Cache_Target     *targets;
-   
+
    time_t                 timestamp;
    time_t                 laststat;
-   
+
    int                    references;
-   
+
    unsigned char          scale;
-   
+
    RGBA_Image_Loadopts    load_opts;
    int                    space;
    int                    w;
    int                    h;
-   
+
    struct
      {
         int		 w;
         int		 h;
      } allocated;
-   
+
    struct
      {
         void		*module;
         void		*loader;
      } info;
-   
+
 #ifdef BUILD_ASYNC_PRELOAD
    LK(lock);
 #endif
@@ -490,11 +492,11 @@ struct _Engine_Image_Entry
 
    struct
    {
-     Evas_Bool                   cached : 1;
-     Evas_Bool                   activ : 1;
-     Evas_Bool                   dirty : 1;
-     Evas_Bool                   loaded : 1;
-     Evas_Bool                   need_parent : 1;
+     Eina_Bool                   cached : 1;
+     Eina_Bool                   activ : 1;
+     Eina_Bool                   dirty : 1;
+     Eina_Bool                   loaded : 1;
+     Eina_Bool                   need_parent : 1;
    } flags;
 
    int                           references;
@@ -524,7 +526,7 @@ struct _Evas_Common_Transform
 struct _RGBA_Draw_Context
 {
    struct {
-      Evas_Bool use : 1;
+      Eina_Bool use : 1;
       DATA32 col;
    } mul;
    struct {
@@ -532,7 +534,7 @@ struct _RGBA_Draw_Context
    } col;
    struct RGBA_Draw_Context_clip {
       int    x, y, w, h;
-      Evas_Bool use : 1;
+      Eina_Bool use : 1;
    } clip;
    Cutout_Rects cutout;
    struct {
@@ -550,7 +552,7 @@ struct _RGBA_Draw_Context
       int y, h;
    } sli;
    int            render_op;
-   Evas_Bool anti_alias : 1;
+   Eina_Bool anti_alias : 1;
 };
 
 #ifdef BUILD_PIPE_RENDER
@@ -615,9 +617,9 @@ struct _RGBA_Image
    RGBA_Image_Flags     flags;
    struct
      {
-/* 	void           *module; */
-/* 	void           *loader; */
-/* 	char           *real_file; */
+/*	void           *module; */
+/*	void           *loader; */
+/*	char           *real_file; */
 	char           *comment;
 //	int             format;
      } info;
@@ -625,7 +627,7 @@ struct _RGBA_Image
    void                *extended_info;
 #ifdef BUILD_PIPE_RENDER
    RGBA_Pipe           *pipe;
-#endif   
+#endif
    int                  ref;
 
 /*    unsigned char        scale; */
@@ -633,16 +635,16 @@ struct _RGBA_Image
    /* Colorspace stuff. */
    struct {
       void              *data;
-      Evas_Bool          no_free : 1;
-      Evas_Bool          dirty : 1;
+      Eina_Bool          no_free : 1;
+      Eina_Bool          dirty : 1;
    } cs;
 
    /* RGBA stuff */
    struct {
       DATA32            *data;
-      Evas_Bool          no_free : 1;
+      Eina_Bool          no_free : 1;
    } image;
-   
+
    struct {
       LK(lock);
       Eina_List *list;
@@ -677,7 +679,7 @@ struct _RGBA_Gradient
 	float          angle;
 	int            direction;
 	float          offset;
-	Evas_Bool      has_alpha : 1;
+	Eina_Bool      has_alpha : 1;
      } map;
 
    struct {
@@ -709,8 +711,8 @@ struct _RGBA_Gradient
 
    int references;
 
-   Evas_Bool imported_data : 1;
-   Evas_Bool has_alpha : 1;
+   Eina_Bool imported_data : 1;
+   Eina_Bool has_alpha : 1;
 };
 
 struct _RGBA_Gradient_Type
@@ -741,7 +743,7 @@ struct _RGBA_Gradient2
      {
 	DATA32        *data;
 	int            len;
-	Evas_Bool      has_alpha : 1;
+	Eina_Bool      has_alpha : 1;
      } map;
 
    struct {
@@ -766,7 +768,7 @@ struct _RGBA_Gradient2
 
    int references;
 
-   Evas_Bool has_alpha : 1;
+   Eina_Bool has_alpha : 1;
 };
 
 struct _RGBA_Gradient2_Type
@@ -800,8 +802,6 @@ struct _RGBA_Font
 
 struct _RGBA_Font_Int
 {
-   EINA_INLIST;
-
    RGBA_Font_Source *src;
 
    int               size;
@@ -814,7 +814,7 @@ struct _RGBA_Font_Int
    Eina_Hash       *glyphs;
 
    LK(ft_mutex);
-   
+
    Eina_Hash       *kerning;
    Eina_Hash       *indexes;
 
@@ -822,19 +822,20 @@ struct _RGBA_Font_Int
    Font_Hint_Flags hinting;
 
    int              references;
+
 };
 
 struct _RGBA_Font_Source
 {
-   EINA_INLIST;
-
    const char       *name;
    const char       *file;
 
    void             *data;
    int               data_size;
    int               current_size;
+#if 0 /* FIXME: charmap user is disabled and use a deprecated data type. */
    Evas_Array_Hash  *charmap;
+#endif
 
    struct {
       int           orig_upem;
@@ -846,6 +847,7 @@ struct _RGBA_Font_Source
 
 struct _RGBA_Font_Glyph
 {
+   FT_UInt         index;
    FT_Glyph        glyph;
    FT_BitmapGlyph  glyph_out;
    /* this is a problem - only 1 engine at a time can extend such a font... grrr */
@@ -954,12 +956,12 @@ struct _Tilebuf
 
 struct _Tilebuf_Tile
 {
-   Evas_Bool redraw : 1;
+   Eina_Bool redraw : 1;
 /* FIXME: need these flags later - but not now */
 /*
-   Evas_Bool done   : 1;
-   Evas_Bool edge   : 1;
-   Evas_Bool from   : 1;
+   Eina_Bool done   : 1;
+   Eina_Bool edge   : 1;
+   Eina_Bool from   : 1;
 
    struct {
       int dx, dy;
@@ -1130,7 +1132,7 @@ Tilebuf_Rect *evas_common_regionbuf_rects_get (Regionbuf *rb);
 #ifdef BUILD_PIPE_RENDER
 # include "../engines/common/evas_pipe.h"
 #endif
-   
+
 void              evas_font_dir_cache_free(void);
 
 /****/
@@ -1141,8 +1143,8 @@ void              evas_font_dir_cache_free(void);
 #ifdef BUILD_NEON
 # include <arm_neon.h>
 #endif
-#endif   
-   
+#endif
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/include/evas_common_soft16.h b/src/lib/include/evas_common_soft16.h
index 3e08910..801d9e9 100644
--- a/src/lib/include/evas_common_soft16.h
+++ b/src/lib/include/evas_common_soft16.h
@@ -74,8 +74,8 @@ EAPI Evas_Cache_Image   *evas_common_soft16_image_cache_get(void);
 EAPI void                soft16_image_draw(Soft16_Image *src, Soft16_Image *dst, RGBA_Draw_Context *dc, int src_region_x, int src_region_y, int src_region_w, int src_region_h, int dst_region_x, int dst_region_y, int dst_region_w, int dst_region_h, int smooth);
 EAPI Soft16_Image       *soft16_image_alpha_set(Soft16_Image *im, int have_alpha);
 
-void                     soft16_image_draw_unscaled(Soft16_Image *src, Soft16_Image *dst, RGBA_Draw_Context *dc, const Evas_Rectangle sr, const Evas_Rectangle dr, const Evas_Rectangle cr);
-void                     soft16_image_draw_scaled_sampled(Soft16_Image *src, Soft16_Image *dst, RGBA_Draw_Context *dc, const Evas_Rectangle sr, const Evas_Rectangle dr, const Evas_Rectangle cr);
+void                     soft16_image_draw_unscaled(Soft16_Image *src, Soft16_Image *dst, RGBA_Draw_Context *dc, const Eina_Rectangle sr, const Eina_Rectangle dr, const Eina_Rectangle cr);
+void                     soft16_image_draw_scaled_sampled(Soft16_Image *src, Soft16_Image *dst, RGBA_Draw_Context *dc, const Eina_Rectangle sr, const Eina_Rectangle dr, const Eina_Rectangle cr);
 
 /* convert/dither functions */
 void                     soft16_image_convert_from_rgb(Soft16_Image *im, const DATA32 *src);
diff --git a/src/lib/include/evas_inline.x b/src/lib/include/evas_inline.x
index 41b7d7b..3b18976 100644
--- a/src/lib/include/evas_inline.x
+++ b/src/lib/include/evas_inline.x
@@ -19,7 +19,7 @@ evas_object_was_visible(Evas_Object *obj)
 static inline void
 evas_add_rect(Eina_Array *rects, int x, int y, int w, int h)
 {
-   Evas_Rectangle *r;
+   Eina_Rectangle *r;
 
    NEW_RECT(r, x, y, w, h);
    if (r) eina_array_push(rects, r);
diff --git a/src/lib/include/evas_private.h b/src/lib/include/evas_private.h
index 7304966..0916b44 100644
--- a/src/lib/include/evas_private.h
+++ b/src/lib/include/evas_private.h
@@ -48,7 +48,6 @@ typedef struct _Evas_Intercept_Func_Color   Evas_Intercept_Func_Color;
 typedef struct _Evas_Key_Grab               Evas_Key_Grab;
 typedef struct _Evas_Callbacks              Evas_Callbacks;
 typedef struct _Evas_Format                 Evas_Format;
-typedef struct _Evas_Rectangles             Evas_Rectangles;
 
 #define MAGIC_EVAS          0x70777770
 #define MAGIC_OBJ           0x71777770
@@ -84,13 +83,7 @@ MAGIC_CHECK_FAILED(o, t, m)
 # define MAGIC_CHECK_END() }}
 #endif
 
-#define NEW_RECT(_r, _x, _y, _w, _h) \
-{(_r) = (Evas_Rectangle *)eina_mempool_alloc(_evas_rectangle_mp, sizeof(Evas_Rectangle)); \
-   if (_r)								\
-     {									\
-	(_r)->x = (_x); (_r)->y = (_y);					\
-	(_r)->w = (_w); (_r)->h = (_h);					\
-     }}
+#define NEW_RECT(_r, _x, _y, _w, _h) (_r) = eina_rectangle_new(_x, _y, _w, _h);
 
 #define MERR_NONE() _evas_alloc_error = EVAS_ALLOC_ERROR_NONE
 #define MERR_FATAL() _evas_alloc_error = EVAS_ALLOC_ERROR_FATAL
@@ -335,13 +328,6 @@ struct _Evas_Layer
    unsigned char     delete_me : 1;
 };
 
-struct _Evas_Rectangles
-{
-   unsigned int    total;
-   unsigned int    count;
-   Evas_Rectangle *array;
-};
-
 struct _Evas_Size
 {
    Evas_Coord w, h;
@@ -391,8 +377,8 @@ struct _Evas_Object
 	 struct {
 	    int            x, y, w, h;
 	    unsigned char  r, g, b, a;
-	    Evas_Bool      visible : 1;
-	    Evas_Bool      dirty : 1;
+	    Eina_Bool      visible : 1;
+	    Eina_Bool      dirty : 1;
 	 } clip;
       } cache;
       double scale;
@@ -402,9 +388,9 @@ struct _Evas_Object
       } color;
       Evas_Object      *clipper;
       short             layer;
-      Evas_Bool         visible : 1;
-      Evas_Bool         have_clipees : 1;
-      Evas_Bool         anti_alias : 1;
+      Eina_Bool         visible : 1;
+      Eina_Bool         have_clipees : 1;
+      Eina_Bool         anti_alias : 1;
       unsigned char     interpolation_color_space : 1;
       Evas_Render_Op    render_op : 4;
    } cur, prev;
@@ -443,23 +429,23 @@ struct _Evas_Object
 
    Evas_Object_Pointer_Mode    pointer_mode : 1;
 
-   Evas_Bool                   store : 1;
-   Evas_Bool                   pass_events : 1;
-   Evas_Bool                   parent_pass_events : 1;
-   Evas_Bool                   parent_cache_valid : 1;
-   Evas_Bool                   repeat_events : 1;
-   Evas_Bool                   restack : 1;
-   Evas_Bool                   changed : 1;
-   Evas_Bool                   is_active : 1;
-   Evas_Bool                   render_pre : 1;
-   Evas_Bool                   rect_del : 1;
-   Evas_Bool                   mouse_in : 1;
-   Evas_Bool                   pre_render_done : 1;
-   Evas_Bool                   intercepted : 1;
-   Evas_Bool                   focused : 1;
-   Evas_Bool                   in_layer : 1;
-   Evas_Bool                   no_propagate : 1;
-   Evas_Bool                   precise_is_inside : 1;
+   Eina_Bool                   store : 1;
+   Eina_Bool                   pass_events : 1;
+   Eina_Bool                   parent_pass_events : 1;
+   Eina_Bool                   parent_cache_valid : 1;
+   Eina_Bool                   repeat_events : 1;
+   Eina_Bool                   restack : 1;
+   Eina_Bool                   changed : 1;
+   Eina_Bool                   is_active : 1;
+   Eina_Bool                   render_pre : 1;
+   Eina_Bool                   rect_del : 1;
+   Eina_Bool                   mouse_in : 1;
+   Eina_Bool                   pre_render_done : 1;
+   Eina_Bool                   intercepted : 1;
+   Eina_Bool                   focused : 1;
+   Eina_Bool                   in_layer : 1;
+   Eina_Bool                   no_propagate : 1;
+   Eina_Bool                   precise_is_inside : 1;
 
    unsigned char               delete_me;
 };
@@ -556,6 +542,7 @@ struct _Evas_Func
    void (*output_idle_flush)               (void *data);
 
    void *(*context_new)                    (void *data);
+   Eina_Bool (*canvas_alpha_get)           (void *data, void *context);
    void (*context_free)                    (void *data, void *context);
    void (*context_clip_set)                (void *data, void *context, int x, int y, int w, int h);
    void (*context_clip_clip)               (void *data, void *context, int x, int y, int w, int h);
@@ -717,7 +704,8 @@ void evas_object_clip_dirty(Evas_Object *obj);
 void evas_object_recalc_clippees(Evas_Object *obj);
 Evas_Layer *evas_layer_new(Evas *e);
 void evas_layer_pre_free(Evas_Layer *lay);
-void evas_layer_free(Evas_Layer *lay);
+void evas_layer_free_objects(Evas_Layer *lay);
+void evas_layer_clean(Evas *e);
 Evas_Layer *evas_layer_find(Evas *e, short layer_num);
 void evas_layer_add(Evas_Layer *lay);
 void evas_layer_del(Evas_Layer *lay);
@@ -779,6 +767,7 @@ Eina_List *evas_font_dir_available_list(const Evas* evas);
 void evas_font_dir_available_list_free(Eina_List *available);
 void evas_font_free(Evas *evas, void *font);
 void evas_fonts_zero_free(Evas *evas);
+void evas_fonts_zero_presure(Evas *evas);
 void *evas_font_load(Evas *evas, const char *name, const char *source, int size);
 void evas_font_load_hinting_set(Evas *evas, void *font, int hinting);
 void evas_object_smart_member_cache_invalidate(Evas_Object *obj);
@@ -787,7 +776,6 @@ void _evas_object_text_rehint(Evas_Object *obj);
 void _evas_object_textblock_rehint(Evas_Object *obj);
 
 extern int _evas_alloc_error;
-extern Eina_Mempool *_evas_rectangle_mp;
 
 struct _Evas_Imaging_Image
 {
diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 0cb8789..9327a9f 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -38,7 +38,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -142,7 +144,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -219,10 +220,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -246,6 +247,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
diff --git a/src/modules/engines/Makefile.am b/src/modules/engines/Makefile.am
index 3ddd1f3..7a20c88 100644
--- a/src/modules/engines/Makefile.am
+++ b/src/modules/engines/Makefile.am
@@ -1,25 +1,65 @@
 MAINTAINERCLEANFILES = Makefile.in
 
-SUBDIRS = \
-software_generic \
-buffer \
-directfb \
-fb \
-gl_common \
-gl_x11 \
-gl_glew \
-software_gdi \
-software_ddraw \
-software_x11 \
-xrender_x11 \
-software_sdl \
-software_16 \
-software_16_x11 \
-direct3d \
-software_16_ddraw \
-software_16_wince \
-software_16_sdl \
-quartz
+SUBDIRS =
+
+if !EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+SUBDIRS += software_generic
+endif
+if !EVAS_STATIC_BUILD_BUFFER
+SUBDIRS += buffer
+endif
+if !EVAS_STATIC_BUILD_DIRECT3D
+SUBDIRS += direct3d
+endif
+if !EVAS_STATIC_BUILD_DIRECTFB
+SUBDIRS += directfb
+endif
+if !EVAS_STATIC_BUILD_FB
+SUBDIRS += fb
+endif
+if !EVAS_STATIC_BUILD_GL_GLEW
+SUBDIRS += gl_common gl_glew
+endif
+if !EVAS_STATIC_BUILD_GL_X11
+SUBDIRS += gl_common gl_x11
+endif
+if !EVAS_STATIC_BUILD_QUARTZ
+SUBDIRS += quartz
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_16
+SUBDIRS += software_16
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+SUBDIRS += software_16_ddraw
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+SUBDIRS += software_16_wince
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_16_X11
+SUBDIRS += software_16_x11
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_SDL
+SUBDIRS += software_16_sdl software_sdl
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+SUBDIRS += software_ddraw
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_GDI
+SUBDIRS += software_gdi
+endif
+if !EVAS_STATIC_BUILD_SOFTWARE_X11
+SUBDIRS += software_x11
+endif
+if !EVAS_STATIC_BUILD_XRENDER_X11
+SUBDIRS += xrender_x11
+endif
+
+
+#if !EVAS_STATIC_BUILD_CAIRO_X11
+#SUBDIRS +=
 #cairo_common
 #cairo_x11
-#software_qtopia
+#endif
+#if !EVAS_STATIC_BUILD_SOFTWARE_QTOPIA
+#SUBDIRS += software_qtopia
+#endif
diff --git a/src/modules/engines/Makefile.in b/src/modules/engines/Makefile.in
index 8cb4485..30c1098 100644
--- a/src/modules/engines/Makefile.in
+++ b/src/modules/engines/Makefile.in
@@ -31,6 +31,23 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@am__append_1 = software_generic
+ at EVAS_STATIC_BUILD_BUFFER_FALSE@am__append_2 = buffer
+ at EVAS_STATIC_BUILD_DIRECT3D_FALSE@am__append_3 = direct3d
+ at EVAS_STATIC_BUILD_DIRECTFB_FALSE@am__append_4 = directfb
+ at EVAS_STATIC_BUILD_FB_FALSE@am__append_5 = fb
+ at EVAS_STATIC_BUILD_GL_GLEW_FALSE@am__append_6 = gl_common gl_glew
+ at EVAS_STATIC_BUILD_GL_X11_FALSE@am__append_7 = gl_common gl_x11
+ at EVAS_STATIC_BUILD_QUARTZ_FALSE@am__append_8 = quartz
+ at EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@am__append_9 = software_16
+ at EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@am__append_10 = software_16_ddraw
+ at EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@am__append_11 = software_16_wince
+ at EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@am__append_12 = software_16_x11
+ at EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@am__append_13 = software_16_sdl software_sdl
+ at EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@am__append_14 = software_ddraw
+ at EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@am__append_15 = software_gdi
+ at EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@am__append_16 = software_x11
+ at EVAS_STATIC_BUILD_XRENDER_X11_FALSE@am__append_17 = xrender_x11
 subdir = src/modules/engines
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -38,7 +55,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -60,7 +79,10 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = software_generic buffer direct3d directfb fb gl_common \
+	gl_glew gl_x11 quartz software_16 software_16_ddraw \
+	software_16_wince software_16_x11 software_16_sdl software_sdl \
+	software_ddraw software_gdi software_x11 xrender_x11
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -142,7 +164,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -219,10 +240,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -246,6 +267,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -280,27 +303,12 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 version_info = @version_info@
 MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = \
-software_generic \
-buffer \
-directfb \
-fb \
-gl_common \
-gl_x11 \
-gl_glew \
-software_gdi \
-software_ddraw \
-software_x11 \
-xrender_x11 \
-software_sdl \
-software_16 \
-software_16_x11 \
-direct3d \
-software_16_ddraw \
-software_16_wince \
-software_16_sdl \
-quartz
-
+SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \
+	$(am__append_4) $(am__append_5) $(am__append_6) \
+	$(am__append_7) $(am__append_8) $(am__append_9) \
+	$(am__append_10) $(am__append_11) $(am__append_12) \
+	$(am__append_13) $(am__append_14) $(am__append_15) \
+	$(am__append_16) $(am__append_17)
 all: all-recursive
 
 .SUFFIXES:
@@ -614,9 +622,15 @@ uninstall-am:
 	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
 	uninstall uninstall-am
 
+
+#if !EVAS_STATIC_BUILD_CAIRO_X11
+#SUBDIRS +=
 #cairo_common
 #cairo_x11
-#software_qtopia
+#endif
+#if !EVAS_STATIC_BUILD_SOFTWARE_QTOPIA
+#SUBDIRS += software_qtopia
+#endif
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/src/modules/engines/buffer/Makefile.am b/src/modules/engines/buffer/Makefile.am
index 7d9b7c9..371eabd 100644
--- a/src/modules/engines/buffer/Makefile.am
+++ b/src/modules/engines/buffer/Makefile.am
@@ -13,20 +13,30 @@ AM_CFLAGS = @WIN32_CFLAGS@
 
 if BUILD_ENGINE_BUFFER
 
+BUFFER_SOURCES = \
+evas_engine.c \
+evas_outbuf.c
+
 pkgdir = $(libdir)/evas/modules/engines/buffer/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
+include_HEADERS = Evas_Engine_Buffer.h
 
-module_la_SOURCES = \
-evas_engine.c \
-evas_outbuf.c
+if !EVAS_STATIC_BUILD_BUFFER
 
+pkg_LTLIBRARIES = module.la
+
+module_la_SOURCES = $(BUFFER_SOURCES)
 module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@
 module_la_LDFLAGS =  -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Buffer.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_buffer.la
+
+libevas_engine_buffer_la_SOURCES = $(BUFFER_SOURCES)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/buffer/Makefile.in b/src/modules/engines/buffer/Makefile.in
index 113f84e..6fc66e3 100644
--- a/src/modules/engines/buffer/Makefile.in
+++ b/src/modules/engines/buffer/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,18 +60,27 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_BUFFER_TRUE@module_la_DEPENDENCIES =  \
- at BUILD_ENGINE_BUFFER_TRUE@	$(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_engine_buffer_la_LIBADD =
+am__libevas_engine_buffer_la_SOURCES_DIST = evas_engine.c \
+	evas_outbuf.c
+ at BUILD_ENGINE_BUFFER_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_BUFFER_TRUE@	evas_outbuf.lo
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_TRUE at am_libevas_engine_buffer_la_OBJECTS = $(am__objects_1)
+libevas_engine_buffer_la_OBJECTS =  \
+	$(am_libevas_engine_buffer_la_OBJECTS)
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_TRUE at am_libevas_engine_buffer_la_rpath =
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_outbuf.c
- at BUILD_ENGINE_BUFFER_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_BUFFER_TRUE@	module_la-evas_engine.lo \
+ at BUILD_ENGINE_BUFFER_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_BUFFER_TRUE@	module_la-evas_outbuf.lo
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_BUFFER_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -82,8 +93,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_buffer_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_buffer_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Buffer.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -170,7 +182,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -247,10 +258,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -274,6 +285,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -317,16 +330,19 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
- at BUILD_ENGINE_BUFFER_TRUE@pkgdir = $(libdir)/evas/modules/engines/buffer/$(MODULE_ARCH)
- at BUILD_ENGINE_BUFFER_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_BUFFER_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_BUFFER_TRUE@BUFFER_SOURCES = \
 @BUILD_ENGINE_BUFFER_TRUE at evas_engine.c \
 @BUILD_ENGINE_BUFFER_TRUE at evas_outbuf.c
 
- at BUILD_ENGINE_BUFFER_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@
- at BUILD_ENGINE_BUFFER_TRUE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
- at BUILD_ENGINE_BUFFER_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_BUFFER_TRUE@pkgdir = $(libdir)/evas/modules/engines/buffer/$(MODULE_ARCH)
 @BUILD_ENGINE_BUFFER_TRUE at include_HEADERS = Evas_Engine_Buffer.h
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at module_la_SOURCES = $(BUFFER_SOURCES)
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_TRUE at noinst_LTLIBRARIES = libevas_engine_buffer.la
+ at BUILD_ENGINE_BUFFER_TRUE@@EVAS_STATIC_BUILD_BUFFER_TRUE at libevas_engine_buffer_la_SOURCES = $(BUFFER_SOURCES)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -361,6 +377,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -388,6 +413,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_buffer.la: $(libevas_engine_buffer_la_OBJECTS) $(libevas_engine_buffer_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_buffer_la_rpath) $(libevas_engine_buffer_la_OBJECTS) $(libevas_engine_buffer_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -397,6 +424,8 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_outbuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_outbuf.Plo at am__quote@
 
@@ -565,8 +594,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -625,15 +654,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/buffer/evas_engine.c b/src/modules/engines/buffer/evas_engine.c
index e5af0cc..866c231 100644
--- a/src/modules/engines/buffer/evas_engine.c
+++ b/src/modules/engines/buffer/evas_engine.c
@@ -322,8 +322,19 @@ eng_output_idle_flush(void *data)
    re = (Render_Engine *)data;
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   if (re->ob->priv.back_buf)
+     return re->ob->priv.back_buf->cache_entry.flags.alpha;
+   return EINA_TRUE;
+}
+
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -336,6 +347,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -351,15 +363,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi = 
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION, 
-     EVAS_MODULE_TYPE_ENGINE,
-     "buffer",
-     "none"
+   EVAS_MODULE_API_VERSION,
+   "buffer",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, buffer);
+
+#ifndef EVAS_STATIC_BUILD_BUFFER
+EVAS_EINA_MODULE_DEFINE(engine, buffer);
+#endif
+
diff --git a/src/modules/engines/buffer/evas_outbuf.c b/src/modules/engines/buffer/evas_outbuf.c
index 93f8db4..25bc120 100644
--- a/src/modules/engines/buffer/evas_outbuf.c
+++ b/src/modules/engines/buffer/evas_outbuf.c
@@ -81,18 +81,6 @@ evas_buffer_outbuf_buf_new_region_for_update(Outbuf *buf, int x, int y, int w, i
    if (buf->priv.back_buf)
      {
 	*cx = x; *cy = y; *cw = w; *ch = h;
-	if (buf->priv.back_buf->cache_entry.flags.alpha)
-	  {
-	     int  ww = w;
-	     ptr = buf->priv.back_buf->image.data + (y * buf->priv.back_buf->cache_entry.w) + x;
-	     while (h--)
-	       {
-		  while (w--)
-		    *ptr++ = 0;
-		  w = ww;
-		  ptr += (buf->priv.back_buf->cache_entry.w - w);
-	       }
-	  }
 	return buf->priv.back_buf;
      }
    else
@@ -106,10 +94,6 @@ evas_buffer_outbuf_buf_new_region_for_update(Outbuf *buf, int x, int y, int w, i
 	       {
 		  im->cache_entry.flags.alpha = 1;
                   im = (RGBA_Image *) evas_cache_image_size_set(&im->cache_entry, w, h);
-                  if (im)
-                    {
-                       memset(im->image.data, 0, w * h * sizeof(DATA32));
-                    }
                }
           }
      }
diff --git a/src/modules/engines/direct3d/Makefile.am b/src/modules/engines/direct3d/Makefile.am
index fda6fac..26ec71f 100644
--- a/src/modules/engines/direct3d/Makefile.am
+++ b/src/modules/engines/direct3d/Makefile.am
@@ -12,10 +12,7 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_DIRECT3D
 
-pkgdir = $(libdir)/evas/modules/engines/direct3d/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = \
+DIRECT3D_SOURCES = \
 evas_engine.c \
 evas_direct3d_context.cpp \
 evas_direct3d_device.cpp \
@@ -30,13 +27,29 @@ evas_direct3d_scene.cpp \
 evas_direct3d_shader_pack.cpp \
 evas_direct3d_vertex_buffer_cache.cpp
 
+DIRECT3D_LIBADD = @evas_engine_direct3d_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/direct3d/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Direct3D.h
+
+if !EVAS_STATIC_BUILD_DIRECT3D
+
+pkg_LTLIBRARIES = module.la
+module_la_SOURCES = $(DIRECT3D_SOURCES)
 module_la_CXXFLAGS = -fno-exceptions
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_direct3d_libs@
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la $(DIRECT3D_LIBADD) @EINA_LIBS@
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Direct3D.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_direct3d.la
+
+libevas_engine_direct3d_la_SOURCES = $(DIRECT3D_SOURCES)
+libevas_engine_direct3d_la_LIBADD = $(DIRECT3D_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/direct3d/Makefile.in b/src/modules/engines/direct3d/Makefile.in
index 41494a5..ba87ca5 100644
--- a/src/modules/engines/direct3d/Makefile.in
+++ b/src/modules/engines/direct3d/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,8 +60,36 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at libevas_engine_direct3d_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_direct3d_la_SOURCES_DIST = evas_engine.c \
+	evas_direct3d_context.cpp evas_direct3d_device.cpp \
+	evas_direct3d_image_cache.cpp evas_direct3d_main.cpp \
+	evas_direct3d_object.cpp evas_direct3d_object_font.cpp \
+	evas_direct3d_object_image.cpp evas_direct3d_object_line.cpp \
+	evas_direct3d_object_rect.cpp evas_direct3d_scene.cpp \
+	evas_direct3d_shader_pack.cpp \
+	evas_direct3d_vertex_buffer_cache.cpp
+ at BUILD_ENGINE_DIRECT3D_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_context.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_device.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_image_cache.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_main.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_object.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_object_font.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_object_image.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_object_line.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_object_rect.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_scene.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_shader_pack.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@	evas_direct3d_vertex_buffer_cache.lo
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at am_libevas_engine_direct3d_la_OBJECTS = $(am__objects_1)
+libevas_engine_direct3d_la_OBJECTS =  \
+	$(am_libevas_engine_direct3d_la_OBJECTS)
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at am_libevas_engine_direct3d_la_rpath =
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c evas_direct3d_context.cpp \
 	evas_direct3d_device.cpp evas_direct3d_image_cache.cpp \
 	evas_direct3d_main.cpp evas_direct3d_object.cpp \
@@ -67,8 +97,7 @@ am__module_la_SOURCES_DIST = evas_engine.c evas_direct3d_context.cpp \
 	evas_direct3d_object_line.cpp evas_direct3d_object_rect.cpp \
 	evas_direct3d_scene.cpp evas_direct3d_shader_pack.cpp \
 	evas_direct3d_vertex_buffer_cache.cpp
- at BUILD_ENGINE_DIRECT3D_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_engine.lo \
+ at BUILD_ENGINE_DIRECT3D_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_context.lo \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_device.lo \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_image_cache.lo \
@@ -81,11 +110,13 @@ am__module_la_SOURCES_DIST = evas_engine.c evas_direct3d_context.cpp \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_scene.lo \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_shader_pack.lo \
 @BUILD_ENGINE_DIRECT3D_TRUE@	module_la-evas_direct3d_vertex_buffer_cache.lo
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CXX $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(module_la_CXXFLAGS) \
 	$(CXXFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_DIRECT3D_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -107,8 +138,9 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_direct3d_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_direct3d_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Direct3D.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -195,7 +227,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -272,10 +303,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -299,6 +330,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -342,9 +375,7 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_direct3d_cflags@
 
- at BUILD_ENGINE_DIRECT3D_TRUE@pkgdir = $(libdir)/evas/modules/engines/direct3d/$(MODULE_ARCH)
- at BUILD_ENGINE_DIRECT3D_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_DIRECT3D_TRUE@DIRECT3D_SOURCES = \
 @BUILD_ENGINE_DIRECT3D_TRUE at evas_engine.c \
 @BUILD_ENGINE_DIRECT3D_TRUE at evas_direct3d_context.cpp \
 @BUILD_ENGINE_DIRECT3D_TRUE at evas_direct3d_device.cpp \
@@ -359,11 +390,18 @@ AM_CPPFLAGS = \
 @BUILD_ENGINE_DIRECT3D_TRUE at evas_direct3d_shader_pack.cpp \
 @BUILD_ENGINE_DIRECT3D_TRUE at evas_direct3d_vertex_buffer_cache.cpp
 
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_CXXFLAGS = -fno-exceptions
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_direct3d_libs@
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_DIRECT3D_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_DIRECT3D_TRUE@DIRECT3D_LIBADD = @evas_engine_direct3d_libs@
+ at BUILD_ENGINE_DIRECT3D_TRUE@pkgdir = $(libdir)/evas/modules/engines/direct3d/$(MODULE_ARCH)
 @BUILD_ENGINE_DIRECT3D_TRUE at include_HEADERS = Evas_Engine_Direct3D.h
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_SOURCES = $(DIRECT3D_SOURCES)
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_CXXFLAGS = -fno-exceptions
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la $(DIRECT3D_LIBADD) @EINA_LIBS@
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at noinst_LTLIBRARIES = libevas_engine_direct3d.la
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at libevas_engine_direct3d_la_SOURCES = $(DIRECT3D_SOURCES)
+ at BUILD_ENGINE_DIRECT3D_TRUE@@EVAS_STATIC_BUILD_DIRECT3D_TRUE at libevas_engine_direct3d_la_LIBADD = $(DIRECT3D_LIBADD)
 EXTRA_DIST = \
 array.h \
 evas_direct3d_context.h \
@@ -413,6 +451,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -440,6 +487,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_direct3d.la: $(libevas_engine_direct3d_la_OBJECTS) $(libevas_engine_direct3d_la_DEPENDENCIES) 
+	$(CXXLINK) $(am_libevas_engine_direct3d_la_rpath) $(libevas_engine_direct3d_la_OBJECTS) $(libevas_engine_direct3d_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -449,6 +498,19 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_context.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_device.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_image_cache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_object.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_object_font.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_object_image.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_object_line.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_object_rect.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_scene.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_shader_pack.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_direct3d_vertex_buffer_cache.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_direct3d_context.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_direct3d_device.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_direct3d_image_cache.Plo at am__quote@
@@ -726,8 +788,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -786,15 +848,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/direct3d/evas_engine.c b/src/modules/engines/direct3d/evas_engine.c
index 6ff9021..736d3b7 100644
--- a/src/modules/engines/direct3d/evas_engine.c
+++ b/src/modules/engines/direct3d/evas_engine.c
@@ -527,7 +527,7 @@ eng_gradient2_radial_draw(void *data, void *context, void *surface, void *radial
 
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -600,15 +600,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
-   "direct3d",
-   "none"
+  EVAS_MODULE_API_VERSION,
+  "direct3d",
+  "none",
+  {
+    module_open,
+    module_close
+  }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, direct3d);
+
+#ifndef EVAS_STATIC_BUILD_DIRECT3D
+EVAS_EINA_MODULE_DEFINE(engine, direct3d);
+#endif
diff --git a/src/modules/engines/directfb/Makefile.am b/src/modules/engines/directfb/Makefile.am
index a6bee07..c4b7a5e 100644
--- a/src/modules/engines/directfb/Makefile.am
+++ b/src/modules/engines/directfb/Makefile.am
@@ -14,18 +14,31 @@ AM_CFLAGS = @WIN32_CFLAGS@
 
 if BUILD_ENGINE_DIRECTFB
 
+DIRECTFB_SOURCES = evas_engine.c polygon.c
+DIRECTFB_LIBADD = @evas_engine_directfb_libs@
+
 pkgdir = $(libdir)/evas/modules/engines/directfb/$(MODULE_ARCH)
 
+include_HEADERS = Evas_Engine_DirectFB.h
+
+if !EVAS_STATIC_BUILD_DIRECTFB
+
 pkg_LTLIBRARIES = module.la
 
-module_la_SOURCES  = evas_engine.c polygon.c
+module_la_SOURCES  = $(DIRECTFB_SOURCES)
 
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_directfb_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ $(DIRECTFB_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_DirectFB.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_directfb.la
 
+libevas_engine_directfb_la_SOURCES = $(DIRECTFB_SOURCES)
+libevas_engine_directfb_la_LIBADD = $(DIRECTFB_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/directfb/Makefile.in b/src/modules/engines/directfb/Makefile.in
index 8ddb299..aeb8dd5 100644
--- a/src/modules/engines/directfb/Makefile.in
+++ b/src/modules/engines/directfb/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,17 +60,27 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_DIRECTFB_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at libevas_engine_directfb_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_directfb_la_SOURCES_DIST = evas_engine.c polygon.c
+ at BUILD_ENGINE_DIRECTFB_TRUE@am__objects_1 = evas_engine.lo polygon.lo
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at am_libevas_engine_directfb_la_OBJECTS = $(am__objects_1)
+libevas_engine_directfb_la_OBJECTS =  \
+	$(am_libevas_engine_directfb_la_OBJECTS)
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at am_libevas_engine_directfb_la_rpath =
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c polygon.c
- at BUILD_ENGINE_DIRECTFB_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_DIRECTFB_TRUE@	module_la-evas_engine.lo \
+ at BUILD_ENGINE_DIRECTFB_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_DIRECTFB_TRUE@	module_la-polygon.lo
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_DIRECTFB_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -81,8 +93,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_directfb_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_directfb_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_DirectFB.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -169,7 +182,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -246,10 +258,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -273,6 +285,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -317,13 +331,18 @@ AM_CPPFLAGS = \
 @evas_engine_directfb_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
+ at BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_SOURCES = evas_engine.c polygon.c
+ at BUILD_ENGINE_DIRECTFB_TRUE@DIRECTFB_LIBADD = @evas_engine_directfb_libs@
 @BUILD_ENGINE_DIRECTFB_TRUE at pkgdir = $(libdir)/evas/modules/engines/directfb/$(MODULE_ARCH)
- at BUILD_ENGINE_DIRECTFB_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_DIRECTFB_TRUE@module_la_SOURCES = evas_engine.c polygon.c
- at BUILD_ENGINE_DIRECTFB_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_directfb_libs@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_DIRECTFB_TRUE@module_la_LDFLAGS = -module -avoid-version
- at BUILD_ENGINE_DIRECTFB_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
 @BUILD_ENGINE_DIRECTFB_TRUE at include_HEADERS = Evas_Engine_DirectFB.h
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at module_la_SOURCES = $(DIRECTFB_SOURCES)
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at module_la_LIBADD = @EINA_LIBS@ $(DIRECTFB_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at module_la_LDFLAGS = -module -avoid-version
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at noinst_LTLIBRARIES = libevas_engine_directfb.la
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at libevas_engine_directfb_la_SOURCES = $(DIRECTFB_SOURCES)
+ at BUILD_ENGINE_DIRECTFB_TRUE@@EVAS_STATIC_BUILD_DIRECTFB_TRUE at libevas_engine_directfb_la_LIBADD = $(DIRECTFB_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -358,6 +377,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -385,6 +413,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_directfb.la: $(libevas_engine_directfb_la_OBJECTS) $(libevas_engine_directfb_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_directfb_la_rpath) $(libevas_engine_directfb_la_OBJECTS) $(libevas_engine_directfb_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -394,8 +424,10 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-polygon.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polygon.Plo at am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -562,8 +594,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -622,15 +654,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/directfb/evas_engine.c b/src/modules/engines/directfb/evas_engine.c
index aff909b..1a9a489 100644
--- a/src/modules/engines/directfb/evas_engine.c
+++ b/src/modules/engines/directfb/evas_engine.c
@@ -29,15 +29,6 @@ static IDirectFB *dfb = NULL; /* XXX HACK to work around evas image cache
  * Evas helpers
  **********************************************************************/
 static void
-_rect_set(Evas_Rectangle *r, int x, int y, int w, int h)
-{
-   r->x = x;
-   r->y = y;
-   r->w = w;
-   r->h = h;
-}
-
-static void
 _context_get_color(RGBA_Draw_Context *dc, int *r, int *g, int *b, int *a)
 {
    DATA32 col;
@@ -689,7 +680,7 @@ evas_engine_dfb_info_free(Evas *e __UNUSED__, void *in)
    free(info);
 }
 
-static Evas_Bool
+static Eina_Bool
 _is_dfb_data_ok(IDirectFB *idfb, IDirectFBSurface *surface, int w, int h)
 {
    DFBResult r;
@@ -698,14 +689,14 @@ _is_dfb_data_ok(IDirectFB *idfb, IDirectFBSurface *surface, int w, int h)
    if (!idfb)
      {
 	fputs("ERROR: missing IDirectFB\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
    dfb = idfb;
 
    if (!surface)
      {
 	fputs("ERROR: missing IDirectFBSurface\n", stderr);
-	return 0;
+	return EINA_FALSE;
      }
 
    r = surface->GetSize(surface, &sw, &sh);
@@ -713,7 +704,7 @@ _is_dfb_data_ok(IDirectFB *idfb, IDirectFBSurface *surface, int w, int h)
      {
 	fprintf(stderr, "ERROR: could not get surface %p size: %s\n",
 		surface, DirectFBErrorString(r));
-	return 0;
+	return EINA_FALSE;
      }
 
    if ((w > sw) || (h > sh))
@@ -721,7 +712,7 @@ _is_dfb_data_ok(IDirectFB *idfb, IDirectFBSurface *surface, int w, int h)
 	fprintf(stderr,
 		"ERROR: requested size is larger than surface: %dx%d > %dx%d\n",
 		w, h, sw, sh);
-	return 0;
+	return EINA_FALSE;
      }
    else if ((w <= 0) || (h <= 0))
      {
@@ -729,7 +720,7 @@ _is_dfb_data_ok(IDirectFB *idfb, IDirectFBSurface *surface, int w, int h)
 	h = sh;
      }
 
-   return 1;
+   return EINA_TRUE;
 }
 
 static void
@@ -950,8 +941,6 @@ evas_engine_dfb_output_redraws_next_update_get(void *data, int *x, int *y, int *
 	re->end = 1;
      }
 
-   _image_clear(re->screen_image, *x, *y, *w, *h );
-
    return re->screen_image->surface;
 }
 
@@ -1070,7 +1059,7 @@ evas_engine_dfb_font_draw(void *data, void *context, void *surface, void *font,
 static void
 _cb_draw_line(IDirectFBSurface *surface, RGBA_Draw_Context *dc __UNUSED__, const DFBRegion *region __UNUSED__, void *data)
 {
-   const Evas_Rectangle *r = data;
+   const Eina_Rectangle *r = data;
 
    surface->DrawLine(surface, r->x, r->y, r->w, r->h); /* x2, y2 really */
 }
@@ -1079,12 +1068,12 @@ static void
 evas_engine_dfb_line_draw(void *data __UNUSED__, void *context, void *surface, int x1, int y1, int x2, int y2)
 {
    IDirectFBSurface *screen = surface;
-   Evas_Rectangle r;
+   Eina_Rectangle r;
 
    if (!_dfb_surface_set_color_from_context(screen, context))
      return;
 
-   _rect_set(&r, x1, y1, x2, y2); /* x2, y2 (ab)used as w, h */
+   EINA_RECTANGLE_SET(&r, x1, y1, x2, y2); /* x2, y2 (ab)used as w, h */
    _dfb_surface_for_each_cutout(screen, context, _cb_draw_line, &r);
 }
 
@@ -1092,7 +1081,7 @@ evas_engine_dfb_line_draw(void *data __UNUSED__, void *context, void *surface, i
 static void
 _cb_draw_rectangle(IDirectFBSurface *surface, RGBA_Draw_Context *dc __UNUSED__, const DFBRegion *region __UNUSED__, void *data)
 {
-   const Evas_Rectangle *r = data;
+   const Eina_Rectangle *r = data;
 
    surface->FillRectangle(surface, r->x, r->y, r->w, r->h);
 }
@@ -1101,12 +1090,12 @@ static void
 evas_engine_dfb_rectangle_draw(void *data __UNUSED__, void *context, void *surface, int x, int y, int w, int h)
 {
    IDirectFBSurface *screen = surface;
-   Evas_Rectangle r;
+   Eina_Rectangle r;
 
    if (!_dfb_surface_set_color_from_context(screen, context))
      return;
 
-   _rect_set(&r, x, y, w, h);
+   EINA_RECTANGLE_SET(&r, x, y, w, h);
    _dfb_surface_for_each_cutout(screen, context, _cb_draw_rectangle, &r);
 }
 #else
@@ -1611,7 +1600,15 @@ evas_engine_dfb_image_scale_hint_get(void *data __UNUSED__, void *image)
    return EVAS_IMAGE_SCALE_HINT_NONE;
 }
 
-EAPI int
+static Eina_Bool
+evas_engine_dfb_canvas_alpha_get(void *data, void *context)
+{
+   Render_Engine *re = data;
+
+   return re->screen_image->cache_entry.src->flags.alpha;
+}
+
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1666,15 +1663,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
-   "directfb",
-   "ProFUSION embedded systems"
+  EVAS_MODULE_API_VERSION,
+  "directfb",
+  "ProFUSION embedded systems",
+  {
+    module_open,
+    module_close
+  }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, directfb);
+
+#ifndef EVAS_STATIC_BUILD_DIRECTFB
+EVAS_EINA_MODULE_DEFINE(engine, directfb);
+#endif
diff --git a/src/modules/engines/directfb/evas_engine.h b/src/modules/engines/directfb/evas_engine.h
index ff964e2..dff4a1f 100644
--- a/src/modules/engines/directfb/evas_engine.h
+++ b/src/modules/engines/directfb/evas_engine.h
@@ -13,8 +13,8 @@ struct _DirectFB_Engine_Image_Entry
 
    struct
    {
-      Evas_Bool                   engine_surface : 1;
-      Evas_Bool                   is_locked : 1;
+      Eina_Bool                   engine_surface : 1;
+      Eina_Bool                   is_locked : 1;
    } flags;
 };
 
@@ -35,7 +35,7 @@ struct _Render_Engine
    unsigned int                  update_regions_count;
    unsigned int                  update_regions_limit;
 
-   Evas_Bool                     end : 1;
+   Eina_Bool                     end : 1;
 };
 
 int _dfb_surface_set_color_from_context(IDirectFBSurface *surface, RGBA_Draw_Context *dc);
diff --git a/src/modules/engines/fb/Makefile.am b/src/modules/engines/fb/Makefile.am
index 327e96f..6779773 100644
--- a/src/modules/engines/fb/Makefile.am
+++ b/src/modules/engines/fb/Makefile.am
@@ -12,20 +12,33 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_FB
 
-pkgdir = $(libdir)/evas/modules/engines/fb/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = \
+FB_SOURCES = \
 evas_engine.c \
 evas_fb_main.c \
 evas_outbuf.c
 
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_fb_libs@ $(top_builddir)/src/lib/libevas.la
+FB_LIBADD = @evas_engine_fb_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/fb/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_FB.h
+
+if !EVAS_STATIC_BUILD_FB
+
+pkg_LTLIBRARIES = module.la
+module_la_SOURCES = $(FB_SOURCES)
+module_la_LIBADD = @EINA_LIBS@ $(FB_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_FB.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_fb.la
+
+libevas_engine_fb_la_SOURCES = $(FB_SOURCES)
+libevas_engine_fb_la_LIBADD = $(FB_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/fb/Makefile.in b/src/modules/engines/fb/Makefile.in
index b996d3c..8dd611f 100644
--- a/src/modules/engines/fb/Makefile.in
+++ b/src/modules/engines/fb/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,19 +60,31 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_FB_TRUE@module_la_DEPENDENCIES =  \
- at BUILD_ENGINE_FB_TRUE@	$(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at libevas_engine_fb_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_fb_la_SOURCES_DIST = evas_engine.c evas_fb_main.c \
+	evas_outbuf.c
+ at BUILD_ENGINE_FB_TRUE@am__objects_1 = evas_engine.lo evas_fb_main.lo \
+ at BUILD_ENGINE_FB_TRUE@	evas_outbuf.lo
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at am_libevas_engine_fb_la_OBJECTS = $(am__objects_1)
+libevas_engine_fb_la_OBJECTS = $(am_libevas_engine_fb_la_OBJECTS)
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at am_libevas_engine_fb_la_rpath =
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_fb_main.c \
 	evas_outbuf.c
- at BUILD_ENGINE_FB_TRUE@am_module_la_OBJECTS = module_la-evas_engine.lo \
+ at BUILD_ENGINE_FB_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_FB_TRUE@	module_la-evas_fb_main.lo \
 @BUILD_ENGINE_FB_TRUE@	module_la-evas_outbuf.lo
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_FB_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at am_module_la_rpath =  \
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE@	-rpath \
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -83,8 +97,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_fb_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_fb_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_FB.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -171,7 +186,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -248,10 +262,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -275,6 +289,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -318,17 +334,22 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@ \
 @evas_engine_fb_cflags@
 
- at BUILD_ENGINE_FB_TRUE@pkgdir = $(libdir)/evas/modules/engines/fb/$(MODULE_ARCH)
- at BUILD_ENGINE_FB_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_FB_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_FB_TRUE@FB_SOURCES = \
 @BUILD_ENGINE_FB_TRUE at evas_engine.c \
 @BUILD_ENGINE_FB_TRUE at evas_fb_main.c \
 @BUILD_ENGINE_FB_TRUE at evas_outbuf.c
 
- at BUILD_ENGINE_FB_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_fb_libs@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_FB_TRUE@module_la_LDFLAGS = -module -avoid-version
- at BUILD_ENGINE_FB_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_FB_TRUE@FB_LIBADD = @evas_engine_fb_libs@
+ at BUILD_ENGINE_FB_TRUE@pkgdir = $(libdir)/evas/modules/engines/fb/$(MODULE_ARCH)
 @BUILD_ENGINE_FB_TRUE at include_HEADERS = Evas_Engine_FB.h
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at module_la_SOURCES = $(FB_SOURCES)
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at module_la_LIBADD = @EINA_LIBS@ $(FB_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at module_la_LDFLAGS = -module -avoid-version
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at noinst_LTLIBRARIES = libevas_engine_fb.la
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at libevas_engine_fb_la_SOURCES = $(FB_SOURCES)
+ at BUILD_ENGINE_FB_TRUE@@EVAS_STATIC_BUILD_FB_TRUE at libevas_engine_fb_la_LIBADD = $(FB_LIBADD)
 EXTRA_DIST = \
 evas_engine.h \
 evas_fb.h
@@ -366,6 +387,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -393,6 +423,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_fb.la: $(libevas_engine_fb_la_OBJECTS) $(libevas_engine_fb_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_fb_la_rpath) $(libevas_engine_fb_la_OBJECTS) $(libevas_engine_fb_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -402,6 +434,9 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_fb_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_outbuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_fb_main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_outbuf.Plo at am__quote@
@@ -578,8 +613,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -638,15 +673,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/fb/evas_engine.c b/src/modules/engines/fb/evas_engine.c
index 3307611..17e5c01 100644
--- a/src/modules/engines/fb/evas_engine.c
+++ b/src/modules/engines/fb/evas_engine.c
@@ -247,8 +247,17 @@ eng_output_idle_flush(void *data)
    re = (Render_Engine *)data;
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   return (re->ob->priv.fb.fb->fb_var.transp.length > 0);
+}
+
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -261,6 +270,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -276,15 +286,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi = 
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION, 
-     EVAS_MODULE_TYPE_ENGINE,
-     "fb",
-     "none"
+  EVAS_MODULE_API_VERSION,
+  "fb",
+  "none",
+  {
+    module_open,
+    module_close
+  }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, fb);
+
+#ifndef EVAS_STATIC_BUILD_FB
+EVAS_EINA_MODULE_DEFINE(engine, fb);
+#endif
diff --git a/src/modules/engines/fb/evas_outbuf.c b/src/modules/engines/fb/evas_outbuf.c
index 4a85b94..3225024 100644
--- a/src/modules/engines/fb/evas_outbuf.c
+++ b/src/modules/engines/fb/evas_outbuf.c
@@ -220,10 +220,6 @@ evas_fb_outbuf_fb_new_region_for_update(Outbuf *buf, int x, int y, int w, int h,
         im->cache_entry.flags.alpha = 1;
         im = (RGBA_Image *) evas_cache_image_size_set(&im->cache_entry, w, h);
 
-        /* handle framebuffers with alpha channel */
-        if (buf->priv.fb.fb->fb_var.transp.length > 0) {
-           memset(im->image.data, 0, w * h * sizeof(DATA32));
-        }
         return im;
      }
    return NULL;
diff --git a/src/modules/engines/gl_common/Makefile.am b/src/modules/engines/gl_common/Makefile.am
index 1249f9e..ddce599 100644
--- a/src/modules/engines/gl_common/Makefile.am
+++ b/src/modules/engines/gl_common/Makefile.am
@@ -22,7 +22,7 @@ evas_gl_polygon.c \
 evas_gl_rectangle.c \
 evas_gl_texture.c
 
-libevas_engine_gl_common_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_common_libs@ $(top_builddir)/src/lib/libevas.la
+libevas_engine_gl_common_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_common_libs@
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/gl_common/Makefile.in b/src/modules/engines/gl_common/Makefile.in
index d1e2d73..f0cceb7 100644
--- a/src/modules/engines/gl_common/Makefile.in
+++ b/src/modules/engines/gl_common/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -49,7 +51,7 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 LTLIBRARIES = $(noinst_LTLIBRARIES)
- at BUILD_ENGINE_GL_COMMON_TRUE@libevas_engine_gl_common_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+libevas_engine_gl_common_la_DEPENDENCIES =
 am__libevas_engine_gl_common_la_SOURCES_DIST = evas_gl_context.c \
 	evas_gl_font.c evas_gl_gradient.c evas_gl_image.c \
 	evas_gl_line.c evas_gl_misc.c evas_gl_polygon.c \
@@ -163,7 +165,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -240,10 +241,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -267,6 +268,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -320,7 +323,7 @@ AM_CPPFLAGS = \
 @BUILD_ENGINE_GL_COMMON_TRUE at evas_gl_rectangle.c \
 @BUILD_ENGINE_GL_COMMON_TRUE at evas_gl_texture.c
 
- at BUILD_ENGINE_GL_COMMON_TRUE@libevas_engine_gl_common_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_common_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_GL_COMMON_TRUE@libevas_engine_gl_common_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_common_libs@
 EXTRA_DIST = \
 evas_gl_private.h \
 evas_gl_common.h
diff --git a/src/modules/engines/gl_common/evas_gl_common.h b/src/modules/engines/gl_common/evas_gl_common.h
index 1fd8b97..926c346 100644
--- a/src/modules/engines/gl_common/evas_gl_common.h
+++ b/src/modules/engines/gl_common/evas_gl_common.h
@@ -143,7 +143,7 @@ struct _Evas_GL_Polygon
 {
    Eina_List *points;
    GLuint     dl;
-   Evas_Bool  changed : 1;
+   Eina_Bool  changed : 1;
 };
 
 struct _Evas_GL_Polygon_Point
diff --git a/src/modules/engines/gl_glew/Makefile.am b/src/modules/engines/gl_glew/Makefile.am
index 1cf4585..47461a4 100644
--- a/src/modules/engines/gl_glew/Makefile.am
+++ b/src/modules/engines/gl_glew/Makefile.am
@@ -12,20 +12,33 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_GL_GLEW
 
+GL_GLEW_SOURCES = \
+evas_engine.c \
+evas_glew_main.c
+
+GL_GLEW_LIBADD = @evas_engine_gl_glew_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
+
 pkgdir = $(libdir)/evas/modules/engines/gl_glew/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
+include_HEADERS = Evas_Engine_GL_Glew.h
 
-module_la_SOURCES  = \
-evas_engine.c \
-evas_glew_main.c
+if !EVAS_STATIC_BUILD_GL_GLEW
+
+pkg_LTLIBRARIES = module.la
 
-module_la_LIBADD = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la $(top_builddir)/src/lib/libevas.la @evas_engine_gl_glew_libs@
+module_la_SOURCES  = $(GL_GLEW_SOURCES)
+module_la_LIBADD = $(GL_GLEW_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_GL_Glew.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_gl_glew.la
+
+libevas_engine_gl_glew_la_SOURCES = $(GL_GLEW_SOURCES)
+libevas_engine_gl_glew_la_LIBADD = $(GL_GLEW_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/gl_glew/Makefile.in b/src/modules/engines/gl_glew/Makefile.in
index 96e5684..703275a 100644
--- a/src/modules/engines/gl_glew/Makefile.in
+++ b/src/modules/engines/gl_glew/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,18 +60,29 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_GL_GLEW_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la \
- at BUILD_ENGINE_GL_GLEW_TRUE@	$(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ at BUILD_ENGINE_GL_GLEW_TRUE@am__DEPENDENCIES_1 = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at libevas_engine_gl_glew_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_gl_glew_la_SOURCES_DIST = evas_engine.c \
+	evas_glew_main.c
+ at BUILD_ENGINE_GL_GLEW_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_GL_GLEW_TRUE@	evas_glew_main.lo
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at am_libevas_engine_gl_glew_la_OBJECTS = $(am__objects_1)
+libevas_engine_gl_glew_la_OBJECTS =  \
+	$(am_libevas_engine_gl_glew_la_OBJECTS)
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at am_libevas_engine_gl_glew_la_rpath =
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_glew_main.c
- at BUILD_ENGINE_GL_GLEW_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_GL_GLEW_TRUE@	module_la-evas_engine.lo \
+ at BUILD_ENGINE_GL_GLEW_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_GL_GLEW_TRUE@	module_la-evas_glew_main.lo
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_GL_GLEW_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -82,8 +95,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_gl_glew_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_gl_glew_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_GL_Glew.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -170,7 +184,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -247,10 +260,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -274,6 +287,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -317,16 +332,21 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_gl_glew_cflags@
 
- at BUILD_ENGINE_GL_GLEW_TRUE@pkgdir = $(libdir)/evas/modules/engines/gl_glew/$(MODULE_ARCH)
- at BUILD_ENGINE_GL_GLEW_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_GL_GLEW_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_GL_GLEW_TRUE@GL_GLEW_SOURCES = \
 @BUILD_ENGINE_GL_GLEW_TRUE at evas_engine.c \
 @BUILD_ENGINE_GL_GLEW_TRUE at evas_glew_main.c
 
- at BUILD_ENGINE_GL_GLEW_TRUE@module_la_LIBADD = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la $(top_builddir)/src/lib/libevas.la @evas_engine_gl_glew_libs@
- at BUILD_ENGINE_GL_GLEW_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_GL_GLEW_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_GL_GLEW_TRUE@GL_GLEW_LIBADD = @evas_engine_gl_glew_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
+ at BUILD_ENGINE_GL_GLEW_TRUE@pkgdir = $(libdir)/evas/modules/engines/gl_glew/$(MODULE_ARCH)
 @BUILD_ENGINE_GL_GLEW_TRUE at include_HEADERS = Evas_Engine_GL_Glew.h
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at module_la_SOURCES = $(GL_GLEW_SOURCES)
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at module_la_LIBADD = $(GL_GLEW_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at noinst_LTLIBRARIES = libevas_engine_gl_glew.la
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at libevas_engine_gl_glew_la_SOURCES = $(GL_GLEW_SOURCES)
+ at BUILD_ENGINE_GL_GLEW_TRUE@@EVAS_STATIC_BUILD_GL_GLEW_TRUE at libevas_engine_gl_glew_la_LIBADD = $(GL_GLEW_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -361,6 +381,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -388,6 +417,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_gl_glew.la: $(libevas_engine_gl_glew_la_OBJECTS) $(libevas_engine_gl_glew_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_gl_glew_la_rpath) $(libevas_engine_gl_glew_la_OBJECTS) $(libevas_engine_gl_glew_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -397,6 +428,8 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_glew_main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_glew_main.Plo at am__quote@
 
@@ -565,8 +598,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -625,15 +658,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/gl_glew/evas_engine.c b/src/modules/engines/gl_glew/evas_engine.c
index c242576..6386e36 100644
--- a/src/modules/engines/gl_glew/evas_engine.c
+++ b/src/modules/engines/gl_glew/evas_engine.c
@@ -922,8 +922,7 @@ eng_font_draw(void *data, void *context, void *surface, void *font, int x, int y
      }
 }
 
-
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1004,16 +1003,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
    "gl_glew",
-   "none"
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, gl_glew);
+
+#ifndef EVAS_STATIC_BUILD_GL_GLEW
+EVAS_EINA_MODULE_DEFINE(engine, gl_glew);
+#endif
diff --git a/src/modules/engines/gl_x11/Makefile.am b/src/modules/engines/gl_x11/Makefile.am
index d69f6bf..01bf394 100644
--- a/src/modules/engines/gl_x11/Makefile.am
+++ b/src/modules/engines/gl_x11/Makefile.am
@@ -12,20 +12,33 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_GL_X11
 
+GL_X11_SOURCES = \
+evas_engine.c \
+evas_x_main.c
+
+GL_X11_LIBADD = @evas_engine_gl_x11_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la 
+
 pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
+include_HEADERS = Evas_Engine_GL_X11.h
 
-module_la_SOURCES  = \
-evas_engine.c \
-evas_x_main.c
+if !EVAS_STATIC_BUILD_GL_X11
+
+pkg_LTLIBRARIES = module.la
 
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_x11_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la $(top_builddir)/src/lib/libevas.la
+module_la_SOURCES = $(GL_X11_SOURCES)
+module_la_LIBADD = @EINA_LIBS@ $(GL_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_GL_X11.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_gl_x11.la
+
+libevas_engine_gl_x11_la_SOURCES = $(GL_X11_SOURCES)
+libevas_engine_gl_x11_la_LIBADD = $(GL_X11_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/gl_x11/Makefile.in b/src/modules/engines/gl_x11/Makefile.in
index 52fdbe3..a6f7b0b 100644
--- a/src/modules/engines/gl_x11/Makefile.in
+++ b/src/modules/engines/gl_x11/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,18 +60,29 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_GL_X11_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la \
- at BUILD_ENGINE_GL_X11_TRUE@	$(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ at BUILD_ENGINE_GL_X11_TRUE@am__DEPENDENCIES_1 = $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at libevas_engine_gl_x11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_gl_x11_la_SOURCES_DIST = evas_engine.c \
+	evas_x_main.c
+ at BUILD_ENGINE_GL_X11_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_GL_X11_TRUE@	evas_x_main.lo
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at am_libevas_engine_gl_x11_la_OBJECTS = $(am__objects_1)
+libevas_engine_gl_x11_la_OBJECTS =  \
+	$(am_libevas_engine_gl_x11_la_OBJECTS)
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at am_libevas_engine_gl_x11_la_rpath =
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_x_main.c
- at BUILD_ENGINE_GL_X11_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_GL_X11_TRUE@	module_la-evas_engine.lo \
+ at BUILD_ENGINE_GL_X11_TRUE@am__objects_2 = module_la-evas_engine.lo \
 @BUILD_ENGINE_GL_X11_TRUE@	module_la-evas_x_main.lo
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_GL_X11_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -82,8 +95,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_gl_x11_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_gl_x11_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_GL_X11.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -170,7 +184,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -247,10 +260,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -274,6 +287,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -317,16 +332,21 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@ \
 @evas_engine_gl_x11_cflags@
 
- at BUILD_ENGINE_GL_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
- at BUILD_ENGINE_GL_X11_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_GL_X11_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_GL_X11_TRUE@GL_X11_SOURCES = \
 @BUILD_ENGINE_GL_X11_TRUE at evas_engine.c \
 @BUILD_ENGINE_GL_X11_TRUE at evas_x_main.c
 
- at BUILD_ENGINE_GL_X11_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_gl_x11_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_GL_X11_TRUE@module_la_LDFLAGS = -module -avoid-version
- at BUILD_ENGINE_GL_X11_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_GL_X11_TRUE@GL_X11_LIBADD = @evas_engine_gl_x11_libs@ $(top_builddir)/src/modules/engines/gl_common/libevas_engine_gl_common.la 
+ at BUILD_ENGINE_GL_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
 @BUILD_ENGINE_GL_X11_TRUE at include_HEADERS = Evas_Engine_GL_X11.h
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at module_la_SOURCES = $(GL_X11_SOURCES)
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at module_la_LIBADD = @EINA_LIBS@ $(GL_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at module_la_LDFLAGS = -module -avoid-version
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at noinst_LTLIBRARIES = libevas_engine_gl_x11.la
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at libevas_engine_gl_x11_la_SOURCES = $(GL_X11_SOURCES)
+ at BUILD_ENGINE_GL_X11_TRUE@@EVAS_STATIC_BUILD_GL_X11_TRUE at libevas_engine_gl_x11_la_LIBADD = $(GL_X11_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -361,6 +381,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -388,6 +417,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_gl_x11.la: $(libevas_engine_gl_x11_la_OBJECTS) $(libevas_engine_gl_x11_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_gl_x11_la_rpath) $(libevas_engine_gl_x11_la_OBJECTS) $(libevas_engine_gl_x11_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -397,6 +428,8 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_x_main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_x_main.Plo at am__quote@
 
@@ -565,8 +598,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -625,15 +658,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/gl_x11/evas_engine.c b/src/modules/engines/gl_x11/evas_engine.c
index 8934e2d..8eb5576 100644
--- a/src/modules/engines/gl_x11/evas_engine.c
+++ b/src/modules/engines/gl_x11/evas_engine.c
@@ -1086,7 +1086,7 @@ eng_best_depth_get(Display *disp, int screen)
    return _evas_gl_x11_vi->depth;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1189,16 +1189,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_ENGINE,
-     "gl_x11",
-     "none"
+   "gl_x11",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, gl_x11);
+
+#ifndef EVAS_STATIC_BUILD_GL_X11
+EVAS_EINA_MODULE_DEFINE(engine, gl_x11);
+#endif
diff --git a/src/modules/engines/quartz/Makefile.am b/src/modules/engines/quartz/Makefile.am
index fd59260..597e454 100644
--- a/src/modules/engines/quartz/Makefile.am
+++ b/src/modules/engines/quartz/Makefile.am
@@ -11,18 +11,30 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_QUARTZ
 
+QUARTZ_SOURCES = evas_engine.c
+QUARTZ_LIBADD = @evas_engine_quartz_libs@
+
 pkgdir = $(libdir)/evas/modules/engines/quartz/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
+include_HEADERS = Evas_Engine_Quartz.h
 
-module_la_SOURCES  = evas_engine.c
+if !EVAS_STATIC_BUILD_QUARTZ
+
+pkg_LTLIBRARIES = module.la
 
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_quartz_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_SOURCES = $(QUARTZ_SOURCES)
+module_la_LIBADD = @EINA_LIBS@ $(QUARTZ_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Quartz.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_quartz.la
 
+libevas_engine_quartz_la_SOURCES = $(QUARTZ_SOURCES)
+libevas_engine_quartz_la_LIBADD = $(QUARTZ_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/quartz/Makefile.in b/src/modules/engines/quartz/Makefile.in
index f6eb65a..3715df9 100644
--- a/src/modules/engines/quartz/Makefile.in
+++ b/src/modules/engines/quartz/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,17 +60,26 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_QUARTZ_TRUE@module_la_DEPENDENCIES =  \
- at BUILD_ENGINE_QUARTZ_TRUE@	$(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at libevas_engine_quartz_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_quartz_la_SOURCES_DIST = evas_engine.c
+ at BUILD_ENGINE_QUARTZ_TRUE@am__objects_1 = evas_engine.lo
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at am_libevas_engine_quartz_la_OBJECTS = $(am__objects_1)
+libevas_engine_quartz_la_OBJECTS =  \
+	$(am_libevas_engine_quartz_la_OBJECTS)
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at am_libevas_engine_quartz_la_rpath =
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c
- at BUILD_ENGINE_QUARTZ_TRUE@am_module_la_OBJECTS =  \
- at BUILD_ENGINE_QUARTZ_TRUE@	module_la-evas_engine.lo
+ at BUILD_ENGINE_QUARTZ_TRUE@am__objects_2 = module_la-evas_engine.lo
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_QUARTZ_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -81,8 +92,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_quartz_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_quartz_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Quartz.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -169,7 +181,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -246,10 +257,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -273,6 +284,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -315,13 +328,18 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@
 
+ at BUILD_ENGINE_QUARTZ_TRUE@QUARTZ_SOURCES = evas_engine.c
+ at BUILD_ENGINE_QUARTZ_TRUE@QUARTZ_LIBADD = @evas_engine_quartz_libs@
 @BUILD_ENGINE_QUARTZ_TRUE at pkgdir = $(libdir)/evas/modules/engines/quartz/$(MODULE_ARCH)
- at BUILD_ENGINE_QUARTZ_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_QUARTZ_TRUE@module_la_SOURCES = evas_engine.c
- at BUILD_ENGINE_QUARTZ_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_quartz_libs@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_QUARTZ_TRUE@module_la_LDFLAGS = -module -avoid-version
- at BUILD_ENGINE_QUARTZ_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
 @BUILD_ENGINE_QUARTZ_TRUE at include_HEADERS = Evas_Engine_Quartz.h
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at module_la_SOURCES = $(QUARTZ_SOURCES)
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at module_la_LIBADD = @EINA_LIBS@ $(QUARTZ_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at module_la_LDFLAGS = -module -avoid-version
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at noinst_LTLIBRARIES = libevas_engine_quartz.la
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at libevas_engine_quartz_la_SOURCES = $(QUARTZ_SOURCES)
+ at BUILD_ENGINE_QUARTZ_TRUE@@EVAS_STATIC_BUILD_QUARTZ_TRUE at libevas_engine_quartz_la_LIBADD = $(QUARTZ_LIBADD)
 EXTRA_DIST = \
 evas_engine.h \
 evas_quartz_private.h
@@ -359,6 +377,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -386,6 +413,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_quartz.la: $(libevas_engine_quartz_la_OBJECTS) $(libevas_engine_quartz_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_quartz_la_rpath) $(libevas_engine_quartz_la_OBJECTS) $(libevas_engine_quartz_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -395,6 +424,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 
 .c.o:
@@ -555,8 +585,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -615,15 +645,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/quartz/evas_engine.c b/src/modules/engines/quartz/evas_engine.c
index 4dc9d80..5637702 100644
--- a/src/modules/engines/quartz/evas_engine.c
+++ b/src/modules/engines/quartz/evas_engine.c
@@ -1412,7 +1412,7 @@ eng_font_draw(void *data, void *context, void *surface, void *font, int x, int y
 
 #pragma mark Module Function Export
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1511,16 +1511,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_ENGINE,
-     "quartz",
-     "none"
+   "quartz",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, quartz);
+
+#ifndef EVAS_STATIC_BUILD_QUARTZ
+EVAS_EINA_MODULE_DEFINE(engine, quartz);
+#endif
diff --git a/src/modules/engines/software_16/Makefile.am b/src/modules/engines/software_16/Makefile.am
index 61dd4b6..47eaf10 100644
--- a/src/modules/engines/software_16/Makefile.am
+++ b/src/modules/engines/software_16/Makefile.am
@@ -13,14 +13,26 @@ AM_CFLAGS = @WIN32_CFLAGS@
 
 if BUILD_ENGINE_SOFTWARE_16
 
+SOFTWARE_16_SOURCES = evas_engine.c
+
 pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES  = \
-evas_engine.c
+if !EVAS_STATIC_BUILD_SOFTWARE_16
 
+pkg_LTLIBRARIES = module.la
+module_la_SOURCES = $(SOFTWARE_16_SOURCES)
 module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_16.la
+
+libevas_engine_software_16_la_SOURCES = $(SOFTWARE_16_SOURCES)
+
+endif
 endif
+
+EXTRA_DIST = \
+evas_engine.c
diff --git a/src/modules/engines/software_16/Makefile.in b/src/modules/engines/software_16/Makefile.in
index e33aa7d..29c39d5 100644
--- a/src/modules/engines/software_16/Makefile.in
+++ b/src/modules/engines/software_16/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,16 +58,25 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_16_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_engine_software_16_la_LIBADD =
+am__libevas_engine_software_16_la_SOURCES_DIST = evas_engine.c
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@am__objects_1 = evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE at am_libevas_engine_software_16_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_16_la_OBJECTS =  \
+	$(am_libevas_engine_software_16_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE at am_libevas_engine_software_16_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c
- at BUILD_ENGINE_SOFTWARE_16_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_16_TRUE@	module_la-evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_16_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -78,8 +89,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_16_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_16_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -163,7 +176,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -240,10 +252,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -267,6 +279,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -310,14 +324,18 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@SOFTWARE_16_SOURCES = evas_engine.c
 @BUILD_ENGINE_SOFTWARE_16_TRUE at pkgdir = $(libdir)/evas/modules/engines/software_16/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_16_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_16_TRUE@module_la_SOURCES = \
- at BUILD_ENGINE_SOFTWARE_16_TRUE@evas_engine.c
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at module_la_SOURCES = $(SOFTWARE_16_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE at noinst_LTLIBRARIES = libevas_engine_software_16.la
+ at BUILD_ENGINE_SOFTWARE_16_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_TRUE at libevas_engine_software_16_la_SOURCES = $(SOFTWARE_16_SOURCES)
+EXTRA_DIST = \
+evas_engine.c
 
- at BUILD_ENGINE_SOFTWARE_16_TRUE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_SOFTWARE_16_TRUE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_16_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
 all: all-am
 
 .SUFFIXES:
@@ -351,6 +369,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -378,6 +405,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_16.la: $(libevas_engine_software_16_la_OBJECTS) $(libevas_engine_software_16_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_16_la_rpath) $(libevas_engine_software_16_la_OBJECTS) $(libevas_engine_software_16_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -387,6 +416,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 
 .c.o:
@@ -530,8 +560,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -590,18 +620,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/engines/software_16/evas_engine.c b/src/modules/engines/software_16/evas_engine.c
index 30e6758..25c8867 100644
--- a/src/modules/engines/software_16/evas_engine.c
+++ b/src/modules/engines/software_16/evas_engine.c
@@ -824,6 +824,11 @@ eng_font_hinting_can_hint(void *data __UNUSED__, int hinting)
    return evas_common_hinting_available(hinting);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data __UNUSED__, void *context __UNUSED__)
+{
+   return EINA_TRUE;
+}
 
 /*
  *****
@@ -850,6 +855,7 @@ static Evas_Func func =
      NULL,
      /* draw context virtual methods */
      eng_context_new,
+     eng_canvas_alpha_get,
      eng_context_free,
      eng_context_clip_set,
      eng_context_clip_clip,
@@ -984,7 +990,7 @@ static Evas_Func func =
  *****
  */
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -992,15 +998,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
   EVAS_MODULE_API_VERSION,
-  EVAS_MODULE_TYPE_ENGINE,
   "software_16",
-  "none"
+  "none",
+  {
+    module_open,
+    module_close
+  }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_16
+EVAS_EINA_MODULE_DEFINE(engine, software_16);
+#endif
diff --git a/src/modules/engines/software_16_ddraw/Makefile.am b/src/modules/engines/software_16_ddraw/Makefile.am
index fa1f766..f752ab7 100644
--- a/src/modules/engines/software_16_ddraw/Makefile.am
+++ b/src/modules/engines/software_16_ddraw/Makefile.am
@@ -13,22 +13,35 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_SOFTWARE_16_DDRAW
 
-pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES	= module.la
-
-module_la_SOURCES = \
+SOFTWARE_16_DDRAW_SOURCES = \
 evas_engine.c \
 evas_ddraw_buffer.cpp \
 evas_ddraw_main.cpp
 
+SOFTWARE_16_DDRAW_LIBADD = @evas_engine_software_16_ddraw_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Software_16_DDraw.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+
+pkg_LTLIBRARIES	= module.la
+
+module_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
 module_la_CXXFLAGS = -fno-rtti -fno-exceptions
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_16_ddraw_libs@
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_16_DDRAW_LIBADD)
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_16_DDraw.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_16_ddraw.la
 
+libevas_engine_software_16_ddraw_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
+libevas_engine_software_16_ddraw_la_LIBADD = $(SOFTWARE_16_DDRAW_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_16_ddraw/Makefile.in b/src/modules/engines/software_16_ddraw/Makefile.in
index e07fb34..58c7064 100644
--- a/src/modules/engines/software_16_ddraw/Makefile.in
+++ b/src/modules/engines/software_16_ddraw/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,20 +60,33 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at libevas_engine_software_16_ddraw_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_16_ddraw_la_SOURCES_DIST = evas_engine.c \
+	evas_ddraw_buffer.cpp evas_ddraw_main.cpp
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	evas_ddraw_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	evas_ddraw_main.lo
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at am_libevas_engine_software_16_ddraw_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_16_ddraw_la_OBJECTS =  \
+	$(am_libevas_engine_software_16_ddraw_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at am_libevas_engine_software_16_ddraw_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c evas_ddraw_buffer.cpp \
 	evas_ddraw_main.cpp
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	module_la-evas_engine.lo \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	module_la-evas_ddraw_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	module_la-evas_ddraw_main.lo
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CXX $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(module_la_CXXFLAGS) \
 	$(CXXFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@am_module_la_rpath = -rpath \
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@	$(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -93,8 +108,11 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_16_ddraw_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES =  \
+	$(am__libevas_engine_software_16_ddraw_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_16_DDraw.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -181,7 +199,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -258,10 +275,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -285,6 +302,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -329,18 +348,23 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_software_16_ddraw_cflags@
 
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@SOFTWARE_16_DDRAW_SOURCES = \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE at evas_ddraw_buffer.cpp \
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE at evas_ddraw_main.cpp
 
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_16_ddraw_libs@
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@SOFTWARE_16_DDRAW_LIBADD = @evas_engine_software_16_ddraw_libs@
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_ddraw/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE at include_HEADERS = Evas_Engine_Software_16_DDraw.h
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_CXXFLAGS = -fno-rtti -fno-exceptions
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_16_DDRAW_LIBADD)
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at noinst_LTLIBRARIES = libevas_engine_software_16_ddraw.la
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at libevas_engine_software_16_ddraw_la_SOURCES = $(SOFTWARE_16_DDRAW_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE at libevas_engine_software_16_ddraw_la_LIBADD = $(SOFTWARE_16_DDRAW_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -375,6 +399,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -402,6 +435,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_16_ddraw.la: $(libevas_engine_software_16_ddraw_la_OBJECTS) $(libevas_engine_software_16_ddraw_la_DEPENDENCIES) 
+	$(CXXLINK) $(am_libevas_engine_software_16_ddraw_la_rpath) $(libevas_engine_software_16_ddraw_la_OBJECTS) $(libevas_engine_software_16_ddraw_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -411,6 +446,9 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_ddraw_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_ddraw_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_ddraw_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_ddraw_main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
@@ -608,8 +646,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -668,15 +706,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_16_ddraw/evas_engine.c b/src/modules/engines/software_16_ddraw/evas_engine.c
index 048f46b..1e9a1b9 100644
--- a/src/modules/engines/software_16_ddraw/evas_engine.c
+++ b/src/modules/engines/software_16_ddraw/evas_engine.c
@@ -562,9 +562,14 @@ eng_output_idle_flush(void *data)
      }
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -577,6 +582,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -592,15 +598,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_ENGINE,
-     "software_16_ddraw",
-     "none"
+   "software_16_ddraw",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_ddraw);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+EVAS_EINA_MODULE_DEFINE(engine, software_16_ddraw);
+#endif
diff --git a/src/modules/engines/software_16_sdl/Makefile.am b/src/modules/engines/software_16_sdl/Makefile.am
index a00ce3c..75ee709 100644
--- a/src/modules/engines/software_16_sdl/Makefile.am
+++ b/src/modules/engines/software_16_sdl/Makefile.am
@@ -6,19 +6,31 @@ INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE
 
 if BUILD_ENGINE_SOFTWARE_SDL
 
+SOFTWARE_SDL_SOURCES = \
+evas_engine.c \
+evas_engine.h
+
 pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
 
+include_HEADERS = Evas_Engine_SDL_16.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_SDL
+
 pkg_LTLIBRARIES = module.la
 
-module_la_SOURCES  = \
-evas_engine.c \
-evas_engine.h
+module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
 
 module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
 
-include_HEADERS = Evas_Engine_SDL_16.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la
+
+libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@
+
+endif
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/software_16_sdl/Makefile.in b/src/modules/engines/software_16_sdl/Makefile.in
index b869c88..012c726 100644
--- a/src/modules/engines/software_16_sdl/Makefile.in
+++ b/src/modules/engines/software_16_sdl/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,15 +60,24 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_engine_software_16_sdl_la_DEPENDENCIES =
+am__libevas_engine_software_16_sdl_la_SOURCES_DIST = evas_engine.c \
+	evas_engine.h
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_1 = evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at am_libevas_engine_software_16_sdl_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_16_sdl_la_OBJECTS =  \
+	$(am_libevas_engine_software_16_sdl_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at am_libevas_engine_software_16_sdl_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_engine.h
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am_module_la_OBJECTS = evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at am_module_la_OBJECTS = $(am__objects_1)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -79,8 +90,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_16_sdl_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_16_sdl_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_SDL_16.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -167,7 +180,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -244,10 +256,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -271,6 +283,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,15 +321,19 @@ version_info = @version_info@
 AUTOMAKE_OPTIONS = 1.4 foreign
 MAINTAINERCLEANFILES = Makefile.in
 INCLUDES = -I. -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/lib/include @FREETYPE_CFLAGS@ @SDL_CFLAGS@ @EINA_CFLAGS@
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_SOURCES = \
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE at evas_engine.h
 
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_sdl/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE at include_HEADERS = Evas_Engine_SDL_16.h
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_LIBADD = @EINA_LIBS@ @SDL_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version -L$(top_builddir)/src/lib -L$(top_builddir)/src/lib/.libs
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at noinst_LTLIBRARIES = libevas_engine_software_16_sdl.la
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at libevas_engine_software_16_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at libevas_engine_software_16_sdl_la_LIBADD = @SDL_LIBS@
 EXTRA_DIST = \
 evas_engine.c \
 evas_engine.h \
@@ -354,6 +372,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -381,6 +408,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_16_sdl.la: $(libevas_engine_software_16_sdl_la_OBJECTS) $(libevas_engine_software_16_sdl_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_16_sdl_la_rpath) $(libevas_engine_software_16_sdl_la_OBJECTS) $(libevas_engine_software_16_sdl_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -543,8 +572,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -603,15 +632,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_16_sdl/evas_engine.c b/src/modules/engines/software_16_sdl/evas_engine.c
index 3341720..6828f6a 100644
--- a/src/modules/engines/software_16_sdl/evas_engine.c
+++ b/src/modules/engines/software_16_sdl/evas_engine.c
@@ -368,8 +368,6 @@ evas_engine_sdl16_output_redraws_next_update_get(void *data,
    rect.w = *w;
    rect.h = *h;
 
-   SDL_FillRect(re->soft16_engine_image->surface, &rect, 0);
-
    /* Return the "fake" surface so it is passed to the drawing routines. */
    return re->soft16_engine_image;
 }
@@ -1018,8 +1016,14 @@ evas_engine_sdl16_image_stride_get(void *data __UNUSED__, void *image, int *stri
    if (stride) *stride = ((Soft16_Image*) eim->cache_entry.src)->stride;
 }
 
+static Eina_Bool
+evas_engine_sdl16_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
+
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1032,6 +1036,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -1079,19 +1084,28 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi = 
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION, 
-     EVAS_MODULE_TYPE_ENGINE,
-     "software_16_sdl",
-     "none"
+   EVAS_MODULE_API_VERSION,
+   "software_16_sdl",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
 
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_sdl);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_SDL
+EVAS_EINA_MODULE_DEFINE(engine, software_16_sdl);
+#endif
+
 static Engine_Image_Entry*
 _sdl16_image_alloc(void)
 {
diff --git a/src/modules/engines/software_16_wince/Makefile.am b/src/modules/engines/software_16_wince/Makefile.am
index 69de313..8c7d780 100644
--- a/src/modules/engines/software_16_wince/Makefile.am
+++ b/src/modules/engines/software_16_wince/Makefile.am
@@ -11,31 +11,40 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_software_16_wince_cflags@
 
-.rc.lo:
-	$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) $< -o $@
-
 if BUILD_ENGINE_SOFTWARE_16_WINCE
 
-pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES	= module.la
-
-module_la_SOURCES = \
+SOFTWARE_16_WINCE_SOURCE = \
 evas_engine.c \
 evas_wince_ddraw_buffer.cpp \
 evas_wince_fb_buffer.c \
 evas_wince_gapi_buffer.c \
-evas_wince_gdi_buffer.c \
-evas_wince_gapi.rc
+evas_wince_gdi_buffer.c
 
+SOFTWARE_16_WINCE_LIBADD = @evas_engine_software_16_wince_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Software_16_WinCE.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+
+pkg_LTLIBRARIES	= module.la
+
+module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
 module_la_CFLAGS = @WIN32_CFLAGS@
 module_la_CXXFLAGS = -fno-rtti -fno-exceptions
-module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la @evas_engine_software_16_wince_libs@
+module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_16_WinCE.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_16_wince.la
 
+libevas_engine_software_16_wince_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
+libevas_engine_software_16_wince_la_LIBADD = $(SOFTWARE_16_WINCE_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_16_wince/Makefile.in b/src/modules/engines/software_16_wince/Makefile.in
index 36469da..1dd530b 100644
--- a/src/modules/engines/software_16_wince/Makefile.in
+++ b/src/modules/engines/software_16_wince/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,24 +60,39 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at libevas_engine_software_16_wince_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_16_wince_la_SOURCES_DIST = evas_engine.c \
+	evas_wince_ddraw_buffer.cpp evas_wince_fb_buffer.c \
+	evas_wince_gapi_buffer.c evas_wince_gdi_buffer.c
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	evas_wince_ddraw_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	evas_wince_fb_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	evas_wince_gapi_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	evas_wince_gdi_buffer.lo
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at am_libevas_engine_software_16_wince_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_16_wince_la_OBJECTS =  \
+	$(am_libevas_engine_software_16_wince_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at am_libevas_engine_software_16_wince_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c evas_wince_ddraw_buffer.cpp \
 	evas_wince_fb_buffer.c evas_wince_gapi_buffer.c \
-	evas_wince_gdi_buffer.c evas_wince_gapi.rc
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am_module_la_OBJECTS =  \
+	evas_wince_gdi_buffer.c
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_engine.lo \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_wince_ddraw_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_wince_fb_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_wince_gapi_buffer.lo \
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_wince_gdi_buffer.lo \
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	evas_wince_gapi.lo
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	module_la-evas_wince_gdi_buffer.lo
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CXX $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(module_la_CXXFLAGS) \
 	$(CXXFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@am_module_la_rpath = -rpath \
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@	$(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -97,8 +114,11 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_16_wince_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES =  \
+	$(am__libevas_engine_software_16_wince_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_16_WinCE.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -185,7 +205,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -262,10 +281,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -289,6 +308,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -333,27 +354,31 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_software_16_wince_cflags@
 
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@SOFTWARE_16_WINCE_SOURCE = \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE at evas_wince_ddraw_buffer.cpp \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE at evas_wince_fb_buffer.c \
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE at evas_wince_gapi_buffer.c \
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_gdi_buffer.c \
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_gapi.rc
-
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_CFLAGS = @WIN32_CFLAGS@
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la @evas_engine_software_16_wince_libs@
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@evas_wince_gdi_buffer.c
+
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@SOFTWARE_16_WINCE_LIBADD = @evas_engine_software_16_wince_libs@
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_wince/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE at include_HEADERS = Evas_Engine_Software_16_WinCE.h
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_CFLAGS = @WIN32_CFLAGS@
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_CXXFLAGS = -fno-rtti -fno-exceptions
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la $(SOFTWARE_16_WINCE_LIBADD)
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at noinst_LTLIBRARIES = libevas_engine_software_16_wince.la
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at libevas_engine_software_16_wince_la_SOURCES = $(SOFTWARE_16_WINCE_SOURCE)
+ at BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE at libevas_engine_software_16_wince_la_LIBADD = $(SOFTWARE_16_WINCE_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .cpp .lo .o .obj .rc
+.SUFFIXES: .c .cpp .lo .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -383,6 +408,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -410,6 +444,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_16_wince.la: $(libevas_engine_software_16_wince_la_OBJECTS) $(libevas_engine_software_16_wince_la_DEPENDENCIES) 
+	$(CXXLINK) $(am_libevas_engine_software_16_wince_la_rpath) $(libevas_engine_software_16_wince_la_OBJECTS) $(libevas_engine_software_16_wince_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -419,6 +455,11 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_wince_ddraw_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_wince_fb_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_wince_gapi_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_wince_gdi_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_wince_ddraw_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_wince_fb_buffer.Plo at am__quote@
@@ -632,8 +673,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -692,23 +733,21 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
 	uninstall-pkgLTLIBRARIES
 
-
-.rc.lo:
-	$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(RCFLAGS) $< -o $@
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/src/modules/engines/software_16_wince/evas_engine.c b/src/modules/engines/software_16_wince/evas_engine.c
index c8412b2..8e78aea 100644
--- a/src/modules/engines/software_16_wince/evas_engine.c
+++ b/src/modules/engines/software_16_wince/evas_engine.c
@@ -703,9 +703,14 @@ eng_output_idle_flush(void *data)
      }
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -718,6 +723,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -733,15 +739,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
-   "software_16_wince_fb",
-   "none"
+   "software_16_wince",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_wince);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+EVAS_EINA_MODULE_DEFINE(engine, software_16_wince);
+#endif
diff --git a/src/modules/engines/software_16_wince/evas_wince_gapi.rc b/src/modules/engines/software_16_wince/evas_wince_gapi.rc
deleted file mode 100644
index 2a185cd..0000000
--- a/src/modules/engines/software_16_wince/evas_wince_gapi.rc
+++ /dev/null
@@ -1 +0,0 @@
-HI_RES_AWARE   CEUX   {1}
diff --git a/src/modules/engines/software_16_x11/Makefile.am b/src/modules/engines/software_16_x11/Makefile.am
index 8a44b65..45106ed 100644
--- a/src/modules/engines/software_16_x11/Makefile.am
+++ b/src/modules/engines/software_16_x11/Makefile.am
@@ -13,20 +13,33 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_SOFTWARE_16_X11
 
+SOFTWARE_16_X11_SOURCES =  \
+evas_engine.c \
+evas_x_buffer.c
+
+SOFTWARE_16_X11_LIBADD = @evas_engine_software_16_x11_libs@
+
 pkgdir = $(libdir)/evas/modules/engines/software_16_x11/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES	= module.la
+include_HEADERS = Evas_Engine_Software_16_X11.h
 
-module_la_SOURCES = \
-evas_engine.c \
-evas_x_buffer.c
+if !EVAS_STATIC_BUILD_SOFTWARE_16_X11
+
+pkg_LTLIBRARIES	= module.la
 
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_software_16_x11_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
+module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_16_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_16_X11.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_software_16_x11.la
+
+libevas_engine_software_16_x11_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
+libevas_engine_software_16_x11_la_LIBADD = $(SOFTWARE_16_X11_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_16_x11/Makefile.in b/src/modules/engines/software_16_x11/Makefile.in
index ee967b9..ac2ecb3 100644
--- a/src/modules/engines/software_16_x11/Makefile.in
+++ b/src/modules/engines/software_16_x11/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,18 +60,30 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at libevas_engine_software_16_x11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_16_x11_la_SOURCES_DIST = evas_engine.c \
+	evas_x_buffer.c
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@	evas_x_buffer.lo
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at am_libevas_engine_software_16_x11_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_16_x11_la_OBJECTS =  \
+	$(am_libevas_engine_software_16_x11_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at am_libevas_engine_software_16_x11_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_x_buffer.c
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_16_X11_TRUE@	module_la-evas_engine.lo \
 @BUILD_ENGINE_SOFTWARE_16_X11_TRUE@	module_la-evas_x_buffer.lo
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@am_module_la_rpath = -rpath \
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@	$(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -82,8 +96,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_16_x11_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_16_x11_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_16_X11.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -170,7 +186,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -247,10 +262,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -274,6 +289,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -318,16 +335,21 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@ \
 @evas_engine_software_16_x11_cflags@
 
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_x11/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@SOFTWARE_16_X11_SOURCES = \
 @BUILD_ENGINE_SOFTWARE_16_X11_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_16_X11_TRUE at evas_x_buffer.c
 
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_software_16_x11_libs@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@SOFTWARE_16_X11_LIBADD = @evas_engine_software_16_x11_libs@
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_16_x11/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_16_X11_TRUE at include_HEADERS = Evas_Engine_Software_16_X11.h
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at module_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_16_X11_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at noinst_LTLIBRARIES = libevas_engine_software_16_x11.la
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at libevas_engine_software_16_x11_la_SOURCES = $(SOFTWARE_16_X11_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_16_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE at libevas_engine_software_16_x11_la_LIBADD = $(SOFTWARE_16_X11_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -362,6 +384,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -389,6 +420,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_16_x11.la: $(libevas_engine_software_16_x11_la_OBJECTS) $(libevas_engine_software_16_x11_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_16_x11_la_rpath) $(libevas_engine_software_16_x11_la_OBJECTS) $(libevas_engine_software_16_x11_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -398,6 +431,8 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_x_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_x_buffer.Plo at am__quote@
 
@@ -566,8 +601,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -626,15 +661,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_16_x11/evas_engine.c b/src/modules/engines/software_16_x11/evas_engine.c
index 720e948..6028b80 100644
--- a/src/modules/engines/software_16_x11/evas_engine.c
+++ b/src/modules/engines/software_16_x11/evas_engine.c
@@ -542,9 +542,14 @@ eng_output_idle_flush(void *data)
      }
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -557,6 +562,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -572,15 +578,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi = 
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION, 
-     EVAS_MODULE_TYPE_ENGINE,
-     "software_16_x11",
-     "none"
+   EVAS_MODULE_API_VERSION,
+   "software_16_x11",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_16_x11);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_16_X11
+EVAS_EINA_MODULE_DEFINE(engine, software_16_x11);
+#endif
+
diff --git a/src/modules/engines/software_ddraw/Makefile.am b/src/modules/engines/software_ddraw/Makefile.am
index 72cbe7a..751f50a 100644
--- a/src/modules/engines/software_ddraw/Makefile.am
+++ b/src/modules/engines/software_ddraw/Makefile.am
@@ -12,22 +12,35 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_SOFTWARE_DDRAW
 
-pkgdir = $(libdir)/evas/modules/engines/software_ddraw/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = \
+SOFTWARE_DDRAW_SOURCES = \
 evas_engine.c \
 evas_outbuf.c \
 evas_ddraw_buffer.c \
 evas_ddraw_main.cpp
 
+SOFTWARE_DDRAW_LIBADD = @evas_engine_software_ddraw_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/software_ddraw/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Software_DDraw.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+
+pkg_LTLIBRARIES = module.la
+module_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
 module_la_CXXFLAGS = -fno-rtti -fno-exceptions
-module_la_LIBADD = @EINA_LIBS@ @evas_engine_software_ddraw_libs@ $(top_builddir)/src/lib/libevas.la
+module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_DDRAW_LIBADD) $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_DDraw.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_software_ddraw.la
+
+libevas_engine_software_ddraw_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
+libevas_engine_software_ddraw_la_LIBADD = $(SOFTWARE_DDRAW_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_ddraw/Makefile.in b/src/modules/engines/software_ddraw/Makefile.in
index 5616190..bb434ff 100644
--- a/src/modules/engines/software_ddraw/Makefile.in
+++ b/src/modules/engines/software_ddraw/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,21 +60,35 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at libevas_engine_software_ddraw_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_ddraw_la_SOURCES_DIST = evas_engine.c \
+	evas_outbuf.c evas_ddraw_buffer.c evas_ddraw_main.cpp
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	evas_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	evas_ddraw_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	evas_ddraw_main.lo
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at am_libevas_engine_software_ddraw_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_ddraw_la_OBJECTS =  \
+	$(am_libevas_engine_software_ddraw_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at am_libevas_engine_software_ddraw_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@	$(top_builddir)/src/lib/libevas.la
 am__module_la_SOURCES_DIST = evas_engine.c evas_outbuf.c \
 	evas_ddraw_buffer.c evas_ddraw_main.cpp
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	module_la-evas_engine.lo \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	module_la-evas_outbuf.lo \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	module_la-evas_ddraw_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	module_la-evas_ddraw_main.lo
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CXX $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(module_la_CXXFLAGS) \
 	$(CXXFLAGS) $(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@am_module_la_rpath = -rpath \
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@	$(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -94,8 +110,10 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_ddraw_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_ddraw_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_DDraw.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -182,7 +200,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -259,10 +276,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -286,6 +303,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -329,19 +348,24 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_software_ddraw_cflags@
 
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_ddraw/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@SOFTWARE_DDRAW_SOURCES = \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE at evas_outbuf.c \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE at evas_ddraw_buffer.c \
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE at evas_ddraw_main.cpp
 
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_CXXFLAGS = -fno-rtti -fno-exceptions
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_LIBADD = @EINA_LIBS@ @evas_engine_software_ddraw_libs@ $(top_builddir)/src/lib/libevas.la
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@SOFTWARE_DDRAW_LIBADD = @evas_engine_software_ddraw_libs@
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_ddraw/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_DDRAW_TRUE at include_HEADERS = Evas_Engine_Software_DDraw.h
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_CXXFLAGS = -fno-rtti -fno-exceptions
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_LIBADD = @EINA_LIBS@ $(SOFTWARE_DDRAW_LIBADD) $(top_builddir)/src/lib/libevas.la
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at noinst_LTLIBRARIES = libevas_engine_software_ddraw.la
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at libevas_engine_software_ddraw_la_SOURCES = $(SOFTWARE_DDRAW_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_DDRAW_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE at libevas_engine_software_ddraw_la_LIBADD = $(SOFTWARE_DDRAW_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -376,6 +400,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -403,6 +436,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_ddraw.la: $(libevas_engine_software_ddraw_la_OBJECTS) $(libevas_engine_software_ddraw_la_DEPENDENCIES) 
+	$(CXXLINK) $(am_libevas_engine_software_ddraw_la_rpath) $(libevas_engine_software_ddraw_la_OBJECTS) $(libevas_engine_software_ddraw_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -412,6 +447,10 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_ddraw_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_ddraw_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_outbuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_ddraw_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_ddraw_main.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
@@ -617,8 +656,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -677,15 +716,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_ddraw/evas_engine.c b/src/modules/engines/software_ddraw/evas_engine.c
index 61abfb1..c9340c9 100644
--- a/src/modules/engines/software_ddraw/evas_engine.c
+++ b/src/modules/engines/software_ddraw/evas_engine.c
@@ -309,9 +309,14 @@ eng_output_idle_flush(void *data)
    evas_software_ddraw_outbuf_idle_flush(re->ob);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -324,6 +329,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -339,15 +345,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
    "software_ddraw",
-   "none"
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_ddraw);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+EVAS_EINA_MODULE_DEFINE(engine, software_ddraw);
+#endif
diff --git a/src/modules/engines/software_ddraw/evas_outbuf.c b/src/modules/engines/software_ddraw/evas_outbuf.c
index fc70a6e..9c2daf5 100644
--- a/src/modules/engines/software_ddraw/evas_outbuf.c
+++ b/src/modules/engines/software_ddraw/evas_outbuf.c
@@ -402,7 +402,7 @@ evas_software_ddraw_outbuf_flush(Outbuf *buf)
           eina_list_remove_list(buf->priv.prev_pending_writes,
                                 buf->priv.prev_pending_writes);
         obr = im->extended_info;
-        evas_cache_image_drop((Image_Entry *)im);
+        evas_cache_image_drop(&im->cache_entry);
         if (obr->ddob) _unfind_ddob(obr->ddob);
 /*
 	     if (obr->ddob) evas_software_x11_x_output_buffer_free(obr->ddob);
diff --git a/src/modules/engines/software_gdi/Makefile.am b/src/modules/engines/software_gdi/Makefile.am
index daf5f85..943d418 100644
--- a/src/modules/engines/software_gdi/Makefile.am
+++ b/src/modules/engines/software_gdi/Makefile.am
@@ -12,21 +12,34 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_SOFTWARE_GDI
 
-pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = \
+SOFTWARE_GDI_SOURCES = \
 evas_engine.c \
 evas_outbuf.c \
 evas_gdi_buffer.c \
 evas_gdi_main.c
 
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_gdi_libs@
+SOFTWARE_GDI_LIBADD = @evas_engine_software_gdi_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Software_Gdi.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_GDI
+
+pkg_LTLIBRARIES = module.la
+module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_GDI_LIBADD)
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_Gdi.h
+else
 
+noinst_LTLIBRARIES = libevas_engine_software_gdi.la
+
+libevas_engine_software_gdi_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
+libevas_engine_software_gdi_la_LIBADD = $(SOFTWARE_GDI_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_gdi/Makefile.in b/src/modules/engines/software_gdi/Makefile.in
index dfcdc47..7f6a1ce 100644
--- a/src/modules/engines/software_gdi/Makefile.in
+++ b/src/modules/engines/software_gdi/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,20 +60,35 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at libevas_engine_software_gdi_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_gdi_la_SOURCES_DIST = evas_engine.c \
+	evas_outbuf.c evas_gdi_buffer.c evas_gdi_main.c
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@am__objects_1 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@	evas_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@	evas_gdi_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@	evas_gdi_main.lo
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at am_libevas_engine_software_gdi_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_gdi_la_OBJECTS =  \
+	$(am_libevas_engine_software_gdi_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at am_libevas_engine_software_gdi_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c evas_outbuf.c \
 	evas_gdi_buffer.c evas_gdi_main.c
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE@	module_la-evas_engine.lo \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE@	module_la-evas_outbuf.lo \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE@	module_la-evas_gdi_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE@	module_la-evas_gdi_main.lo
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -84,8 +101,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_gdi_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_gdi_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_Gdi.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -172,7 +191,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -249,10 +267,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -276,6 +294,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -319,18 +339,23 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@ \
 @evas_engine_software_gdi_cflags@
 
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@module_la_SOURCES = \
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@SOFTWARE_GDI_SOURCES = \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE at evas_engine.c \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE at evas_outbuf.c \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE at evas_gdi_buffer.c \
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE at evas_gdi_main.c
 
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_gdi_libs@
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_GDI_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@SOFTWARE_GDI_LIBADD = @evas_engine_software_gdi_libs@
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@pkgdir = $(libdir)/evas/modules/engines/software_gdi/$(MODULE_ARCH)
 @BUILD_ENGINE_SOFTWARE_GDI_TRUE at include_HEADERS = Evas_Engine_Software_Gdi.h
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at module_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_GDI_LIBADD)
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at noinst_LTLIBRARIES = libevas_engine_software_gdi.la
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at libevas_engine_software_gdi_la_SOURCES = $(SOFTWARE_GDI_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_GDI_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE at libevas_engine_software_gdi_la_LIBADD = $(SOFTWARE_GDI_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -365,6 +390,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -392,6 +426,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_gdi.la: $(libevas_engine_software_gdi_la_OBJECTS) $(libevas_engine_software_gdi_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_gdi_la_rpath) $(libevas_engine_software_gdi_la_OBJECTS) $(libevas_engine_software_gdi_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -401,6 +437,10 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_gdi_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_gdi_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_outbuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_gdi_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_gdi_main.Plo at am__quote@
@@ -585,8 +625,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -645,15 +685,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_gdi/evas_engine.c b/src/modules/engines/software_gdi/evas_engine.c
index 5b73cad..b494634 100644
--- a/src/modules/engines/software_gdi/evas_engine.c
+++ b/src/modules/engines/software_gdi/evas_engine.c
@@ -319,9 +319,14 @@ eng_output_idle_flush(void *data)
    evas_software_gdi_outbuf_idle_flush(re->ob);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   return EINA_FALSE;
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -334,6 +339,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -349,15 +355,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
    "software_gdi",
-   "none"
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_gdi);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_GDI
+EVAS_EINA_MODULE_DEFINE(engine, software_gdi);
+#endif
diff --git a/src/modules/engines/software_generic/Makefile.am b/src/modules/engines/software_generic/Makefile.am
index 3c4a5e5..de7f982 100644
--- a/src/modules/engines/software_generic/Makefile.am
+++ b/src/modules/engines/software_generic/Makefile.am
@@ -11,12 +11,24 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
+SOFTWARE_GENERIC_SOURCES = evas_engine.c
+
 pkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH)
 
+if !EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+
 pkg_LTLIBRARIES = module.la
 
-module_la_SOURCES  = evas_engine.c
+module_la_SOURCES  = $(SOFTWARE_GENERIC_SOURCES)
 
 module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_generic.la
+
+libevas_engine_software_generic_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES)
+
+endif
diff --git a/src/modules/engines/software_generic/Makefile.in b/src/modules/engines/software_generic/Makefile.in
index fa1e914..3563425 100644
--- a/src/modules/engines/software_generic/Makefile.in
+++ b/src/modules/engines/software_generic/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,26 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_engine.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_engine_software_generic_la_LIBADD =
+am__libevas_engine_software_generic_la_SOURCES_DIST = evas_engine.c
+am__objects_1 = evas_engine.lo
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@am_libevas_engine_software_generic_la_OBJECTS =  \
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@	$(am__objects_1)
+libevas_engine_software_generic_la_OBJECTS =  \
+	$(am_libevas_engine_software_generic_la_OBJECTS)
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@am_libevas_engine_software_generic_la_rpath =
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_engine.c
+am__objects_2 = module_la-evas_engine.lo
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@am_module_la_OBJECTS =  \
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@	$(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@am_module_la_rpath = -rpath \
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +90,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_engine_software_generic_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_generic_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +177,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +253,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +280,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +325,15 @@ AM_CPPFLAGS = \
 @FREETYPE_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
+SOFTWARE_GENERIC_SOURCES = evas_engine.c
 pkgdir = $(libdir)/evas/modules/engines/software_generic/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_engine.c
-module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@pkg_LTLIBRARIES = module.la
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES)
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBADD = @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@noinst_LTLIBRARIES = libevas_engine_software_generic.la
+ at EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE@libevas_engine_software_generic_la_SOURCES = $(SOFTWARE_GENERIC_SOURCES)
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +367,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +403,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_generic.la: $(libevas_engine_software_generic_la_OBJECTS) $(libevas_engine_software_generic_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_generic_la_rpath) $(libevas_engine_software_generic_la_OBJECTS) $(libevas_engine_software_generic_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +414,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 
 .c.o:
@@ -525,8 +558,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +618,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/engines/software_generic/evas_engine.c b/src/modules/engines/software_generic/evas_engine.c
index 566ddda..2816dfb 100644
--- a/src/modules/engines/software_generic/evas_engine.c
+++ b/src/modules/engines/software_generic/evas_engine.c
@@ -961,6 +961,11 @@ eng_font_hinting_can_hint(void *data __UNUSED__, int hinting)
    return evas_common_hinting_available(hinting);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data __UNUSED__, void *info __UNUSED__)
+{
+   return EINA_TRUE;
+}
 
 /*
  *****
@@ -987,6 +992,7 @@ static Evas_Func func =
      NULL,
      /* draw context virtual methods */
      eng_context_new,
+     eng_canvas_alpha_get,
      eng_context_free,
      eng_context_clip_set,
      eng_context_clip_clip,
@@ -1121,7 +1127,7 @@ static Evas_Func func =
  *****
  */
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -1130,15 +1136,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi = 
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION, 
-     EVAS_MODULE_TYPE_ENGINE,
-     "software_generic",
-     "none"
+   EVAS_MODULE_API_VERSION,
+   "software_generic",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_generic);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+EVAS_EINA_MODULE_DEFINE(engine, software_generic);
+#endif
diff --git a/src/modules/engines/software_sdl/Makefile.am b/src/modules/engines/software_sdl/Makefile.am
index 1962683..1981472 100644
--- a/src/modules/engines/software_sdl/Makefile.am
+++ b/src/modules/engines/software_sdl/Makefile.am
@@ -14,18 +14,30 @@ AM_CFLAGS = @WIN32_CFLAGS@
 
 if BUILD_ENGINE_SOFTWARE_SDL
 
+SOFTWARE_SDL_SOURCES = evas_engine.c
+SOFTWARE_SDL_LIBADD = @evas_engine_software_sdl_libs@
+
 pkgdir = $(libdir)/evas/modules/engines/software_sdl/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES = module.la
+include_HEADERS = Evas_Engine_SDL.h
 
-module_la_SOURCES  = evas_engine.c
+if !EVAS_STATIC_BUILD_SOFTWARE_SDL
+
+pkg_LTLIBRARIES = module.la
 
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_sdl_libs@
+module_la_SOURCES  = $(SOFTWARE_SDL_SOURCES)
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_SDL_LIBADD)
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_SDL.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_sdl.la
 
+libevas_engine_software_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+libevas_engine_software_sdl_la_LIBADD = $(SOFTWARE_SDL_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/software_sdl/Makefile.in b/src/modules/engines/software_sdl/Makefile.in
index ecb7421..ecf5096 100644
--- a/src/modules/engines/software_sdl/Makefile.in
+++ b/src/modules/engines/software_sdl/Makefile.in
@@ -41,7 +41,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -58,16 +60,27 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at libevas_engine_software_sdl_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_sdl_la_SOURCES_DIST = evas_engine.c
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_1 = evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at am_libevas_engine_software_sdl_la_OBJECTS = $(am__objects_1)
+libevas_engine_software_sdl_la_OBJECTS =  \
+	$(am_libevas_engine_software_sdl_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at am_libevas_engine_software_sdl_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am__objects_2 =  \
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE@	module_la-evas_engine.lo
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at am_module_la_OBJECTS = $(am__objects_2)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -80,8 +93,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_sdl_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_sdl_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_SDL.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -168,7 +183,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -245,10 +259,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -272,6 +286,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -316,13 +332,18 @@ AM_CPPFLAGS = \
 @evas_engine_software_sdl_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_SOURCES = evas_engine.c
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@SOFTWARE_SDL_LIBADD = @evas_engine_software_sdl_libs@
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE at pkgdir = $(libdir)/evas/modules/engines/software_sdl/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_SOURCES = evas_engine.c
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_sdl_libs@
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_SDL_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
 @BUILD_ENGINE_SOFTWARE_SDL_TRUE at include_HEADERS = Evas_Engine_SDL.h
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_SDL_LIBADD)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at noinst_LTLIBRARIES = libevas_engine_software_sdl.la
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at libevas_engine_software_sdl_la_SOURCES = $(SOFTWARE_SDL_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_SDL_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE at libevas_engine_software_sdl_la_LIBADD = $(SOFTWARE_SDL_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -357,6 +378,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -384,6 +414,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_sdl.la: $(libevas_engine_software_sdl_la_OBJECTS) $(libevas_engine_software_sdl_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_sdl_la_rpath) $(libevas_engine_software_sdl_la_OBJECTS) $(libevas_engine_software_sdl_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -393,6 +425,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 
 .c.o:
@@ -553,8 +586,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -613,15 +646,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_sdl/evas_engine.c b/src/modules/engines/software_sdl/evas_engine.c
index 13c7f5d..dd3974d 100644
--- a/src/modules/engines/software_sdl/evas_engine.c
+++ b/src/modules/engines/software_sdl/evas_engine.c
@@ -255,8 +255,6 @@ evas_engine_sdl_output_redraws_next_update_get	(void *data,
    rect.w = *w;
    rect.h = *h;
 
-   SDL_FillRect(re->rgba_engine_image->surface, &rect, 0);
-
    /* Return the "fake" surface so it is passed to the drawing routines. */
    return re->rgba_engine_image;
 }
@@ -817,7 +815,7 @@ evas_engine_sdl_gradient_draw(void *data __UNUSED__, void *context, void *surfac
      SDL_UnlockSurface(eim->surface);
 }
 
-EAPI int module_open(Evas_Module *em)
+static int module_open(Evas_Module *em)
 {
    if (!em) return 0;
    /* get whatever engine module we inherit from */
@@ -876,19 +874,28 @@ EAPI int module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void module_close(void)
+static void module_close(Evas_Module *em)
 {
 
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_ENGINE,
-   "software_sdl",
-   "none"
+  EVAS_MODULE_API_VERSION,
+  "software_sdl",
+  "none",
+  {
+    module_open,
+    module_close
+  }
 };
 
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_sdl);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_SDL
+EVAS_EINA_MODULE_DEFINE(engine, software_sdl);
+#endif
+
 /* Private routines. */
 
 static void*
diff --git a/src/modules/engines/software_x11/Evas_Engine_Software_X11.h b/src/modules/engines/software_x11/Evas_Engine_Software_X11.h
index 36e0e04..6b0f692 100644
--- a/src/modules/engines/software_x11/Evas_Engine_Software_X11.h
+++ b/src/modules/engines/software_x11/Evas_Engine_Software_X11.h
@@ -1,8 +1,6 @@
 #ifndef _EVAS_ENGINE_SOFTWARE_X11_H
 #define _EVAS_ENGINE_SOFTWARE_X11_H
 
-#include <X11/Xlib.h>
-
 typedef enum
 {
   EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB,
diff --git a/src/modules/engines/software_x11/Makefile.am b/src/modules/engines/software_x11/Makefile.am
index 76a93c4..8d7ae13 100644
--- a/src/modules/engines/software_x11/Makefile.am
+++ b/src/modules/engines/software_x11/Makefile.am
@@ -8,25 +8,28 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/modules/engines \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
- at evas_engine_software_x11_cflags@ \
+ at evas_engine_software_xlib_cflags@ \
 @evas_engine_software_xcb_cflags@
 
 if BUILD_ENGINE_SOFTWARE_X11
 
-pkgdir = $(libdir)/evas/modules/engines/software_x11/$(MODULE_ARCH)
+SOFTWARE_X11_SOURCES = evas_engine.c
 
-pkg_LTLIBRARIES	= module.la
+if BUILD_ENGINE_SOFTWARE_XLIB
 
-module_la_SOURCES = \
-evas_engine.c \
+SOFTWARE_X11_SOURCES += \
 evas_xlib_outbuf.c \
 evas_xlib_buffer.c \
 evas_xlib_color.c \
 evas_xlib_main.c
 
+SOFTWARE_X11_LIBADD = @evas_engine_software_xlib_libs@ @evas_engine_software_xcb_libs@
+
+endif
+
 if BUILD_ENGINE_SOFTWARE_XCB
 
-module_la_SOURCES += \
+SOFTWARE_X11_SOURCES += \
 evas_xcb_outbuf.c \
 evas_xcb_buffer.c \
 evas_xcb_color.c \
@@ -34,12 +37,27 @@ evas_xcb_main.c
 
 endif
 
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_x11_libs@ @evas_engine_software_xcb_libs@
+pkgdir = $(libdir)/evas/modules/engines/software_x11/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_Software_X11.h
+
+if !EVAS_STATIC_BUILD_SOFTWARE_X11
+
+pkg_LTLIBRARIES	= module.la
+
+module_la_SOURCES = $(SOFTWARE_X11_SOURCES)
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_X11_LIBADD)
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_Software_X11.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_software_x11.la
 
+libevas_engine_software_x11_la_SOURCES = $(SOFTWARE_X11_SOURCES)
+libevas_engine_software_x11_la_LIBADD = $(SOFTWARE_X11_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = \
diff --git a/src/modules/engines/software_x11/Makefile.in b/src/modules/engines/software_x11/Makefile.in
index 24a0a72..ed4d420 100644
--- a/src/modules/engines/software_x11/Makefile.in
+++ b/src/modules/engines/software_x11/Makefile.in
@@ -33,7 +33,13 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at am__append_1 = \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at am__append_1 = \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at evas_xlib_outbuf.c \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at evas_xlib_buffer.c \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at evas_xlib_color.c \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at evas_xlib_main.c
+
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at am__append_2 = \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at evas_xcb_outbuf.c \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at evas_xcb_buffer.c \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at evas_xcb_color.c \
@@ -47,7 +53,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -64,28 +72,53 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at libevas_engine_software_x11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_software_x11_la_SOURCES_DIST = evas_engine.c \
+	evas_xlib_outbuf.c evas_xlib_buffer.c evas_xlib_color.c \
+	evas_xlib_main.c evas_xcb_outbuf.c evas_xcb_buffer.c \
+	evas_xcb_color.c evas_xcb_main.c
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at am__objects_1 = evas_xlib_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	evas_xlib_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	evas_xlib_color.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	evas_xlib_main.lo
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at am__objects_2 = evas_xcb_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	evas_xcb_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	evas_xcb_color.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	evas_xcb_main.lo
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@am__objects_3 = evas_engine.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__objects_1) \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__objects_2)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at am_libevas_engine_software_x11_la_OBJECTS = $(am__objects_3)
+libevas_engine_software_x11_la_OBJECTS =  \
+	$(am_libevas_engine_software_x11_la_OBJECTS)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at am_libevas_engine_software_x11_la_rpath =
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine.c evas_xlib_outbuf.c \
 	evas_xlib_buffer.c evas_xlib_color.c evas_xlib_main.c \
 	evas_xcb_outbuf.c evas_xcb_buffer.c evas_xcb_color.c \
 	evas_xcb_main.c
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at am__objects_1 = module_la-evas_xcb_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at am__objects_4 = module_la-evas_xlib_outbuf.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	module_la-evas_xlib_buffer.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	module_la-evas_xlib_color.lo \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE@	module_la-evas_xlib_main.lo
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE at am__objects_5 = module_la-evas_xcb_outbuf.lo \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	module_la-evas_xcb_buffer.lo \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	module_la-evas_xcb_color.lo \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XCB_TRUE@	module_la-evas_xcb_main.lo
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@am_module_la_OBJECTS =  \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@am__objects_6 =  \
 @BUILD_ENGINE_SOFTWARE_X11_TRUE@	module_la-evas_engine.lo \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	module_la-evas_xlib_outbuf.lo \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	module_la-evas_xlib_buffer.lo \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	module_la-evas_xlib_color.lo \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	module_la-evas_xlib_main.lo \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__objects_1)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__objects_4) \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__objects_5)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at am_module_la_OBJECTS = $(am__objects_6)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -98,8 +131,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_software_x11_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_software_x11_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_Software_X11.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -186,7 +221,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -263,10 +297,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -290,6 +324,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -331,21 +367,23 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/src/modules/engines \
 @FREETYPE_CFLAGS@ \
 @EINA_CFLAGS@ \
- at evas_engine_software_x11_cflags@ \
+ at evas_engine_software_xlib_cflags@ \
 @evas_engine_software_xcb_cflags@
 
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@SOFTWARE_X11_SOURCES = evas_engine.c \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__append_1) \
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__append_2)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@BUILD_ENGINE_SOFTWARE_XLIB_TRUE at SOFTWARE_X11_LIBADD = @evas_engine_software_xlib_libs@ @evas_engine_software_xcb_libs@
 @BUILD_ENGINE_SOFTWARE_X11_TRUE at pkgdir = $(libdir)/evas/modules/engines/software_x11/$(MODULE_ARCH)
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@module_la_SOURCES = evas_engine.c \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	evas_xlib_outbuf.c \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	evas_xlib_buffer.c \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	evas_xlib_color.c \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	evas_xlib_main.c \
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@	$(am__append_1)
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_software_x11_libs@ @evas_engine_software_xcb_libs@
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_SOFTWARE_X11_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
 @BUILD_ENGINE_SOFTWARE_X11_TRUE at include_HEADERS = Evas_Engine_Software_X11.h
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at module_la_SOURCES = $(SOFTWARE_X11_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(SOFTWARE_X11_LIBADD)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at noinst_LTLIBRARIES = libevas_engine_software_x11.la
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at libevas_engine_software_x11_la_SOURCES = $(SOFTWARE_X11_SOURCES)
+ at BUILD_ENGINE_SOFTWARE_X11_TRUE@@EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE at libevas_engine_software_x11_la_LIBADD = $(SOFTWARE_X11_LIBADD)
 EXTRA_DIST = \
 evas_engine.h \
 evas_xlib_outbuf.h \
@@ -388,6 +426,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -415,6 +462,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_software_x11.la: $(libevas_engine_software_x11_la_OBJECTS) $(libevas_engine_software_x11_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_software_x11_la_rpath) $(libevas_engine_software_x11_la_OBJECTS) $(libevas_engine_software_x11_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -424,6 +473,15 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xcb_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xcb_color.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xcb_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xcb_outbuf.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xlib_buffer.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xlib_color.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xlib_main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_xlib_outbuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_xcb_buffer.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_xcb_color.Plo at am__quote@
@@ -648,8 +706,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -708,15 +766,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/software_x11/evas_engine.c b/src/modules/engines/software_x11/evas_engine.c
index f480b68..79832f7 100644
--- a/src/modules/engines/software_x11/evas_engine.c
+++ b/src/modules/engines/software_x11/evas_engine.c
@@ -4,8 +4,11 @@
 #include "Evas_Engine_Software_X11.h"
 
 #include "evas_engine.h"
-#include "evas_xlib_outbuf.h"
-#include "evas_xlib_color.h"
+
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+# include "evas_xlib_outbuf.h"
+# include "evas_xlib_color.h"
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
 # include "evas_xcb_outbuf.h"
@@ -34,11 +37,10 @@ struct _Render_Engine
    void        (*outbuf_free_region_for_update)(Outbuf *ob, RGBA_Image *update);
    void        (*outbuf_flush)(Outbuf *ob);
    void        (*outbuf_idle_flush)(Outbuf *ob);
+   Eina_Bool   (*outbuf_alpha_get)(Outbuf *ob);
 };
 
 /* prototypes we will use here */
-static void *_output_xlib_setup(int w, int h, int rot, Display *disp, Drawable draw, Visual *vis, Colormap cmap, int depth, int debug, int grayscale, int max_colors, Pixmap mask, int shape_dither, int destination_alpha);
-
 static void        *_best_visual_get   (int backend, void *connection, int screen);
 static unsigned int _best_colormap_get (int backend, void *connection, int screen);
 static int          _best_depth_get    (int backend, void *connection, int screen);
@@ -60,6 +62,7 @@ static void eng_output_idle_flush(void *data);
 
 /* internal engine routines */
 
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
 static void *
 _output_xlib_setup(int      w,
                    int      h,
@@ -127,6 +130,7 @@ _output_xlib_setup(int      w,
    evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
    return re;
 }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
 static void *
@@ -205,13 +209,15 @@ _best_visual_get(int backend, void *connection, int screen)
 {
    if (!connection) return NULL;
 
-   if (backend == 0)
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB)
      {
         return DefaultVisual((Display *)connection, screen);
      }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
-   if (backend == 1)
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB)
      {
         xcb_screen_iterator_t iter_screen;
         xcb_depth_iterator_t  iter_depth;
@@ -248,13 +254,15 @@ _best_colormap_get(int backend, void *connection, int screen)
 {
    if (!connection) return 0;
 
-   if (backend == 0)
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB)
      {
         return DefaultColormap((Display *)connection, screen);
      }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
-   if (backend == 1)
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB)
      {
         xcb_screen_iterator_t iter_screen;
         xcb_screen_t          *s;
@@ -279,13 +287,15 @@ _best_depth_get(int backend, void *connection, int screen)
 {
    if (!connection) return 0;
 
-   if (backend == 0)
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB)
      {
         return DefaultDepth((Display *)connection, screen);
      }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
-   if (backend == 1)
+   if (backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB)
      {
         xcb_screen_iterator_t iter_screen;
         xcb_screen_t          *s;
@@ -355,7 +365,8 @@ eng_setup(Evas *e, void *in)
         evas_common_draw_init();
         evas_common_tilebuf_init();
 
-        if (info->info.backend == 0)
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+        if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB)
           {
              re = _output_xlib_setup(e->output.w,
                                      e->output.h,
@@ -380,10 +391,12 @@ eng_setup(Evas *e, void *in)
              re->outbuf_free_region_for_update = evas_software_xlib_outbuf_free_region_for_update;
              re->outbuf_flush = evas_software_xlib_outbuf_flush;
              re->outbuf_idle_flush = evas_software_xlib_outbuf_idle_flush;
+	     re->outbuf_alpha_get = evas_software_xlib_outbuf_alpha_get;
           }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
-        if (info->info.backend == 1)
+        if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB)
           {
              re = _output_xcb_setup(e->output.w,
                                     e->output.h,
@@ -409,6 +422,7 @@ eng_setup(Evas *e, void *in)
              re->outbuf_free_region_for_update = evas_software_xcb_outbuf_free_region_for_update;
              re->outbuf_flush = evas_software_xcb_outbuf_flush;
              re->outbuf_idle_flush = evas_software_xcb_outbuf_idle_flush;
+	     re->outbuf_alpha_get = evas_software_xcb_outbuf_alpha_get;
           }
 #endif
 
@@ -421,7 +435,8 @@ eng_setup(Evas *e, void *in)
 	re = e->engine.data.output;
 	ponebuf = re->ob->onebuf;
 
-        if (info->info.backend == 0)
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+        if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB)
           {
              evas_software_xlib_outbuf_free(re->ob);
              re->ob = evas_software_xlib_outbuf_setup_x(e->output.w,
@@ -440,9 +455,10 @@ eng_setup(Evas *e, void *in)
                                                         info->info.destination_alpha);
              evas_software_xlib_outbuf_debug_set(re->ob, info->info.debug);
           }
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
-        if (info->info.backend == 1)
+        if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB)
           {
              evas_software_xcb_outbuf_free(re->ob);
              re->ob = evas_software_xcb_outbuf_setup_x(e->output.w,
@@ -611,9 +627,17 @@ eng_output_idle_flush(void *data)
    re->outbuf_idle_flush(re->ob);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   Render_Engine *re;
+
+   re = (Render_Engine *)data;
+   return (re->ob->priv.destination_alpha) || (re->outbuf_alpha_get(re->ob));
+}
 
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -626,6 +650,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -641,15 +666,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_ENGINE,
-     "software_x11",
-     "none"
+   "software_x11",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, software_x11);
+
+#ifndef EVAS_STATIC_BUILD_SOFTWARE_X11
+EVAS_EINA_MODULE_DEFINE(engine, software_x11);
+#endif
+
diff --git a/src/modules/engines/software_x11/evas_engine.h b/src/modules/engines/software_x11/evas_engine.h
index d2ec369..40fa5a8 100644
--- a/src/modules/engines/software_x11/evas_engine.h
+++ b/src/modules/engines/software_x11/evas_engine.h
@@ -4,10 +4,12 @@
 #include <sys/ipc.h>
 #include <sys/shm.h>
 
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/extensions/XShm.h>
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
+# include <X11/Xlib.h>
+# include <X11/Xutil.h>
+# include <X11/Xatom.h>
+# include <X11/extensions/XShm.h>
+#endif
 
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
 # include <xcb/xcb.h>
@@ -41,6 +43,7 @@ struct _Outbuf
    struct {
       Convert_Pal *pal;
       union {
+#ifdef BUILD_ENGINE_SOFTWARE_XLIB
          struct {
             Display          *disp;
             Window            win;
@@ -54,6 +57,7 @@ struct _Outbuf
             unsigned char     swap     : 1;
             unsigned char     bit_swap : 1;
          } xlib;
+#endif
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
          struct {
             xcb_connection_t *conn;
diff --git a/src/modules/engines/software_x11/evas_xcb_outbuf.c b/src/modules/engines/software_x11/evas_xcb_outbuf.c
index 0bc63c7..ad70b39 100644
--- a/src/modules/engines/software_x11/evas_xcb_outbuf.c
+++ b/src/modules/engines/software_x11/evas_xcb_outbuf.c
@@ -366,7 +366,7 @@ evas_software_xcb_outbuf_setup_x(int               w,
 		       buf->priv.mask.r,
 		       buf->priv.mask.g,
 		       buf->priv.mask.b,
-		       buf->priv.pal->colors);
+		       buf->priv.pal ? buf->priv.pal->colors : -1);
 	     }
 	}
       evas_software_xcb_outbuf_drawable_set(buf, draw);
@@ -395,14 +395,12 @@ evas_software_xcb_outbuf_new_region_for_update(Outbuf *buf,
 
    if ((buf->onebuf) && (buf->priv.x11.xcb.shm))
      {
-	Evas_Rectangle *rect;
+	Eina_Rectangle *rect;
 
-	rect = malloc(sizeof(Evas_Rectangle));
 	RECTS_CLIP_TO_RECT(x, y, w, h, 0, 0, buf->w, buf->h);
-	rect->x = x;
-	rect->y = y;
-	rect->w = w;
-	rect->h = h;
+	rect = eina_rectangle_new(x, y, w, h);
+	if (!rect) return NULL;
+
 	buf->priv.onebuf_regions = eina_list_append(buf->priv.onebuf_regions, rect);
 	if (buf->priv.onebuf)
 	  {
@@ -416,17 +414,6 @@ evas_software_xcb_outbuf_new_region_for_update(Outbuf *buf,
                   free(xcb_get_input_focus_reply(buf->priv.x11.xcb.conn, xcb_get_input_focus_unchecked(buf->priv.x11.xcb.conn), NULL));
 		  buf->priv.synced = 1;
 	       }
-	     if ((buf->priv.x11.xcb.mask) || (buf->priv.destination_alpha))
-	       {
-		  int yy;
-
-		  im = buf->priv.onebuf;
-		  for (yy = y; yy < (y + h); yy++)
-		    {
-		       memset(im->image.data + (im->cache_entry.w * yy) + x,
-			      0, w * sizeof(DATA32));
-		    }
-	       }
 	     return buf->priv.onebuf;
 	  }
 	obr = calloc(1, sizeof(Outbuf_Region));
@@ -617,7 +604,7 @@ evas_software_xcb_outbuf_flush(Outbuf *buf)
         pixman_region_init(&tmpr);
 	while (buf->priv.onebuf_regions)
 	  {
-	     Evas_Rectangle *rect;
+	     Eina_Rectangle *rect;
 
 	     rect = buf->priv.onebuf_regions->data;
 	     buf->priv.onebuf_regions = eina_list_remove_list(buf->priv.onebuf_regions, buf->priv.onebuf_regions);
@@ -627,7 +614,7 @@ evas_software_xcb_outbuf_flush(Outbuf *buf)
 	     if (buf->priv.debug)
 	       evas_software_xcb_outbuf_debug_show(buf, buf->priv.x11.xcb.win,
 						   rect->x, rect->y, rect->w, rect->h);
-	     free(rect);
+	     eina_rectangle_free(rect);
 	  }
         xcb_set_clip_rectangles(buf->priv.x11.xcb.conn, XCB_CLIP_ORDERING_YX_BANDED,
                                 buf->priv.x11.xcb.gc,
@@ -1051,3 +1038,9 @@ evas_software_xcb_outbuf_debug_show(Outbuf        *buf,
         free(xcb_get_input_focus_reply(buf->priv.x11.xcb.conn, xcb_get_input_focus_unchecked(buf->priv.x11.xcb.conn), NULL));
      }
 }
+
+Eina_Bool
+evas_software_xcb_outbuf_alpha_get (Outbuf *buf)
+{
+   return buf->priv.x11.xcb.mask;
+}
diff --git a/src/modules/engines/software_x11/evas_xcb_outbuf.h b/src/modules/engines/software_x11/evas_xcb_outbuf.h
index 76b505b..7a4f087 100644
--- a/src/modules/engines/software_x11/evas_xcb_outbuf.h
+++ b/src/modules/engines/software_x11/evas_xcb_outbuf.h
@@ -83,4 +83,7 @@ void         evas_software_xcb_outbuf_debug_show (Outbuf  *buf,
                                                   int      w,
                                                   int      h);
 
+Eina_Bool   evas_software_xcb_outbuf_alpha_get (Outbuf *buf);
+
+
 #endif
diff --git a/src/modules/engines/software_x11/evas_xlib_outbuf.c b/src/modules/engines/software_x11/evas_xlib_outbuf.c
index 442119d..6e4201e 100644
--- a/src/modules/engines/software_x11/evas_xlib_outbuf.c
+++ b/src/modules/engines/software_x11/evas_xlib_outbuf.c
@@ -28,7 +28,7 @@ static int shmcountlimit = 32;
 static X_Output_Buffer *
 _find_xob(Display *d, Visual *v, int depth, int w, int h, int shm, void *data)
 {
-   Eina_List *l, *xl;
+   Eina_List *l, *xl = NULL;
    X_Output_Buffer *xob = NULL;
    X_Output_Buffer *xob2;
    int fitness = 0x7fffffff;
@@ -324,7 +324,8 @@ evas_software_xlib_outbuf_setup_x(int w, int h, int rot, Outbuf_Depth depth,
 		       buf->priv.x11.xlib.depth,
 		       buf->priv.mask.r,
 		       buf->priv.mask.g,
-		       buf->priv.mask.b, buf->priv.pal->colors);
+		       buf->priv.mask.b,
+		       buf->priv.pal ? buf->priv.pal->colors : -1);
 	     }
 	}
       evas_software_xlib_outbuf_drawable_set(buf, draw);
@@ -344,14 +345,12 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
 
    if ((buf->onebuf) && (buf->priv.x11.xlib.shm))
      {
-	Evas_Rectangle *rect;
+	Eina_Rectangle *rect;
 
-	rect = malloc(sizeof(Evas_Rectangle));
 	RECTS_CLIP_TO_RECT(x, y, w, h, 0, 0, buf->w, buf->h);
-	rect->x = x;
-	rect->y = y;
-	rect->w = w;
-	rect->h = h;
+	rect = eina_rectangle_new(x, y, w, h);
+	if (!rect) return NULL;
+
 	buf->priv.onebuf_regions = eina_list_append(buf->priv.onebuf_regions, rect);
 	if (buf->priv.onebuf)
 	  {
@@ -364,17 +363,6 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
 		  XSync(buf->priv.x11.xlib.disp, False);
 		  buf->priv.synced = 1;
 	       }
-	     if ((buf->priv.x11.xlib.mask) || (buf->priv.destination_alpha))
-	       {
-		  int yy;
-
-		  im = buf->priv.onebuf;
-		  for (yy = y; yy < (y + h); yy++)
-		    {
-		       memset(im->image.data + (im->cache_entry.w * yy) + x,
-			      0, w * sizeof(DATA32));
-		    }
-	       }
 	     return buf->priv.onebuf;
 	  }
 	obr = calloc(1, sizeof(Outbuf_Region));
@@ -451,6 +439,8 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
                                                                        NULL);
                }
 	  }
+	/* FIXME: We should be able to remove this memset, but somewhere in the process
+	   we copy too much to the destination surface and some area are not cleaned before copy. */
 	if (alpha)
           /* FIXME: faster memset! */
           memset(im->image.data, 0, w * h * sizeof(DATA32));
@@ -582,6 +572,8 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
 							    NULL);
  */
      }
+   /* FIXME: We should be able to remove this memset, but somewhere in the process
+      we copy too much to the destination surface and some area are not cleaned before copy. */
    if ((buf->priv.x11.xlib.mask) || (buf->priv.destination_alpha))
      /* FIXME: faster memset! */
      memset(im->image.data, 0, w * h * sizeof(DATA32));
@@ -612,7 +604,7 @@ evas_software_xlib_outbuf_flush(Outbuf *buf)
 	tmpr = XCreateRegion();
 	while (buf->priv.onebuf_regions)
 	  {
-	     Evas_Rectangle *rect;
+	     Eina_Rectangle *rect;
 	     XRectangle xr;
 
 	     rect = buf->priv.onebuf_regions->data;
@@ -625,7 +617,7 @@ evas_software_xlib_outbuf_flush(Outbuf *buf)
 	     if (buf->priv.debug)
 	       evas_software_xlib_outbuf_debug_show(buf, buf->priv.x11.xlib.win,
 						   rect->x, rect->y, rect->w, rect->h);
-	     free(rect);
+	     eina_rectangle_free(rect);
 	  }
 	XSetRegion(buf->priv.x11.xlib.disp, buf->priv.x11.xlib.gc, tmpr);
 	evas_software_xlib_x_output_buffer_paste(obr->xob, buf->priv.x11.xlib.win,
@@ -1038,3 +1030,9 @@ evas_software_xlib_outbuf_debug_show(Outbuf * buf, Drawable draw, int x, int y,
 	XSync(buf->priv.x11.xlib.disp, False);
      }
 }
+
+Eina_Bool
+evas_software_xlib_outbuf_alpha_get(Outbuf *buf)
+{
+   return buf->priv.x11.xlib.mask;
+}
diff --git a/src/modules/engines/software_x11/evas_xlib_outbuf.h b/src/modules/engines/software_x11/evas_xlib_outbuf.h
index 2a3983a..8745a1a 100644
--- a/src/modules/engines/software_x11/evas_xlib_outbuf.h
+++ b/src/modules/engines/software_x11/evas_xlib_outbuf.h
@@ -82,4 +82,6 @@ void         evas_software_xlib_outbuf_debug_show (Outbuf  *buf,
                                                    int      w,
                                                    int      h);
 
+Eina_Bool    evas_software_xlib_outbuf_alpha_get (Outbuf *buf);
+
 #endif
diff --git a/src/modules/engines/xrender_x11/Makefile.am b/src/modules/engines/xrender_x11/Makefile.am
index 9074018..83d1a77 100644
--- a/src/modules/engines/xrender_x11/Makefile.am
+++ b/src/modules/engines/xrender_x11/Makefile.am
@@ -13,11 +13,7 @@ AM_CPPFLAGS = \
 
 if BUILD_ENGINE_XRENDER_X11
 
-pkgdir = $(libdir)/evas/modules/engines/xrender_x11/$(MODULE_ARCH)
-
-pkg_LTLIBRARIES	= module.la
-
-module_la_SOURCES = \
+XRENDER_X11_SOURCES = \
 evas_engine_xlib_font.c \
 evas_engine_xlib_gradient.c \
 evas_engine_xlib_image.c \
@@ -26,20 +22,39 @@ evas_engine_xlib_ximage.c \
 evas_engine.c
 
 if BUILD_ENGINE_XRENDER_XCB
-module_la_SOURCES += \
+
+XRENDER_X11_SOURCES += \
 evas_engine_xcb_font.c \
 evas_engine_xcb_gradient.c \
 evas_engine_xcb_image.c \
 evas_engine_xcb_render.c \
 evas_engine_xcb_ximage.c
+
 endif
 
-module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_xrender_xcb_libs@ @evas_engine_xrender_x11_libs@
+XRENDER_X11_LIBADD = @evas_engine_xrender_xcb_libs@ @evas_engine_xrender_x11_libs@
+
+pkgdir = $(libdir)/evas/modules/engines/xrender_x11/$(MODULE_ARCH)
+
+include_HEADERS = Evas_Engine_XRender_X11.h
+
+if !EVAS_STATIC_BUILD_XRENDER_X11
+
+pkg_LTLIBRARIES	= module.la
+
+module_la_SOURCES = $(XRENDER_X11_SOURCES)
+module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(XRENDER_X11_LIBADD)
 module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
-include_HEADERS = Evas_Engine_XRender_X11.h
+else
+
+noinst_LTLIBRARIES = libevas_engine_xrender_x11.la
 
+libevas_engine_xrender_x11_la_SOURCES = $(XRENDER_X11_SOURCES)
+libevas_engine_xrender_x11_la_LIBADD = $(XRENDER_X11_LIBADD)
+
+endif
 endif
 
 EXTRA_DIST = evas_engine.h
diff --git a/src/modules/engines/xrender_x11/Makefile.in b/src/modules/engines/xrender_x11/Makefile.in
index a1910f4..e4817a8 100644
--- a/src/modules/engines/xrender_x11/Makefile.in
+++ b/src/modules/engines/xrender_x11/Makefile.in
@@ -48,7 +48,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -65,31 +67,58 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)" "$(DESTDIR)$(includedir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
- at BUILD_ENGINE_XRENDER_X11_TRUE@module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at libevas_engine_xrender_x11_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__libevas_engine_xrender_x11_la_SOURCES_DIST =  \
+	evas_engine_xlib_font.c evas_engine_xlib_gradient.c \
+	evas_engine_xlib_image.c evas_engine_xlib_render.c \
+	evas_engine_xlib_ximage.c evas_engine.c evas_engine_xcb_font.c \
+	evas_engine_xcb_gradient.c evas_engine_xcb_image.c \
+	evas_engine_xcb_render.c evas_engine_xcb_ximage.c
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE at am__objects_1 = evas_engine_xcb_font.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	evas_engine_xcb_gradient.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	evas_engine_xcb_image.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	evas_engine_xcb_render.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	evas_engine_xcb_ximage.lo
+ at BUILD_ENGINE_XRENDER_X11_TRUE@am__objects_2 =  \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_font.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_gradient.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_image.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_render.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_ximage.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine.lo $(am__objects_1)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at am_libevas_engine_xrender_x11_la_OBJECTS = $(am__objects_2)
+libevas_engine_xrender_x11_la_OBJECTS =  \
+	$(am_libevas_engine_xrender_x11_la_OBJECTS)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at am_libevas_engine_xrender_x11_la_rpath =
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE@	$(am__DEPENDENCIES_1)
 am__module_la_SOURCES_DIST = evas_engine_xlib_font.c \
 	evas_engine_xlib_gradient.c evas_engine_xlib_image.c \
 	evas_engine_xlib_render.c evas_engine_xlib_ximage.c \
 	evas_engine.c evas_engine_xcb_font.c \
 	evas_engine_xcb_gradient.c evas_engine_xcb_image.c \
 	evas_engine_xcb_render.c evas_engine_xcb_ximage.c
- at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE at am__objects_1 = module_la-evas_engine_xcb_font.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE at am__objects_3 = module_la-evas_engine_xcb_font.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	module_la-evas_engine_xcb_gradient.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	module_la-evas_engine_xcb_image.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	module_la-evas_engine_xcb_render.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@@BUILD_ENGINE_XRENDER_XCB_TRUE@	module_la-evas_engine_xcb_ximage.lo
- at BUILD_ENGINE_XRENDER_X11_TRUE@am_module_la_OBJECTS = module_la-evas_engine_xlib_font.lo \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@am__objects_4 = module_la-evas_engine_xlib_font.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	module_la-evas_engine_xlib_gradient.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	module_la-evas_engine_xlib_image.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	module_la-evas_engine_xlib_render.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	module_la-evas_engine_xlib_ximage.lo \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	module_la-evas_engine.lo \
- at BUILD_ENGINE_XRENDER_X11_TRUE@	$(am__objects_1)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@	$(am__objects_3)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at am_module_la_OBJECTS = $(am__objects_4)
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
- at BUILD_ENGINE_XRENDER_X11_TRUE@am_module_la_rpath = -rpath $(pkgdir)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -102,8 +131,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(am__module_la_SOURCES_DIST)
+SOURCES = $(libevas_engine_xrender_x11_la_SOURCES) \
+	$(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_engine_xrender_x11_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 am__include_HEADERS_DIST = Evas_Engine_XRender_X11.h
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
 HEADERS = $(include_HEADERS)
@@ -190,7 +221,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -267,10 +297,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -294,6 +324,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -338,19 +370,24 @@ AM_CPPFLAGS = \
 @evas_engine_xrender_x11_cflags@ \
 @evas_engine_xrender_xcb_cflags@
 
- at BUILD_ENGINE_XRENDER_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/xrender_x11/$(MODULE_ARCH)
- at BUILD_ENGINE_XRENDER_X11_TRUE@pkg_LTLIBRARIES = module.la
- at BUILD_ENGINE_XRENDER_X11_TRUE@module_la_SOURCES =  \
+ at BUILD_ENGINE_XRENDER_X11_TRUE@XRENDER_X11_SOURCES =  \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_font.c \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_gradient.c \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_image.c \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_render.c \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine_xlib_ximage.c \
 @BUILD_ENGINE_XRENDER_X11_TRUE@	evas_engine.c $(am__append_1)
- at BUILD_ENGINE_XRENDER_X11_TRUE@module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ @evas_engine_xrender_xcb_libs@ @evas_engine_xrender_x11_libs@
- at BUILD_ENGINE_XRENDER_X11_TRUE@module_la_LDFLAGS = -no-undefined -module -avoid-version
- at BUILD_ENGINE_XRENDER_X11_TRUE@module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_XRENDER_X11_TRUE@XRENDER_X11_LIBADD = @evas_engine_xrender_xcb_libs@ @evas_engine_xrender_x11_libs@
+ at BUILD_ENGINE_XRENDER_X11_TRUE@pkgdir = $(libdir)/evas/modules/engines/xrender_x11/$(MODULE_ARCH)
 @BUILD_ENGINE_XRENDER_X11_TRUE at include_HEADERS = Evas_Engine_XRender_X11.h
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at module_la_SOURCES = $(XRENDER_X11_SOURCES)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at module_la_LIBADD = $(top_builddir)/src/lib/libevas.la @EINA_LIBS@ $(XRENDER_X11_LIBADD)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at noinst_LTLIBRARIES = libevas_engine_xrender_x11.la
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at libevas_engine_xrender_x11_la_SOURCES = $(XRENDER_X11_SOURCES)
+ at BUILD_ENGINE_XRENDER_X11_TRUE@@EVAS_STATIC_BUILD_XRENDER_X11_TRUE at libevas_engine_xrender_x11_la_LIBADD = $(XRENDER_X11_LIBADD)
 EXTRA_DIST = evas_engine.h
 all: all-am
 
@@ -385,6 +422,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -412,6 +458,8 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_engine_xrender_x11.la: $(libevas_engine_xrender_x11_la_OBJECTS) $(libevas_engine_xrender_x11_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_engine_xrender_x11_la_rpath) $(libevas_engine_xrender_x11_la_OBJECTS) $(libevas_engine_xrender_x11_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
 	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
@@ -421,6 +469,17 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xcb_font.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xcb_gradient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xcb_image.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xcb_render.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xcb_ximage.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xlib_font.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xlib_gradient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xlib_image.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xlib_render.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_engine_xlib_ximage.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine_xcb_font.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_engine_xcb_gradient.Plo at am__quote@
@@ -661,8 +720,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -721,15 +780,16 @@ uninstall-am: uninstall-includeHEADERS uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-man install-pdf install-pdf-am install-pkgLTLIBRARIES \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \
diff --git a/src/modules/engines/xrender_x11/evas_engine.c b/src/modules/engines/xrender_x11/evas_engine.c
index 1673685..5d51099 100644
--- a/src/modules/engines/xrender_x11/evas_engine.c
+++ b/src/modules/engines/xrender_x11/evas_engine.c
@@ -369,7 +369,7 @@ eng_info_free(Evas *e __UNUSED__, void *info)
 static void
 eng_setup(Evas *e, void *in)
 {
-   Render_Engine *re;
+   Render_Engine *re = NULL;
    Evas_Engine_Info_XRender_X11 *info;
    int resize = 1;
 
@@ -559,14 +559,6 @@ eng_output_redraws_next_update_get(void *data, int *x, int *y, int *w, int *h, i
 
    *x = ux; *y = uy; *w = uw; *h = uh;
    *cx = 0; *cy = 0; *cw = uw; *ch = uh;
-   if ((re->destination_alpha) || (re->x11.mask))
-     {
-	Xrender_Surface *surface;
-
-	surface = re->render_surface_new(re->xinf, uw, uh, re->xinf->x11.fmt32, 1);
-	re->render_surface_solid_rectangle_set(surface, 0, 0, 0, 0, 0, 0, uw, uh);
-	return surface;
-     }
 // use target format to avoid conversion to depth when copying to screen
 //   return _xr_render_surface_new(re->xinf, uw, uh, re->xinf->fmtdef, 0);
 // use 24/32bpp for tmp buf for better quality. rendering in 24/32bpp
@@ -1397,13 +1389,23 @@ eng_font_draw(void *data, void *context, void *surface, void *font, int x, int y
    evas_cache_image_drop(&im->cache_entry);
 }
 
+static Eina_Bool
+eng_canvas_alpha_get(void *data, void *context)
+{
+   Render_Engine        *re;
+
+   re = (Render_Engine *)data;
+   return (re->destination_alpha) || (re->x11.mask);
+}
+
 /* module advertising code */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
    /* get whatever engine module we inherit from */
    if (!_evas_module_engine_inherit(&pfunc, "software_generic")) return 0;
+   
    /* store it for later use */
    func = pfunc;
    /* now to override methods */
@@ -1411,6 +1413,7 @@ module_open(Evas_Module *em)
    ORD(info);
    ORD(info_free);
    ORD(setup);
+   ORD(canvas_alpha_get);
    ORD(output_free);
    ORD(output_resize);
    ORD(output_tile_size_set);
@@ -1500,15 +1503,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_ENGINE,
-     "xrender_x11",
-     "none"
+   "xrender_x11",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_ENGINE, engine, xrender_x11);
+
+#ifndef EVAS_STATIC_BUILD_XRENDER_X11
+EVAS_EINA_MODULE_DEFINE(engine, xrender_x11);
+#endif
diff --git a/src/modules/loaders/Makefile.am b/src/modules/loaders/Makefile.am
index e505efd..569887c 100644
--- a/src/modules/loaders/Makefile.am
+++ b/src/modules/loaders/Makefile.am
@@ -1,40 +1,58 @@
 MAINTAINERCLEANFILES = Makefile.in
 
+SUBDIRS =
+
 if BUILD_LOADER_EDB
-edb_subdir = edb
+if !EVAS_STATIC_BUILD_EDB
+SUBDIRS += edb
+endif
 endif
 
 if BUILD_LOADER_EET
-eet_subdir = eet
+if !EVAS_STATIC_BUILD_EET
+SUBDIRS += eet
+endif
 endif
 
 if BUILD_LOADER_GIF
-gif_subdir = gif
+if !EVAS_STATIC_BUILD_GIF
+SUBDIRS += gif
+endif
 endif
 
 if BUILD_LOADER_JPEG
-jpeg_subdir = jpeg
+if !EVAS_STATIC_BUILD_JPEG
+SUBDIRS += jpeg
+endif
 endif
 
 if BUILD_LOADER_PMAPS
-pmaps_subdir = pmaps
+if !EVAS_STATIC_BUILD_PMAPS
+SUBDIRS += pmaps
+endif
 endif
 
 if BUILD_LOADER_PNG
-png_subdir = png
+if !EVAS_STATIC_BUILD_PNG
+SUBDIRS += png
+endif
 endif
 
 if BUILD_LOADER_SVG
-svg_subdir = svg
+if !EVAS_STATIC_BUILD_SVG
+SUBDIRS += svg
+endif
 endif
 
 if BUILD_LOADER_TIFF
-tiff_subdir = tiff
+if !EVAS_STATIC_BUILD_TIFF
+SUBDIRS += tiff
+endif
 endif
 
 if BUILD_LOADER_XPM
-xpm_subdir = xpm
+if !EVAS_STATIC_BUILD_XPM
+SUBDIRS += xpm
+endif
 endif
 
-
-SUBDIRS = $(edb_subdir) $(eet_subdir) $(gif_subdir) $(jpeg_subdir) $(pmaps_subdir) $(png_subdir) $(svg_subdir) $(tiff_subdir) $(xpm_subdir)
diff --git a/src/modules/loaders/Makefile.in b/src/modules/loaders/Makefile.in
index fad1bf7..4e6f37d 100644
--- a/src/modules/loaders/Makefile.in
+++ b/src/modules/loaders/Makefile.in
@@ -31,6 +31,15 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am__append_1 = edb
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am__append_2 = eet
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at am__append_3 = gif
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am__append_4 = jpeg
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at am__append_5 = pmaps
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am__append_6 = png
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at am__append_7 = svg
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am__append_8 = tiff
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at am__append_9 = xpm
 subdir = src/modules/loaders
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -38,7 +47,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -142,7 +153,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -219,10 +229,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -246,6 +256,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -280,16 +292,9 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 version_info = @version_info@
 MAINTAINERCLEANFILES = Makefile.in
- at BUILD_LOADER_EDB_TRUE@edb_subdir = edb
- at BUILD_LOADER_EET_TRUE@eet_subdir = eet
- at BUILD_LOADER_GIF_TRUE@gif_subdir = gif
- at BUILD_LOADER_JPEG_TRUE@jpeg_subdir = jpeg
- at BUILD_LOADER_PMAPS_TRUE@pmaps_subdir = pmaps
- at BUILD_LOADER_PNG_TRUE@png_subdir = png
- at BUILD_LOADER_SVG_TRUE@svg_subdir = svg
- at BUILD_LOADER_TIFF_TRUE@tiff_subdir = tiff
- at BUILD_LOADER_XPM_TRUE@xpm_subdir = xpm
-SUBDIRS = $(edb_subdir) $(eet_subdir) $(gif_subdir) $(jpeg_subdir) $(pmaps_subdir) $(png_subdir) $(svg_subdir) $(tiff_subdir) $(xpm_subdir)
+SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \
+	$(am__append_4) $(am__append_5) $(am__append_6) \
+	$(am__append_7) $(am__append_8) $(am__append_9)
 all: all-recursive
 
 .SUFFIXES:
diff --git a/src/modules/loaders/edb/Makefile.am b/src/modules/loaders/edb/Makefile.am
index 44c9e7f..bdb2127 100644
--- a/src/modules/loaders/edb/Makefile.am
+++ b/src/modules/loaders/edb/Makefile.am
@@ -9,12 +9,25 @@ AM_CPPFLAGS = \
 @evas_image_loader_edb_cflags@ \
 @EINA_CFLAGS@
 
-pkgdir                 = $(libdir)/evas/modules/loaders/edb/$(MODULE_ARCH)
 
-pkg_LTLIBRARIES        = module.la
+if BUILD_LOADER_EDB
+if !EVAS_STATIC_BUILD_EDB
 
-module_la_SOURCES      = evas_image_load_edb.c
+pkgdir = $(libdir)/evas/modules/loaders/edb/$(MODULE_ARCH)
+pkg_LTLIBRARIES = module.la
 
-module_la_LIBADD       = @evas_image_loader_edb_libs@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS      = -no-undefined -module -avoid-version
+module_la_SOURCES = evas_image_load_edb.c
+
+module_la_LIBADD = @evas_image_loader_edb_libs@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
+module_la_LDFLAGS = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_edb.la
+
+libevas_loader_edb_la_SOURCES = evas_image_load_edb.c
+libevas_loader_edb_la_LIBADD = @evas_image_loader_edb_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/edb/Makefile.in b/src/modules/loaders/edb/Makefile.in
index 7d3e239..567e736 100644
--- a/src/modules/loaders/edb/Makefile.in
+++ b/src/modules/loaders/edb/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_edb.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_edb_la_DEPENDENCIES =
+am__libevas_loader_edb_la_SOURCES_DIST = evas_image_load_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at am_libevas_loader_edb_la_OBJECTS = evas_image_load_edb.lo
+libevas_loader_edb_la_OBJECTS = $(am_libevas_loader_edb_la_OBJECTS)
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at am_libevas_loader_edb_la_rpath =
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_edb.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE@	-rpath \
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_edb_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_edb_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -306,12 +319,15 @@ AM_CPPFLAGS = \
 @evas_image_loader_edb_cflags@ \
 @EINA_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/edb/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_edb.c
-module_la_LIBADD = @evas_image_loader_edb_libs@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at pkgdir = $(libdir)/evas/modules/loaders/edb/$(MODULE_ARCH)
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_SOURCES = evas_image_load_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LIBADD = @evas_image_loader_edb_libs@ @EINA_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at noinst_LTLIBRARIES = libevas_loader_edb.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at libevas_loader_edb_la_SOURCES = evas_image_load_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at libevas_loader_edb_la_LIBADD = @evas_image_loader_edb_libs@
 all: all-am
 
 .SUFFIXES:
@@ -345,6 +361,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -372,8 +397,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_edb.la: $(libevas_loader_edb_la_OBJECTS) $(libevas_loader_edb_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_edb_la_rpath) $(libevas_loader_edb_la_OBJECTS) $(libevas_loader_edb_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -381,6 +408,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_edb.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_edb.Plo at am__quote@
 
 .c.o:
@@ -524,8 +552,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -584,18 +612,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/edb/evas_image_load_edb.c b/src/modules/loaders/edb/evas_image_load_edb.c
index 2b3ba05..035ce5c 100644
--- a/src/modules/loaders/edb/evas_image_load_edb.c
+++ b/src/modules/loaders/edb/evas_image_load_edb.c
@@ -8,17 +8,16 @@
 #define SWAP32(x) (x) = ((((x) & 0x000000ff ) << 24) | (((x) & 0x0000ff00 ) << 8) | (((x) & 0x00ff0000 ) >> 8) | (((x) & 0xff000000 ) >> 24))
 
 
-int evas_image_load_file_head_edb(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_edb(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_head_edb(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_edb(Image_Entry *ie, const char *file, const char *key);
 
-Evas_Image_Load_Func evas_image_load_edb_func =
+static Evas_Image_Load_Func evas_image_load_edb_func =
 {
   evas_image_load_file_head_edb,
   evas_image_load_file_data_edb
 };
 
-
-int
+static int
 evas_image_load_file_head_edb(Image_Entry *ie, const char *file, const char *key)
 {
    int                  w, h, alpha, compression, size;
@@ -80,7 +79,7 @@ evas_image_load_file_head_edb(Image_Entry *ie, const char *file, const char *key
    return 1;
 }
 
-int
+static int
 evas_image_load_file_data_edb(Image_Entry *ie, const char *file, const char *key)
 {
    int                  w, h, alpha, compression, size;
@@ -181,7 +180,7 @@ evas_image_load_file_data_edb(Image_Entry *ie, const char *file, const char *key
    return 1;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -189,16 +188,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "edb",
-     "none"
+   "edb",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, edb);
+
+#ifndef EVAS_STATIC_BUILD_EDB
+EVAS_EINA_MODULE_DEFINE(image_loader, edb);
+#endif
diff --git a/src/modules/loaders/eet/Makefile.am b/src/modules/loaders/eet/Makefile.am
index 4204e80..39b2f0b 100644
--- a/src/modules/loaders/eet/Makefile.am
+++ b/src/modules/loaders/eet/Makefile.am
@@ -11,8 +11,11 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH)
 
+if BUILD_LOADER_EET
+if !EVAS_STATIC_BUILD_EET
+
+pkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_eet.c
@@ -20,3 +23,13 @@ module_la_SOURCES = evas_image_load_eet.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_eet.la
+
+libevas_loader_eet_la_SOURCES = evas_image_load_eet.c
+libevas_loader_eet_la_LIBADD = @evas_image_loader_eet_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/eet/Makefile.in b/src/modules/loaders/eet/Makefile.in
index 10a81ab..8da44e7 100644
--- a/src/modules/loaders/eet/Makefile.in
+++ b/src/modules/loaders/eet/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_eet.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_eet_la_DEPENDENCIES =
+am__libevas_loader_eet_la_SOURCES_DIST = evas_image_load_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at am_libevas_loader_eet_la_OBJECTS = evas_image_load_eet.lo
+libevas_loader_eet_la_OBJECTS = $(am_libevas_loader_eet_la_OBJECTS)
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at am_libevas_loader_eet_la_rpath =
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_eet.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@	-rpath \
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_eet_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_eet_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_eet.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at pkgdir = $(libdir)/evas/modules/loaders/eet/$(MODULE_ARCH)
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_SOURCES = evas_image_load_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at noinst_LTLIBRARIES = libevas_loader_eet.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at libevas_loader_eet_la_SOURCES = evas_image_load_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at libevas_loader_eet_la_LIBADD = @evas_image_loader_eet_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_eet.la: $(libevas_loader_eet_la_OBJECTS) $(libevas_loader_eet_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_eet_la_rpath) $(libevas_loader_eet_la_OBJECTS) $(libevas_loader_eet_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_eet.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_eet.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/eet/evas_image_load_eet.c b/src/modules/loaders/eet/evas_image_load_eet.c
index 0247bf7..9e7f84a 100644
--- a/src/modules/loaders/eet/evas_image_load_eet.c
+++ b/src/modules/loaders/eet/evas_image_load_eet.c
@@ -98,7 +98,7 @@ evas_image_load_file_data_eet(Image_Entry *ie, const char *file, const char *key
    return res;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -106,16 +106,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "eet",
-     "none"
+   "eet",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, eet);
+
+#ifndef EVAS_STATIC_BUILD_EET
+EVAS_EINA_MODULE_DEFINE(image_loader, eet);
+#endif
diff --git a/src/modules/loaders/gif/Makefile.am b/src/modules/loaders/gif/Makefile.am
index 858ac3f..6e3a442 100644
--- a/src/modules/loaders/gif/Makefile.am
+++ b/src/modules/loaders/gif/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH)
+if BUILD_LOADER_GIF
+if !EVAS_STATIC_BUILD_GIF
 
+pkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_gif.c
@@ -20,3 +22,13 @@ module_la_SOURCES = evas_image_load_gif.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_gif_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_gif.la
+
+libevas_loader_gif_la_SOURCES = evas_image_load_gif.c
+libevas_loader_gif_la_LIBADD = @evas_image_loader_gif_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/gif/Makefile.in b/src/modules/loaders/gif/Makefile.in
index 632c0ea..a662cfe 100644
--- a/src/modules/loaders/gif/Makefile.in
+++ b/src/modules/loaders/gif/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_gif.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_gif_la_DEPENDENCIES =
+am__libevas_loader_gif_la_SOURCES_DIST = evas_image_load_gif.c
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_TRUE at am_libevas_loader_gif_la_OBJECTS = evas_image_load_gif.lo
+libevas_loader_gif_la_OBJECTS = $(am_libevas_loader_gif_la_OBJECTS)
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_TRUE at am_libevas_loader_gif_la_rpath =
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_gif.c
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_gif.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE@	-rpath \
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_gif_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_gif_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_gif.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_gif_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at pkgdir = $(libdir)/evas/modules/loaders/gif/$(MODULE_ARCH)
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at module_la_SOURCES = evas_image_load_gif.c
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_gif_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_TRUE at noinst_LTLIBRARIES = libevas_loader_gif.la
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_TRUE at libevas_loader_gif_la_SOURCES = evas_image_load_gif.c
+ at BUILD_LOADER_GIF_TRUE@@EVAS_STATIC_BUILD_GIF_TRUE at libevas_loader_gif_la_LIBADD = @evas_image_loader_gif_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_gif.la: $(libevas_loader_gif_la_OBJECTS) $(libevas_loader_gif_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_gif_la_rpath) $(libevas_loader_gif_la_OBJECTS) $(libevas_loader_gif_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_gif.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_gif.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/gif/evas_image_load_gif.c b/src/modules/loaders/gif/evas_image_load_gif.c
index 20cc43d..b5f347c 100644
--- a/src/modules/loaders/gif/evas_image_load_gif.c
+++ b/src/modules/loaders/gif/evas_image_load_gif.c
@@ -7,18 +7,16 @@
 
 #include <gif_lib.h>
 
+static int evas_image_load_file_head_gif(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_gif(Image_Entry *ie, const char *file, const char *key);
 
-int evas_image_load_file_head_gif(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_gif(Image_Entry *ie, const char *file, const char *key);
-
-Evas_Image_Load_Func evas_image_load_gif_func =
+static Evas_Image_Load_Func evas_image_load_gif_func =
 {
   evas_image_load_file_head_gif,
   evas_image_load_file_data_gif
 };
 
-
-int
+static int
 evas_image_load_file_head_gif(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    int                 fd;
@@ -101,7 +99,7 @@ evas_image_load_file_head_gif(Image_Entry *ie, const char *file, const char *key
    return 1;
 }
 
-int
+static int
 evas_image_load_file_data_gif(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    int                 intoffset[] = { 0, 4, 2, 1 };
@@ -284,7 +282,7 @@ evas_image_load_file_data_gif(Image_Entry *ie, const char *file, const char *key
    return 1;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -292,16 +290,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
-   EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "gif",
-     "none"
+  EVAS_MODULE_API_VERSION,
+  "gif",
+  "none",
+  {
+    module_open,
+    module_close
+  }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, gif);
+
+#ifndef EVAS_STATIC_BUILD_GIF
+EVAS_EINA_MODULE_DEFINE(image_loader, gif);
+#endif
diff --git a/src/modules/loaders/jpeg/Makefile.am b/src/modules/loaders/jpeg/Makefile.am
index 4e7f71b..ffeb2ac 100644
--- a/src/modules/loaders/jpeg/Makefile.am
+++ b/src/modules/loaders/jpeg/Makefile.am
@@ -13,8 +13,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH)
+if BUILD_LOADER_JPEG
+if !EVAS_STATIC_BUILD_JPEG
 
+pkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_jpeg.c
@@ -22,3 +24,12 @@ module_la_SOURCES = evas_image_load_jpeg.c
 module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_jpeg.la
+libevas_loader_jpeg_la_SOURCES = evas_image_load_jpeg.c
+libevas_loader_jpeg_la_LIBADD = @evas_image_loader_jpeg_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/jpeg/Makefile.in b/src/modules/loaders/jpeg/Makefile.in
index f36f381..6a5d092 100644
--- a/src/modules/loaders/jpeg/Makefile.in
+++ b/src/modules/loaders/jpeg/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_jpeg.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_jpeg_la_DEPENDENCIES =
+am__libevas_loader_jpeg_la_SOURCES_DIST = evas_image_load_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at am_libevas_loader_jpeg_la_OBJECTS = evas_image_load_jpeg.lo
+libevas_loader_jpeg_la_OBJECTS = $(am_libevas_loader_jpeg_la_OBJECTS)
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at am_libevas_loader_jpeg_la_rpath =
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_jpeg.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@	-rpath \
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_jpeg_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_jpeg_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -309,12 +322,15 @@ AM_CPPFLAGS = \
 @WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_jpeg.c
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at pkgdir = $(libdir)/evas/modules/loaders/jpeg/$(MODULE_ARCH)
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_SOURCES = evas_image_load_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at noinst_LTLIBRARIES = libevas_loader_jpeg.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at libevas_loader_jpeg_la_SOURCES = evas_image_load_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at libevas_loader_jpeg_la_LIBADD = @evas_image_loader_jpeg_libs@
 all: all-am
 
 .SUFFIXES:
@@ -348,6 +364,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -375,8 +400,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_jpeg.la: $(libevas_loader_jpeg_la_OBJECTS) $(libevas_loader_jpeg_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_jpeg_la_rpath) $(libevas_loader_jpeg_la_OBJECTS) $(libevas_loader_jpeg_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -384,6 +411,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_jpeg.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_jpeg.Plo at am__quote@
 
 .c.o:
@@ -527,8 +555,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -587,18 +615,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/jpeg/evas_image_load_jpeg.c b/src/modules/loaders/jpeg/evas_image_load_jpeg.c
index 450d0fa..dc0c536 100644
--- a/src/modules/loaders/jpeg/evas_image_load_jpeg.c
+++ b/src/modules/loaders/jpeg/evas_image_load_jpeg.c
@@ -31,10 +31,10 @@ static int evas_image_load_file_data_jpeg_internal(Image_Entry *ie, FILE *f);
 static int evas_image_load_file_data_jpeg_alpha_internal(Image_Entry *ie, FILE *f);
 #endif
 
-int evas_image_load_file_head_jpeg(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_jpeg(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_head_jpeg(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_jpeg(Image_Entry *ie, const char *file, const char *key);
 
-Evas_Image_Load_Func evas_image_load_jpeg_func =
+static Evas_Image_Load_Func evas_image_load_jpeg_func =
 {
   evas_image_load_file_head_jpeg,
   evas_image_load_file_data_jpeg
@@ -251,7 +251,7 @@ evas_image_load_file_data_jpeg_internal(Image_Entry *ie, FILE *f)
 
    if (!(((cinfo.out_color_space == JCS_RGB) &&
           ((cinfo.output_components == 3) || (cinfo.output_components == 1))) ||
-         (cinfo.out_color_space == JCS_CMYK) && (cinfo.output_components == 4)))
+         ((cinfo.out_color_space == JCS_CMYK) && (cinfo.output_components == 4))))
      {
 	jpeg_destroy_decompress(&cinfo);
 	return 0;
@@ -473,7 +473,7 @@ evas_image_load_file_data_jpeg_alpha_internal(Image_Entry *ie, FILE *f)
 }
 #endif
 
-int
+static int
 evas_image_load_file_head_jpeg(Image_Entry *ie, const char *file, const char *key)
 {
    int val;
@@ -488,7 +488,7 @@ evas_image_load_file_head_jpeg(Image_Entry *ie, const char *file, const char *ke
    key = 0;
 }
 
-int
+static int
 evas_image_load_file_data_jpeg(Image_Entry *ie, const char *file, const char *key)
 {
    int val;
@@ -503,7 +503,7 @@ evas_image_load_file_data_jpeg(Image_Entry *ie, const char *file, const char *ke
    key = 0;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -511,16 +511,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "jpeg",
-     "none"
+   "jpeg",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, jpeg);
+
+#ifndef EVAS_STATIC_BUILD_JPEG
+EVAS_EINA_MODULE_DEFINE(image_loader, jpeg);
+#endif
+
diff --git a/src/modules/loaders/pmaps/Makefile.am b/src/modules/loaders/pmaps/Makefile.am
index 794ec9e..6354990 100644
--- a/src/modules/loaders/pmaps/Makefile.am
+++ b/src/modules/loaders/pmaps/Makefile.am
@@ -13,8 +13,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH)
+if BUILD_LOADER_PMAPS
+if !EVAS_STATIC_BUILD_PMAPS
 
+pkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_pmaps.c
@@ -22,3 +24,12 @@ module_la_SOURCES = evas_image_load_pmaps.c
 module_la_LIBADD = @evas_image_loader_pmaps_libs@ @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_pmaps.la
+libevas_loader_pmaps_la_SOURCES = evas_image_load_pmaps.c
+libevas_loader_pmaps_la_LIBADD = @evas_image_loader_pmaps_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/pmaps/Makefile.in b/src/modules/loaders/pmaps/Makefile.in
index 85d88d9..35f62e0 100644
--- a/src/modules/loaders/pmaps/Makefile.in
+++ b/src/modules/loaders/pmaps/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_pmaps.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_pmaps_la_DEPENDENCIES =
+am__libevas_loader_pmaps_la_SOURCES_DIST = evas_image_load_pmaps.c
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_TRUE at am_libevas_loader_pmaps_la_OBJECTS = evas_image_load_pmaps.lo
+libevas_loader_pmaps_la_OBJECTS =  \
+	$(am_libevas_loader_pmaps_la_OBJECTS)
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_TRUE at am_libevas_loader_pmaps_la_rpath =
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_pmaps.c
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_pmaps.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at am_module_la_rpath = -rpath \
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_pmaps_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_pmaps_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -309,12 +322,15 @@ AM_CPPFLAGS = \
 @WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_pmaps.c
-module_la_LIBADD = @evas_image_loader_pmaps_libs@ @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at pkgdir = $(libdir)/evas/modules/loaders/pmaps/$(MODULE_ARCH)
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at module_la_SOURCES = evas_image_load_pmaps.c
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at module_la_LIBADD = @evas_image_loader_pmaps_libs@ @EINA_LIBS@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_TRUE at noinst_LTLIBRARIES = libevas_loader_pmaps.la
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_TRUE at libevas_loader_pmaps_la_SOURCES = evas_image_load_pmaps.c
+ at BUILD_LOADER_PMAPS_TRUE@@EVAS_STATIC_BUILD_PMAPS_TRUE at libevas_loader_pmaps_la_LIBADD = @evas_image_loader_pmaps_libs@
 all: all-am
 
 .SUFFIXES:
@@ -348,6 +364,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -375,8 +400,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_pmaps.la: $(libevas_loader_pmaps_la_OBJECTS) $(libevas_loader_pmaps_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_pmaps_la_rpath) $(libevas_loader_pmaps_la_OBJECTS) $(libevas_loader_pmaps_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -384,6 +411,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_pmaps.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_pmaps.Plo at am__quote@
 
 .c.o:
@@ -527,8 +555,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -587,18 +615,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/pmaps/evas_image_load_pmaps.c b/src/modules/loaders/pmaps/evas_image_load_pmaps.c
index 92acce7..20f6f31 100644
--- a/src/modules/loaders/pmaps/evas_image_load_pmaps.c
+++ b/src/modules/loaders/pmaps/evas_image_load_pmaps.c
@@ -539,7 +539,7 @@ pmaps_buffer_plain_bw_get(Pmaps_Buffer *b, DATA32 *val)
 }
 
 /* external functions */
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em)
@@ -548,16 +548,23 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi = {
+static Evas_Module_Api evas_modapi = {
    EVAS_MODULE_API_VERSION,
-   EVAS_MODULE_TYPE_IMAGE_LOADER,
    "pmaps",
-   "none"
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
 
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, pmaps);
+
+#ifndef EVAS_STATIC_BUILD_PMAPS
+EVAS_EINA_MODULE_DEFINE(image_loader, pmaps);
+#endif
diff --git a/src/modules/loaders/png/Makefile.am b/src/modules/loaders/png/Makefile.am
index ccf52e3..ff14bb8 100644
--- a/src/modules/loaders/png/Makefile.am
+++ b/src/modules/loaders/png/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS = \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
+if BUILD_LOADER_PNG
+if !EVAS_STATIC_BUILD_PNG
 
+pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_png.c
@@ -20,3 +22,12 @@ module_la_SOURCES = evas_image_load_png.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_png.la
+libevas_loader_png_la_SOURCES = evas_image_load_png.c
+libevas_loader_png_la_LIBADD = @evas_image_loader_png_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/png/Makefile.in b/src/modules/loaders/png/Makefile.in
index b814983..929b52a 100644
--- a/src/modules/loaders/png/Makefile.in
+++ b/src/modules/loaders/png/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_png.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_png_la_DEPENDENCIES =
+am__libevas_loader_png_la_SOURCES_DIST = evas_image_load_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at am_libevas_loader_png_la_OBJECTS = evas_image_load_png.lo
+libevas_loader_png_la_OBJECTS = $(am_libevas_loader_png_la_OBJECTS)
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at am_libevas_loader_png_la_rpath =
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_png.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@	-rpath \
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_png_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_png_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -308,12 +321,15 @@ AM_CPPFLAGS = \
 @EVIL_CFLAGS@ \
 @WIN32_CPPFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_png.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at pkgdir = $(libdir)/evas/modules/loaders/png/$(MODULE_ARCH)
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_SOURCES = evas_image_load_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at noinst_LTLIBRARIES = libevas_loader_png.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at libevas_loader_png_la_SOURCES = evas_image_load_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at libevas_loader_png_la_LIBADD = @evas_image_loader_png_libs@
 all: all-am
 
 .SUFFIXES:
@@ -347,6 +363,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -374,8 +399,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_png.la: $(libevas_loader_png_la_OBJECTS) $(libevas_loader_png_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_png_la_rpath) $(libevas_loader_png_la_OBJECTS) $(libevas_loader_png_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -383,6 +410,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_png.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_png.Plo at am__quote@
 
 .c.o:
@@ -526,8 +554,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -586,18 +614,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/png/evas_image_load_png.c b/src/modules/loaders/png/evas_image_load_png.c
index 1289e56..c05a728 100644
--- a/src/modules/loaders/png/evas_image_load_png.c
+++ b/src/modules/loaders/png/evas_image_load_png.c
@@ -32,17 +32,16 @@
 #define PNG_BYTES_TO_CHECK 4
 
 
-int evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key);
 
-Evas_Image_Load_Func evas_image_load_png_func =
+static Evas_Image_Load_Func evas_image_load_png_func =
 {
   evas_image_load_file_head_png,
   evas_image_load_file_data_png
 };
 
-
-int
+static int
 evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key)
 {
    png_uint_32 w32, h32;
@@ -108,7 +107,7 @@ evas_image_load_file_head_png(Image_Entry *ie, const char *file, const char *key
    key = 0;
 }
 
-int
+static int
 evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key)
 {
    unsigned char *surface;
@@ -217,7 +216,7 @@ evas_image_load_file_data_png(Image_Entry *ie, const char *file, const char *key
    key = 0;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -225,16 +224,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "png",
-     "none"
+   "png",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, png);
+
+#ifndef EVAS_STATIC_BUILD_PNG
+EVAS_EINA_MODULE_DEFINE(image_loader, png);
+#endif
diff --git a/src/modules/loaders/svg/Makefile.am b/src/modules/loaders/svg/Makefile.am
index 38c0273..d8e60da 100644
--- a/src/modules/loaders/svg/Makefile.am
+++ b/src/modules/loaders/svg/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH)
+if BUILD_LOADER_SVG
+if !EVAS_STATIC_BUILD_SVG
 
+pkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_svg.c
@@ -20,3 +22,12 @@ module_la_SOURCES = evas_image_load_svg.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_svg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_svg.la
+libevas_loader_svg_la_SOURCES = evas_image_load_svg.c
+libevas_loader_svg_la_LIBADD = @evas_image_loader_svg_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/svg/Makefile.in b/src/modules/loaders/svg/Makefile.in
index e545f8c..40450bf 100644
--- a/src/modules/loaders/svg/Makefile.in
+++ b/src/modules/loaders/svg/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_svg.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_svg_la_DEPENDENCIES =
+am__libevas_loader_svg_la_SOURCES_DIST = evas_image_load_svg.c
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_TRUE at am_libevas_loader_svg_la_OBJECTS = evas_image_load_svg.lo
+libevas_loader_svg_la_OBJECTS = $(am_libevas_loader_svg_la_OBJECTS)
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_TRUE at am_libevas_loader_svg_la_rpath =
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_svg.c
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_svg.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE@	-rpath \
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_svg_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_svg_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @evas_image_loader_svg_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_svg.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_svg_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at pkgdir = $(libdir)/evas/modules/loaders/svg/$(MODULE_ARCH)
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at module_la_SOURCES = evas_image_load_svg.c
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_svg_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_TRUE at noinst_LTLIBRARIES = libevas_loader_svg.la
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_TRUE at libevas_loader_svg_la_SOURCES = evas_image_load_svg.c
+ at BUILD_LOADER_SVG_TRUE@@EVAS_STATIC_BUILD_SVG_TRUE at libevas_loader_svg_la_LIBADD = @evas_image_loader_svg_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_svg.la: $(libevas_loader_svg_la_OBJECTS) $(libevas_loader_svg_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_svg_la_rpath) $(libevas_loader_svg_la_OBJECTS) $(libevas_loader_svg_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_svg.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_svg.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/svg/evas_image_load_svg.c b/src/modules/loaders/svg/evas_image_load_svg.c
index 2431e10..c439f2c 100644
--- a/src/modules/loaders/svg/evas_image_load_svg.c
+++ b/src/modules/loaders/svg/evas_image_load_svg.c
@@ -4,8 +4,8 @@
 #include <librsvg/rsvg.h>
 #include <librsvg/rsvg-cairo.h>
 
-int evas_image_load_file_head_svg(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_svg(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_head_svg(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_svg(Image_Entry *ie, const char *file, const char *key);
 
 Evas_Image_Load_Func evas_image_load_svg_func =
 {
@@ -35,7 +35,7 @@ svg_loader_unpremul_data(DATA32 *data, unsigned int len)
      }
 }
 
-int
+static int
 evas_image_load_file_head_svg(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    char               cwd[PATH_MAX], pcwd[PATH_MAX], *p;
@@ -131,7 +131,7 @@ evas_image_load_file_head_svg(Image_Entry *ie, const char *file, const char *key
 }
 
 /** FIXME: All evas loaders need to be tightened up **/
-int
+static int
 evas_image_load_file_data_svg(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    DATA32             *pixels;
@@ -268,7 +268,7 @@ evas_image_load_file_data_svg(Image_Entry *ie, const char *file, const char *key
    return 1;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -278,19 +278,27 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
    if (!rsvg_initialized) return;
    rsvg_term();
    rsvg_initialized = 0;
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "svg",
-     "none"
+   "svg",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
 
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, svg);
+
+#ifndef EVAS_STATIC_BUILD_SVG
+EVAS_EINA_MODULE_DEFINE(image_loader, svg);
+#endif
diff --git a/src/modules/loaders/tiff/Makefile.am b/src/modules/loaders/tiff/Makefile.am
index bab7f81..b1aa818 100644
--- a/src/modules/loaders/tiff/Makefile.am
+++ b/src/modules/loaders/tiff/Makefile.am
@@ -13,8 +13,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH)
+if BUILD_LOADER_TIFF
+if !EVAS_STATIC_BUILD_TIFF
 
+pkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_load_tiff.c
@@ -22,3 +24,13 @@ module_la_SOURCES = evas_image_load_tiff.c
 module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_tiff.la
+
+libevas_loader_tiff_la_SOURCES = evas_image_load_tiff.c
+libevas_loader_tiff_la_LIBADD = @evas_image_loader_tiff_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/tiff/Makefile.in b/src/modules/loaders/tiff/Makefile.in
index e847db8..523e1b1 100644
--- a/src/modules/loaders/tiff/Makefile.in
+++ b/src/modules/loaders/tiff/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_tiff.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_tiff_la_DEPENDENCIES =
+am__libevas_loader_tiff_la_SOURCES_DIST = evas_image_load_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at am_libevas_loader_tiff_la_OBJECTS = evas_image_load_tiff.lo
+libevas_loader_tiff_la_OBJECTS = $(am_libevas_loader_tiff_la_OBJECTS)
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at am_libevas_loader_tiff_la_rpath =
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_tiff.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@	-rpath \
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_tiff_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_tiff_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -309,12 +322,15 @@ AM_CPPFLAGS = \
 @WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_tiff.c
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at pkgdir = $(libdir)/evas/modules/loaders/tiff/$(MODULE_ARCH)
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_SOURCES = evas_image_load_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at noinst_LTLIBRARIES = libevas_loader_tiff.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at libevas_loader_tiff_la_SOURCES = evas_image_load_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at libevas_loader_tiff_la_LIBADD = @evas_image_loader_tiff_libs@
 all: all-am
 
 .SUFFIXES:
@@ -348,6 +364,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -375,8 +400,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_tiff.la: $(libevas_loader_tiff_la_OBJECTS) $(libevas_loader_tiff_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_tiff_la_rpath) $(libevas_loader_tiff_la_OBJECTS) $(libevas_loader_tiff_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -384,6 +411,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_tiff.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_tiff.Plo at am__quote@
 
 .c.o:
@@ -527,8 +555,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -587,18 +615,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/tiff/evas_image_load_tiff.c b/src/modules/loaders/tiff/evas_image_load_tiff.c
index e213704..703ed93 100644
--- a/src/modules/loaders/tiff/evas_image_load_tiff.c
+++ b/src/modules/loaders/tiff/evas_image_load_tiff.c
@@ -13,11 +13,10 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
+static int evas_image_load_file_head_tiff(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_tiff(Image_Entry *ie, const char *file, const char *key);
 
-int evas_image_load_file_head_tiff(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_tiff(Image_Entry *ie, const char *file, const char *key);
-
-Evas_Image_Load_Func evas_image_load_tiff_func =
+static Evas_Image_Load_Func evas_image_load_tiff_func =
 {
   evas_image_load_file_head_tiff,
   evas_image_load_file_data_tiff
@@ -118,7 +117,7 @@ raster(TIFFRGBAImage_Extra * img, uint32 * rast,
      }
 }
 
-int
+static int
 evas_image_load_file_head_tiff(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    char                txt[1024];
@@ -188,7 +187,7 @@ evas_image_load_file_head_tiff(Image_Entry *ie, const char *file, const char *ke
    return 1;
 }
 
-int
+static int
 evas_image_load_file_data_tiff(Image_Entry *ie, const char *file, const char *key __UNUSED__)
 {
    char                txt[1024];
@@ -325,7 +324,7 @@ evas_image_load_file_data_tiff(Image_Entry *ie, const char *file, const char *ke
    return 1;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -333,16 +332,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
 
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "tiff",
-     "none"
+   "tiff",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, tiff);
+
+#ifndef EVAS_STATIC_BUILD_TIFF
+EVAS_EINA_MODULE_DEFINE(image_loader, tiff);
+#endif
diff --git a/src/modules/loaders/xpm/Makefile.am b/src/modules/loaders/xpm/Makefile.am
index 93505a0..de81294 100644
--- a/src/modules/loaders/xpm/Makefile.am
+++ b/src/modules/loaders/xpm/Makefile.am
@@ -13,6 +13,8 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
+if BUILD_LOADER_XPM
+if !EVAS_STATIC_BUILD_XPM
 pkgdir = $(libdir)/evas/modules/loaders/xpm/$(MODULE_ARCH)
 
 pkg_LTLIBRARIES = module.la
@@ -22,3 +24,13 @@ module_la_SOURCES = evas_image_load_xpm.c
 module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_xpm_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_loader_xpm.la
+
+libevas_loader_xpm_la_SOURCES = evas_image_load_xpm.c
+libevas_loader_xpm_la_LIBADD = @evas_image_loader_xpm_libs@
+
+endif
+endif
diff --git a/src/modules/loaders/xpm/Makefile.in b/src/modules/loaders/xpm/Makefile.in
index 15e1131..25be2f4 100644
--- a/src/modules/loaders/xpm/Makefile.in
+++ b/src/modules/loaders/xpm/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_load_xpm.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_loader_xpm_la_DEPENDENCIES =
+am__libevas_loader_xpm_la_SOURCES_DIST = evas_image_load_xpm.c
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_TRUE at am_libevas_loader_xpm_la_OBJECTS = evas_image_load_xpm.lo
+libevas_loader_xpm_la_OBJECTS = $(am_libevas_loader_xpm_la_OBJECTS)
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_TRUE at am_libevas_loader_xpm_la_rpath =
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_load_xpm.c
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at am_module_la_OBJECTS = module_la-evas_image_load_xpm.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@	-rpath \
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_loader_xpm_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_loader_xpm_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -309,12 +322,15 @@ AM_CPPFLAGS = \
 @WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/loaders/xpm/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_load_xpm.c
-module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_xpm_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at pkgdir = $(libdir)/evas/modules/loaders/xpm/$(MODULE_ARCH)
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at module_la_SOURCES = evas_image_load_xpm.c
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at module_la_LIBADD = @EINA_LIBS@ @EVIL_LIBS@ @evas_image_loader_xpm_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_TRUE at noinst_LTLIBRARIES = libevas_loader_xpm.la
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_TRUE at libevas_loader_xpm_la_SOURCES = evas_image_load_xpm.c
+ at BUILD_LOADER_XPM_TRUE@@EVAS_STATIC_BUILD_XPM_TRUE at libevas_loader_xpm_la_LIBADD = @evas_image_loader_xpm_libs@
 all: all-am
 
 .SUFFIXES:
@@ -348,6 +364,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -375,8 +400,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_loader_xpm.la: $(libevas_loader_xpm_la_OBJECTS) $(libevas_loader_xpm_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_loader_xpm_la_rpath) $(libevas_loader_xpm_la_OBJECTS) $(libevas_loader_xpm_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -384,6 +411,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_load_xpm.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_load_xpm.Plo at am__quote@
 
 .c.o:
@@ -527,8 +555,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -587,18 +615,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/loaders/xpm/evas_image_load_xpm.c b/src/modules/loaders/xpm/evas_image_load_xpm.c
index 15ac543..095fe1b 100644
--- a/src/modules/loaders/xpm/evas_image_load_xpm.c
+++ b/src/modules/loaders/xpm/evas_image_load_xpm.c
@@ -10,16 +10,15 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
-int evas_image_load_file_head_xpm(Image_Entry *ie, const char *file, const char *key);
-int evas_image_load_file_data_xpm(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_head_xpm(Image_Entry *ie, const char *file, const char *key);
+static int evas_image_load_file_data_xpm(Image_Entry *ie, const char *file, const char *key);
 
-Evas_Image_Load_Func evas_image_load_xpm_func =
+static Evas_Image_Load_Func evas_image_load_xpm_func =
 {
   evas_image_load_file_head_xpm,
   evas_image_load_file_data_xpm
 };
 
-
 static FILE *rgb_txt = NULL;
 
 static void
@@ -617,22 +616,19 @@ evas_image_load_file_xpm(Image_Entry *ie, const char *file, const char *key __UN
    return 1;
 }
 
-
-int
+static int
 evas_image_load_file_head_xpm(Image_Entry *ie, const char *file, const char *key)
 {
   return evas_image_load_file_xpm(ie, file, key, 0);
 }
 
-int
+static int
 evas_image_load_file_data_xpm(Image_Entry *ie, const char *file, const char *key)
 {
   return evas_image_load_file_xpm(ie, file, key, 1);
 }
 
-
-
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -640,16 +636,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_LOADER,
-     "xpm",
-     "none"
+   "xpm",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_LOADER, image_loader, xpm);
+
+#ifndef EVAS_STATIC_BUILD_XPM
+EVAS_EINA_MODULE_DEFINE(image_loader, xpm);
+#endif
diff --git a/src/modules/savers/Makefile.am b/src/modules/savers/Makefile.am
index f1fdb88..0854052 100644
--- a/src/modules/savers/Makefile.am
+++ b/src/modules/savers/Makefile.am
@@ -1,23 +1,33 @@
 MAINTAINERCLEANFILES = Makefile.in
 
+SUBDIRS =
+
 if BUILD_LOADER_EDB
-edb_subdir = edb
+if !EVAS_STATIC_BUILD_EDB
+SUBDIRS += edb
+endif
 endif
 
 if BUILD_LOADER_EET
-eet_subdir = eet
+if !EVAS_STATIC_BUILD_EET
+SUBDIRS += eet
+endif
 endif
 
 if BUILD_SAVER_JPEG
-jpeg_subdir = jpeg
+if !EVAS_STATIC_BUILD_JPEG
+SUBDIRS += jpeg
+endif
 endif
 
 if BUILD_LOADER_PNG
-png_subdir = png
+if !EVAS_STATIC_BUILD_PNG
+SUBDIRS += png
+endif
 endif
 
 if BUILD_LOADER_TIFF
-tiff_subdir = tiff
+if !EVAS_STATIC_BUILD_TIFF
+SUBDIRS += tiff
+endif
 endif
-
-SUBDIRS = $(edb_subdir) $(eet_subdir) $(jpeg_subdir) $(png_subdir) $(tiff_subdir)
diff --git a/src/modules/savers/Makefile.in b/src/modules/savers/Makefile.in
index a6a02ed..8820ed2 100644
--- a/src/modules/savers/Makefile.in
+++ b/src/modules/savers/Makefile.in
@@ -31,6 +31,11 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am__append_1 = edb
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am__append_2 = eet
+ at BUILD_SAVER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am__append_3 = jpeg
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am__append_4 = png
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am__append_5 = tiff
 subdir = src/modules/savers
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -38,7 +43,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -142,7 +149,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -219,10 +225,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -246,6 +252,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -280,12 +288,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 version_info = @version_info@
 MAINTAINERCLEANFILES = Makefile.in
- at BUILD_LOADER_EDB_TRUE@edb_subdir = edb
- at BUILD_LOADER_EET_TRUE@eet_subdir = eet
- at BUILD_SAVER_JPEG_TRUE@jpeg_subdir = jpeg
- at BUILD_LOADER_PNG_TRUE@png_subdir = png
- at BUILD_LOADER_TIFF_TRUE@tiff_subdir = tiff
-SUBDIRS = $(edb_subdir) $(eet_subdir) $(jpeg_subdir) $(png_subdir) $(tiff_subdir)
+SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \
+	$(am__append_4) $(am__append_5)
 all: all-recursive
 
 .SUFFIXES:
diff --git a/src/modules/savers/edb/Makefile.am b/src/modules/savers/edb/Makefile.am
index ffe1ffb..e273d9b 100644
--- a/src/modules/savers/edb/Makefile.am
+++ b/src/modules/savers/edb/Makefile.am
@@ -7,8 +7,10 @@ AM_CPPFLAGS	       = -I. \
 			 @FREETYPE_CFLAGS@ @evas_image_loader_edb_cflags@ \
 			 @EINA_CFLAGS@
 
-pkgdir                 = $(libdir)/evas/modules/savers/edb/$(MODULE_ARCH)
+if BUILD_LOADER_EDB
+if !EVAS_STATIC_BUILD_EDB
 
+pkgdir                 = $(libdir)/evas/modules/savers/edb/$(MODULE_ARCH)
 pkg_LTLIBRARIES        = module.la
 
 module_la_SOURCES      = evas_image_save_edb.c
@@ -17,4 +19,14 @@ module_la_LIBADD       = @EINA_LIBS@ @evas_image_loader_edb_libs@ $(top_builddir
 module_la_LDFLAGS      = -no-undefined -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
 
+else
+
+noinst_LTLIBRARIES = libevas_saver_edb.la
+
+libevas_saver_edb_la_SOURCES = evas_image_save_edb.c
+libevas_saver_edb_la_LIBADD = @evas_image_loader_edb_libs@
+
+endif
+endif
+
 EXTRA_DIST             = evas_image_save_edb.c
diff --git a/src/modules/savers/edb/Makefile.in b/src/modules/savers/edb/Makefile.in
index ec71d1b..04714d6 100644
--- a/src/modules/savers/edb/Makefile.in
+++ b/src/modules/savers/edb/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_save_edb.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_saver_edb_la_DEPENDENCIES =
+am__libevas_saver_edb_la_SOURCES_DIST = evas_image_save_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at am_libevas_saver_edb_la_OBJECTS = evas_image_save_edb.lo
+libevas_saver_edb_la_OBJECTS = $(am_libevas_saver_edb_la_OBJECTS)
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at am_libevas_saver_edb_la_rpath =
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_save_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am_module_la_OBJECTS = module_la-evas_image_save_edb.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE@	-rpath \
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_saver_edb_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_saver_edb_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -304,12 +317,15 @@ AM_CPPFLAGS = -I. \
 			 @FREETYPE_CFLAGS@ @evas_image_loader_edb_cflags@ \
 			 @EINA_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/savers/edb/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_save_edb.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_edb_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at pkgdir = $(libdir)/evas/modules/savers/edb/$(MODULE_ARCH)
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_SOURCES = evas_image_save_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_edb_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LDFLAGS = -no-undefined -module -avoid-version
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at noinst_LTLIBRARIES = libevas_saver_edb.la
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at libevas_saver_edb_la_SOURCES = evas_image_save_edb.c
+ at BUILD_LOADER_EDB_TRUE@@EVAS_STATIC_BUILD_EDB_TRUE at libevas_saver_edb_la_LIBADD = @evas_image_loader_edb_libs@
 EXTRA_DIST = evas_image_save_edb.c
 all: all-am
 
@@ -344,6 +360,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -371,8 +396,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_saver_edb.la: $(libevas_saver_edb_la_OBJECTS) $(libevas_saver_edb_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_saver_edb_la_rpath) $(libevas_saver_edb_la_OBJECTS) $(libevas_saver_edb_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -380,6 +407,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_save_edb.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_save_edb.Plo at am__quote@
 
 .c.o:
@@ -523,8 +551,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -583,18 +611,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/savers/edb/evas_image_save_edb.c b/src/modules/savers/edb/evas_image_save_edb.c
index d2e8c9a..8279226 100644
--- a/src/modules/savers/edb/evas_image_save_edb.c
+++ b/src/modules/savers/edb/evas_image_save_edb.c
@@ -4,20 +4,20 @@
 #include <Edb.h>
 #include <zlib.h>
 
-int evas_image_save_file_edb(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
+static int evas_image_save_file_edb(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
 
-Evas_Image_Save_Func evas_image_save_edb_func =
+static Evas_Image_Save_Func evas_image_save_edb_func =
 {
    evas_image_save_file_edb
 };
 
-int
+static int
 evas_image_save_file_edb(RGBA_Image *im, const char *file, const char *key, int quality, int compress)
 {
    return 0;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -25,16 +25,24 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_SAVER,
-     "edb",
-     "none"
+   "edb",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_SAVER, image_saver, edb);
+
+#ifndef EVAS_STATIC_BUILD_EDB
+EVAS_EINA_MODULE_DEFINE(image_saver, edb);
+#endif
diff --git a/src/modules/savers/eet/Makefile.am b/src/modules/savers/eet/Makefile.am
index 3f6ee4a..94f3a55 100644
--- a/src/modules/savers/eet/Makefile.am
+++ b/src/modules/savers/eet/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/savers/eet/$(MODULE_ARCH)
+if BUILD_LOADER_EET
+if !EVAS_STATIC_BUILD_EET
 
+pkgdir = $(libdir)/evas/modules/savers/eet/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_eet.c
@@ -20,3 +22,13 @@ module_la_SOURCES = evas_image_save_eet.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_saver_eet.la
+
+libevas_saver_eet_la_SOURCES = evas_image_save_eet.c
+libevas_saver_eet_la_LIBADD = @evas_image_loader_eet_libs@
+
+endif
+endif
diff --git a/src/modules/savers/eet/Makefile.in b/src/modules/savers/eet/Makefile.in
index 45128cd..ed9617d 100644
--- a/src/modules/savers/eet/Makefile.in
+++ b/src/modules/savers/eet/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_save_eet.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_saver_eet_la_DEPENDENCIES =
+am__libevas_saver_eet_la_SOURCES_DIST = evas_image_save_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at am_libevas_saver_eet_la_OBJECTS = evas_image_save_eet.lo
+libevas_saver_eet_la_OBJECTS = $(am_libevas_saver_eet_la_OBJECTS)
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at am_libevas_saver_eet_la_rpath =
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_save_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am_module_la_OBJECTS = module_la-evas_image_save_eet.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@	-rpath \
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_saver_eet_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_saver_eet_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @evas_image_loader_eet_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/savers/eet/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_save_eet.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at pkgdir = $(libdir)/evas/modules/savers/eet/$(MODULE_ARCH)
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_SOURCES = evas_image_save_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_eet_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at noinst_LTLIBRARIES = libevas_saver_eet.la
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at libevas_saver_eet_la_SOURCES = evas_image_save_eet.c
+ at BUILD_LOADER_EET_TRUE@@EVAS_STATIC_BUILD_EET_TRUE at libevas_saver_eet_la_LIBADD = @evas_image_loader_eet_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_saver_eet.la: $(libevas_saver_eet_la_OBJECTS) $(libevas_saver_eet_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_saver_eet_la_rpath) $(libevas_saver_eet_la_OBJECTS) $(libevas_saver_eet_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_save_eet.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_save_eet.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/savers/eet/evas_image_save_eet.c b/src/modules/savers/eet/evas_image_save_eet.c
index 5c672b1..cbb346e 100644
--- a/src/modules/savers/eet/evas_image_save_eet.c
+++ b/src/modules/savers/eet/evas_image_save_eet.c
@@ -7,14 +7,14 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
-int evas_image_save_file_eet(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
+static int evas_image_save_file_eet(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
 
-Evas_Image_Save_Func evas_image_save_eet_func =
+static Evas_Image_Save_Func evas_image_save_eet_func =
 {
    evas_image_save_file_eet
 };
 
-int
+static int
 evas_image_save_file_eet(RGBA_Image *im, const char *file, const char *key, int quality, int compress)
 {
    Eet_File            *ef;
@@ -51,7 +51,7 @@ evas_image_save_file_eet(RGBA_Image *im, const char *file, const char *key, int
    return ok;
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -59,16 +59,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_SAVER,
-     "eet",
-     "none"
+   "eet",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_SAVER, image_saver, eet);
+
+#ifndef EVAS_STATIC_BUILD_EET
+EVAS_EINA_MODULE_DEFINE(image_saver, eet);
+#endif
+
diff --git a/src/modules/savers/jpeg/Makefile.am b/src/modules/savers/jpeg/Makefile.am
index 5900f1d..63c8fd9 100644
--- a/src/modules/savers/jpeg/Makefile.am
+++ b/src/modules/savers/jpeg/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS= \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH)
+if BUILD_LOADER_JPEG
+if !EVAS_STATIC_BUILD_JPEG
 
+pkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_jpeg.c
@@ -20,3 +22,12 @@ module_la_SOURCES = evas_image_save_jpeg.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_saver_jpeg.la
+libevas_saver_jpeg_la_SOURCES = evas_image_save_jpeg.c
+libevas_saver_jpeg_la_LIBADD = @evas_image_loader_jpeg_libs@
+
+endif
+endif
diff --git a/src/modules/savers/jpeg/Makefile.in b/src/modules/savers/jpeg/Makefile.in
index 3970352..98c6138 100644
--- a/src/modules/savers/jpeg/Makefile.in
+++ b/src/modules/savers/jpeg/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_save_jpeg.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_saver_jpeg_la_DEPENDENCIES =
+am__libevas_saver_jpeg_la_SOURCES_DIST = evas_image_save_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at am_libevas_saver_jpeg_la_OBJECTS = evas_image_save_jpeg.lo
+libevas_saver_jpeg_la_OBJECTS = $(am_libevas_saver_jpeg_la_OBJECTS)
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at am_libevas_saver_jpeg_la_rpath =
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_save_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am_module_la_OBJECTS = module_la-evas_image_save_jpeg.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@	-rpath \
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_saver_jpeg_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_saver_jpeg_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @evas_image_loader_jpeg_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_save_jpeg.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at pkgdir = $(libdir)/evas/modules/savers/jpeg/$(MODULE_ARCH)
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_SOURCES = evas_image_save_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_jpeg_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at noinst_LTLIBRARIES = libevas_saver_jpeg.la
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at libevas_saver_jpeg_la_SOURCES = evas_image_save_jpeg.c
+ at BUILD_LOADER_JPEG_TRUE@@EVAS_STATIC_BUILD_JPEG_TRUE at libevas_saver_jpeg_la_LIBADD = @evas_image_loader_jpeg_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_saver_jpeg.la: $(libevas_saver_jpeg_la_OBJECTS) $(libevas_saver_jpeg_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_saver_jpeg_la_rpath) $(libevas_saver_jpeg_la_OBJECTS) $(libevas_saver_jpeg_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_save_jpeg.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_save_jpeg.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/savers/jpeg/evas_image_save_jpeg.c b/src/modules/savers/jpeg/evas_image_save_jpeg.c
index 209a6aa..fc11ccc 100644
--- a/src/modules/savers/jpeg/evas_image_save_jpeg.c
+++ b/src/modules/savers/jpeg/evas_image_save_jpeg.c
@@ -5,9 +5,9 @@
 #include <jpeglib.h>
 #include <setjmp.h>
 
-int evas_image_save_file_jpeg(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
+static int evas_image_save_file_jpeg(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
 
-Evas_Image_Save_Func evas_image_save_jpeg_func =
+static Evas_Image_Save_Func evas_image_save_jpeg_func =
 {
    evas_image_save_file_jpeg
 };
@@ -111,12 +111,12 @@ save_image_jpeg(RGBA_Image *im, const char *file, int quality)
    return 1;
 }
 
-int evas_image_save_file_jpeg(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality, int compress __UNUSED__)
+static int evas_image_save_file_jpeg(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality, int compress __UNUSED__)
 {
    return save_image_jpeg(im, file, quality);
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -124,16 +124,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_SAVER,
-     "jpeg",
-     "none"
+   "jpeg",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_SAVER, image_saver, jpeg);
+
+#ifndef EVAS_STATIC_BUILD_JPEG
+EVAS_EINA_MODULE_DEFINE(image_saver, jpeg);
+#endif
+
diff --git a/src/modules/savers/png/Makefile.am b/src/modules/savers/png/Makefile.am
index b8c14c7..b9d9cd5 100644
--- a/src/modules/savers/png/Makefile.am
+++ b/src/modules/savers/png/Makefile.am
@@ -13,8 +13,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH)
+if BUILD_LOADER_PNG
+if !EVAS_STATIC_BUILD_PNG
 
+pkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_png.c
@@ -22,3 +24,13 @@ module_la_SOURCES = evas_image_save_png.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_saver_png.la
+
+libevas_saver_png_la_SOURCES = evas_image_save_png.c
+libevas_saver_png_la_LIBADD = @evas_image_loader_png_libs@
+
+endif
+endif
diff --git a/src/modules/savers/png/Makefile.in b/src/modules/savers/png/Makefile.in
index cc2e3b7..5090aaa 100644
--- a/src/modules/savers/png/Makefile.in
+++ b/src/modules/savers/png/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_save_png.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_saver_png_la_DEPENDENCIES =
+am__libevas_saver_png_la_SOURCES_DIST = evas_image_save_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at am_libevas_saver_png_la_OBJECTS = evas_image_save_png.lo
+libevas_saver_png_la_OBJECTS = $(am_libevas_saver_png_la_OBJECTS)
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at am_libevas_saver_png_la_rpath =
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_save_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am_module_la_OBJECTS = module_la-evas_image_save_png.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@	-rpath \
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_saver_png_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_saver_png_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -309,12 +322,15 @@ AM_CPPFLAGS = \
 @WIN32_CPPFLAGS@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_save_png.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at pkgdir = $(libdir)/evas/modules/savers/png/$(MODULE_ARCH)
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_SOURCES = evas_image_save_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_png_libs@ @EVIL_LIBS@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at noinst_LTLIBRARIES = libevas_saver_png.la
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at libevas_saver_png_la_SOURCES = evas_image_save_png.c
+ at BUILD_LOADER_PNG_TRUE@@EVAS_STATIC_BUILD_PNG_TRUE at libevas_saver_png_la_LIBADD = @evas_image_loader_png_libs@
 all: all-am
 
 .SUFFIXES:
@@ -348,6 +364,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -375,8 +400,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_saver_png.la: $(libevas_saver_png_la_OBJECTS) $(libevas_saver_png_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_saver_png_la_rpath) $(libevas_saver_png_la_OBJECTS) $(libevas_saver_png_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -384,6 +411,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_save_png.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_save_png.Plo at am__quote@
 
 .c.o:
@@ -527,8 +555,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -587,18 +615,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/savers/png/evas_image_save_png.c b/src/modules/savers/png/evas_image_save_png.c
index 0278f32..40b6cd6 100644
--- a/src/modules/savers/png/evas_image_save_png.c
+++ b/src/modules/savers/png/evas_image_save_png.c
@@ -26,9 +26,9 @@
 #include "evas_common.h"
 #include "evas_private.h"
 
-int evas_image_save_file_png(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
+static int evas_image_save_file_png(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
 
-Evas_Image_Save_Func evas_image_save_png_func =
+static Evas_Image_Save_Func evas_image_save_png_func =
 {
    evas_image_save_file_png
 };
@@ -153,12 +153,12 @@ save_image_png(RGBA_Image *im, const char *file, int compress, int interlace)
    return 0;
 }
 
-int evas_image_save_file_png(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality __UNUSED__, int compress)
+static int evas_image_save_file_png(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality __UNUSED__, int compress)
 {
    return save_image_png(im, file, compress, 0);
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -166,16 +166,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_SAVER,
-     "png",
-     "none"
+   "png",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_SAVER, image_saver, png);
+
+#ifndef EVAS_STATIC_BUILD_PNG
+EVAS_EINA_MODULE_DEFINE(image_saver, png);
+#endif
+
diff --git a/src/modules/savers/tiff/Makefile.am b/src/modules/savers/tiff/Makefile.am
index 3a871e9..c754c0b 100644
--- a/src/modules/savers/tiff/Makefile.am
+++ b/src/modules/savers/tiff/Makefile.am
@@ -11,8 +11,10 @@ AM_CPPFLAGS = \
 
 AM_CFLAGS = @WIN32_CFLAGS@
 
-pkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH)
+if BUILD_LOADER_TIFF
+if !EVAS_STATIC_BUILD_TIFF
 
+pkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH)
 pkg_LTLIBRARIES = module.la
 
 module_la_SOURCES = evas_image_save_tiff.c
@@ -20,3 +22,13 @@ module_la_SOURCES = evas_image_save_tiff.c
 module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
 module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
 module_la_LIBTOOLFLAGS = --tag=disable-static
+
+else
+
+noinst_LTLIBRARIES = libevas_saver_tiff.la
+
+libevas_saver_tiff_la_SOURCES = evas_image_save_tiff.c
+libevas_saver_tiff_la_LIBADD = @evas_image_loader_tiff_libs@
+
+endif
+endif
diff --git a/src/modules/savers/tiff/Makefile.in b/src/modules/savers/tiff/Makefile.in
index 1816f0e..099f66a 100644
--- a/src/modules/savers/tiff/Makefile.in
+++ b/src/modules/savers/tiff/Makefile.in
@@ -39,7 +39,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \
 	$(top_srcdir)/m4/efl_doxygen.m4 \
 	$(top_srcdir)/m4/evas_check_engine.m4 \
 	$(top_srcdir)/m4/evas_check_loader.m4 \
-	$(top_srcdir)/m4/evas_converter.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/evas_converter.m4 \
+	$(top_srcdir)/m4/evas_dither.m4 \
+	$(top_srcdir)/m4/evas_scaler.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
@@ -56,13 +58,22 @@ am__vpath_adj = case $$p in \
 am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(pkgdir)"
 pkgLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(pkg_LTLIBRARIES)
-module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
-am_module_la_OBJECTS = module_la-evas_image_save_tiff.lo
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+libevas_saver_tiff_la_DEPENDENCIES =
+am__libevas_saver_tiff_la_SOURCES_DIST = evas_image_save_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at am_libevas_saver_tiff_la_OBJECTS = evas_image_save_tiff.lo
+libevas_saver_tiff_la_OBJECTS = $(am_libevas_saver_tiff_la_OBJECTS)
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at am_libevas_saver_tiff_la_rpath =
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_DEPENDENCIES = $(top_builddir)/src/lib/libevas.la
+am__module_la_SOURCES_DIST = evas_image_save_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am_module_la_OBJECTS = module_la-evas_image_save_tiff.lo
 module_la_OBJECTS = $(am_module_la_OBJECTS)
 module_la_LINK = $(LIBTOOL) --tag=CC $(module_la_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(module_la_LDFLAGS) $(LDFLAGS) -o $@
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at am_module_la_rpath =  \
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@	-rpath \
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE@	$(pkgdir)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -75,8 +86,9 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(module_la_SOURCES)
-DIST_SOURCES = $(module_la_SOURCES)
+SOURCES = $(libevas_saver_tiff_la_SOURCES) $(module_la_SOURCES)
+DIST_SOURCES = $(am__libevas_saver_tiff_la_SOURCES_DIST) \
+	$(am__module_la_SOURCES_DIST)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -160,7 +172,6 @@ PKG_CONFIG = @PKG_CONFIG@
 PNG_CFLAGS = @PNG_CFLAGS@
 PNG_LIBS = @PNG_LIBS@
 RANLIB = @RANLIB@
-RC = @RC@
 SDL_CFLAGS = @SDL_CFLAGS@
 SDL_LIBS = @SDL_LIBS@
 SED = @SED@
@@ -237,10 +248,10 @@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
 evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
 evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
 evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
-evas_engine_software_x11_cflags = @evas_engine_software_x11_cflags@
-evas_engine_software_x11_libs = @evas_engine_software_x11_libs@
 evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
 evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
+evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
+evas_engine_software_xlib_libs = @evas_engine_software_xlib_libs@
 evas_engine_xrender_x11_cflags = @evas_engine_xrender_x11_cflags@
 evas_engine_xrender_x11_libs = @evas_engine_xrender_x11_libs@
 evas_engine_xrender_xcb_cflags = @evas_engine_xrender_xcb_cflags@
@@ -264,6 +275,8 @@ evas_image_loader_tiff_libs = @evas_image_loader_tiff_libs@
 evas_image_loader_xpm_cflags = @evas_image_loader_xpm_cflags@
 evas_image_loader_xpm_libs = @evas_image_loader_xpm_libs@
 exec_prefix = @exec_prefix@
+have_evas_engine_software_xcb = @have_evas_engine_software_xcb@
+have_evas_engine_software_xlib = @have_evas_engine_software_xlib@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -307,12 +320,15 @@ AM_CPPFLAGS = \
 @evas_image_loader_tiff_cflags@
 
 AM_CFLAGS = @WIN32_CFLAGS@
-pkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH)
-pkg_LTLIBRARIES = module.la
-module_la_SOURCES = evas_image_save_tiff.c
-module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
-module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
-module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at pkgdir = $(libdir)/evas/modules/savers/tiff/$(MODULE_ARCH)
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at pkg_LTLIBRARIES = module.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_SOURCES = evas_image_save_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LIBADD = @EINA_LIBS@ @evas_image_loader_tiff_libs@ $(top_builddir)/src/lib/libevas.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -module -avoid-version
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_FALSE at module_la_LIBTOOLFLAGS = --tag=disable-static
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at noinst_LTLIBRARIES = libevas_saver_tiff.la
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at libevas_saver_tiff_la_SOURCES = evas_image_save_tiff.c
+ at BUILD_LOADER_TIFF_TRUE@@EVAS_STATIC_BUILD_TIFF_TRUE at libevas_saver_tiff_la_LIBADD = @evas_image_loader_tiff_libs@
 all: all-am
 
 .SUFFIXES:
@@ -346,6 +362,15 @@ $(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
 install-pkgLTLIBRARIES: $(pkg_LTLIBRARIES)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkgdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdir)"
@@ -373,8 +398,10 @@ clean-pkgLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
+libevas_saver_tiff.la: $(libevas_saver_tiff_la_OBJECTS) $(libevas_saver_tiff_la_DEPENDENCIES) 
+	$(LINK) $(am_libevas_saver_tiff_la_rpath) $(libevas_saver_tiff_la_OBJECTS) $(libevas_saver_tiff_la_LIBADD) $(LIBS)
 module.la: $(module_la_OBJECTS) $(module_la_DEPENDENCIES) 
-	$(module_la_LINK) -rpath $(pkgdir) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
+	$(module_la_LINK) $(am_module_la_rpath) $(module_la_OBJECTS) $(module_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -382,6 +409,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/evas_image_save_tiff.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/module_la-evas_image_save_tiff.Plo at am__quote@
 
 .c.o:
@@ -525,8 +553,8 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-pkgLTLIBRARIES \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-pkgLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -585,18 +613,18 @@ uninstall-am: uninstall-pkgLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-pkgLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgLTLIBRARIES install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkgLTLIBRARIES
+	clean-libtool clean-noinstLTLIBRARIES clean-pkgLTLIBRARIES \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-pkgLTLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-pkgLTLIBRARIES
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/src/modules/savers/tiff/evas_image_save_tiff.c b/src/modules/savers/tiff/evas_image_save_tiff.c
index 8560001..8e6f4b3 100644
--- a/src/modules/savers/tiff/evas_image_save_tiff.c
+++ b/src/modules/savers/tiff/evas_image_save_tiff.c
@@ -3,9 +3,9 @@
 
 #include <tiffio.h>
 
-int evas_image_save_file_tiff(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
+static int evas_image_save_file_tiff(RGBA_Image *im, const char *file, const char *key, int quality, int compress);
 
-Evas_Image_Save_Func evas_image_save_tiff_func =
+static Evas_Image_Save_Func evas_image_save_tiff_func =
 {
    evas_image_save_file_tiff
 };
@@ -102,12 +102,12 @@ save_image_tiff(RGBA_Image *im, const char *file, int compress __UNUSED__, int i
    return 1;
 }
 
-int evas_image_save_file_tiff(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality __UNUSED__, int compress)
+static int evas_image_save_file_tiff(RGBA_Image *im, const char *file, const char *key __UNUSED__, int quality __UNUSED__, int compress)
 {
    return save_image_tiff(im, file, compress, 0);
 }
 
-EAPI int
+static int
 module_open(Evas_Module *em)
 {
    if (!em) return 0;
@@ -115,16 +115,25 @@ module_open(Evas_Module *em)
    return 1;
 }
 
-EAPI void
-module_close(void)
+static void
+module_close(Evas_Module *em)
 {
-   
 }
 
-EAPI Evas_Module_Api evas_modapi =
+static Evas_Module_Api evas_modapi =
 {
    EVAS_MODULE_API_VERSION,
-     EVAS_MODULE_TYPE_IMAGE_SAVER,
-     "tiff",
-     "none"
+   "tiff",
+   "none",
+   {
+     module_open,
+     module_close
+   }
 };
+
+EVAS_MODULE_DEFINE(EVAS_MODULE_TYPE_IMAGE_SAVER, image_saver, tiff);
+
+#ifndef EVAS_STATIC_BUILD_TIFF
+EVAS_EINA_MODULE_DEFINE(image_saver, tiff);
+#endif
+

-- 
Enlightenment DR17 advanced canvas library



More information about the Pkg-e-commits mailing list