[Pkg-e-commits] [SCM] Enlightenment Foundation Library providing optimized data types branch, new-svn-snapshot, updated. debian/0.0.1_svn20081120-1-175-gf56ef52

Albin Tonnerre albin.tonnerre at gmail.com
Fri Jun 19 10:44:47 UTC 2009


The following commit has been merged in the new-svn-snapshot branch:
commit da3af2163bb3e8135b9abbf754cb3f4353679f7f
Author: Albin Tonnerre <albin.tonnerre at gmail.com>
Date:   Fri Jun 19 10:59:57 2009 +0200

    Import upstream release 0.0.2.061

diff --git a/AUTHORS b/AUTHORS
index 95d68a9..48ff69a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,3 +8,5 @@ Cedric Bail <cedric.bail at free.fr>
 Peter "pfritz" Wehrfritz <peter.wehrfritz at web.de>
 Arnaud de Turckheim "quarium" <quarium at gmail.com>
 Alexandre "diaxen" Becoulet <diaxen at free.fr>
+Albin Tonnerre <albin.tonnerre at gmail.com>
+Andre Dieb <andre.dieb at gmail.com>
diff --git a/Makefile.in b/Makefile.in
index 3e71a15..7d44757 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -123,10 +123,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/configure b/configure
index cff71a4..c9a4151 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 eina 0.0.2.060.
+# Generated by GNU Autoconf 2.61 for eina 0.0.2.061.
 #
 # Report bugs to <enlightenment-devel at lists.sourceforge.net>.
 #
@@ -723,8 +723,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='eina'
 PACKAGE_TARNAME='eina'
-PACKAGE_VERSION='0.0.2.060'
-PACKAGE_STRING='eina 0.0.2.060'
+PACKAGE_VERSION='0.0.2.061'
+PACKAGE_STRING='eina 0.0.2.061'
 PACKAGE_BUGREPORT='enlightenment-devel at lists.sourceforge.net'
 
 ac_unique_file="configure.ac"
@@ -876,11 +876,11 @@ MODULE_ARCH
 EFL_SIMD_FLAGS
 EFL_PTHREAD_CFLAGS
 EFL_PTHREAD_LIBS
-EINA_MAGIC_DEBUG
+EINA_CONFIGURE_MAGIC_DEBUG
 SAFETY_CHECKS_TRUE
 SAFETY_CHECKS_FALSE
-EINA_SAFETY_CHECKS
-EINA_DEFAULT_MEMPOOL
+EINA_CONFIGURE_SAFETY_CHECKS
+EINA_CONFIGURE_DEFAULT_MEMPOOL
 EINA_STATIC_BUILD_CHAINED_POOL_TRUE
 EINA_STATIC_BUILD_CHAINED_POOL_FALSE
 EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE
@@ -892,17 +892,6 @@ EINA_STATIC_BUILD_PASS_THROUGH_FALSE
 EINA_STATIC_BUILD_FIXED_BITMAP_TRUE
 EINA_STATIC_BUILD_FIXED_BITMAP_FALSE
 PKG_CONFIG
-CHECK_CFLAGS
-CHECK_LIBS
-EFL_ENABLE_TESTS_TRUE
-EFL_ENABLE_TESTS_FALSE
-have_lcov
-EFL_COVERAGE_CFLAGS
-EFL_COVERAGE_LIBS
-EFL_ENABLE_COVERAGE_TRUE
-EFL_ENABLE_COVERAGE_FALSE
-EFL_ENABLE_BENCHMARK_TRUE
-EFL_ENABLE_BENCHMARK_FALSE
 efl_have_doxygen
 efl_doxygen
 EFL_BUILD_DOC_TRUE
@@ -932,6 +921,17 @@ EINA_LIBS
 lt_enable_auto_import
 ALLOCA
 dlopen_libs
+CHECK_CFLAGS
+CHECK_LIBS
+EFL_ENABLE_TESTS_TRUE
+EFL_ENABLE_TESTS_FALSE
+have_lcov
+EFL_COVERAGE_CFLAGS
+EFL_COVERAGE_LIBS
+EFL_ENABLE_COVERAGE_TRUE
+EFL_ENABLE_COVERAGE_FALSE
+EFL_ENABLE_BENCHMARK_TRUE
+EFL_ENABLE_BENCHMARK_FALSE
 LIBOBJS
 LTLIBOBJS'
 ac_subst_files=''
@@ -945,8 +945,6 @@ LIBS
 CPPFLAGS
 CPP
 PKG_CONFIG
-CHECK_CFLAGS
-CHECK_LIBS
 EVIL_CFLAGS
 EVIL_LIBS
 GLIB_CFLAGS
@@ -956,7 +954,9 @@ EVAS_LIBS
 ECORE_CFLAGS
 ECORE_LIBS
 EMEMOA_CFLAGS
-EMEMOA_LIBS'
+EMEMOA_LIBS
+CHECK_CFLAGS
+CHECK_LIBS'
 
 
 # Initialize some variables set by options.
@@ -1459,7 +1459,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 eina 0.0.2.060 to adapt to many kinds of systems.
+\`configure' configures eina 0.0.2.061 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1529,7 +1529,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of eina 0.0.2.060:";;
+     short | recursive ) echo "Configuration of eina 0.0.2.061:";;
    esac
   cat <<\_ACEOF
 
@@ -1548,14 +1548,16 @@ Optional Features:
   --enable-cpu-sse2       enable sse2 code [default=yes]
   --enable-cpu-altivec    enable altivec code [default=yes]
   --disable-pthread       enable POSIX threads code [default=no]
-  --enable-magic-debug    enable magic debug of eina structure
+  --disable-magic-debug   disable magic debug of eina structure
+                          [default=enabled]
   --disable-safety-checks disable safety checks for NULL pointers and like.
                           [default=enabled]
   --enable-default-mempool
                           Default memory allocator could be faster for some
-                          computer
+                          computer. [default=disabled]
   --enable-stringshare-usage
-                          Report stringshare usage on stringshare shutdown
+                          Report stringshare usage on stringshare shutdown.
+                          [default=disabled]
   --enable-ememoa         build ememoa memory pool module [default=yes]
   --enable-static-chained-pool
                           enable static build of chained pool [default=no]
@@ -1567,13 +1569,13 @@ Optional Features:
                           enable static build of pass through [default=no]
   --enable-static-fixed-bitmap
                           enable static build of fixed bitmap [default=no]
+  --disable-doc           Disable documentation build [default=enabled]
+  --enable-e17            enable heavy benchmark [default=no]
+  --disable-assert        turn off assertions
   --enable-tests          enable tests [default=no]
   --enable-coverage       compile with coverage profiling instrumentation
                           [default=no]
   --enable-benchmark      enable tests [default=no]
-  --disable-doc           Disable documentation build [default=enabled]
-  --enable-e17            enable heavy benchmark [default=no]
-  --disable-assert        turn off assertions
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1593,9 +1595,6 @@ Some influential environment variables:
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
   PKG_CONFIG  path to pkg-config utility
-  CHECK_CFLAGS
-              C compiler flags for CHECK, overriding pkg-config
-  CHECK_LIBS  linker flags for CHECK, overriding pkg-config
   EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config
   EVIL_LIBS   linker flags for EVIL, overriding pkg-config
   GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
@@ -1608,6 +1607,9 @@ Some influential environment variables:
   EMEMOA_CFLAGS
               C compiler flags for EMEMOA, overriding pkg-config
   EMEMOA_LIBS linker flags for EMEMOA, overriding pkg-config
+  CHECK_CFLAGS
+              C compiler flags for CHECK, overriding pkg-config
+  CHECK_LIBS  linker flags for CHECK, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1673,7 +1675,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-eina configure 0.0.2.060
+eina configure 0.0.2.061
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1687,7 +1689,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 eina $as_me 0.0.2.060, which was
+It was created by eina $as_me 0.0.2.061, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -3529,7 +3531,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='eina'
- VERSION='0.0.2.060'
+ VERSION='0.0.2.061'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4779,13 +4781,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:4782: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:4784: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:4785: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:4787: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:4788: output\"" >&5)
+  (eval echo "\"\$as_me:4790: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -5895,7 +5897,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5898 "configure"' > conftest.$ac_ext
+  echo '#line 5900 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -7744,11 +7746,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:7747: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7749: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7751: \$? = $ac_status" >&5
+   echo "$as_me:7753: \$? = $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.
@@ -8068,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:8071: $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:8075: \$? = $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.
@@ -8173,11 +8175,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:8176: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8178: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8180: \$? = $ac_status" >&5
+   echo "$as_me:8182: \$? = $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
@@ -8228,11 +8230,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:8231: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8233: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8235: \$? = $ac_status" >&5
+   echo "$as_me:8237: \$? = $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
@@ -10989,7 +10991,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10992 "configure"
+#line 10994 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11089,7 +11091,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11092 "configure"
+#line 11094 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11326,16 +11328,23 @@ VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-release="ver-pre-01"
-release_info="-release $release"
-
 
 
 
 
 ### Needed information
 
-MODULE_ARCH="$host_os-$host_cpu-$release"
+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
@@ -12127,41 +12136,47 @@ fi
 if test "${enable_magic_debug+set}" = set; then
   enableval=$enable_magic_debug;
     if test "x${enableval}" = "xyes" ; then
-       enable_magic_debug="yes"
+       have_magic_debug="yes"
     else
-       enable_magic_debug="no"
+       have_magic_debug="no"
     fi
 
 else
-  enable_magic_debug="yes"
-
+  have_magic_debug="yes"
 fi
 
+
 { echo "$as_me:$LINENO: checking whether magic debug is enable" >&5
 echo $ECHO_N "checking whether magic debug is enable... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${enable_magic_debug}" >&5
-echo "${ECHO_T}${enable_magic_debug}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_magic_debug}" >&5
+echo "${ECHO_T}${have_magic_debug}" >&6; }
 
-EINA_MAGIC_DEBUG=0
-if test "x${enable_magic_debug}" = "xyes" ; then
-   EINA_MAGIC_DEBUG=1
+if test "x${have_magic_debug}" = "xyes" ; then
+   EINA_CONFIGURE_MAGIC_DEBUG="#define EINA_MAGIC_DEBUG"
 fi
 
 
 # Safety checks (avoid crashes on wrong api usage)
-want_safety_checks="yes"
-{ echo "$as_me:$LINENO: checking whether to do safety checking on api parameters" >&5
-echo $ECHO_N "checking whether to do safety checking on api parameters... $ECHO_C" >&6; }
 # Check whether --enable-safety-checks was given.
 if test "${enable_safety_checks+set}" = set; then
-  enableval=$enable_safety_checks;  want_safety_checks="$enableval"
+  enableval=$enable_safety_checks;
+    if test "x${enableval}" = "xyes" ; then
+       have_safety_checks="yes"
+    else
+       have_safety_checks="no"
+    fi
 
+else
+  have_safety_checks="yes"
 fi
 
-{ echo "$as_me:$LINENO: result: $want_safety_checks" >&5
-echo "${ECHO_T}$want_safety_checks" >&6; }
 
- if test "x$want_safety_checks" = "xyes"; then
+{ echo "$as_me:$LINENO: checking whether to do safety checking on api parameters" >&5
+echo $ECHO_N "checking whether to do safety checking on api parameters... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $have_safety_checks" >&5
+echo "${ECHO_T}$have_safety_checks" >&6; }
+
+ if test "x$have_safety_checks" = "xyes"; then
   SAFETY_CHECKS_TRUE=
   SAFETY_CHECKS_FALSE='#'
 else
@@ -12169,15 +12184,13 @@ else
   SAFETY_CHECKS_FALSE=
 fi
 
-if test "x$want_safety_checks" = "xyes"; then
+if test "x$have_safety_checks" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
 #define EINA_SAFETY_CHECKS 1
 _ACEOF
 
-  EINA_SAFETY_CHECKS=1
-else
-  EINA_SAFETY_CHECKS=0
+  EINA_CONFIGURE_SAFETY_CHECKS="#define EINA_SAFETY_CHECKS"
 fi
 
 
@@ -12186,24 +12199,23 @@ fi
 if test "${enable_default_mempool+set}" = set; then
   enableval=$enable_default_mempool;
     if test "x${enableval}" = "xyes"; then
-       enable_default_mempool="yes"
+       have_default_mempool="yes"
     else
-       enable_default_mempool="no"
+       have_default_mempool="no"
     fi
 
 else
-  enable_default_mempool="no"
+  have_default_mempool="no"
 
 fi
 
 { echo "$as_me:$LINENO: checking whether to use default mempool allocator" >&5
 echo $ECHO_N "checking whether to use default mempool allocator... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${enable_default_mempool}" >&5
-echo "${ECHO_T}${enable_default_mempool}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_default_mempool}" >&5
+echo "${ECHO_T}${have_default_mempool}" >&6; }
 
-EINA_DEFAULT_MEMPOOL=0
-if test "x${enable_default_mempool}" = "xyes" ; then
-   EINA_DEFAULT_MEMPOOL=1
+if test "x${have_default_mempool}" = "xyes" ; then
+   EINA_CONFIGURE_DEFAULT_MEMPOOL="#define EINA_DEFAULT_MEMPOOL"
 fi
 
 
@@ -12212,22 +12224,22 @@ fi
 if test "${enable_stringshare_usage+set}" = set; then
   enableval=$enable_stringshare_usage;
     if test "x${enableval}" = "xyes"; then
-       enable_stringshare_usage="yes"
+       have_stringshare_usage="yes"
     else
-       enable_stringshare_usage="no"
+       have_stringshare_usage="no"
     fi
 
 else
-  enable_stringshare_usage="no"
+  have_stringshare_usage="no"
 
 fi
 
 { echo "$as_me:$LINENO: checking whether to report stringshare usage" >&5
 echo $ECHO_N "checking whether to report stringshare usage... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${enable_stringshare_usage}" >&5
-echo "${ECHO_T}${enable_stringshare_usage}" >&6; }
+{ echo "$as_me:$LINENO: result: ${have_stringshare_usage}" >&5
+echo "${ECHO_T}${have_stringshare_usage}" >&6; }
 
-if test "x${enable_stringshare_usage}" = "xyes"; then
+if test "x${have_stringshare_usage}" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
 #define EINA_STRINGSHARE_USAGE 1
@@ -12464,379 +12476,6 @@ fi
 
 
 
-# Unit tests, coverage and benchmarking
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	else
-		{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-		PKG_CONFIG=""
-	fi
-
-fi
-
-
-
-# Check whether --enable-tests was given.
-if test "${enable_tests+set}" = set; then
-  enableval=$enable_tests;
-    if test "x${enableval}" = "xyes" ; then
-       _efl_enable_tests="yes"
-    else
-       _efl_enable_tests="no"
-    fi
-
-else
-  _efl_enable_tests="no"
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether tests are built" >&5
-echo $ECHO_N "checking whether tests are built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${_efl_enable_tests}" >&5
-echo "${ECHO_T}${_efl_enable_tests}" >&6; }
-
-if test "x${_efl_enable_tests}" = "xyes" ; then
-
-pkg_failed=no
-{ echo "$as_me:$LINENO: checking for CHECK" >&5
-echo $ECHO_N "checking for CHECK... $ECHO_C" >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$CHECK_CFLAGS"; then
-        pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\"") >&5
-  ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$CHECK_LIBS"; then
-        pkg_cv_CHECK_LIBS="$CHECK_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\"") >&5
-  ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 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
-	        CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"`
-        else
-	        CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$CHECK_PKG_ERRORS" >&5
-
-	{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-                _efl_enable_tests="no"
-
-elif test $pkg_failed = untried; then
-	_efl_enable_tests="no"
-
-else
-	CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS
-	CHECK_LIBS=$pkg_cv_CHECK_LIBS
-        { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	dummy="yes"
-fi
-fi
-
- if test "x${_efl_enable_tests}" = "xyes"; then
-  EFL_ENABLE_TESTS_TRUE=
-  EFL_ENABLE_TESTS_FALSE='#'
-else
-  EFL_ENABLE_TESTS_TRUE='#'
-  EFL_ENABLE_TESTS_FALSE=
-fi
-
-
-if test "x${_efl_enable_tests}" = "xyes" ; then
-   enable_tests="yes"
-else
-   enable_tests="no"
-fi
-
-
-
-
-# Check whether --enable-coverage was given.
-if test "${enable_coverage+set}" = set; then
-  enableval=$enable_coverage;
-    if test "x${enableval}" = "xyes" ; then
-       _efl_enable_coverage="yes"
-    else
-       _efl_enable_coverage="no"
-    fi
-
-else
-  _efl_enable_coverage="no"
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether to use profiling instrumentation" >&5
-echo $ECHO_N "checking whether to use profiling instrumentation... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $_efl_enable_coverage" >&5
-echo "${ECHO_T}$_efl_enable_coverage" >&6; }
-
-
-if test ! "x${enable_tests}" = "xyes" -a "x$_efl_enable_coverage" = "xyes" ; then
-   { echo "$as_me:$LINENO: WARNING: Coverage report requested but tests not being built, disable profiling instrumentation." >&5
-echo "$as_me: WARNING: Coverage report requested but tests not being built, disable profiling instrumentation." >&2;}
-   { echo "$as_me:$LINENO: WARNING: Run configure with --enable-tests" >&5
-echo "$as_me: WARNING: Run configure with --enable-tests" >&2;}
-   _efl_enable_coverage="no"
-fi
-
-if test "x$_efl_enable_coverage" = "xyes" ; then
-   # Extract the first word of "lcov", so it can be a program name with args.
-set dummy lcov; 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_have_lcov+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$have_lcov"; then
-  ac_cv_prog_have_lcov="$have_lcov" # 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_have_lcov="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_have_lcov" && ac_cv_prog_have_lcov="no"
-fi
-fi
-have_lcov=$ac_cv_prog_have_lcov
-if test -n "$have_lcov"; then
-  { echo "$as_me:$LINENO: result: $have_lcov" >&5
-echo "${ECHO_T}$have_lcov" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-   if test "x$have_lcov" = "xyes" ; then
-      EFL_COVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage"
-      EFL_COVERAGE_LIBS="-lgcov"
-# remove any optimisation flag and force debug symbols
-      EFL_DEBUG_CFLAGS="-g -O0 -DDEBUG"
-   else
-      { echo "$as_me:$LINENO: WARNING: lcov is not found, disable profiling instrumentation" >&5
-echo "$as_me: WARNING: lcov is not found, disable profiling instrumentation" >&2;}
-      _efl_enable_coverage="no"
-   fi
-fi
-
-
-
-
- if test "x${_efl_enable_coverage}" = "xyes"; then
-  EFL_ENABLE_COVERAGE_TRUE=
-  EFL_ENABLE_COVERAGE_FALSE='#'
-else
-  EFL_ENABLE_COVERAGE_TRUE='#'
-  EFL_ENABLE_COVERAGE_FALSE=
-fi
-
-
-if test "x${_efl_enable_coverage}" = "xyes" ; then
-   enable_coverage="yes"
-else
-   enable_coverage="no"
-fi
-
-
-
-
-# Check whether --enable-benchmark was given.
-if test "${enable_benchmark+set}" = set; then
-  enableval=$enable_benchmark;
-    if test "x${enableval}" = "xyes" ; then
-       _efl_enable_benchmark="yes"
-    else
-       _efl_enable_benchmark="no"
-    fi
-
-else
-  _efl_enable_benchmark="no"
-
-fi
-
-{ echo "$as_me:$LINENO: checking whether benchmark are built" >&5
-echo $ECHO_N "checking whether benchmark are built... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: ${_efl_enable_benchmark}" >&5
-echo "${ECHO_T}${_efl_enable_benchmark}" >&6; }
-
- if test "x${_efl_enable_benchmark}" = "xyes"; then
-  EFL_ENABLE_BENCHMARK_TRUE=
-  EFL_ENABLE_BENCHMARK_FALSE='#'
-else
-  EFL_ENABLE_BENCHMARK_TRUE='#'
-  EFL_ENABLE_BENCHMARK_FALSE=
-fi
-
-
-if test "x${_efl_enable_benchmark}" = "xyes" ; then
-   enable_benchmark="yes"
-else
-   enable_benchmark="no"
-fi
-
-
 
 ### Checks for programs
 ac_ext=c
@@ -13516,6 +13155,128 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+# pkg-config
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+echo "${ECHO_T}$PKG_CONFIG" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
+echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
+echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	else
+		{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+		PKG_CONFIG=""
+	fi
+
+fi
+
 # doxygen program for documentation building
 
 
@@ -13531,10 +13292,14 @@ if test "${enable_doc+set}" = set; then
 
 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
 
 
@@ -13585,11 +13350,11 @@ fi
        if test "x${efl_have_doxygen}" = "xno" ; then
           echo "WARNING:"
           echo "The doxygen program you specified:"
-          echo "$efl_doxygen"
+          echo "${efl_doxygen}"
           echo "was not found.  Please check the path and make sure "
           echo "the program exists and is executable."
-          { echo "$as_me:$LINENO: WARNING: Warning: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
+          { 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
@@ -13633,18 +13398,17 @@ fi
 
        if test "x${efl_have_doxygen}" = "xno" ; then
           echo "WARNING:"
-          echo "The doxygen program was not found in your execute"
+          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: Warning: no doxygen detected. Documentation will not be built" >&5
-echo "$as_me: WARNING: Warning: no doxygen detected. Documentation will not be built" >&2;}
+          { 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
@@ -13675,127 +13439,6 @@ fi
 
 ### Checks for libraries
 
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
-echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf at gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
-echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-	else
-		{ echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-		PKG_CONFIG=""
-	fi
-
-fi
-
 # Evil library for compilation on Windows CE
 
 case "$host_os" in
@@ -15516,16 +15159,16 @@ _ACEOF
       EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm"
       lt_enable_auto_import="-Wl,--enable-auto-import"
    ;;
-   *openbsd*)
+   dragonfly*|openbsd*)
       EINA_LIBS="${EINA_LIBS} -lm"
    ;;
-   *bsd*)
+   freebsd*|netbsd*)
       EINA_LIBS="${EINA_LIBS} -lrt -lm"
    ;;
-   *darwin*)
+   darwin*)
       EINA_LIBS="${EINA_LIBS} -lm"
    ;;
-   *cygwin*)
+   cygwin*)
       EINA_LIBS="${EINA_LIBS} -ldl -lm"
    ;;
    *)
@@ -16272,6 +15915,259 @@ esac
 
 ### Make the debug preprocessor configurable
 
+### Unit tests, coverage and benchmarking
+
+
+
+
+# Check whether --enable-tests was given.
+if test "${enable_tests+set}" = set; then
+  enableval=$enable_tests;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_tests="yes"
+    else
+       _efl_enable_tests="no"
+    fi
+
+else
+  _efl_enable_tests="no"
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether tests are built" >&5
+echo $ECHO_N "checking whether tests are built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_tests}" >&5
+echo "${ECHO_T}${_efl_enable_tests}" >&6; }
+
+if test "x${_efl_enable_tests}" = "xyes" ; then
+
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for CHECK" >&5
+echo $ECHO_N "checking for CHECK... $ECHO_C" >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$CHECK_CFLAGS"; then
+        pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\"") >&5
+  ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_CHECK_CFLAGS=`$PKG_CONFIG --cflags "check >= 0.9.5" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$CHECK_LIBS"; then
+        pkg_cv_CHECK_LIBS="$CHECK_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\"") >&5
+  ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  pkg_cv_CHECK_LIBS=`$PKG_CONFIG --libs "check >= 0.9.5" 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
+	        CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"`
+        else
+	        CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$CHECK_PKG_ERRORS" >&5
+
+	{ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+                _efl_enable_tests="no"
+
+elif test $pkg_failed = untried; then
+	_efl_enable_tests="no"
+
+else
+	CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS
+	CHECK_LIBS=$pkg_cv_CHECK_LIBS
+        { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+	dummy="yes"
+fi
+fi
+
+ if test "x${_efl_enable_tests}" = "xyes"; then
+  EFL_ENABLE_TESTS_TRUE=
+  EFL_ENABLE_TESTS_FALSE='#'
+else
+  EFL_ENABLE_TESTS_TRUE='#'
+  EFL_ENABLE_TESTS_FALSE=
+fi
+
+
+if test "x${_efl_enable_tests}" = "xyes" ; then
+   enable_tests="yes"
+else
+   enable_tests="no"
+fi
+
+
+
+
+# Check whether --enable-coverage was given.
+if test "${enable_coverage+set}" = set; then
+  enableval=$enable_coverage;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_coverage="yes"
+    else
+       _efl_enable_coverage="no"
+    fi
+
+else
+  _efl_enable_coverage="no"
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether to use profiling instrumentation" >&5
+echo $ECHO_N "checking whether to use profiling instrumentation... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $_efl_enable_coverage" >&5
+echo "${ECHO_T}$_efl_enable_coverage" >&6; }
+
+
+if test ! "x${enable_tests}" = "xyes" -a "x$_efl_enable_coverage" = "xyes" ; then
+   { echo "$as_me:$LINENO: WARNING: Coverage report requested but tests not being built, disable profiling instrumentation." >&5
+echo "$as_me: WARNING: Coverage report requested but tests not being built, disable profiling instrumentation." >&2;}
+   { echo "$as_me:$LINENO: WARNING: Run configure with --enable-tests" >&5
+echo "$as_me: WARNING: Run configure with --enable-tests" >&2;}
+   _efl_enable_coverage="no"
+fi
+
+if test "x$_efl_enable_coverage" = "xyes" ; then
+   # Extract the first word of "lcov", so it can be a program name with args.
+set dummy lcov; 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_have_lcov+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$have_lcov"; then
+  ac_cv_prog_have_lcov="$have_lcov" # 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_have_lcov="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_have_lcov" && ac_cv_prog_have_lcov="no"
+fi
+fi
+have_lcov=$ac_cv_prog_have_lcov
+if test -n "$have_lcov"; then
+  { echo "$as_me:$LINENO: result: $have_lcov" >&5
+echo "${ECHO_T}$have_lcov" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+   if test "x$have_lcov" = "xyes" ; then
+      EFL_COVERAGE_CFLAGS="-fprofile-arcs -ftest-coverage"
+      EFL_COVERAGE_LIBS="-lgcov"
+# remove any optimisation flag and force debug symbols
+      EFL_DEBUG_CFLAGS="-g -O0 -DDEBUG"
+   else
+      { echo "$as_me:$LINENO: WARNING: lcov is not found, disable profiling instrumentation" >&5
+echo "$as_me: WARNING: lcov is not found, disable profiling instrumentation" >&2;}
+      _efl_enable_coverage="no"
+   fi
+fi
+
+
+
+
+ if test "x${_efl_enable_coverage}" = "xyes"; then
+  EFL_ENABLE_COVERAGE_TRUE=
+  EFL_ENABLE_COVERAGE_FALSE='#'
+else
+  EFL_ENABLE_COVERAGE_TRUE='#'
+  EFL_ENABLE_COVERAGE_FALSE=
+fi
+
+
+if test "x${_efl_enable_coverage}" = "xyes" ; then
+   enable_coverage="yes"
+else
+   enable_coverage="no"
+fi
+
+
+
+
+# Check whether --enable-benchmark was given.
+if test "${enable_benchmark+set}" = set; then
+  enableval=$enable_benchmark;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_benchmark="yes"
+    else
+       _efl_enable_benchmark="no"
+    fi
+
+else
+  _efl_enable_benchmark="no"
+
+fi
+
+{ echo "$as_me:$LINENO: checking whether benchmark are built" >&5
+echo $ECHO_N "checking whether benchmark are built... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: ${_efl_enable_benchmark}" >&5
+echo "${ECHO_T}${_efl_enable_benchmark}" >&6; }
+
+ if test "x${_efl_enable_benchmark}" = "xyes"; then
+  EFL_ENABLE_BENCHMARK_TRUE=
+  EFL_ENABLE_BENCHMARK_FALSE='#'
+else
+  EFL_ENABLE_BENCHMARK_TRUE='#'
+  EFL_ENABLE_BENCHMARK_FALSE=
+fi
+
+
+if test "x${_efl_enable_benchmark}" = "xyes" ; then
+   enable_benchmark="yes"
+else
+   enable_benchmark="no"
+fi
+
+
 ac_config_files="$ac_config_files Makefile eina-0.pc eina.spec doc/Makefile src/Makefile src/include/Makefile src/include/eina_config.h src/lib/Makefile src/modules/Makefile src/modules/mp/Makefile src/modules/mp/chained_pool/Makefile src/modules/mp/ememoa_fixed/Makefile src/modules/mp/ememoa_unknown/Makefile src/modules/mp/pass_through/Makefile src/modules/mp/fixed_bitmap/Makefile src/tests/Makefile"
 
 
@@ -16427,27 +16323,6 @@ echo "$as_me: error: conditional \"EINA_STATIC_BUILD_FIXED_BITMAP\" was never de
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_TESTS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"EFL_ENABLE_TESTS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_COVERAGE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"EFL_ENABLE_COVERAGE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${EFL_ENABLE_BENCHMARK_TRUE}" && test -z "${EFL_ENABLE_BENCHMARK_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_BENCHMARK\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"EFL_ENABLE_BENCHMARK\" 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
@@ -16490,6 +16365,27 @@ echo "$as_me: error: conditional \"EINA_ENABLE_EMEMOA\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EFL_ENABLE_TESTS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_COVERAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EFL_ENABLE_COVERAGE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${EFL_ENABLE_BENCHMARK_TRUE}" && test -z "${EFL_ENABLE_BENCHMARK_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"EFL_ENABLE_BENCHMARK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"EFL_ENABLE_BENCHMARK\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -16790,7 +16686,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 eina $as_me 0.0.2.060, which was
+This file was extended by eina $as_me 0.0.2.061, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16843,7 +16739,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-eina config.status 0.0.2.060
+eina config.status 0.0.2.061
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -17447,11 +17343,11 @@ MODULE_ARCH!$MODULE_ARCH$ac_delim
 EFL_SIMD_FLAGS!$EFL_SIMD_FLAGS$ac_delim
 EFL_PTHREAD_CFLAGS!$EFL_PTHREAD_CFLAGS$ac_delim
 EFL_PTHREAD_LIBS!$EFL_PTHREAD_LIBS$ac_delim
-EINA_MAGIC_DEBUG!$EINA_MAGIC_DEBUG$ac_delim
+EINA_CONFIGURE_MAGIC_DEBUG!$EINA_CONFIGURE_MAGIC_DEBUG$ac_delim
 SAFETY_CHECKS_TRUE!$SAFETY_CHECKS_TRUE$ac_delim
 SAFETY_CHECKS_FALSE!$SAFETY_CHECKS_FALSE$ac_delim
-EINA_SAFETY_CHECKS!$EINA_SAFETY_CHECKS$ac_delim
-EINA_DEFAULT_MEMPOOL!$EINA_DEFAULT_MEMPOOL$ac_delim
+EINA_CONFIGURE_SAFETY_CHECKS!$EINA_CONFIGURE_SAFETY_CHECKS$ac_delim
+EINA_CONFIGURE_DEFAULT_MEMPOOL!$EINA_CONFIGURE_DEFAULT_MEMPOOL$ac_delim
 EINA_STATIC_BUILD_CHAINED_POOL_TRUE!$EINA_STATIC_BUILD_CHAINED_POOL_TRUE$ac_delim
 EINA_STATIC_BUILD_CHAINED_POOL_FALSE!$EINA_STATIC_BUILD_CHAINED_POOL_FALSE$ac_delim
 EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE!$EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE$ac_delim
@@ -17463,17 +17359,6 @@ EINA_STATIC_BUILD_PASS_THROUGH_FALSE!$EINA_STATIC_BUILD_PASS_THROUGH_FALSE$ac_de
 EINA_STATIC_BUILD_FIXED_BITMAP_TRUE!$EINA_STATIC_BUILD_FIXED_BITMAP_TRUE$ac_delim
 EINA_STATIC_BUILD_FIXED_BITMAP_FALSE!$EINA_STATIC_BUILD_FIXED_BITMAP_FALSE$ac_delim
 PKG_CONFIG!$PKG_CONFIG$ac_delim
-CHECK_CFLAGS!$CHECK_CFLAGS$ac_delim
-CHECK_LIBS!$CHECK_LIBS$ac_delim
-EFL_ENABLE_TESTS_TRUE!$EFL_ENABLE_TESTS_TRUE$ac_delim
-EFL_ENABLE_TESTS_FALSE!$EFL_ENABLE_TESTS_FALSE$ac_delim
-have_lcov!$have_lcov$ac_delim
-EFL_COVERAGE_CFLAGS!$EFL_COVERAGE_CFLAGS$ac_delim
-EFL_COVERAGE_LIBS!$EFL_COVERAGE_LIBS$ac_delim
-EFL_ENABLE_COVERAGE_TRUE!$EFL_ENABLE_COVERAGE_TRUE$ac_delim
-EFL_ENABLE_COVERAGE_FALSE!$EFL_ENABLE_COVERAGE_FALSE$ac_delim
-EFL_ENABLE_BENCHMARK_TRUE!$EFL_ENABLE_BENCHMARK_TRUE$ac_delim
-EFL_ENABLE_BENCHMARK_FALSE!$EFL_ENABLE_BENCHMARK_FALSE$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
@@ -17503,6 +17388,17 @@ EINA_LIBS!$EINA_LIBS$ac_delim
 lt_enable_auto_import!$lt_enable_auto_import$ac_delim
 ALLOCA!$ALLOCA$ac_delim
 dlopen_libs!$dlopen_libs$ac_delim
+CHECK_CFLAGS!$CHECK_CFLAGS$ac_delim
+CHECK_LIBS!$CHECK_LIBS$ac_delim
+EFL_ENABLE_TESTS_TRUE!$EFL_ENABLE_TESTS_TRUE$ac_delim
+EFL_ENABLE_TESTS_FALSE!$EFL_ENABLE_TESTS_FALSE$ac_delim
+have_lcov!$have_lcov$ac_delim
+EFL_COVERAGE_CFLAGS!$EFL_COVERAGE_CFLAGS$ac_delim
+EFL_COVERAGE_LIBS!$EFL_COVERAGE_LIBS$ac_delim
+EFL_ENABLE_COVERAGE_TRUE!$EFL_ENABLE_COVERAGE_TRUE$ac_delim
+EFL_ENABLE_COVERAGE_FALSE!$EFL_ENABLE_COVERAGE_FALSE$ac_delim
+EFL_ENABLE_BENCHMARK_TRUE!$EFL_ENABLE_BENCHMARK_TRUE$ac_delim
+EFL_ENABLE_BENCHMARK_FALSE!$EFL_ENABLE_BENCHMARK_FALSE$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
@@ -18761,6 +18657,12 @@ echo
 echo
 echo "Configuration Options Summary:"
 echo
+echo "  Magic debug..........: ${have_magic_debug}"
+echo "  Safety checks........: ${have_safety_checks}"
+echo "  Report string usage..: ${have_stringshare_usage}"
+echo "  Default mempool......: ${have_default_mempool}"
+echo "  Thread Support.......: ${have_pthread}"
+echo
 echo "  Documentation........: ${build_doc}"
 echo "  Tests................: ${enable_tests}"
 echo "  Coverage.............: ${enable_coverage}"
@@ -18779,14 +18681,6 @@ echo "  SSE..................: ${have_sse}"
 echo "  SSE2.................: ${have_sse2}"
 echo "  ALTIVEC..............: ${have_altivec}"
 echo
-echo "  Thread Support.......: ${have_pthread}"
-echo
-echo "  Magic debug..........: ${enable_magic_debug}"
-echo
-echo "  Report string usage..: ${enable_stringshare_usage}"
-echo
-echo "  Default mempool......: ${enable_default_mempool}"
-echo
 echo "  Memory pool:"
 echo "    Ememoa.............: ${enable_ememoa}"
 echo
diff --git a/configure.ac b/configure.ac
index cbce376..2e6fca4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 # get rid of that stupid cache mechanism
 rm -f config.cache
 
-AC_INIT([eina], 0.0.2.060, [enlightenment-devel at lists.sourceforge.net])
+AC_INIT([eina], [0.0.2.061], [enlightenment-devel at lists.sourceforge.net])
 AC_PREREQ([2.60])
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_MACRO_DIR([m4])
@@ -22,16 +22,23 @@ VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-release="ver-pre-01"
-release_info="-release $release"
 AC_SUBST(VMAJ)
 AC_SUBST(version_info)
-AC_SUBST(release_info)
 
 
 ### Needed information
 
-MODULE_ARCH="$host_os-$host_cpu-$release"
+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
+AC_SUBST(release_info)
 AC_SUBST(MODULE_ARCH)
 AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
 
@@ -47,83 +54,82 @@ EFL_CHECK_PTHREAD([have_pthread="yes"], [have_pthread="no"])
 
 # Magic debug
 AC_ARG_ENABLE([magic-debug],
-   [AC_HELP_STRING([--enable-magic-debug], [enable magic debug of eina structure])],
+   [AC_HELP_STRING([--disable-magic-debug], [disable magic debug of eina structure [default=enabled]])],
    [
     if test "x${enableval}" = "xyes" ; then
-       enable_magic_debug="yes"
+       have_magic_debug="yes"
     else
-       enable_magic_debug="no"
+       have_magic_debug="no"
     fi
    ],
-   [enable_magic_debug="yes"]
-)
+   [have_magic_debug="yes"])
+
 AC_MSG_CHECKING([whether magic debug is enable])
-AC_MSG_RESULT([${enable_magic_debug}])
+AC_MSG_RESULT([${have_magic_debug}])
 
-EINA_MAGIC_DEBUG=0
-if test "x${enable_magic_debug}" = "xyes" ; then
-   EINA_MAGIC_DEBUG=1
+if test "x${have_magic_debug}" = "xyes" ; then
+   EINA_CONFIGURE_MAGIC_DEBUG="#define EINA_MAGIC_DEBUG"
 fi
-AC_SUBST(EINA_MAGIC_DEBUG)
+AC_SUBST(EINA_CONFIGURE_MAGIC_DEBUG)
 
 # Safety checks (avoid crashes on wrong api usage)
-want_safety_checks="yes"
-AC_MSG_CHECKING(whether to do safety checking on api parameters)
 AC_ARG_ENABLE(safety-checks,
-  AC_HELP_STRING(
-    [--disable-safety-checks],
-    [disable safety checks for NULL pointers and like. [[default=enabled]]]
-  ),
-  [ want_safety_checks="$enableval" ]
-)
-AC_MSG_RESULT($want_safety_checks)
+   [AC_HELP_STRING([--disable-safety-checks], [disable safety checks for NULL pointers and like. [default=enabled]])],
+   [
+    if test "x${enableval}" = "xyes" ; then
+       have_safety_checks="yes"
+    else
+       have_safety_checks="no"
+    fi
+   ],
+   [have_safety_checks="yes"])
 
-AM_CONDITIONAL(SAFETY_CHECKS, test "x$want_safety_checks" = "xyes")
-if test "x$want_safety_checks" = "xyes"; then
+AC_MSG_CHECKING(whether to do safety checking on api parameters)
+AC_MSG_RESULT($have_safety_checks)
+
+AM_CONDITIONAL(SAFETY_CHECKS, test "x$have_safety_checks" = "xyes")
+if test "x$have_safety_checks" = "xyes"; then
   AC_DEFINE(EINA_SAFETY_CHECKS, 1, [disable safety checks for NULL pointers and like.])
-  EINA_SAFETY_CHECKS=1
-else
-  EINA_SAFETY_CHECKS=0
+  EINA_CONFIGURE_SAFETY_CHECKS="#define EINA_SAFETY_CHECKS"
 fi
-AC_SUBST(EINA_SAFETY_CHECKS)
+AC_SUBST(EINA_CONFIGURE_SAFETY_CHECKS)
 
 # Choose best memory pool
 AC_ARG_ENABLE([default-mempool],
-   [AC_HELP_STRING([--enable-default-mempool], [Default memory allocator could be faster for some computer])],
+   [AC_HELP_STRING([--enable-default-mempool], [Default memory allocator could be faster for some computer. [default=disabled]])],
    [
     if test "x${enableval}" = "xyes"; then
-       enable_default_mempool="yes"
+       have_default_mempool="yes"
     else
-       enable_default_mempool="no"
+       have_default_mempool="no"
     fi
    ],
-   [enable_default_mempool="no"]
+   [have_default_mempool="no"]
 )
 AC_MSG_CHECKING([whether to use default mempool allocator])
-AC_MSG_RESULT([${enable_default_mempool}])
+AC_MSG_RESULT([${have_default_mempool}])
 
-EINA_DEFAULT_MEMPOOL=0
-if test "x${enable_default_mempool}" = "xyes" ; then
-   EINA_DEFAULT_MEMPOOL=1
+if test "x${have_default_mempool}" = "xyes" ; then
+   EINA_CONFIGURE_DEFAULT_MEMPOOL="#define EINA_DEFAULT_MEMPOOL"
 fi
-AC_SUBST(EINA_DEFAULT_MEMPOOL)
+AC_SUBST(EINA_CONFIGURE_DEFAULT_MEMPOOL)
 
 # Report stringshare usage
 AC_ARG_ENABLE([stringshare-usage],
-   [AC_HELP_STRING([--enable-stringshare-usage], [Report stringshare usage on stringshare shutdown])],
+   [AC_HELP_STRING([--enable-stringshare-usage], [Report stringshare usage on stringshare shutdown. [default=disabled]])],
    [
     if test "x${enableval}" = "xyes"; then
-       enable_stringshare_usage="yes"
+       have_stringshare_usage="yes"
     else
-       enable_stringshare_usage="no"
+       have_stringshare_usage="no"
     fi
    ],
-   [enable_stringshare_usage="no"]
+   [have_stringshare_usage="no"]
 )
 AC_MSG_CHECKING([whether to report stringshare usage])
-AC_MSG_RESULT([${enable_stringshare_usage}])
+AC_MSG_RESULT([${have_stringshare_usage}])
 
-if test "x${enable_stringshare_usage}" = "xyes"; then
+if test "x${have_stringshare_usage}" = "xyes"; then
    AC_DEFINE(EINA_STRINGSHARE_USAGE, 1, [Report Eina stringshare usage pattern])
 fi
 
@@ -151,16 +157,13 @@ EINA_CHECK_STATIC([ememoa-unknown], [ememoa unknown])
 EINA_CHECK_STATIC([pass-through], [pass through])
 EINA_CHECK_STATIC([fixed-bitmap], [fixed bitmap])
 
-# Unit tests, coverage and benchmarking
-
-EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
-EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
-EFL_CHECK_BENCHMARK([enable_benchmark="yes"], [enable_benchmark="no"])
-
 
 ### Checks for programs
 AC_PROG_CC
 
+# pkg-config
+PKG_PROG_PKG_CONFIG
+
 # doxygen program for documentation building
 
 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
@@ -168,8 +171,6 @@ EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
 
 ### Checks for libraries
 
-PKG_PROG_PKG_CONFIG
-
 # Evil library for compilation on Windows CE
 
 case "$host_os" in
@@ -305,16 +306,16 @@ case "${host_os}" in
       EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm"
       lt_enable_auto_import="-Wl,--enable-auto-import"
    ;;
-   *openbsd*)
+   dragonfly*|openbsd*)
       EINA_LIBS="${EINA_LIBS} -lm"
    ;;
-   *bsd*)
+   freebsd*|netbsd*)
       EINA_LIBS="${EINA_LIBS} -lrt -lm"
    ;;
-   *darwin*)
+   darwin*)
       EINA_LIBS="${EINA_LIBS} -lm"
    ;;
-   *cygwin*)
+   cygwin*)
       EINA_LIBS="${EINA_LIBS} -ldl -lm"
    ;;
    *)
@@ -375,6 +376,12 @@ AC_SUBST(dlopen_libs)
 
 ### Make the debug preprocessor configurable
 
+### Unit tests, coverage and benchmarking
+
+EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
+EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
+EFL_CHECK_BENCHMARK([enable_benchmark="yes"], [enable_benchmark="no"])
+
 AC_CONFIG_FILES([
 Makefile
 eina-0.pc
@@ -409,6 +416,12 @@ echo
 echo
 echo "Configuration Options Summary:"
 echo
+echo "  Magic debug..........: ${have_magic_debug}"
+echo "  Safety checks........: ${have_safety_checks}"
+echo "  Report string usage..: ${have_stringshare_usage}"
+echo "  Default mempool......: ${have_default_mempool}"
+echo "  Thread Support.......: ${have_pthread}"
+echo
 echo "  Documentation........: ${build_doc}"
 echo "  Tests................: ${enable_tests}"
 echo "  Coverage.............: ${enable_coverage}"
@@ -427,14 +440,6 @@ echo "  SSE..................: ${have_sse}"
 echo "  SSE2.................: ${have_sse2}"
 echo "  ALTIVEC..............: ${have_altivec}"
 echo
-echo "  Thread Support.......: ${have_pthread}"
-echo
-echo "  Magic debug..........: ${enable_magic_debug}"
-echo
-echo "  Report string usage..: ${enable_stringshare_usage}"
-echo
-echo "  Default mempool......: ${enable_default_mempool}"
-echo
 echo "  Memory pool:"
 echo "    Ememoa.............: ${enable_ememoa}"
 echo
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 4ad2574..58d48e3 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -720,13 +720,13 @@ HTML_FILE_EXTENSION    = .html
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard header.
 
-HTML_HEADER            = 
+HTML_HEADER            = head.html 
 
 # The HTML_FOOTER tag can be used to specify a personal HTML footer for 
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard footer.
 
-HTML_FOOTER            = 
+HTML_FOOTER            = foot.html
 
 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
 # style sheet that is used by each HTML page. It can be used to 
@@ -735,7 +735,7 @@ HTML_FOOTER            =
 # the style sheet file to the HTML output directory, so don't put your own 
 # stylesheet in the HTML output directory as well, or it will be erased!
 
-HTML_STYLESHEET        = 
+HTML_STYLESHEET        = e.css
 
 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
 # files or namespaces will be aligned in HTML using tables. If set to 
@@ -818,7 +818,7 @@ TOC_EXPAND             = NO
 # top of each HTML page. The value NO (the default) enables the index and 
 # the value YES disables it.
 
-DISABLE_INDEX          = NO
+DISABLE_INDEX          = YES 
 
 # This tag can be used to set the number of enum values (range [1..20]) 
 # that doxygen will group on one line in the generated HTML documentation.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 26b1922..ff2628c 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -8,6 +8,7 @@ if EFL_BUILD_DOC
 doc: all
 	rm -rf html/ latex/ man/
 	$(efl_doxygen)
+	cp img/* html/
 
 else
 
@@ -19,4 +20,4 @@ endif
 clean-local:
 	@rm -rf html/ latex/ man/
 
-EXTRA_DIST = Doxyfile
+EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 4066b06..8de657d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -85,10 +85,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -196,7 +196,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 version_info = @version_info@
 MAINTAINERCLEANFILES = Makefile.in
-EXTRA_DIST = Doxyfile
+EXTRA_DIST = Doxyfile $(wildcard img/*.*) e.css head.html foot.html
 all: all-am
 
 .SUFFIXES:
@@ -371,6 +371,7 @@ uninstall-am:
 @EFL_BUILD_DOC_TRUE at doc: all
 @EFL_BUILD_DOC_TRUE@	rm -rf html/ latex/ man/
 @EFL_BUILD_DOC_TRUE@	$(efl_doxygen)
+ at EFL_BUILD_DOC_TRUE@	cp img/* html/
 
 @EFL_BUILD_DOC_FALSE at doc:
 @EFL_BUILD_DOC_FALSE@	@echo "Documentation not built. Run ./configure --help"
diff --git a/doc/e.css b/doc/e.css
new file mode 100644
index 0000000..8697a3a
--- /dev/null
+++ b/doc/e.css
@@ -0,0 +1,218 @@
+/*
+    Author:
+        Andres Blanc <andresblanc at gmail.com>
+	DaveMDS Andreoli <dave at gurumeditation.it>
+
+    Supported Browsers:
+        ie7, opera9, konqueror4 and firefox3
+
+        Please use a different file for ie6, ie5, etc. hacks.
+*/
+
+
+/* Necessary to place the footer at the bottom of the page */
+html, body {
+	height: 100%;
+	margin: 0px;
+	padding: 0px;
+}
+
+#container {
+	min-height: 100%;
+	height: auto !important;
+	height: 100%;
+	margin: 0 auto -53px;
+}
+
+#footer, #push {
+	height: 53px;
+}
+
+
+* html #container {
+	height: 100%;
+}
+
+/* Prevent floating elements overflowing containers */
+.clear {
+	clear: both;
+	width: 0px;
+	height: 0px;
+}
+
+/* Flexible & centered layout from 750 to 960 pixels */
+.layout {
+	max-width: 960px;
+	min-width: 760px;
+	margin-left: auto;
+	margin-right: auto;
+}
+
+body {
+	/*font-family: Lucida Grande, Helvetica, sans-serif;*/
+	font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
+}
+
+/* Prevent design overflowing the viewport in small resolutions */
+#container {
+	padding-right: 17px;
+	padding-left: 17px;
+	background-image: url(head_bg.png);
+	background-repeat: repeat-x;
+}
+
+#header {
+	width: 100%;
+	height: 102px;
+}
+
+#header h1 {
+	width: 63px;
+	height: 63px;
+	background-image: url(e.png);
+	background-repeat: no-repeat;
+	position: absolute;
+	margin: 0px;
+}
+
+#header h1 span {
+	display: none;
+}
+
+#header h2 {
+	display: none;
+}
+
+/* .menu-container is used to set properties common to .menu and .submenu */
+#header .menu-container {
+}
+
+#header .menu-container ul {
+	list-style-type: none;
+	list-style-position: inside;
+	margin: 0;
+}
+
+#header .menu-container li {
+	display: block;
+	float: right;
+}
+
+#header .menu {
+	height: 63px;
+	display: block;
+	background-image: url(menu_bg.png);
+	background-repeat: repeat-x;
+}
+
+#header .menu ul {
+	height: 100%;
+	display: block;
+	background-image: url(menu_bg_last.png);
+	background-repeat: no-repeat;
+	background-position: top right;
+	padding-right: 17px;
+}
+
+#header .menu li {
+	height: 100%;
+	text-align: center;
+	background-image: url(menu_bg_unsel.png);
+	background-repeat: no-repeat;
+}
+
+#header .menu a {
+	height: 100%;
+	display: block;
+	color: #cdcdcd;
+	text-decoration: none;
+	font-size: 10pt;
+	line-height: 59px;
+	text-align: center;
+	padding: 0px 15px 0px 15px;
+}
+
+#header .menu li:hover {
+	background-image: url(menu_bg_hover.png);
+	background-repeat: no-repeat;
+}
+
+#header .menu li:hover a {
+	color: #FFFFFF;
+}
+
+#header .menu li.current {
+	background-image: url(menu_bg_current.png);
+	background-repeat: no-repeat;
+}
+
+#header .menu li.current a {
+	color: #646464;
+}
+
+
+/* Hide all the submenus but the current */
+#header .submenu ul {
+	display: none;
+}
+
+#header .submenu .current {
+	display: block;
+}
+
+#header .submenu {
+	font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
+	margin-top: 10px;
+}
+
+#header .submenu a {
+	color: #888888;
+	text-decoration: none;
+	font-size: 0.9em;
+	line-height: 15px;
+	padding:0px 5px 0px 5px;
+}
+
+#header .submenu a:hover {
+	color: #444444;
+}
+
+#header .submenu li {
+	border-left: 1px solid #DDDDDD;
+}
+
+#header .submenu li:last-child {
+	border-left: 0;
+}
+
+#header .doxytitle {
+	position: absolute;
+	font-size: 1.8em;
+	font-weight: bold;
+	color: #444444;
+	line-height: 35px;
+}
+
+#header small {
+	font-size: 0.4em;
+}
+
+#footer {
+	background-image: url(foot_bg.png);
+	width: 100%;
+}
+
+#footer table {
+	width: 100%;
+	text-align: center;
+	white-space: nowrap;
+	padding: 5px 30px 5px 30px;
+	font-size: 0.8em;
+	font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
+	color: #888888;
+}
+
+#footer td.copyright {
+	width: 100%;
+}
+
diff --git a/doc/foot.html b/doc/foot.html
new file mode 100644
index 0000000..78ef911
--- /dev/null
+++ b/doc/foot.html
@@ -0,0 +1,19 @@
+ 
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ 
+ </div> <!-- #container -->
+ 
+ 
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;$year Enlightenment</td>
+      <td class="generated">Docs generated $datetime</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/head.html b/doc/head.html
new file mode 100644
index 0000000..44a5551
--- /dev/null
+++ b/doc/head.html
@@ -0,0 +1,64 @@
+<html>
+<head>
+    <title>$title</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+	        <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        $projectname Documentation <small>at $date</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="pages.html">Tutorials</a></li>
+<!--                <li><a href="globals.html">Globals</a></li>-->
+<!--                <li><a href="files.html">Files</a></li>-->
+                <li><a href="modules.html">Modules</a></li>
+	        <li class="current"><a  href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
diff --git a/doc/img/e.png b/doc/img/e.png
new file mode 100644
index 0000000..b3884a5
Binary files /dev/null and b/doc/img/e.png differ
diff --git a/doc/img/edoxy.css b/doc/img/edoxy.css
new file mode 100644
index 0000000..3caf7a9
--- /dev/null
+++ b/doc/img/edoxy.css
@@ -0,0 +1,483 @@
+/*
+ * This file contain a custom doxygen style to match e.org graphics
+ */
+
+
+
+/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+	font-family: Geneva, Arial, Helvetica, sans-serif;
+}*/ 
+BODY, TD {
+	font-size: 12px;
+}
+H1 {
+	text-align: center;
+	font-size: 160%;
+}
+H2 {
+	font-size: 120%;
+}
+H3 {
+	font-size: 100%;
+}
+CAPTION { 
+	font-weight: bold 
+}
+DIV.qindex {
+	width: 100%;
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.navpath {
+	width: 100%;
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	padding: 2px;
+	line-height: 140%;
+}
+DIV.navtab {
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D
+}
+A.qindex:hover {
+	text-decoration: none;
+	background-color: #ddddff;
+}
+A.qindexHL {
+	text-decoration: none;
+	font-weight: bold;
+	background-color: #6666cc;
+	color: #ffffff;
+	border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+	text-decoration: none;
+	background-color: #6666cc;
+	color: #ffffff;
+}
+A.qindexHL:visited { 
+	text-decoration: none; 
+	background-color: #6666cc; 
+	color: #ffffff 
+}
+A.el { 
+	text-decoration: none; 
+	font-weight: bold 
+}
+A.elRef { 
+	font-weight: bold 
+}
+A.code:link { 
+	text-decoration: none; 
+	font-weight: normal; 
+	color: #0000FF
+}
+A.code:visited { 
+	text-decoration: none; 
+	font-weight: normal; 
+	color: #0000FF
+}
+A.codeRef:link { 
+	font-weight: normal; 
+	color: #0000FF
+}
+A.codeRef:visited { 
+	font-weight: normal; 
+	color: #0000FF
+}
+A:hover, A:visited:hover { 
+	text-decoration: none; 	
+	/* background-color: #f2f2ff; */
+	color: #000055;
+}
+A.anchor {
+	color: #000;
+}
+DL.el { 
+	margin-left: -1cm 
+}
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+	border: 1px solid #CCCCCC;
+	background-color: #f5f5f5;
+	margin-top: 4px;
+	margin-bottom: 4px;
+	margin-left: 2px;
+	margin-right: 8px;
+	padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 4px;
+	padding-bottom: 4px;
+}
+DIV.ah { 
+	background-color: black; 
+	font-weight: bold; 
+	color: #ffffff; 
+	margin-bottom: 3px; 
+	margin-top: 3px 
+}
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { 
+	margin-left: 16px; 
+	font-style: italic; 
+	font-size: 90% 
+}
+/*BODY {
+	background: white;
+	color: black;
+	margin-right: 20px;
+	margin-left: 20px;
+}*/
+TD.indexkey {
+	background-color: #e8eef2;
+	font-weight: bold;
+	padding-right  : 10px;
+	padding-top    : 2px;
+	padding-left   : 10px;
+	padding-bottom : 2px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+	background-color: #e8eef2;
+	font-style: italic;
+	padding-right  : 10px;
+	padding-top    : 2px;
+	padding-left   : 10px;
+	padding-bottom : 2px;
+	margin-left    : 0px;
+	margin-right   : 0px;
+	margin-top     : 2px;
+	margin-bottom  : 2px;
+	border: 1px solid #CCCCCC;
+}
+TR.memlist {
+	background-color: #f0f0f0; 
+}
+P.formulaDsp { 
+	text-align: center; 
+}
+IMG.formulaDsp {
+}
+IMG.formulaInl { 
+	vertical-align: middle; 
+}
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+SPAN.vhdldigit     { color: #ff00ff }
+SPAN.vhdlchar      { color: #000000 }
+SPAN.vhdlkeyword   { color: #700070 }
+SPAN.vhdllogic     { color: #ff0000 }
+
+.mdescLeft {
+	padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.mdescRight {
+        padding: 0px 8px 4px 8px;
+	font-size: 80%;
+	font-style: italic;
+	background-color: #FAFAFA;
+	border-top: 1px none #E0E0E0;
+	border-right: 1px none #E0E0E0;
+	border-bottom: 1px none #E0E0E0;
+	border-left: 1px none #E0E0E0;
+	margin: 0px;
+}
+.memItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemLeft {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplItemRight {
+	padding: 1px 8px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: none;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.memTemplParams {
+	padding: 1px 0px 0px 8px;
+	margin: 4px;
+	border-top-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-left-width: 1px;
+	border-top-color: #E0E0E0;
+	border-right-color: #E0E0E0;
+	border-bottom-color: #E0E0E0;
+	border-left-color: #E0E0E0;
+	border-top-style: solid;
+	border-right-style: none;
+	border-bottom-style: none;
+	border-left-style: none;
+	color: #606060;
+	background-color: #FAFAFA;
+	font-size: 80%;
+}
+.search { 
+	color: #003399;
+	font-weight: bold;
+}
+FORM.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+INPUT.search { 
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+TD.tiny { 
+	font-size: 75%;
+}
+a {
+	color: #1A41A8;
+}
+a:visited {
+	color: #2A3798;
+}
+.dirtab { 
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #84b0c7;
+}
+TH.dirtab { 
+	background: #e8eef2;
+	font-weight: bold;
+}
+HR { 
+	height: 1px;
+	border: none;
+	border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+	font-size: 80%;
+	color: #606060;
+	font-weight: normal;
+	margin-left: 3px;
+} 
+.memnav { 
+	background-color: #e8eef2;
+	border: 1px solid #84b0c7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+.memitem {
+	padding: 4px;
+	background-color: #eef3f5;
+	border-width: 1px;
+	border-style: solid;
+	border-color: #dedeee;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+.memname {
+	white-space: nowrap;
+	font-weight: bold;
+}
+.memdoc{
+	padding-left: 10px;
+}
+.memproto {
+	background-color: #d5e1e8;
+	width: 100%;
+	border-width: 1px;
+	border-style: solid;
+	border-color: #84b0c7;
+	font-weight: bold;
+	-moz-border-radius: 8px 8px 8px 8px;
+}
+.paramkey {
+	text-align: right;
+}
+.paramtype {
+	white-space: nowrap;
+}
+.paramname {
+	color: #602020;
+	font-style: italic;
+	white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+	font-family: sans-serif;
+	margin:0.5em;
+}
+/* these are for tree view when used as main index */
+.directory { 
+	font-size: 9pt; 
+	font-weight: bold; 
+}
+.directory h3 { 
+	margin: 0px; 
+	margin-top: 1em; 
+	font-size: 11pt; 
+}
+
+/* The following two styles can be used to replace the root node title */
+/* with an image of your choice.  Simply uncomment the next two styles, */
+/* specify the name of your image and be sure to set 'height' to the */
+/* proper pixel height of your image. */
+
+/* .directory h3.swap { */
+/* 	height: 61px; */
+/* 	background-repeat: no-repeat; */
+/* 	background-image: url("yourimage.gif"); */
+/* } */
+/* .directory h3.swap span { */
+/* 	display: none; */
+/* } */
+
+.directory > h3 { 
+	margin-top: 0; 
+}
+.directory p { 
+	margin: 0px; 
+	white-space: nowrap; 
+}
+.directory div { 
+	display: none; 
+	margin: 0px; 
+}
+.directory img { 
+	vertical-align: -30%; 
+}
+/* these are for tree view when not used as main index */
+.directory-alt { 
+	font-size: 100%; 
+	font-weight: bold; 
+}
+.directory-alt h3 { 
+	margin: 0px; 
+	margin-top: 1em; 
+	font-size: 11pt; 
+}
+.directory-alt > h3 { 
+	margin-top: 0; 
+}
+.directory-alt p { 
+	margin: 0px; 
+	white-space: nowrap; 
+}
+.directory-alt div { 
+	display: none; 
+	margin: 0px; 
+}
+.directory-alt img { 
+	vertical-align: -30%; 
+}
+
diff --git a/doc/img/foot_bg.png b/doc/img/foot_bg.png
new file mode 100644
index 0000000..b24f3a4
Binary files /dev/null and b/doc/img/foot_bg.png differ
diff --git a/doc/img/head_bg.png b/doc/img/head_bg.png
new file mode 100644
index 0000000..081dc13
Binary files /dev/null and b/doc/img/head_bg.png differ
diff --git a/doc/img/menu_bg.png b/doc/img/menu_bg.png
new file mode 100644
index 0000000..e978743
Binary files /dev/null and b/doc/img/menu_bg.png differ
diff --git a/doc/img/menu_bg_current.png b/doc/img/menu_bg_current.png
new file mode 100644
index 0000000..de97c92
Binary files /dev/null and b/doc/img/menu_bg_current.png differ
diff --git a/doc/img/menu_bg_hover.png b/doc/img/menu_bg_hover.png
new file mode 100644
index 0000000..3fd851d
Binary files /dev/null and b/doc/img/menu_bg_hover.png differ
diff --git a/doc/img/menu_bg_last.png b/doc/img/menu_bg_last.png
new file mode 100644
index 0000000..88c116c
Binary files /dev/null and b/doc/img/menu_bg_last.png differ
diff --git a/doc/img/menu_bg_unsel.png b/doc/img/menu_bg_unsel.png
new file mode 100644
index 0000000..50e5fd8
Binary files /dev/null and b/doc/img/menu_bg_unsel.png differ
diff --git a/eina-0.pc b/eina-0.pc
index 84387ad..b2212e7 100644
--- a/eina-0.pc
+++ b/eina-0.pc
@@ -6,7 +6,7 @@ includedir=${prefix}/include
 Name: Eina
 Description: A Library that implements fast data types and miscellaneous tools
 Requires:
-Version: 0.0.2.060
+Version: 0.0.2.061
 Libs: -L${exec_prefix}/lib -leina
 Libs.private: -ldl
 Cflags: -I${includedir}/eina-0 -I${includedir}/eina-0/eina
diff --git a/m4/efl_doxygen.m4 b/m4/efl_doxygen.m4
index 0c1452f..dd6bc3e 100644
--- a/m4/efl_doxygen.m4
+++ b/m4/efl_doxygen.m4
@@ -25,13 +25,15 @@ AC_ARG_ENABLE([doc],
        efl_enable_doc="no"
     fi
    ],
-   [efl_enable_doc="yes"]
-)
+   [efl_enable_doc="yes"])
+
+AC_MSG_CHECKING([whether to build documentation])
+AC_MSG_RESULT([${efl_enable_doc}])
 
 if test "x${efl_enable_doc}" = "xyes" ; then
 
 dnl
-dnl Specify the full file name, with path
+dnl Specify the file name, without path
 dnl
 
    efl_doxygen="doxygen"
@@ -51,10 +53,10 @@ dnl
        if test "x${efl_have_doxygen}" = "xno" ; then
           echo "WARNING:"
           echo "The doxygen program you specified:"
-          echo "$efl_doxygen"
+          echo "${efl_doxygen}"
           echo "was not found.  Please check the path and make sure "
           echo "the program exists and is executable."
-          AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
+          AC_MSG_WARN([no doxygen detected. Documentation will not be built])
        fi
       ],
       [AC_CHECK_PROG([efl_have_doxygen],
@@ -63,17 +65,16 @@ dnl
           [no])
        if test "x${efl_have_doxygen}" = "xno" ; then
           echo "WARNING:"
-          echo "The doxygen program was not found in your execute"
+          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."
-          AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
+          AC_MSG_WARN([no doxygen detected. Documentation will not be built])
        fi
-      ]
-   )
+      ])
 fi
 
 dnl
@@ -88,9 +89,9 @@ fi
 AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_enable_doc}" = "xyes")
 
 if test "x${efl_enable_doc}" = "xyes" ; then
-  ifelse([$1], , :, [$1])
+  m4_default([$1], [:])
 else
-  ifelse([$2], , :, [$2])
+  m4_default([$2], [:])
 fi
 
 ])
diff --git a/src/Makefile.in b/src/Makefile.in
index 2677218..2124f69 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -97,10 +97,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/src/include/Makefile.in b/src/include/Makefile.in
index 7860044..47584ac 100644
--- a/src/include/Makefile.in
+++ b/src/include/Makefile.in
@@ -100,10 +100,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/src/include/eina_config.h b/src/include/eina_config.h
index c15f822..fd1aee4 100644
--- a/src/include/eina_config.h
+++ b/src/include/eina_config.h
@@ -19,19 +19,19 @@
 #ifndef EINA_CONFIG_H_
 #define EINA_CONFIG_H_
 
-#undef EINA_MAGIC_DEBUG
-#if 1
-#define EINA_MAGIC_DEBUG
+#ifdef EINA_MAGIC_DEBUG
+# undef EINA_MAGIC_DEBUG
 #endif
+#define EINA_MAGIC_DEBUG
 
-#undef EINA_DEFAULT_MEMPOOL
-#if 0
-#define EINA_DEFAULT_MEMPOOL
+#ifdef EINA_DEFAULT_MEMPOOL
+# undef EINA_DEFAULT_MEMPOOL
 #endif
 
-#undef EINA_SAFETY_CHECKS
-#if 1
-#define EINA_SAFETY_CHECKS
+
+#ifdef EINA_SAFETY_CHECKS
+# undef EINA_SAFETY_CHECKS
 #endif
+#define EINA_SAFETY_CHECKS
 
 #endif /* EINA_CONFIG_H_ */
diff --git a/src/include/eina_config.h.in b/src/include/eina_config.h.in
index d9bf7ff..4f0b3c3 100644
--- a/src/include/eina_config.h.in
+++ b/src/include/eina_config.h.in
@@ -19,19 +19,19 @@
 #ifndef EINA_CONFIG_H_
 #define EINA_CONFIG_H_
 
-#undef EINA_MAGIC_DEBUG
-#if @EINA_MAGIC_DEBUG@
-#define EINA_MAGIC_DEBUG
+#ifdef EINA_MAGIC_DEBUG
+# undef EINA_MAGIC_DEBUG
 #endif
+ at EINA_CONFIGURE_MAGIC_DEBUG@
 
-#undef EINA_DEFAULT_MEMPOOL
-#if @EINA_DEFAULT_MEMPOOL@
-#define EINA_DEFAULT_MEMPOOL
+#ifdef EINA_DEFAULT_MEMPOOL
+# undef EINA_DEFAULT_MEMPOOL
 #endif
+ at EINA_CONFIGURE_DEFAULT_MEMPOOL@
 
-#undef EINA_SAFETY_CHECKS
-#if @EINA_SAFETY_CHECKS@
-#define EINA_SAFETY_CHECKS
+#ifdef EINA_SAFETY_CHECKS
+# undef EINA_SAFETY_CHECKS
 #endif
+ at EINA_CONFIGURE_SAFETY_CHECKS@
 
 #endif /* EINA_CONFIG_H_ */
diff --git a/src/include/eina_inlist.h b/src/include/eina_inlist.h
index cbcd80d..7a010be 100644
--- a/src/include/eina_inlist.h
+++ b/src/include/eina_inlist.h
@@ -38,6 +38,7 @@ struct _Eina_Inlist
 
 #define EINA_INLIST Eina_Inlist __in_list
 #define EINA_INLIST_GET(Inlist) (&((Inlist)->__in_list))
+#define EINA_INLIST_CONTAINER_GET(ptr, type) ((type *) ((Eina_Inlist *) ptr - offsetof(type, __in_list)))
 
 EAPI Eina_Inlist * eina_inlist_append(Eina_Inlist *in_list, Eina_Inlist *in_item) EINA_ARG_NONNULL(2) EINA_WARN_UNUSED_RESULT;
 EAPI Eina_Inlist * eina_inlist_prepend(Eina_Inlist *in_list, Eina_Inlist *in_item) EINA_ARG_NONNULL(2) EINA_WARN_UNUSED_RESULT;
diff --git a/src/include/eina_list.h b/src/include/eina_list.h
index a1006b0..fc52fdd 100644
--- a/src/include/eina_list.h
+++ b/src/include/eina_list.h
@@ -48,7 +48,7 @@
 
 /**
  * @typedef Eina_List
- * Type for a generic single linked list.
+ * Type for a generic double linked list.
  */
 typedef struct _Eina_List Eina_List;
 
@@ -56,7 +56,7 @@ typedef struct _Eina_List_Accounting Eina_List_Accounting;
 
 /**
  * @struct _Eina_List
- * Type for a generic single linked list.
+ * Type for a generic double linked list.
  */
 struct _Eina_List /** A linked list node */
 {
diff --git a/src/include/eina_magic.h b/src/include/eina_magic.h
index 390ac27..4dd34ce 100644
--- a/src/include/eina_magic.h
+++ b/src/include/eina_magic.h
@@ -19,10 +19,17 @@
 #ifndef EINA_MAGIC_H_
 #define EINA_MAGIC_H_
 
-#ifdef EINA_MAGIC_DEBUG
 
+#include "eina_config.h"
 #include "eina_types.h"
 
+
+EAPI int eina_magic_string_init(void);
+EAPI int eina_magic_string_shutdown(void);
+
+
+#ifdef EINA_MAGIC_DEBUG
+
 #define EINA_MAGIC_NONE            0x1234fedc
 
 #define EINA_MAGIC	Eina_Magic __magic;
@@ -33,9 +40,6 @@
 
 typedef unsigned int               Eina_Magic;
 
-EAPI int eina_magic_string_init(void);
-EAPI int eina_magic_string_shutdown(void);
-
 EAPI const char* eina_magic_string_get(Eina_Magic magic) EINA_PURE EINA_WARN_UNUSED_RESULT;
 EAPI void eina_magic_string_set(Eina_Magic magic, const char *magic_name) EINA_ARG_NONNULL(2);
 EAPI void eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m,
@@ -52,8 +56,6 @@ EAPI void eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m,
 #define eina_magic_string_get(Magic)                  (NULL)
 #define eina_magic_string_set(Magic, Magic_Name)      ((void) 0)
 #define eina_magic_fail(d, m, req_m, file, fnx, line) ((void) 0)
-#define eina_magic_string_init()   do {} while(0)
-#define eina_magic_string_shutdown() do {} while(0)
 
 #endif
 
diff --git a/src/include/eina_safety_checks.h b/src/include/eina_safety_checks.h
index 13e53b3..d931c90 100644
--- a/src/include/eina_safety_checks.h
+++ b/src/include/eina_safety_checks.h
@@ -18,6 +18,10 @@
 
 #ifndef EINA_SAFETY_CHECKS_H_
 #define EINA_SAFETY_CHECKS_H_
+
+
+#include "eina_config.h"
+
 #ifdef EINA_SAFETY_CHECKS
 
 #include "eina_error.h"
diff --git a/src/include/eina_stringshare.h b/src/include/eina_stringshare.h
index f59844d..4670ad6 100644
--- a/src/include/eina_stringshare.h
+++ b/src/include/eina_stringshare.h
@@ -67,6 +67,7 @@
 
 EAPI int eina_stringshare_init(void);
 EAPI int eina_stringshare_shutdown(void);
+EAPI const char *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT;
 EAPI const char *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT;
 EAPI const char *eina_stringshare_ref(const char *str);
 EAPI void eina_stringshare_del(const char *str);
diff --git a/src/include/eina_types.h b/src/include/eina_types.h
index 5b06385..e86bd28 100644
--- a/src/include/eina_types.h
+++ b/src/include/eina_types.h
@@ -19,6 +19,12 @@
 #ifndef EINA_TYPES_H_
 #define EINA_TYPES_H_
 
+/**
+ * @defgroup Eina_Types_Group Types
+ *
+ * @{
+ */
+
 #ifdef EAPI
 # undef EAPI
 #endif
@@ -45,6 +51,8 @@
 # endif
 #endif
 
+#include "eina_config.h"
+
 #ifdef EINA_WARN_UNUSED_RESULT
 # undef EINA_WARN_UNUSED_RESULT
 #endif
@@ -173,7 +181,17 @@
 #endif
 
 typedef unsigned char Eina_Bool;
+
+/**
+ * @def EINA_FALSE
+ * boolean value FALSE (numerical value 0)
+ */
 #define EINA_FALSE ((Eina_Bool)0)
+
+/**
+ * @def EINA_TRUE
+ * boolean value TRUE (numerical value 1)
+ */
 #define EINA_TRUE ((Eina_Bool)1)
 
 EAPI extern const unsigned int eina_prime_table[];
@@ -192,4 +210,8 @@ typedef Eina_Bool (*Eina_Each)(const void *container,
 typedef void (*Eina_Free_Cb)(void *data);
 #define EINA_FREE_CB(Function) ((Eina_Free_Cb)Function)
 
+/**
+ * @}
+ */
+
 #endif /* EINA_TYPES_H_ */
diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in
index 08e2796..eb3b635 100644
--- a/src/lib/Makefile.in
+++ b/src/lib/Makefile.in
@@ -145,10 +145,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/src/lib/eina_array.c b/src/lib/eina_array.c
index 5ae254e..688fa4b 100644
--- a/src/lib/eina_array.c
+++ b/src/lib/eina_array.c
@@ -148,6 +148,7 @@
 #include <assert.h>
 #include <stdlib.h>
 #include <string.h>
+#include <stdio.h>
 
 #include "eina_types.h"
 #include "eina_error.h"
@@ -358,24 +359,34 @@ eina_array_grow(Eina_Array *array)
 EAPI int
 eina_array_init(void)
 {
-  if (!_eina_array_init_count)
-    {
-      eina_error_init();
-      eina_magic_string_init();
-
-      eina_magic_string_set(EINA_MAGIC_ITERATOR,
-			    "Eina Iterator");
-      eina_magic_string_set(EINA_MAGIC_ACCESSOR,
-			    "Eina Accessor");
-      eina_magic_string_set(EINA_MAGIC_ARRAY,
-			    "Eina Array");
-      eina_magic_string_set(EINA_MAGIC_ARRAY_ITERATOR,
-			    "Eina Array Iterator");
-      eina_magic_string_set(EINA_MAGIC_ARRAY_ACCESSOR,
-			    "Eina Array Accessor");
-    }
-
-  return ++_eina_array_init_count;
+   if (!_eina_array_init_count)
+     {
+        if (!eina_error_init())
+          {
+             fprintf(stderr, "Could not initialize eina error module.\n");
+             return 0;
+          }
+
+        if (!eina_magic_string_init())
+          {
+             EINA_ERROR_PERR("ERROR: Could not initialize eina magic string module.\n");
+             eina_error_shutdown();
+             return 0;
+          }
+
+        eina_magic_string_set(EINA_MAGIC_ITERATOR,
+                              "Eina Iterator");
+        eina_magic_string_set(EINA_MAGIC_ACCESSOR,
+                              "Eina Accessor");
+        eina_magic_string_set(EINA_MAGIC_ARRAY,
+                              "Eina Array");
+        eina_magic_string_set(EINA_MAGIC_ARRAY_ITERATOR,
+                              "Eina Array Iterator");
+        eina_magic_string_set(EINA_MAGIC_ARRAY_ACCESSOR,
+                              "Eina Array Accessor");
+     }
+
+   return ++_eina_array_init_count;
 }
 
 /**
diff --git a/src/lib/eina_benchmark.c b/src/lib/eina_benchmark.c
index 50b9c44..c63776a 100644
--- a/src/lib/eina_benchmark.c
+++ b/src/lib/eina_benchmark.c
@@ -145,11 +145,29 @@ eina_benchmark_init(void)
 
    if (_eina_benchmark_count > 1) return _eina_benchmark_count;
 
-   eina_error_init();
-   eina_array_init();
-   eina_counter_init();
+   if (!eina_error_init())
+     {
+        fprintf(stderr, "Could not initialize eina error module.\n");
+        return 0;
+     }
+   if (!eina_array_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina array module.\n");
+        goto array_init_error;
+     }
+   if (!eina_counter_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina counter module.\n");
+        goto counter_init_error;
+     }
 
    return _eina_benchmark_count;
+
+ counter_init_error:
+   eina_array_shutdown();
+ array_init_error:
+   eina_error_shutdown();
+   return 0;
 }
 
 /**
diff --git a/src/lib/eina_counter.c b/src/lib/eina_counter.c
index 49055d1..51871ef 100644
--- a/src/lib/eina_counter.c
+++ b/src/lib/eina_counter.c
@@ -252,12 +252,16 @@ eina_counter_init(void)
 
    if (_eina_counter_init_count == 1)
      {
-	eina_error_init();
+        if (!eina_error_init())
+          {
+             fprintf(stderr, "Could not initialize eina error module.\n");
+             return 0;
+          }
 #ifdef _WIN32
         if (!QueryPerformanceFrequency(&_eina_counter_frequency))
           {
              EINA_COUNTER_ERROR_WINDOWS = eina_error_msg_register("Change your OS, you moron !");
-             _eina_counter_init_count--;
+             eina_error_shutdown();
              return 0;
           }
 #endif /* _WIN2 */
diff --git a/src/lib/eina_error.c b/src/lib/eina_error.c
index 09d7a25..a3f0a22 100644
--- a/src/lib/eina_error.c
+++ b/src/lib/eina_error.c
@@ -530,7 +530,6 @@ EAPI int eina_error_init(void)
 	{
 		char *level;
 		/* TODO register the eina's basic errors */
-		/* TODO load the environment variable for getting the log level */
 		if ((level = getenv("EINA_ERROR_LEVEL")))
 		{
 			_error_level = atoi(level);
diff --git a/src/lib/eina_hash.c b/src/lib/eina_hash.c
index 2a450ab..48cb10b 100644
--- a/src/lib/eina_hash.c
+++ b/src/lib/eina_hash.c
@@ -21,6 +21,7 @@
 # include "config.h"
 #endif
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #ifdef _MSC_VER
@@ -664,7 +665,11 @@ EAPI int
 eina_hash_init(void)
 {
    if (!_eina_hash_init_count)
-     eina_error_init();
+     if (!eina_error_init())
+       {
+	  fprintf(stderr, "Could not initialize eina error module\n");
+	  return 0;
+       }
 
    return ++_eina_hash_init_count;
 }
diff --git a/src/lib/eina_list.c b/src/lib/eina_list.c
index 3d01d12..352b042 100644
--- a/src/lib/eina_list.c
+++ b/src/lib/eina_list.c
@@ -72,6 +72,7 @@
 # include <Evil.h>
 #endif
 
+#include "eina_config.h"
 #include "eina_error.h"
 #include "eina_list.h"
 #include "eina_mempool.h"
@@ -446,9 +447,23 @@ eina_list_init(void)
 
    if (!_eina_list_init_count)
      {
-       eina_error_init();
-       eina_magic_string_init();
-       eina_mempool_init();
+	if (!eina_error_init())
+	  {
+	     fprintf(stderr, "Could not initialize eina error module\n");
+	     return 0;
+	  }
+
+	if (!eina_magic_string_init())
+	  {
+	     EINA_ERROR_PERR("ERROR: Could not initialize eina magic string module.\n");
+	     goto on_magic_string_fail;
+	  }
+
+	if (!eina_mempool_init())
+	  {
+	     EINA_ERROR_PERR("ERROR: Could not initialize eina mempool module.\n");
+	     goto on_mempool_fail;
+	  }
 
 #ifdef EINA_DEFAULT_MEMPOOL
        choice = "pass_through";
@@ -462,14 +477,15 @@ eina_list_init(void)
        if (!_eina_list_mp)
          {
            EINA_ERROR_PERR("ERROR: Mempool for list cannot be allocated in list init.\n");
-           abort();
+	   goto on_init_fail;
          }
        _eina_list_accounting_mp = eina_mempool_new(choice, "list_accounting", NULL,
 						   sizeof (Eina_List_Accounting), 80);
        if (!_eina_list_accounting_mp)
          {
            EINA_ERROR_PERR("ERROR: Mempool for list accounting cannot be allocated in list init.\n");
-           abort();
+	   eina_mempool_delete(_eina_list_mp);
+	   goto on_init_fail;
          }
 
        eina_magic_string_set(EINA_MAGIC_ITERATOR,
@@ -487,6 +503,14 @@ eina_list_init(void)
      }
 
    return ++_eina_list_init_count;
+
+ on_init_fail:
+   eina_mempool_shutdown();
+ on_mempool_fail:
+   eina_magic_string_shutdown();
+ on_magic_string_fail:
+   eina_error_shutdown();
+   return 0;
 }
 
 /**
diff --git a/src/lib/eina_magic.c b/src/lib/eina_magic.c
index c1bb095..bf7187b 100644
--- a/src/lib/eina_magic.c
+++ b/src/lib/eina_magic.c
@@ -27,10 +27,8 @@
 # include <Evil.h>
 #endif
 
-#define EINA_MAGIC_DEBUG
-#include "eina_magic.h"
-
 #include "eina_config.h"
+#include "eina_magic.h"
 #include "eina_private.h"
 #include "eina_error.h"
 #include "eina_inlist.h"
@@ -39,6 +37,8 @@
  *                                  Local                                     *
  *============================================================================*/
 
+#ifdef EINA_MAGIC_DEBUG
+
 typedef struct _Eina_Magic_String Eina_Magic_String;
 struct _Eina_Magic_String
 {
@@ -51,6 +51,8 @@ struct _Eina_Magic_String
 static int _eina_magic_string_count = 0;
 static Eina_Inlist *strings = NULL;
 
+#endif
+
 /*============================================================================*
  *                                 Global                                     *
  *============================================================================*/
@@ -62,14 +64,19 @@ static Eina_Inlist *strings = NULL;
 EAPI int
 eina_magic_string_init(void)
 {
+#ifdef EINA_MAGIC_DEBUG
    ++_eina_magic_string_count;
 
    return _eina_magic_string_count;
+#else
+   return 1;
+#endif
 }
 
 EAPI int
 eina_magic_string_shutdown(void)
 {
+#ifdef EINA_MAGIC_DEBUG
    --_eina_magic_string_count;
 
    if (_eina_magic_string_count == 0)
@@ -88,8 +95,13 @@ eina_magic_string_shutdown(void)
      }
 
    return _eina_magic_string_count;
+#else
+   return 0;
+#endif
 }
 
+#ifdef EINA_MAGIC_DEBUG
+
 EAPI const char*
 eina_magic_string_get(Eina_Magic magic)
 {
@@ -172,3 +184,4 @@ eina_magic_fail(void *d, Eina_Magic m, Eina_Magic req_m, const char *file, const
    if (getenv("EINA_ERROR_ABORT")) abort();
 }
 
+#endif
diff --git a/src/lib/eina_main.c b/src/lib/eina_main.c
index bb28d23..cec96bc 100644
--- a/src/lib/eina_main.c
+++ b/src/lib/eina_main.c
@@ -16,6 +16,8 @@
  * if not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stdio.h>
+
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
@@ -47,18 +49,72 @@ eina_init(void)
 {
    if (_eina_main_count) goto finish_init;
 
-   eina_error_init();
-   eina_hash_init();
-   eina_stringshare_init();
-   eina_list_init();
-   eina_array_init();
-   eina_counter_init();
-   eina_benchmark_init();
-   eina_magic_string_init();
-   eina_rectangle_init();
+   if (!eina_error_init())
+     {
+        fprintf(stderr, "Could not initialize eina error module.\n");
+        return 0;
+     }
+   if (!eina_hash_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina hash module.\n");
+        goto hash_init_error;
+     }
+   if (!eina_stringshare_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina stringshare module.\n");
+        goto stringshare_init_error;
+     }
+   if (!eina_list_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina list module.\n");
+        goto list_init_error;
+     }
+   if (!eina_array_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina array module.\n");
+        goto array_init_error;
+     }
+   if (!eina_counter_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina counter module.\n");
+        goto counter_init_error;
+     }
+   if (!eina_benchmark_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina benchmark module.\n");
+        goto benchmark_init_error;
+     }
+   if (!eina_magic_string_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina magic string module.\n");
+        goto magic_string_init_error;
+     }
+   if (!eina_rectangle_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina rectangle module.\n");
+        goto rectangle_init_error;
+     }
 
  finish_init:
    return ++_eina_main_count;
+
+ rectangle_init_error:
+   eina_magic_string_shutdown();
+ magic_string_init_error:
+   eina_benchmark_shutdown();
+ benchmark_init_error:
+   eina_counter_shutdown();
+ counter_init_error:
+   eina_array_shutdown();
+ array_init_error:
+   eina_list_shutdown();
+ list_init_error:
+   eina_stringshare_shutdown();
+ stringshare_init_error:
+   eina_hash_shutdown();
+ hash_init_error:
+   eina_error_shutdown();
+   return 0;
 }
 
 EAPI int
diff --git a/src/lib/eina_mempool.c b/src/lib/eina_mempool.c
index 61b6a21..c28ec25 100644
--- a/src/lib/eina_mempool.c
+++ b/src/lib/eina_mempool.c
@@ -123,8 +123,16 @@ eina_mempool_init(void)
 	{
 		char *path;
 
-		eina_hash_init();
-		eina_module_init();
+		if (!eina_hash_init())
+		  {
+		     fprintf(stderr, "Could not initialize eina hash module.\n");
+		     return 0;
+		  }
+		if (!eina_module_init())
+		  {
+		     fprintf(stderr, "Could not initialize eina module module.\n");
+		     goto module_init_error;
+		  }
 
 		EINA_ERROR_NOT_MEMPOOL_MODULE = eina_error_msg_register("Not a memory pool module.");
 		_backends = eina_hash_string_superfast_new(NULL);
@@ -147,7 +155,8 @@ eina_mempool_init(void)
 		if (!_modules)
 		{
 			EINA_ERROR_PERR("ERROR: no mempool modules able to be loaded.\n");
-			abort();
+			eina_hash_free(_backends);
+			goto mempool_init_error;
 		}
 		eina_module_list_load(_modules);
 		/* builtin backends */
@@ -165,6 +174,14 @@ eina_mempool_init(void)
 #endif
 	}
 	return ++_init_count;
+
+	mempool_init_error:
+	   eina_module_shutdown();
+	module_init_error:
+	   eina_hash_shutdown();
+
+	return 0;
+
 }
 
 /**
@@ -190,9 +207,15 @@ eina_mempool_shutdown(void)
 	ememoa_fixed_shutdown();
 #endif
 	/* dynamic backends */
-	eina_module_list_unload(_modules);
+	eina_module_list_delete(_modules);
+	if (_modules)
+	   eina_array_free(_modules);
+
 	eina_module_shutdown();
-	/* TODO delete the _modules list */
+
+	if (_backends)
+	   eina_hash_free(_backends);
+
 	eina_hash_shutdown();
 	return 0;
 }
diff --git a/src/lib/eina_module.c b/src/lib/eina_module.c
index cc9c8ee..6abd6ed 100644
--- a/src/lib/eina_module.c
+++ b/src/lib/eina_module.c
@@ -139,7 +139,8 @@ static void _dir_list_cb(const char *name, const char *path, void *data)
 		if (!m)
 			return;
 		/* call the user provided cb on this module */
-		cb_data->cb(m, cb_data->data);
+		if (!cb_data->cb(m, cb_data->data))
+		  eina_module_delete(m);
 	}
 }
 static int _eina_module_count = 0;
diff --git a/src/lib/eina_rectangle.c b/src/lib/eina_rectangle.c
index 79524a1..d09474a 100644
--- a/src/lib/eina_rectangle.c
+++ b/src/lib/eina_rectangle.c
@@ -20,8 +20,10 @@
 # include "config.h"
 #endif
 
+#include <stdio.h>
 #include <stdlib.h>
 
+#include "eina_config.h"
 #include "eina_rectangle.h"
 #include "eina_magic.h"
 #include "eina_inlist.h"
@@ -353,8 +355,16 @@ eina_rectangle_init(void)
 
    if (_eina_rectangle_init_count > 1) return _eina_rectangle_init_count;
 
-   eina_error_init();
-   eina_mempool_init();
+   if (!eina_error_init())
+     {
+        fprintf(stderr, "Could not initialize eina error module.\n");
+        return 0;
+     }
+   if (!eina_mempool_init())
+     {
+        EINA_ERROR_PERR("Could not initialize eina mempool module.\n");
+        goto mempool_init_error;
+     }
 
 #ifdef EINA_DEFAULT_MEMPOOL
    choice = "pass_through";
@@ -364,14 +374,21 @@ eina_rectangle_init(void)
 #endif
 
    _eina_rectangle_mp = eina_mempool_new(choice, "rectangle", NULL,
-					 sizeof (Eina_Rectangle_Alloc) + sizeof (Eina_Rectangle), 42);
+                                         sizeof (Eina_Rectangle_Alloc) + sizeof (Eina_Rectangle), 42);
    if (!_eina_rectangle_mp)
      {
-	EINA_ERROR_PERR("ERROR: Mempool for rectangle cannot be allocated in list init.\n");
-	abort();
+        EINA_ERROR_PERR("ERROR: Mempool for rectangle cannot be allocated in list init.\n");
+        goto init_error;
      }
 
    return _eina_rectangle_init_count;
+
+ init_error:
+   eina_mempool_shutdown();
+ mempool_init_error:
+   eina_error_shutdown();
+
+   return 0;
 }
 
 EAPI int
diff --git a/src/lib/eina_stringshare.c b/src/lib/eina_stringshare.c
index 529d0d8..a165768 100644
--- a/src/lib/eina_stringshare.c
+++ b/src/lib/eina_stringshare.c
@@ -350,7 +350,7 @@ static Eina_Stringshare_Small _eina_small_share;
 static inline int
 _eina_stringshare_small_cmp(const Eina_Stringshare_Small_Bucket *bucket, int i, const char *pstr, unsigned char plength)
 {
-   const unsigned char cur_plength = bucket->lengths[i] - 1;
+   const unsigned char cur_plength = bucket->lengths[i];
    const char *cur_pstr;
 
    if (cur_plength > plength)
@@ -380,7 +380,7 @@ static const char *
 _eina_stringshare_small_bucket_find(const Eina_Stringshare_Small_Bucket *bucket, const char *str, unsigned char length, int *index)
 {
    const char *pstr = str + 1; /* skip first letter, it's always the same */
-   unsigned char plength = length - 1;
+   unsigned char plength = length;
    int i, low, high;
 
    if (bucket->count == 0)
@@ -456,6 +456,7 @@ _eina_stringshare_small_bucket_insert_at(Eina_Stringshare_Small_Bucket **p_bucke
 {
    Eina_Stringshare_Small_Bucket *bucket = *p_bucket;
    int todo, off;
+   char *snew;
 
    if (!bucket)
      {
@@ -474,18 +475,20 @@ _eina_stringshare_small_bucket_insert_at(Eina_Stringshare_Small_Bucket **p_bucke
 	  return NULL;
      }
 
-   str = strdup(str);
-   if (!str)
+   snew = malloc(length + 1);
+   if (!snew)
      {
 	eina_error_set(EINA_ERROR_OUT_OF_MEMORY);
 	return NULL;
      }
+   memcpy(snew, str, length);
+   snew[length] = '\0';
 
    off = index + 1;
    todo = bucket->count - index;
    if (todo > 0)
      {
-       memmove((void *)(bucket->strings + off), bucket->strings + index,
+	memmove((void *)(bucket->strings + off), bucket->strings + index,
 		todo * sizeof(bucket->strings[0]));
 	memmove(bucket->lengths + off, bucket->lengths + index,
 		todo * sizeof(bucket->lengths[0]));
@@ -493,12 +496,12 @@ _eina_stringshare_small_bucket_insert_at(Eina_Stringshare_Small_Bucket **p_bucke
 		todo * sizeof(bucket->references[0]));
      }
 
-   bucket->strings[index] = str;
+   bucket->strings[index] = snew;
    bucket->lengths[index] = length;
    bucket->references[index] = 1;
    bucket->count++;
 
-   return str;
+   return snew;
 }
 
 static void
@@ -635,6 +638,7 @@ _eina_stringshare_node_init(Eina_Stringshare_Node *node, const char *str, int sl
    node->references = 1;
    node->length = slen;
    memcpy(node->str, str, slen);
+   node->str[slen] = '\0';
 }
 
 static Eina_Stringshare_Head *
@@ -643,7 +647,7 @@ _eina_stringshare_head_alloc(int slen)
    Eina_Stringshare_Head *head, t;
    const size_t head_size = (char *)&(t.builtin_node.str) - (char *)&t;
 
-   head = malloc(head_size + slen);
+   head = malloc(head_size + slen + 1);
    if (!head)
      eina_error_set(EINA_ERROR_OUT_OF_MEMORY);
 
@@ -756,7 +760,7 @@ _eina_stringshare_node_alloc(int slen)
    Eina_Stringshare_Node *node, t;
    const size_t node_size = (char *)&(t.str) - (char *)&t;
 
-   node = malloc(node_size + slen);
+   node = malloc(node_size + slen + 1);
    if (!node)
      eina_error_set(EINA_ERROR_OUT_OF_MEMORY);
 
@@ -821,23 +825,33 @@ eina_stringshare_init(void)
     */
    if (!_eina_stringshare_init_count)
      {
-	share = calloc(1, sizeof(Eina_Stringshare));
-	if (!share)
-	  return 0;
-
-	eina_error_init();
-	eina_magic_string_init();
-
-	eina_magic_string_set(EINA_MAGIC_STRINGSHARE,
-			      "Eina Stringshare");
-	eina_magic_string_set(EINA_MAGIC_STRINGSHARE_HEAD,
-			      "Eina Stringshare Head");
-	eina_magic_string_set(EINA_MAGIC_STRINGSHARE_NODE,
-			      "Eina Stringshare Node");
-       	EINA_MAGIC_SET(share, EINA_MAGIC_STRINGSHARE);
-
-	_eina_stringshare_small_init();
-	_eina_stringshare_population_init();
+        share = calloc(1, sizeof(Eina_Stringshare));
+        if (!share)
+          return 0;
+
+        if (!eina_error_init())
+          {
+             fprintf(stderr, "Could not initialize eina error module.\n");
+             return 0;
+          }
+
+        if (!eina_magic_string_init())
+          {
+             EINA_ERROR_PERR("ERROR: Could not initialize eina magic string module.\n");
+             eina_error_shutdown();
+             return 0;
+          }
+
+        eina_magic_string_set(EINA_MAGIC_STRINGSHARE,
+                              "Eina Stringshare");
+        eina_magic_string_set(EINA_MAGIC_STRINGSHARE_HEAD,
+                              "Eina Stringshare Head");
+        eina_magic_string_set(EINA_MAGIC_STRINGSHARE_NODE,
+                              "Eina Stringshare Node");
+        EINA_MAGIC_SET(share, EINA_MAGIC_STRINGSHARE);
+
+        _eina_stringshare_small_init();
+        _eina_stringshare_population_init();
      }
 
    return ++_eina_stringshare_init_count;
@@ -885,6 +899,7 @@ eina_stringshare_shutdown(void)
  * @brief Retrieve an instance of a string for use in a program.
  *
  * @param   str The string to retrieve an instance of.
+ * @param   slen The string size (<= strlen(str)).
  * @return  A pointer to an instance of the string on success.
  *          @c NULL on failure.
  *
@@ -894,24 +909,24 @@ eina_stringshare_shutdown(void)
  * it is added to the strings to be searched and a duplicated string
  * of @p str is returned.
  *
+ * This function does not check string size, but uses the give the
+ * exact given size. This can be used to stringshare part of a larger
+ * buffer or substring.
+ *
  * @note it's not possible to have more than 65k references or strings
  * bigger than 65k since we use 'unsigned short' to save space.
+ *
+ * @see eina_stringshare_add()
  */
 EAPI const char *
-eina_stringshare_add(const char *str)
+eina_stringshare_add_length(const char *str, unsigned int slen)
 {
    Eina_Stringshare_Head **p_bucket, *ed;
    Eina_Stringshare_Node *el;
-   int hash_num, slen, hash;
+   int hash_num, hash;
 
    if (!str) return NULL;
 
-   if      (str[0] == '\0') slen = 0;
-   else if (str[1] == '\0') slen = 1;
-   else if (str[2] == '\0') slen = 2;
-   else if (str[3] == '\0') slen = 3;
-   else                     slen = 3 + (int)strlen(str + 3);
-
    _eina_stringshare_population_add(slen);
 
    if (slen == 0)
@@ -921,8 +936,6 @@ eina_stringshare_add(const char *str)
    else if (slen < 4)
      return _eina_stringshare_small_add(str, slen);
 
-   slen++; /* everything else need to account '\0' */
-
    hash = eina_hash_superfast(str, slen);
    hash_num = hash & 0xFF;
    hash = (hash >> 8) & EINA_STRINGSHARE_MASK;
@@ -954,6 +967,44 @@ eina_stringshare_add(const char *str)
    return el->str;
 }
 
+/**
+ * @brief Retrieve an instance of a string for use in a program.
+ *
+ * @param   str The NULL terminated string to retrieve an instance of.
+ * @return  A pointer to an instance of the string on success.
+ *          @c NULL on failure.
+ *
+ * This function retrieves an instance of @p str. If @p str is
+ * @c NULL, then @c NULL is returned. If @p str is already stored, it
+ * is just returned and its reference counter is increased. Otherwise
+ * it is added to the strings to be searched and a duplicated string
+ * of @p str is returned.
+ *
+ * The string @a str must be NULL terminated ('\0') and its full
+ * length will be used. To use part of the string or non-null
+ * terminated, use eina_stringshare_add_length() instead.
+ *
+ * @note it's not possible to have more than 65k references or strings
+ * bigger than 65k since we use 'unsigned short' to save space.
+ *
+ * @see eina_stringshare_add_length()
+ */
+EAPI const char *
+eina_stringshare_add(const char *str)
+{
+   int slen;
+
+   if (!str) return NULL;
+
+   if      (str[0] == '\0') slen = 0;
+   else if (str[1] == '\0') slen = 1;
+   else if (str[2] == '\0') slen = 2;
+   else if (str[3] == '\0') slen = 3;
+   else                     slen = 3 + (int)strlen(str + 3);
+
+   return eina_stringshare_add_length(str, slen);
+}
+
 static Eina_Stringshare_Node *
 _eina_stringshare_node_from_str(const char *str)
 {
@@ -1058,7 +1109,7 @@ eina_stringshare_del(const char *str)
      }
 
    node->references = 0;
-   slen = node->length; /* already includes '\0' */
+   slen = node->length;
 
    hash = eina_hash_superfast(str, slen);
    hash_num = hash & 0xFF;
@@ -1116,7 +1167,7 @@ eina_stringshare_strlen(const char *str)
    if (str[3] == '\0') return 3;
 
    node = _eina_stringshare_node_from_str(str);
-   return node->length - 1;
+   return node->length;
 }
 
 struct dumpinfo
diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index e840227..e4fd501 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -97,10 +97,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/src/modules/mp/Makefile.in b/src/modules/mp/Makefile.in
index 2924b89..13cb5e2 100644
--- a/src/modules/mp/Makefile.in
+++ b/src/modules/mp/Makefile.in
@@ -97,10 +97,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
diff --git a/src/modules/mp/chained_pool/Makefile.am b/src/modules/mp/chained_pool/Makefile.am
index 58ca322..b3b9aaa 100644
--- a/src/modules/mp/chained_pool/Makefile.am
+++ b/src/modules/mp/chained_pool/Makefile.am
@@ -8,7 +8,7 @@ AM_CPPFLAGS = \
 
 if !EINA_STATIC_BUILD_CHAINED_POOL
 
-controllerdir = $(libdir)/eina/mp/
+controllerdir = $(libdir)/eina/mp
 controller_LTLIBRARIES = eina_chained_mempool.la
 
 eina_chained_mempool_la_SOURCES = \
diff --git a/src/modules/mp/chained_pool/Makefile.in b/src/modules/mp/chained_pool/Makefile.in
index c654e4d..ecfefe2 100644
--- a/src/modules/mp/chained_pool/Makefile.in
+++ b/src/modules/mp/chained_pool/Makefile.in
@@ -120,10 +120,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -237,7 +237,7 @@ AM_CPPFLAGS = \
 -I$(top_builddir)/src/include \
 @EINA_CFLAGS@ @EFL_PTHREAD_CFLAGS@
 
- at EINA_STATIC_BUILD_CHAINED_POOL_FALSE@controllerdir = $(libdir)/eina/mp/
+ at EINA_STATIC_BUILD_CHAINED_POOL_FALSE@controllerdir = $(libdir)/eina/mp
 @EINA_STATIC_BUILD_CHAINED_POOL_FALSE at controller_LTLIBRARIES = eina_chained_mempool.la
 @EINA_STATIC_BUILD_CHAINED_POOL_FALSE at eina_chained_mempool_la_SOURCES = \
 @EINA_STATIC_BUILD_CHAINED_POOL_FALSE at eina_chained_mempool.c
diff --git a/src/modules/mp/ememoa_fixed/Makefile.am b/src/modules/mp/ememoa_fixed/Makefile.am
index cc1be1e..5c479a7 100644
--- a/src/modules/mp/ememoa_fixed/Makefile.am
+++ b/src/modules/mp/ememoa_fixed/Makefile.am
@@ -12,7 +12,7 @@ if EINA_ENABLE_EMEMOA
 
 if !EINA_STATIC_BUILD_EMEMOA_FIXED
 
-controllerdir = $(libdir)/eina/mp/
+controllerdir = $(libdir)/eina/mp
 controller_LTLIBRARIES = eina_ememoa_fixed.la
 
 eina_ememoa_fixed_la_SOURCES = \
diff --git a/src/modules/mp/ememoa_fixed/Makefile.in b/src/modules/mp/ememoa_fixed/Makefile.in
index c095136..fa10cba 100644
--- a/src/modules/mp/ememoa_fixed/Makefile.in
+++ b/src/modules/mp/ememoa_fixed/Makefile.in
@@ -119,10 +119,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -239,7 +239,7 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@ \
 @EMEMOA_CFLAGS@
 
- at EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE at controllerdir = $(libdir)/eina/mp/
+ at EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE at controllerdir = $(libdir)/eina/mp
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE at controller_LTLIBRARIES = eina_ememoa_fixed.la
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE at eina_ememoa_fixed_la_SOURCES = \
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE at eina_ememoa_fixed.c
diff --git a/src/modules/mp/ememoa_unknown/Makefile.am b/src/modules/mp/ememoa_unknown/Makefile.am
index 7bfbd33..61a183e 100644
--- a/src/modules/mp/ememoa_unknown/Makefile.am
+++ b/src/modules/mp/ememoa_unknown/Makefile.am
@@ -12,7 +12,7 @@ if EINA_ENABLE_EMEMOA
 
 if !EINA_STATIC_BUILD_EMEMOA_UNKNOWN
 
-controllerdir = $(libdir)/eina/mp/
+controllerdir = $(libdir)/eina/mp
 controller_LTLIBRARIES = eina_ememoa_unknown.la
 
 eina_ememoa_unknown_la_SOURCES = \
diff --git a/src/modules/mp/ememoa_unknown/Makefile.in b/src/modules/mp/ememoa_unknown/Makefile.in
index e314433..a61adca 100644
--- a/src/modules/mp/ememoa_unknown/Makefile.in
+++ b/src/modules/mp/ememoa_unknown/Makefile.in
@@ -119,10 +119,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -239,7 +239,7 @@ AM_CPPFLAGS = \
 @EINA_CFLAGS@ \
 @EMEMOA_CFLAGS@
 
- at EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE at controllerdir = $(libdir)/eina/mp/
+ at EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE at controllerdir = $(libdir)/eina/mp
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE at controller_LTLIBRARIES = eina_ememoa_unknown.la
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE at eina_ememoa_unknown_la_SOURCES = \
 @EINA_ENABLE_EMEMOA_TRUE@@EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE at eina_ememoa_unknown.c
diff --git a/src/modules/mp/fixed_bitmap/Makefile.am b/src/modules/mp/fixed_bitmap/Makefile.am
index b4bb05e..e0dcb6b 100644
--- a/src/modules/mp/fixed_bitmap/Makefile.am
+++ b/src/modules/mp/fixed_bitmap/Makefile.am
@@ -8,7 +8,7 @@ AM_CPPFLAGS = \
 
 if !EINA_STATIC_BUILD_FIXED_BITMAP
 
-controllerdir = $(libdir)/eina/mp/
+controllerdir = $(libdir)/eina/mp
 controller_LTLIBRARIES = eina_fixed_bitmap.la
 
 eina_fixed_bitmap_la_SOURCES = \
diff --git a/src/modules/mp/fixed_bitmap/Makefile.in b/src/modules/mp/fixed_bitmap/Makefile.in
index 7411c42..6a1bfb7 100644
--- a/src/modules/mp/fixed_bitmap/Makefile.in
+++ b/src/modules/mp/fixed_bitmap/Makefile.in
@@ -119,10 +119,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -236,7 +236,7 @@ AM_CPPFLAGS = \
 -I$(top_builddir)/src/include \
 @EINA_CFLAGS@
 
- at EINA_STATIC_BUILD_FIXED_BITMAP_FALSE@controllerdir = $(libdir)/eina/mp/
+ at EINA_STATIC_BUILD_FIXED_BITMAP_FALSE@controllerdir = $(libdir)/eina/mp
 @EINA_STATIC_BUILD_FIXED_BITMAP_FALSE at controller_LTLIBRARIES = eina_fixed_bitmap.la
 @EINA_STATIC_BUILD_FIXED_BITMAP_FALSE at eina_fixed_bitmap_la_SOURCES = \
 @EINA_STATIC_BUILD_FIXED_BITMAP_FALSE at eina_fixed_bitmap.c
diff --git a/src/modules/mp/pass_through/Makefile.am b/src/modules/mp/pass_through/Makefile.am
index 930c6d8..b811754 100644
--- a/src/modules/mp/pass_through/Makefile.am
+++ b/src/modules/mp/pass_through/Makefile.am
@@ -9,7 +9,7 @@ AM_CPPFLAGS = \
 
 if !EINA_STATIC_BUILD_PASS_THROUGH
 
-controllerdir = $(libdir)/eina/mp/
+controllerdir = $(libdir)/eina/mp
 controller_LTLIBRARIES = pass_through.la
 
 pass_through_la_SOURCES = \
diff --git a/src/modules/mp/pass_through/Makefile.in b/src/modules/mp/pass_through/Makefile.in
index 56fe2ff..2941ad0 100644
--- a/src/modules/mp/pass_through/Makefile.in
+++ b/src/modules/mp/pass_through/Makefile.in
@@ -119,10 +119,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@
@@ -238,7 +238,7 @@ AM_CPPFLAGS = \
 -I$(top_builddir)/src/include \
 @EINA_CFLAGS@
 
- at EINA_STATIC_BUILD_PASS_THROUGH_FALSE@controllerdir = $(libdir)/eina/mp/
+ at EINA_STATIC_BUILD_PASS_THROUGH_FALSE@controllerdir = $(libdir)/eina/mp
 @EINA_STATIC_BUILD_PASS_THROUGH_FALSE at controller_LTLIBRARIES = pass_through.la
 @EINA_STATIC_BUILD_PASS_THROUGH_FALSE at pass_through_la_SOURCES = \
 @EINA_STATIC_BUILD_PASS_THROUGH_FALSE at pass_through.c
diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
index a13631f..6111b17 100644
--- a/src/tests/Makefile.in
+++ b/src/tests/Makefile.in
@@ -178,10 +178,10 @@ EFL_PTHREAD_LIBS = @EFL_PTHREAD_LIBS@
 EFL_SIMD_FLAGS = @EFL_SIMD_FLAGS@
 EGREP = @EGREP@
 EINA_CFLAGS = @EINA_CFLAGS@
-EINA_DEFAULT_MEMPOOL = @EINA_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@
+EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@
+EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@
 EINA_LIBS = @EINA_LIBS@
-EINA_MAGIC_DEBUG = @EINA_MAGIC_DEBUG@
-EINA_SAFETY_CHECKS = @EINA_SAFETY_CHECKS@
 EMEMOA_CFLAGS = @EMEMOA_CFLAGS@
 EMEMOA_LIBS = @EMEMOA_LIBS@
 EVAS_CFLAGS = @EVAS_CFLAGS@

-- 
 Enlightenment Foundation Library providing optimized data types



More information about the Pkg-e-commits mailing list