[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 ©$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