diff options
Diffstat (limited to 'libraries/eina')
113 files changed, 5744 insertions, 2709 deletions
diff --git a/libraries/eina/AUTHORS b/libraries/eina/AUTHORS index c146e20..6091910 100644 --- a/libraries/eina/AUTHORS +++ b/libraries/eina/AUTHORS | |||
@@ -21,3 +21,5 @@ Youness Alaoui <kakaroto@kakaroto.homelinux.net> | |||
21 | billiob (Boris Faure) <billiob@gmail.com> | 21 | billiob (Boris Faure) <billiob@gmail.com> |
22 | Sung W. Park <sungwoo@gmail.com> | 22 | Sung W. Park <sungwoo@gmail.com> |
23 | Guillaume Friloux <guillaume.friloux@asp64.com> | 23 | Guillaume Friloux <guillaume.friloux@asp64.com> |
24 | Jonas M. Gastal <jgastal@profusion.mobi> | ||
25 | Raphael Kubo da Costa <rakuco@freebsd.org> | ||
diff --git a/libraries/eina/ChangeLog b/libraries/eina/ChangeLog index dfecb61..1237697 100644 --- a/libraries/eina/ChangeLog +++ b/libraries/eina/ChangeLog | |||
@@ -198,3 +198,46 @@ | |||
198 | 2012-01-19 Shinwoo Kim | 198 | 2012-01-19 Shinwoo Kim |
199 | 199 | ||
200 | * Fix compilation of eina_semaphore_lock() (Windows port) | 200 | * Fix compilation of eina_semaphore_lock() (Windows port) |
201 | |||
202 | 2012-01-20 Gustavo Barbieri | ||
203 | |||
204 | * Add eina_model data type (generic hierarchy data access). | ||
205 | |||
206 | 2011-12-30 Vincent Torri | ||
207 | |||
208 | * Fix Eina_RWLock code on Windows > XP. | ||
209 | |||
210 | 2012-01-29 Tom Hacohen | ||
211 | |||
212 | * Added EINA_C_ARRAY_LENGTH, a macro that returns the length of a | ||
213 | standard C array. | ||
214 | |||
215 | 2012-01-31 Tom Hacohen | ||
216 | |||
217 | * Added an Eina_Stringshare type. It's just a typedef of "const char" | ||
218 | this is a same kind of visual hint for the purpose of the pointer, | ||
219 | but again, the two types are interchangeable. | ||
220 | |||
221 | 2012-02-17 Cedric Bail | ||
222 | |||
223 | * Fix forgotten initialization of eina list count during eina_list_split_list. | ||
224 | |||
225 | 2012-02-22 Cedric Bail | ||
226 | |||
227 | * Add eina_file_stat. | ||
228 | |||
229 | 2012-02-27 Alexandre Becoulet | ||
230 | |||
231 | * Add faster implementation of Eina_Rbtree. | ||
232 | |||
233 | 2012-03-07 Cedric Bail | ||
234 | |||
235 | * Fix leak of Eina_File. | ||
236 | |||
237 | 2012-03-14 Cedric Bail | ||
238 | |||
239 | * Fix a dead lock in Eina_File. | ||
240 | |||
241 | 2012-03-16 Raphael Kubo da Costa | ||
242 | |||
243 | * Adjust Valgrind's CFLAGS to fix the build when it is in a non-default location. | ||
diff --git a/libraries/eina/Makefile.am b/libraries/eina/Makefile.am index 7778fd8..501653c 100644 --- a/libraries/eina/Makefile.am +++ b/libraries/eina/Makefile.am | |||
@@ -1,6 +1,6 @@ | |||
1 | ## Process this file with automake to produce Makefile.in | 1 | ## Process this file with automake to produce Makefile.in |
2 | 2 | ||
3 | ACLOCAL_AMFLAGS = -I m4 | 3 | ACLOCAL_AMFLAGS = -I m4 -I m4/common -I m4/eina |
4 | 4 | ||
5 | SUBDIRS = src doc | 5 | SUBDIRS = src doc |
6 | 6 | ||
@@ -38,18 +38,18 @@ autogen.sh \ | |||
38 | eina.pc.in \ | 38 | eina.pc.in \ |
39 | eina.spec \ | 39 | eina.spec \ |
40 | eina.spec.in \ | 40 | eina.spec.in \ |
41 | m4/efl_attribute.m4 \ | 41 | m4/common/efl_attribute.m4 \ |
42 | m4/efl_benchmark.m4 \ | 42 | m4/common/efl_benchmark.m4 \ |
43 | m4/efl_compiler_flag.m4 \ | 43 | m4/common/efl_compiler_flag.m4 \ |
44 | m4/efl_coverage.m4 \ | 44 | m4/common/efl_coverage.m4 \ |
45 | m4/efl_cpu.m4 \ | 45 | m4/common/efl_cpu.m4 \ |
46 | m4/efl_doxygen.m4 \ | 46 | m4/common/efl_doxygen.m4 \ |
47 | m4/efl_fnmatch.m4 \ | 47 | m4/common/efl_fnmatch.m4 \ |
48 | m4/efl_tests.m4 \ | 48 | m4/common/efl_tests.m4 \ |
49 | m4/efl_threads.m4 \ | 49 | m4/common/efl_threads.m4 \ |
50 | m4/eina_bench.m4 \ | 50 | m4/common/efl_path_max.m4 \ |
51 | m4/eina_check.m4 \ | 51 | m4/eina/eina_bench.m4 \ |
52 | m4/efl_path_max.m4 | 52 | m4/eina/eina_check.m4 |
53 | 53 | ||
54 | .PHONY: doc coverage benchmark | 54 | .PHONY: doc coverage benchmark |
55 | 55 | ||
@@ -77,18 +77,16 @@ endif | |||
77 | 77 | ||
78 | if EFL_ENABLE_COVERAGE | 78 | if EFL_ENABLE_COVERAGE |
79 | lcov-reset: | 79 | lcov-reset: |
80 | @rm -rf coverage | 80 | @rm -rf $(top_builddir)/coverage |
81 | @find . -name "*.gcda" -exec rm {} \; | 81 | @find $(top_builddir) -name "*.gcda" -delete |
82 | @lcov --directory . --zerocounters | 82 | @lcov --zerocounters --directory $(top_builddir) |
83 | 83 | ||
84 | lcov-report: | 84 | lcov-report: |
85 | @mkdir coverage | 85 | @mkdir $(top_builddir)/coverage |
86 | @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info | 86 | lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) |
87 | @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove | 87 | lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info |
88 | @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info | 88 | genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info |
89 | @rm coverage/remove | 89 | @echo "Coverage Report at $(top_builddir)/coverage/html" |
90 | @mv coverage/coverage.cleaned.info coverage/coverage.info | ||
91 | @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info | ||
92 | 90 | ||
93 | coverage: | 91 | coverage: |
94 | @$(MAKE) lcov-reset | 92 | @$(MAKE) lcov-reset |
diff --git a/libraries/eina/Makefile.in b/libraries/eina/Makefile.in index 423f4da..f72c62f 100644 --- a/libraries/eina/Makefile.in +++ b/libraries/eina/Makefile.in | |||
@@ -42,20 +42,24 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ | |||
42 | INSTALL NEWS config.guess config.sub depcomp install-sh \ | 42 | INSTALL NEWS config.guess config.sub depcomp install-sh \ |
43 | ltmain.sh missing | 43 | ltmain.sh missing |
44 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 44 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
45 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 45 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
46 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 46 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
47 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 47 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
48 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 48 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
49 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 49 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
50 | $(top_srcdir)/m4/efl_examples.m4 \ | 50 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
51 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 51 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
52 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 52 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
53 | $(top_srcdir)/m4/efl_threads.m4 \ | 53 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
54 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 54 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
55 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 55 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
56 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 56 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
57 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 57 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
58 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 58 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
59 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
60 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
61 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
62 | $(top_srcdir)/configure.ac | ||
59 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 63 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
60 | $(ACLOCAL_M4) | 64 | $(ACLOCAL_M4) |
61 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ | 65 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ |
@@ -191,13 +195,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
191 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 195 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
192 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 196 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
193 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 197 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
198 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
194 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 199 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
195 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 200 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
196 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 201 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
197 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 202 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
198 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 203 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
199 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 204 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
200 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
201 | EINA_LIBS = @EINA_LIBS@ | 205 | EINA_LIBS = @EINA_LIBS@ |
202 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 206 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
203 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 207 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -207,6 +211,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
207 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 211 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
208 | EVIL_LIBS = @EVIL_LIBS@ | 212 | EVIL_LIBS = @EVIL_LIBS@ |
209 | EXEEXT = @EXEEXT@ | 213 | EXEEXT = @EXEEXT@ |
214 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
215 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
210 | FGREP = @FGREP@ | 216 | FGREP = @FGREP@ |
211 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 217 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
212 | GLIB_LIBS = @GLIB_LIBS@ | 218 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -242,6 +248,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
242 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 248 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
243 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 249 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
244 | PKG_CONFIG = @PKG_CONFIG@ | 250 | PKG_CONFIG = @PKG_CONFIG@ |
251 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
252 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
245 | RANLIB = @RANLIB@ | 253 | RANLIB = @RANLIB@ |
246 | SED = @SED@ | 254 | SED = @SED@ |
247 | SET_MAKE = @SET_MAKE@ | 255 | SET_MAKE = @SET_MAKE@ |
@@ -315,7 +323,7 @@ top_build_prefix = @top_build_prefix@ | |||
315 | top_builddir = @top_builddir@ | 323 | top_builddir = @top_builddir@ |
316 | top_srcdir = @top_srcdir@ | 324 | top_srcdir = @top_srcdir@ |
317 | version_info = @version_info@ | 325 | version_info = @version_info@ |
318 | ACLOCAL_AMFLAGS = -I m4 | 326 | ACLOCAL_AMFLAGS = -I m4 -I m4/common -I m4/eina |
319 | SUBDIRS = src doc | 327 | SUBDIRS = src doc |
320 | MAINTAINERCLEANFILES = \ | 328 | MAINTAINERCLEANFILES = \ |
321 | Makefile.in \ | 329 | Makefile.in \ |
@@ -350,18 +358,18 @@ autogen.sh \ | |||
350 | eina.pc.in \ | 358 | eina.pc.in \ |
351 | eina.spec \ | 359 | eina.spec \ |
352 | eina.spec.in \ | 360 | eina.spec.in \ |
353 | m4/efl_attribute.m4 \ | 361 | m4/common/efl_attribute.m4 \ |
354 | m4/efl_benchmark.m4 \ | 362 | m4/common/efl_benchmark.m4 \ |
355 | m4/efl_compiler_flag.m4 \ | 363 | m4/common/efl_compiler_flag.m4 \ |
356 | m4/efl_coverage.m4 \ | 364 | m4/common/efl_coverage.m4 \ |
357 | m4/efl_cpu.m4 \ | 365 | m4/common/efl_cpu.m4 \ |
358 | m4/efl_doxygen.m4 \ | 366 | m4/common/efl_doxygen.m4 \ |
359 | m4/efl_fnmatch.m4 \ | 367 | m4/common/efl_fnmatch.m4 \ |
360 | m4/efl_tests.m4 \ | 368 | m4/common/efl_tests.m4 \ |
361 | m4/efl_threads.m4 \ | 369 | m4/common/efl_threads.m4 \ |
362 | m4/eina_bench.m4 \ | 370 | m4/common/efl_path_max.m4 \ |
363 | m4/eina_check.m4 \ | 371 | m4/eina/eina_bench.m4 \ |
364 | m4/efl_path_max.m4 | 372 | m4/eina/eina_check.m4 |
365 | 373 | ||
366 | all: config.h | 374 | all: config.h |
367 | $(MAKE) $(AM_MAKEFLAGS) all-recursive | 375 | $(MAKE) $(AM_MAKEFLAGS) all-recursive |
@@ -908,18 +916,16 @@ doc: | |||
908 | # Coverage report | 916 | # Coverage report |
909 | 917 | ||
910 | @EFL_ENABLE_COVERAGE_TRUE@lcov-reset: | 918 | @EFL_ENABLE_COVERAGE_TRUE@lcov-reset: |
911 | @EFL_ENABLE_COVERAGE_TRUE@ @rm -rf coverage | 919 | @EFL_ENABLE_COVERAGE_TRUE@ @rm -rf $(top_builddir)/coverage |
912 | @EFL_ENABLE_COVERAGE_TRUE@ @find . -name "*.gcda" -exec rm {} \; | 920 | @EFL_ENABLE_COVERAGE_TRUE@ @find $(top_builddir) -name "*.gcda" -delete |
913 | @EFL_ENABLE_COVERAGE_TRUE@ @lcov --directory . --zerocounters | 921 | @EFL_ENABLE_COVERAGE_TRUE@ @lcov --zerocounters --directory $(top_builddir) |
914 | 922 | ||
915 | @EFL_ENABLE_COVERAGE_TRUE@lcov-report: | 923 | @EFL_ENABLE_COVERAGE_TRUE@lcov-report: |
916 | @EFL_ENABLE_COVERAGE_TRUE@ @mkdir coverage | 924 | @EFL_ENABLE_COVERAGE_TRUE@ @mkdir $(top_builddir)/coverage |
917 | @EFL_ENABLE_COVERAGE_TRUE@ @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info | 925 | @EFL_ENABLE_COVERAGE_TRUE@ lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir) |
918 | @EFL_ENABLE_COVERAGE_TRUE@ @lcov -l coverage/coverage.info |grep "\\.h" |cut -d " " -f 2 > coverage/remove | 926 | @EFL_ENABLE_COVERAGE_TRUE@ lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info |
919 | @EFL_ENABLE_COVERAGE_TRUE@ @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info | 927 | @EFL_ENABLE_COVERAGE_TRUE@ genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info |
920 | @EFL_ENABLE_COVERAGE_TRUE@ @rm coverage/remove | 928 | @EFL_ENABLE_COVERAGE_TRUE@ @echo "Coverage Report at $(top_builddir)/coverage/html" |
921 | @EFL_ENABLE_COVERAGE_TRUE@ @mv coverage/coverage.cleaned.info coverage/coverage.info | ||
922 | @EFL_ENABLE_COVERAGE_TRUE@ @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info | ||
923 | 929 | ||
924 | @EFL_ENABLE_COVERAGE_TRUE@coverage: | 930 | @EFL_ENABLE_COVERAGE_TRUE@coverage: |
925 | @EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-reset | 931 | @EFL_ENABLE_COVERAGE_TRUE@ @$(MAKE) lcov-reset |
diff --git a/libraries/eina/NEWS b/libraries/eina/NEWS index 8669aa7..b118535 100644 --- a/libraries/eina/NEWS +++ b/libraries/eina/NEWS | |||
@@ -14,8 +14,20 @@ Additions: | |||
14 | * Deprecated eina_array_count_get(), use eina_array_count() instead. | 14 | * Deprecated eina_array_count_get(), use eina_array_count() instead. |
15 | * Added eina_inarray data type | 15 | * Added eina_inarray data type |
16 | * Added eina_value data type (generic value storage) | 16 | * Added eina_value data type (generic value storage) |
17 | * Added eina_model data type (generic hierarchy data access) | ||
18 | * Add eina_file_stat. | ||
17 | 19 | ||
18 | Eina 1.1.0 | 20 | Fixes: |
21 | |||
22 | * compilation errors in Eina_RWLock code when building code on Windows > XP | ||
23 | * stop leaking Eina_File. | ||
24 | * remove dead lock in Eina_File. | ||
25 | |||
26 | Improvements: | ||
27 | |||
28 | * faster implementation of Eina_Rbtree. | ||
29 | |||
30 | Eina 1.1.0 (2011-12-02) | ||
19 | 31 | ||
20 | Changes since Eina 1.0.0: | 32 | Changes since Eina 1.0.0: |
21 | ------------------------- | 33 | ------------------------- |
diff --git a/libraries/eina/README b/libraries/eina/README index 6ff84c8..cb8b0c6 100644 --- a/libraries/eina/README +++ b/libraries/eina/README | |||
@@ -1,4 +1,4 @@ | |||
1 | Eina 1.1.0 | 1 | Eina 1.2.0 |
2 | 2 | ||
3 | ****************************************************************************** | 3 | ****************************************************************************** |
4 | 4 | ||
@@ -11,7 +11,6 @@ Requirements: | |||
11 | ------------- | 11 | ------------- |
12 | Must have: | 12 | Must have: |
13 | libc (pthread or windows threading support, iconv support) | 13 | libc (pthread or windows threading support, iconv support) |
14 | libm | ||
15 | 14 | ||
16 | Eina is a library providing data structure utilities for EFL that are meant | 15 | Eina is a library providing data structure utilities for EFL that are meant |
17 | to be lean, efficient and tailored to EFL's needs. This saves each | 16 | to be lean, efficient and tailored to EFL's needs. This saves each |
diff --git a/libraries/eina/aclocal.m4 b/libraries/eina/aclocal.m4 index f26e3d1..d87f7d0 100644 --- a/libraries/eina/aclocal.m4 +++ b/libraries/eina/aclocal.m4 | |||
@@ -13,13 +13,14 @@ | |||
13 | 13 | ||
14 | m4_ifndef([AC_AUTOCONF_VERSION], | 14 | m4_ifndef([AC_AUTOCONF_VERSION], |
15 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl | 15 | [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl |
16 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, | 16 | m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],, |
17 | [m4_warning([this file was generated for autoconf 2.65. | 17 | [m4_warning([this file was generated for autoconf 2.67. |
18 | You have another version of autoconf. It may work, but is not guaranteed to. | 18 | You have another version of autoconf. It may work, but is not guaranteed to. |
19 | If you have problems, you may need to regenerate the build system entirely. | 19 | If you have problems, you may need to regenerate the build system entirely. |
20 | To do so, use the procedure documented by the package, typically `autoreconf'.])]) | 20 | To do so, use the procedure documented by the package, typically `autoreconf'.])]) |
21 | 21 | ||
22 | # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- | 22 | # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- |
23 | # serial 1 (pkg-config-0.24) | ||
23 | # | 24 | # |
24 | # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. | 25 | # Copyright © 2004 Scott James Remnant <scott@netsplit.com>. |
25 | # | 26 | # |
@@ -47,7 +48,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) | |||
47 | AC_DEFUN([PKG_PROG_PKG_CONFIG], | 48 | AC_DEFUN([PKG_PROG_PKG_CONFIG], |
48 | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) | 49 | [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) |
49 | m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) | 50 | m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) |
50 | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl | 51 | AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) |
52 | AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) | ||
53 | AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) | ||
54 | |||
51 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | 55 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
52 | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) | 56 | AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) |
53 | fi | 57 | fi |
@@ -60,7 +64,6 @@ if test -n "$PKG_CONFIG"; then | |||
60 | AC_MSG_RESULT([no]) | 64 | AC_MSG_RESULT([no]) |
61 | PKG_CONFIG="" | 65 | PKG_CONFIG="" |
62 | fi | 66 | fi |
63 | |||
64 | fi[]dnl | 67 | fi[]dnl |
65 | ])# PKG_PROG_PKG_CONFIG | 68 | ])# PKG_PROG_PKG_CONFIG |
66 | 69 | ||
@@ -69,34 +72,31 @@ fi[]dnl | |||
69 | # Check to see whether a particular set of modules exists. Similar | 72 | # Check to see whether a particular set of modules exists. Similar |
70 | # to PKG_CHECK_MODULES(), but does not set variables or print errors. | 73 | # to PKG_CHECK_MODULES(), but does not set variables or print errors. |
71 | # | 74 | # |
72 | # | 75 | # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) |
73 | # Similar to PKG_CHECK_MODULES, make sure that the first instance of | 76 | # only at the first occurence in configure.ac, so if the first place |
74 | # this or PKG_CHECK_MODULES is called, or make sure to call | 77 | # it's called might be skipped (such as if it is within an "if", you |
75 | # PKG_CHECK_EXISTS manually | 78 | # have to call PKG_CHECK_EXISTS manually |
76 | # -------------------------------------------------------------- | 79 | # -------------------------------------------------------------- |
77 | AC_DEFUN([PKG_CHECK_EXISTS], | 80 | AC_DEFUN([PKG_CHECK_EXISTS], |
78 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | 81 | [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl |
79 | if test -n "$PKG_CONFIG" && \ | 82 | if test -n "$PKG_CONFIG" && \ |
80 | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then | 83 | AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then |
81 | m4_ifval([$2], [$2], [:]) | 84 | m4_default([$2], [:]) |
82 | m4_ifvaln([$3], [else | 85 | m4_ifvaln([$3], [else |
83 | $3])dnl | 86 | $3])dnl |
84 | fi]) | 87 | fi]) |
85 | 88 | ||
86 | |||
87 | # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) | 89 | # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) |
88 | # --------------------------------------------- | 90 | # --------------------------------------------- |
89 | m4_define([_PKG_CONFIG], | 91 | m4_define([_PKG_CONFIG], |
90 | [if test -n "$PKG_CONFIG"; then | 92 | [if test -n "$$1"; then |
91 | if test -n "$$1"; then | 93 | pkg_cv_[]$1="$$1" |
92 | pkg_cv_[]$1="$$1" | 94 | elif test -n "$PKG_CONFIG"; then |
93 | else | 95 | PKG_CHECK_EXISTS([$3], |
94 | PKG_CHECK_EXISTS([$3], | 96 | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], |
95 | [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], | 97 | [pkg_failed=yes]) |
96 | [pkg_failed=yes]) | 98 | else |
97 | fi | 99 | pkg_failed=untried |
98 | else | ||
99 | pkg_failed=untried | ||
100 | fi[]dnl | 100 | fi[]dnl |
101 | ])# _PKG_CONFIG | 101 | ])# _PKG_CONFIG |
102 | 102 | ||
@@ -138,16 +138,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. | |||
138 | See the pkg-config man page for more details.]) | 138 | See the pkg-config man page for more details.]) |
139 | 139 | ||
140 | if test $pkg_failed = yes; then | 140 | if test $pkg_failed = yes; then |
141 | AC_MSG_RESULT([no]) | ||
141 | _PKG_SHORT_ERRORS_SUPPORTED | 142 | _PKG_SHORT_ERRORS_SUPPORTED |
142 | if test $_pkg_short_errors_supported = yes; then | 143 | if test $_pkg_short_errors_supported = yes; then |
143 | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` | 144 | $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` |
144 | else | 145 | else |
145 | $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` | 146 | $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` |
146 | fi | 147 | fi |
147 | # Put the nasty error message in config.log where it belongs | 148 | # Put the nasty error message in config.log where it belongs |
148 | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD | 149 | echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD |
149 | 150 | ||
150 | ifelse([$4], , [AC_MSG_ERROR(dnl | 151 | m4_default([$4], [AC_MSG_ERROR( |
151 | [Package requirements ($2) were not met: | 152 | [Package requirements ($2) were not met: |
152 | 153 | ||
153 | $$1_PKG_ERRORS | 154 | $$1_PKG_ERRORS |
@@ -155,25 +156,24 @@ $$1_PKG_ERRORS | |||
155 | Consider adjusting the PKG_CONFIG_PATH environment variable if you | 156 | Consider adjusting the PKG_CONFIG_PATH environment variable if you |
156 | installed software in a non-standard prefix. | 157 | installed software in a non-standard prefix. |
157 | 158 | ||
158 | _PKG_TEXT | 159 | _PKG_TEXT])[]dnl |
159 | ])], | 160 | ]) |
160 | [AC_MSG_RESULT([no]) | ||
161 | $4]) | ||
162 | elif test $pkg_failed = untried; then | 161 | elif test $pkg_failed = untried; then |
163 | ifelse([$4], , [AC_MSG_FAILURE(dnl | 162 | AC_MSG_RESULT([no]) |
163 | m4_default([$4], [AC_MSG_FAILURE( | ||
164 | [The pkg-config script could not be found or is too old. Make sure it | 164 | [The pkg-config script could not be found or is too old. Make sure it |
165 | is in your PATH or set the PKG_CONFIG environment variable to the full | 165 | is in your PATH or set the PKG_CONFIG environment variable to the full |
166 | path to pkg-config. | 166 | path to pkg-config. |
167 | 167 | ||
168 | _PKG_TEXT | 168 | _PKG_TEXT |
169 | 169 | ||
170 | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])], | 170 | To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl |
171 | [$4]) | 171 | ]) |
172 | else | 172 | else |
173 | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS | 173 | $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS |
174 | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS | 174 | $1[]_LIBS=$pkg_cv_[]$1[]_LIBS |
175 | AC_MSG_RESULT([yes]) | 175 | AC_MSG_RESULT([yes]) |
176 | ifelse([$3], , :, [$3]) | 176 | $3 |
177 | fi[]dnl | 177 | fi[]dnl |
178 | ])# PKG_CHECK_MODULES | 178 | ])# PKG_CHECK_MODULES |
179 | 179 | ||
@@ -1134,20 +1134,20 @@ AC_SUBST([am__tar]) | |||
1134 | AC_SUBST([am__untar]) | 1134 | AC_SUBST([am__untar]) |
1135 | ]) # _AM_PROG_TAR | 1135 | ]) # _AM_PROG_TAR |
1136 | 1136 | ||
1137 | m4_include([m4/efl_attribute.m4]) | 1137 | m4_include([m4/eina/eina_bench.m4]) |
1138 | m4_include([m4/efl_benchmark.m4]) | 1138 | m4_include([m4/eina/eina_check.m4]) |
1139 | m4_include([m4/efl_compiler_flag.m4]) | 1139 | m4_include([m4/common/efl_attribute.m4]) |
1140 | m4_include([m4/efl_coverage.m4]) | 1140 | m4_include([m4/common/efl_benchmark.m4]) |
1141 | m4_include([m4/efl_cpu.m4]) | 1141 | m4_include([m4/common/efl_compiler_flag.m4]) |
1142 | m4_include([m4/efl_doxygen.m4]) | 1142 | m4_include([m4/common/efl_coverage.m4]) |
1143 | m4_include([m4/efl_examples.m4]) | 1143 | m4_include([m4/common/efl_cpu.m4]) |
1144 | m4_include([m4/efl_fnmatch.m4]) | 1144 | m4_include([m4/common/efl_doxygen.m4]) |
1145 | m4_include([m4/efl_path_max.m4]) | 1145 | m4_include([m4/common/efl_examples.m4]) |
1146 | m4_include([m4/efl_tests.m4]) | 1146 | m4_include([m4/common/efl_fnmatch.m4]) |
1147 | m4_include([m4/efl_threads.m4]) | 1147 | m4_include([m4/common/efl_path_max.m4]) |
1148 | m4_include([m4/efl_voltron.m4]) | 1148 | m4_include([m4/common/efl_tests.m4]) |
1149 | m4_include([m4/eina_bench.m4]) | 1149 | m4_include([m4/common/efl_threads.m4]) |
1150 | m4_include([m4/eina_check.m4]) | 1150 | m4_include([m4/common/efl_voltron.m4]) |
1151 | m4_include([m4/libtool.m4]) | 1151 | m4_include([m4/libtool.m4]) |
1152 | m4_include([m4/ltoptions.m4]) | 1152 | m4_include([m4/ltoptions.m4]) |
1153 | m4_include([m4/ltsugar.m4]) | 1153 | m4_include([m4/ltsugar.m4]) |
diff --git a/libraries/eina/autogen.sh b/libraries/eina/autogen.sh index 00116ea..25b7c2f 100755 --- a/libraries/eina/autogen.sh +++ b/libraries/eina/autogen.sh | |||
@@ -6,7 +6,7 @@ rm -f aclocal.m4 ltmain.sh | |||
6 | touch README | 6 | touch README |
7 | touch ABOUT-NLS | 7 | touch ABOUT-NLS |
8 | 8 | ||
9 | echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1 | 9 | echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 -I m4/common -I m4/eina || exit 1 |
10 | echo "Running autoheader..." ; autoheader || exit 1 | 10 | echo "Running autoheader..." ; autoheader || exit 1 |
11 | echo "Running autoconf..." ; autoconf || exit 1 | 11 | echo "Running autoconf..." ; autoconf || exit 1 |
12 | echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1 | 12 | echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1 |
diff --git a/libraries/eina/config.guess b/libraries/eina/config.guess index e3a2116..c2246a4 100755 --- a/libraries/eina/config.guess +++ b/libraries/eina/config.guess | |||
@@ -1,10 +1,10 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Attempt to guess a canonical system name. | 2 | # Attempt to guess a canonical system name. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 | # Free Software Foundation, Inc. | 5 | # Free Software Foundation, Inc. |
6 | 6 | ||
7 | timestamp='2009-06-10' | 7 | timestamp='2009-12-30' |
8 | 8 | ||
9 | # This file is free software; you can redistribute it and/or modify it | 9 | # This file is free software; you can redistribute it and/or modify it |
10 | # under the terms of the GNU General Public License as published by | 10 | # under the terms of the GNU General Public License as published by |
@@ -27,16 +27,16 @@ timestamp='2009-06-10' | |||
27 | # the same distribution terms that you use for the rest of that program. | 27 | # the same distribution terms that you use for the rest of that program. |
28 | 28 | ||
29 | 29 | ||
30 | # Originally written by Per Bothner <per@bothner.com>. | 30 | # Originally written by Per Bothner. Please send patches (context |
31 | # Please send patches to <config-patches@gnu.org>. Submit a context | 31 | # diff format) to <config-patches@gnu.org> and include a ChangeLog |
32 | # diff and a properly formatted ChangeLog entry. | 32 | # entry. |
33 | # | 33 | # |
34 | # This script attempts to guess a canonical system name similar to | 34 | # This script attempts to guess a canonical system name similar to |
35 | # config.sub. If it succeeds, it prints the system name on stdout, and | 35 | # config.sub. If it succeeds, it prints the system name on stdout, and |
36 | # exits with 0. Otherwise, it exits with 1. | 36 | # exits with 0. Otherwise, it exits with 1. |
37 | # | 37 | # |
38 | # The plan is that this can be called by configure scripts if you | 38 | # You can get the latest version of this script from: |
39 | # don't specify an explicit build system type. | 39 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD |
40 | 40 | ||
41 | me=`echo "$0" | sed -e 's,.*/,,'` | 41 | me=`echo "$0" | sed -e 's,.*/,,'` |
42 | 42 | ||
@@ -56,8 +56,9 @@ version="\ | |||
56 | GNU config.guess ($timestamp) | 56 | GNU config.guess ($timestamp) |
57 | 57 | ||
58 | Originally written by Per Bothner. | 58 | Originally written by Per Bothner. |
59 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | 59 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, |
60 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | 60 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free |
61 | Software Foundation, Inc. | ||
61 | 62 | ||
62 | This is free software; see the source for copying conditions. There is NO | 63 | This is free software; see the source for copying conditions. There is NO |
63 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 64 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |||
333 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | 334 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) |
334 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | 335 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` |
335 | exit ;; | 336 | exit ;; |
337 | i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) | ||
338 | echo i386-pc-auroraux${UNAME_RELEASE} | ||
339 | exit ;; | ||
336 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | 340 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) |
337 | eval $set_cc_for_build | 341 | eval $set_cc_for_build |
338 | SUN_ARCH="i386" | 342 | SUN_ARCH="i386" |
@@ -807,12 +811,12 @@ EOF | |||
807 | i*:PW*:*) | 811 | i*:PW*:*) |
808 | echo ${UNAME_MACHINE}-pc-pw32 | 812 | echo ${UNAME_MACHINE}-pc-pw32 |
809 | exit ;; | 813 | exit ;; |
810 | *:Interix*:[3456]*) | 814 | *:Interix*:*) |
811 | case ${UNAME_MACHINE} in | 815 | case ${UNAME_MACHINE} in |
812 | x86) | 816 | x86) |
813 | echo i586-pc-interix${UNAME_RELEASE} | 817 | echo i586-pc-interix${UNAME_RELEASE} |
814 | exit ;; | 818 | exit ;; |
815 | EM64T | authenticamd | genuineintel) | 819 | authenticamd | genuineintel | EM64T) |
816 | echo x86_64-unknown-interix${UNAME_RELEASE} | 820 | echo x86_64-unknown-interix${UNAME_RELEASE} |
817 | exit ;; | 821 | exit ;; |
818 | IA64) | 822 | IA64) |
@@ -854,6 +858,20 @@ EOF | |||
854 | i*86:Minix:*:*) | 858 | i*86:Minix:*:*) |
855 | echo ${UNAME_MACHINE}-pc-minix | 859 | echo ${UNAME_MACHINE}-pc-minix |
856 | exit ;; | 860 | exit ;; |
861 | alpha:Linux:*:*) | ||
862 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | ||
863 | EV5) UNAME_MACHINE=alphaev5 ;; | ||
864 | EV56) UNAME_MACHINE=alphaev56 ;; | ||
865 | PCA56) UNAME_MACHINE=alphapca56 ;; | ||
866 | PCA57) UNAME_MACHINE=alphapca56 ;; | ||
867 | EV6) UNAME_MACHINE=alphaev6 ;; | ||
868 | EV67) UNAME_MACHINE=alphaev67 ;; | ||
869 | EV68*) UNAME_MACHINE=alphaev68 ;; | ||
870 | esac | ||
871 | objdump --private-headers /bin/sh | grep -q ld.so.1 | ||
872 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | ||
873 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | ||
874 | exit ;; | ||
857 | arm*:Linux:*:*) | 875 | arm*:Linux:*:*) |
858 | eval $set_cc_for_build | 876 | eval $set_cc_for_build |
859 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | 877 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ |
@@ -876,6 +894,17 @@ EOF | |||
876 | frv:Linux:*:*) | 894 | frv:Linux:*:*) |
877 | echo frv-unknown-linux-gnu | 895 | echo frv-unknown-linux-gnu |
878 | exit ;; | 896 | exit ;; |
897 | i*86:Linux:*:*) | ||
898 | LIBC=gnu | ||
899 | eval $set_cc_for_build | ||
900 | sed 's/^ //' << EOF >$dummy.c | ||
901 | #ifdef __dietlibc__ | ||
902 | LIBC=dietlibc | ||
903 | #endif | ||
904 | EOF | ||
905 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | ||
906 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
907 | exit ;; | ||
879 | ia64:Linux:*:*) | 908 | ia64:Linux:*:*) |
880 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 909 | echo ${UNAME_MACHINE}-unknown-linux-gnu |
881 | exit ;; | 910 | exit ;; |
@@ -901,39 +930,18 @@ EOF | |||
901 | #endif | 930 | #endif |
902 | #endif | 931 | #endif |
903 | EOF | 932 | EOF |
904 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | 933 | eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` |
905 | /^CPU/{ | ||
906 | s: ::g | ||
907 | p | ||
908 | }'`" | ||
909 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | 934 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } |
910 | ;; | 935 | ;; |
911 | or32:Linux:*:*) | 936 | or32:Linux:*:*) |
912 | echo or32-unknown-linux-gnu | 937 | echo or32-unknown-linux-gnu |
913 | exit ;; | 938 | exit ;; |
914 | ppc:Linux:*:*) | ||
915 | echo powerpc-unknown-linux-gnu | ||
916 | exit ;; | ||
917 | ppc64:Linux:*:*) | ||
918 | echo powerpc64-unknown-linux-gnu | ||
919 | exit ;; | ||
920 | alpha:Linux:*:*) | ||
921 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | ||
922 | EV5) UNAME_MACHINE=alphaev5 ;; | ||
923 | EV56) UNAME_MACHINE=alphaev56 ;; | ||
924 | PCA56) UNAME_MACHINE=alphapca56 ;; | ||
925 | PCA57) UNAME_MACHINE=alphapca56 ;; | ||
926 | EV6) UNAME_MACHINE=alphaev6 ;; | ||
927 | EV67) UNAME_MACHINE=alphaev67 ;; | ||
928 | EV68*) UNAME_MACHINE=alphaev68 ;; | ||
929 | esac | ||
930 | objdump --private-headers /bin/sh | grep -q ld.so.1 | ||
931 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | ||
932 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | ||
933 | exit ;; | ||
934 | padre:Linux:*:*) | 939 | padre:Linux:*:*) |
935 | echo sparc-unknown-linux-gnu | 940 | echo sparc-unknown-linux-gnu |
936 | exit ;; | 941 | exit ;; |
942 | parisc64:Linux:*:* | hppa64:Linux:*:*) | ||
943 | echo hppa64-unknown-linux-gnu | ||
944 | exit ;; | ||
937 | parisc:Linux:*:* | hppa:Linux:*:*) | 945 | parisc:Linux:*:* | hppa:Linux:*:*) |
938 | # Look for CPU level | 946 | # Look for CPU level |
939 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | 947 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in |
@@ -942,8 +950,11 @@ EOF | |||
942 | *) echo hppa-unknown-linux-gnu ;; | 950 | *) echo hppa-unknown-linux-gnu ;; |
943 | esac | 951 | esac |
944 | exit ;; | 952 | exit ;; |
945 | parisc64:Linux:*:* | hppa64:Linux:*:*) | 953 | ppc64:Linux:*:*) |
946 | echo hppa64-unknown-linux-gnu | 954 | echo powerpc64-unknown-linux-gnu |
955 | exit ;; | ||
956 | ppc:Linux:*:*) | ||
957 | echo powerpc-unknown-linux-gnu | ||
947 | exit ;; | 958 | exit ;; |
948 | s390:Linux:*:* | s390x:Linux:*:*) | 959 | s390:Linux:*:* | s390x:Linux:*:*) |
949 | echo ${UNAME_MACHINE}-ibm-linux | 960 | echo ${UNAME_MACHINE}-ibm-linux |
@@ -966,58 +977,6 @@ EOF | |||
966 | xtensa*:Linux:*:*) | 977 | xtensa*:Linux:*:*) |
967 | echo ${UNAME_MACHINE}-unknown-linux-gnu | 978 | echo ${UNAME_MACHINE}-unknown-linux-gnu |
968 | exit ;; | 979 | exit ;; |
969 | i*86:Linux:*:*) | ||
970 | # The BFD linker knows what the default object file format is, so | ||
971 | # first see if it will tell us. cd to the root directory to prevent | ||
972 | # problems with other programs or directories called `ld' in the path. | ||
973 | # Set LC_ALL=C to ensure ld outputs messages in English. | ||
974 | ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | ||
975 | | sed -ne '/supported targets:/!d | ||
976 | s/[ ][ ]*/ /g | ||
977 | s/.*supported targets: *// | ||
978 | s/ .*// | ||
979 | p'` | ||
980 | case "$ld_supported_targets" in | ||
981 | elf32-i386) | ||
982 | TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" | ||
983 | ;; | ||
984 | esac | ||
985 | # Determine whether the default compiler is a.out or elf | ||
986 | eval $set_cc_for_build | ||
987 | sed 's/^ //' << EOF >$dummy.c | ||
988 | #include <features.h> | ||
989 | #ifdef __ELF__ | ||
990 | # ifdef __GLIBC__ | ||
991 | # if __GLIBC__ >= 2 | ||
992 | LIBC=gnu | ||
993 | # else | ||
994 | LIBC=gnulibc1 | ||
995 | # endif | ||
996 | # else | ||
997 | LIBC=gnulibc1 | ||
998 | # endif | ||
999 | #else | ||
1000 | #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) | ||
1001 | LIBC=gnu | ||
1002 | #else | ||
1003 | LIBC=gnuaout | ||
1004 | #endif | ||
1005 | #endif | ||
1006 | #ifdef __dietlibc__ | ||
1007 | LIBC=dietlibc | ||
1008 | #endif | ||
1009 | EOF | ||
1010 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | ||
1011 | /^LIBC/{ | ||
1012 | s: ::g | ||
1013 | p | ||
1014 | }'`" | ||
1015 | test x"${LIBC}" != x && { | ||
1016 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | ||
1017 | exit | ||
1018 | } | ||
1019 | test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } | ||
1020 | ;; | ||
1021 | i*86:DYNIX/ptx:4*:*) | 980 | i*86:DYNIX/ptx:4*:*) |
1022 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | 981 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. |
1023 | # earlier versions are messed up and put the nodename in both | 982 | # earlier versions are messed up and put the nodename in both |
@@ -1247,6 +1206,16 @@ EOF | |||
1247 | *:Darwin:*:*) | 1206 | *:Darwin:*:*) |
1248 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | 1207 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown |
1249 | case $UNAME_PROCESSOR in | 1208 | case $UNAME_PROCESSOR in |
1209 | i386) | ||
1210 | eval $set_cc_for_build | ||
1211 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | ||
1212 | if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ | ||
1213 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | ||
1214 | grep IS_64BIT_ARCH >/dev/null | ||
1215 | then | ||
1216 | UNAME_PROCESSOR="x86_64" | ||
1217 | fi | ||
1218 | fi ;; | ||
1250 | unknown) UNAME_PROCESSOR=powerpc ;; | 1219 | unknown) UNAME_PROCESSOR=powerpc ;; |
1251 | esac | 1220 | esac |
1252 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | 1221 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} |
diff --git a/libraries/eina/config.h.in b/libraries/eina/config.h.in index 9bd97a1..09db082 100644 --- a/libraries/eina/config.h.in +++ b/libraries/eina/config.h.in | |||
@@ -110,6 +110,12 @@ | |||
110 | */ | 110 | */ |
111 | #undef HAVE_ALLOCA_H | 111 | #undef HAVE_ALLOCA_H |
112 | 112 | ||
113 | /* Define to 1 if you have the `backtrace' function. */ | ||
114 | #undef HAVE_BACKTRACE | ||
115 | |||
116 | /* Define to 1 if you have the `backtrace_symbols' function. */ | ||
117 | #undef HAVE_BACKTRACE_SYMBOLS | ||
118 | |||
113 | /* Define to 1 if you have a valid <dirent.h> header file. */ | 119 | /* Define to 1 if you have a valid <dirent.h> header file. */ |
114 | #undef HAVE_DIRENT_H | 120 | #undef HAVE_DIRENT_H |
115 | 121 | ||
@@ -125,15 +131,21 @@ | |||
125 | /* Define to 1 if you have the `dlopen' function. */ | 131 | /* Define to 1 if you have the `dlopen' function. */ |
126 | #undef HAVE_DLOPEN | 132 | #undef HAVE_DLOPEN |
127 | 133 | ||
128 | /* Set to 1 if evil package is installed */ | 134 | /* Set to 1 if Escape package is installed */ |
129 | #undef HAVE_ESCAPE | 135 | #undef HAVE_ESCAPE |
130 | 136 | ||
131 | /* Set to 1 if evil package is installed */ | 137 | /* Set to 1 if evil package is installed */ |
132 | #undef HAVE_EVIL | 138 | #undef HAVE_EVIL |
133 | 139 | ||
140 | /* Define to 1 if you have the <execinfo.h> header file. */ | ||
141 | #undef HAVE_EXECINFO_H | ||
142 | |||
134 | /* Define to 1 if you have the `execvp' function. */ | 143 | /* Define to 1 if you have the `execvp' function. */ |
135 | #undef HAVE_EXECVP | 144 | #undef HAVE_EXECVP |
136 | 145 | ||
146 | /* Define to 1 if you have Exotic. */ | ||
147 | #undef HAVE_EXOTIC_H | ||
148 | |||
137 | /* Define to 1 if you have the `fpathconf' function. */ | 149 | /* Define to 1 if you have the `fpathconf' function. */ |
138 | #undef HAVE_FPATHCONF | 150 | #undef HAVE_FPATHCONF |
139 | 151 | ||
diff --git a/libraries/eina/config.sub b/libraries/eina/config.sub index eb0389a..c2d1257 100755 --- a/libraries/eina/config.sub +++ b/libraries/eina/config.sub | |||
@@ -1,10 +1,10 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Configuration validation subroutine script. | 2 | # Configuration validation subroutine script. |
3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | 3 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | 4 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 |
5 | # Free Software Foundation, Inc. | 5 | # Free Software Foundation, Inc. |
6 | 6 | ||
7 | timestamp='2009-06-11' | 7 | timestamp='2010-01-22' |
8 | 8 | ||
9 | # This file is (in principle) common to ALL GNU software. | 9 | # This file is (in principle) common to ALL GNU software. |
10 | # The presence of a machine in this file suggests that SOME GNU software | 10 | # The presence of a machine in this file suggests that SOME GNU software |
@@ -32,13 +32,16 @@ timestamp='2009-06-11' | |||
32 | 32 | ||
33 | 33 | ||
34 | # Please send patches to <config-patches@gnu.org>. Submit a context | 34 | # Please send patches to <config-patches@gnu.org>. Submit a context |
35 | # diff and a properly formatted ChangeLog entry. | 35 | # diff and a properly formatted GNU ChangeLog entry. |
36 | # | 36 | # |
37 | # Configuration subroutine to validate and canonicalize a configuration type. | 37 | # Configuration subroutine to validate and canonicalize a configuration type. |
38 | # Supply the specified configuration type as an argument. | 38 | # Supply the specified configuration type as an argument. |
39 | # If it is invalid, we print an error message on stderr and exit with code 1. | 39 | # If it is invalid, we print an error message on stderr and exit with code 1. |
40 | # Otherwise, we print the canonical config type on stdout and succeed. | 40 | # Otherwise, we print the canonical config type on stdout and succeed. |
41 | 41 | ||
42 | # You can get the latest version of this script from: | ||
43 | # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | ||
44 | |||
42 | # This file is supposed to be the same for all GNU packages | 45 | # This file is supposed to be the same for all GNU packages |
43 | # and recognize all the CPU types, system types and aliases | 46 | # and recognize all the CPU types, system types and aliases |
44 | # that are meaningful with *any* GNU software. | 47 | # that are meaningful with *any* GNU software. |
@@ -72,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>." | |||
72 | version="\ | 75 | version="\ |
73 | GNU config.sub ($timestamp) | 76 | GNU config.sub ($timestamp) |
74 | 77 | ||
75 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | 78 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, |
76 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | 79 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free |
80 | Software Foundation, Inc. | ||
77 | 81 | ||
78 | This is free software; see the source for copying conditions. There is NO | 82 | This is free software; see the source for copying conditions. There is NO |
79 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | 83 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
@@ -149,7 +153,7 @@ case $os in | |||
149 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ | 153 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ |
150 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ | 154 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ |
151 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ | 155 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ |
152 | -apple | -axis | -knuth | -cray) | 156 | -apple | -axis | -knuth | -cray | -microblaze) |
153 | os= | 157 | os= |
154 | basic_machine=$1 | 158 | basic_machine=$1 |
155 | ;; | 159 | ;; |
@@ -284,6 +288,7 @@ case $basic_machine in | |||
284 | | pdp10 | pdp11 | pj | pjl \ | 288 | | pdp10 | pdp11 | pj | pjl \ |
285 | | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | 289 | | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ |
286 | | pyramid \ | 290 | | pyramid \ |
291 | | rx \ | ||
287 | | score \ | 292 | | score \ |
288 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | 293 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ |
289 | | sh64 | sh64le \ | 294 | | sh64 | sh64le \ |
@@ -291,13 +296,14 @@ case $basic_machine in | |||
291 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | 296 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ |
292 | | spu | strongarm \ | 297 | | spu | strongarm \ |
293 | | tahoe | thumb | tic4x | tic80 | tron \ | 298 | | tahoe | thumb | tic4x | tic80 | tron \ |
299 | | ubicom32 \ | ||
294 | | v850 | v850e \ | 300 | | v850 | v850e \ |
295 | | we32k \ | 301 | | we32k \ |
296 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | 302 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ |
297 | | z8k | z80) | 303 | | z8k | z80) |
298 | basic_machine=$basic_machine-unknown | 304 | basic_machine=$basic_machine-unknown |
299 | ;; | 305 | ;; |
300 | m6811 | m68hc11 | m6812 | m68hc12) | 306 | m6811 | m68hc11 | m6812 | m68hc12 | picochip) |
301 | # Motorola 68HC11/12. | 307 | # Motorola 68HC11/12. |
302 | basic_machine=$basic_machine-unknown | 308 | basic_machine=$basic_machine-unknown |
303 | os=-none | 309 | os=-none |
@@ -340,7 +346,7 @@ case $basic_machine in | |||
340 | | lm32-* \ | 346 | | lm32-* \ |
341 | | m32c-* | m32r-* | m32rle-* \ | 347 | | m32c-* | m32r-* | m32rle-* \ |
342 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | 348 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ |
343 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | 349 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ |
344 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | 350 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ |
345 | | mips16-* \ | 351 | | mips16-* \ |
346 | | mips64-* | mips64el-* \ | 352 | | mips64-* | mips64el-* \ |
@@ -368,15 +374,17 @@ case $basic_machine in | |||
368 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | 374 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ |
369 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | 375 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ |
370 | | pyramid-* \ | 376 | | pyramid-* \ |
371 | | romp-* | rs6000-* \ | 377 | | romp-* | rs6000-* | rx-* \ |
372 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | 378 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ |
373 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | 379 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ |
374 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | 380 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ |
375 | | sparclite-* \ | 381 | | sparclite-* \ |
376 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | 382 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ |
377 | | tahoe-* | thumb-* \ | 383 | | tahoe-* | thumb-* \ |
378 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | 384 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ |
385 | | tile-* | tilegx-* \ | ||
379 | | tron-* \ | 386 | | tron-* \ |
387 | | ubicom32-* \ | ||
380 | | v850-* | v850e-* | vax-* \ | 388 | | v850-* | v850e-* | vax-* \ |
381 | | we32k-* \ | 389 | | we32k-* \ |
382 | | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | 390 | | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ |
@@ -726,6 +734,9 @@ case $basic_machine in | |||
726 | basic_machine=ns32k-utek | 734 | basic_machine=ns32k-utek |
727 | os=-sysv | 735 | os=-sysv |
728 | ;; | 736 | ;; |
737 | microblaze) | ||
738 | basic_machine=microblaze-xilinx | ||
739 | ;; | ||
729 | mingw32) | 740 | mingw32) |
730 | basic_machine=i386-pc | 741 | basic_machine=i386-pc |
731 | os=-mingw32 | 742 | os=-mingw32 |
@@ -1076,6 +1087,11 @@ case $basic_machine in | |||
1076 | basic_machine=tic6x-unknown | 1087 | basic_machine=tic6x-unknown |
1077 | os=-coff | 1088 | os=-coff |
1078 | ;; | 1089 | ;; |
1090 | # This must be matched before tile*. | ||
1091 | tilegx*) | ||
1092 | basic_machine=tilegx-unknown | ||
1093 | os=-linux-gnu | ||
1094 | ;; | ||
1079 | tile*) | 1095 | tile*) |
1080 | basic_machine=tile-unknown | 1096 | basic_machine=tile-unknown |
1081 | os=-linux-gnu | 1097 | os=-linux-gnu |
@@ -1247,6 +1263,9 @@ case $os in | |||
1247 | # First match some system type aliases | 1263 | # First match some system type aliases |
1248 | # that might get confused with valid system types. | 1264 | # that might get confused with valid system types. |
1249 | # -solaris* is a basic system type, with this one exception. | 1265 | # -solaris* is a basic system type, with this one exception. |
1266 | -auroraux) | ||
1267 | os=-auroraux | ||
1268 | ;; | ||
1250 | -solaris1 | -solaris1.*) | 1269 | -solaris1 | -solaris1.*) |
1251 | os=`echo $os | sed -e 's|solaris1|sunos4|'` | 1270 | os=`echo $os | sed -e 's|solaris1|sunos4|'` |
1252 | ;; | 1271 | ;; |
@@ -1268,8 +1287,8 @@ case $os in | |||
1268 | # -sysv* is not here because it comes later, after sysvr4. | 1287 | # -sysv* is not here because it comes later, after sysvr4. |
1269 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | 1288 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ |
1270 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | 1289 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ |
1271 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | 1290 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ |
1272 | | -kopensolaris* \ | 1291 | | -sym* | -kopensolaris* \ |
1273 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | 1292 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ |
1274 | | -aos* | -aros* \ | 1293 | | -aos* | -aros* \ |
1275 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | 1294 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ |
@@ -1290,7 +1309,7 @@ case $os in | |||
1290 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | 1309 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ |
1291 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | 1310 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ |
1292 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | 1311 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ |
1293 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) | 1312 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) |
1294 | # Remember, each alternative MUST END IN *, to match a version number. | 1313 | # Remember, each alternative MUST END IN *, to match a version number. |
1295 | ;; | 1314 | ;; |
1296 | -qnx*) | 1315 | -qnx*) |
@@ -1423,6 +1442,8 @@ case $os in | |||
1423 | -dicos*) | 1442 | -dicos*) |
1424 | os=-dicos | 1443 | os=-dicos |
1425 | ;; | 1444 | ;; |
1445 | -nacl*) | ||
1446 | ;; | ||
1426 | -none) | 1447 | -none) |
1427 | ;; | 1448 | ;; |
1428 | *) | 1449 | *) |
diff --git a/libraries/eina/configure b/libraries/eina/configure index d3c2f30..ef62c1d 100755 --- a/libraries/eina/configure +++ b/libraries/eina/configure | |||
@@ -1,13 +1,13 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | # Guess values for system-dependent variables and create Makefiles. | 2 | # Guess values for system-dependent variables and create Makefiles. |
3 | # Generated by GNU Autoconf 2.65 for eina 1.1.99.67344. | 3 | # Generated by GNU Autoconf 2.67 for eina 1.2.0-alpha. |
4 | # | 4 | # |
5 | # Report bugs to <enlightenment-devel@lists.sourceforge.net>. | 5 | # Report bugs to <enlightenment-devel@lists.sourceforge.net>. |
6 | # | 6 | # |
7 | # | 7 | # |
8 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | 8 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
9 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, | 9 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software |
10 | # Inc. | 10 | # Foundation, Inc. |
11 | # | 11 | # |
12 | # | 12 | # |
13 | # This configure script is free software; the Free Software Foundation | 13 | # This configure script is free software; the Free Software Foundation |
@@ -319,7 +319,7 @@ $as_echo X"$as_dir" | | |||
319 | test -d "$as_dir" && break | 319 | test -d "$as_dir" && break |
320 | done | 320 | done |
321 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 321 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
322 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 322 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
323 | 323 | ||
324 | 324 | ||
325 | } # as_fn_mkdir_p | 325 | } # as_fn_mkdir_p |
@@ -359,19 +359,19 @@ else | |||
359 | fi # as_fn_arith | 359 | fi # as_fn_arith |
360 | 360 | ||
361 | 361 | ||
362 | # as_fn_error ERROR [LINENO LOG_FD] | 362 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
363 | # --------------------------------- | 363 | # ---------------------------------------- |
364 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 364 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
365 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 365 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
366 | # script with status $?, using 1 if that was 0. | 366 | # script with STATUS, using 1 if that was 0. |
367 | as_fn_error () | 367 | as_fn_error () |
368 | { | 368 | { |
369 | as_status=$?; test $as_status -eq 0 && as_status=1 | 369 | as_status=$1; test $as_status -eq 0 && as_status=1 |
370 | if test "$3"; then | 370 | if test "$4"; then |
371 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 371 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
372 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 372 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
373 | fi | 373 | fi |
374 | $as_echo "$as_me: error: $1" >&2 | 374 | $as_echo "$as_me: error: $2" >&2 |
375 | as_fn_exit $as_status | 375 | as_fn_exit $as_status |
376 | } # as_fn_error | 376 | } # as_fn_error |
377 | 377 | ||
@@ -682,7 +682,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null | |||
682 | exec 6>&1 | 682 | exec 6>&1 |
683 | 683 | ||
684 | # Name of the host. | 684 | # Name of the host. |
685 | # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, | 685 | # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, |
686 | # so uname gets run too. | 686 | # so uname gets run too. |
687 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | 687 | ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
688 | 688 | ||
@@ -701,8 +701,8 @@ MAKEFLAGS= | |||
701 | # Identity of this package. | 701 | # Identity of this package. |
702 | PACKAGE_NAME='eina' | 702 | PACKAGE_NAME='eina' |
703 | PACKAGE_TARNAME='eina' | 703 | PACKAGE_TARNAME='eina' |
704 | PACKAGE_VERSION='1.1.99.67344' | 704 | PACKAGE_VERSION='1.2.0-alpha' |
705 | PACKAGE_STRING='eina 1.1.99.67344' | 705 | PACKAGE_STRING='eina 1.2.0-alpha' |
706 | PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' | 706 | PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net' |
707 | PACKAGE_URL='' | 707 | PACKAGE_URL='' |
708 | 708 | ||
@@ -810,9 +810,13 @@ EINA_CONFIGURE_HAVE_INTTYPES_H | |||
810 | lt_enable_auto_import | 810 | lt_enable_auto_import |
811 | EINA_LIBS | 811 | EINA_LIBS |
812 | EINA_CFLAGS | 812 | EINA_CFLAGS |
813 | EINA_CPPFLAGS | ||
814 | ESCAPE_LIBS | 813 | ESCAPE_LIBS |
815 | ESCAPE_CFLAGS | 814 | ESCAPE_CFLAGS |
815 | EINA_CONFIGURE_HAVE_EXOTIC | ||
816 | EINA_HAVE_EXOTIC_FALSE | ||
817 | EINA_HAVE_EXOTIC_TRUE | ||
818 | EXOTIC_LIBS | ||
819 | EXOTIC_CFLAGS | ||
816 | EINA_HAVE_WIN32_FALSE | 820 | EINA_HAVE_WIN32_FALSE |
817 | EINA_HAVE_WIN32_TRUE | 821 | EINA_HAVE_WIN32_TRUE |
818 | EINA_HAVE_WINCE_FALSE | 822 | EINA_HAVE_WINCE_FALSE |
@@ -833,6 +837,8 @@ EFL_BUILD_DOC_TRUE | |||
833 | efl_doxygen | 837 | efl_doxygen |
834 | efl_have_doxygen | 838 | efl_have_doxygen |
835 | pkgconfig_requires_private | 839 | pkgconfig_requires_private |
840 | PKG_CONFIG_LIBDIR | ||
841 | PKG_CONFIG_PATH | ||
836 | PKG_CONFIG | 842 | PKG_CONFIG |
837 | CXXCPP | 843 | CXXCPP |
838 | am__fastdepCXX_FALSE | 844 | am__fastdepCXX_FALSE |
@@ -1039,6 +1045,8 @@ CXXFLAGS | |||
1039 | CCC | 1045 | CCC |
1040 | CXXCPP | 1046 | CXXCPP |
1041 | PKG_CONFIG | 1047 | PKG_CONFIG |
1048 | PKG_CONFIG_PATH | ||
1049 | PKG_CONFIG_LIBDIR | ||
1042 | VALGRIND_CFLAGS | 1050 | VALGRIND_CFLAGS |
1043 | VALGRIND_LIBS | 1051 | VALGRIND_LIBS |
1044 | EVIL_CFLAGS | 1052 | EVIL_CFLAGS |
@@ -1047,6 +1055,8 @@ EMEMOA_CFLAGS | |||
1047 | EMEMOA_LIBS | 1055 | EMEMOA_LIBS |
1048 | ECORE_EVAS_CFLAGS | 1056 | ECORE_EVAS_CFLAGS |
1049 | ECORE_EVAS_LIBS | 1057 | ECORE_EVAS_LIBS |
1058 | EXOTIC_CFLAGS | ||
1059 | EXOTIC_LIBS | ||
1050 | ESCAPE_CFLAGS | 1060 | ESCAPE_CFLAGS |
1051 | ESCAPE_LIBS | 1061 | ESCAPE_LIBS |
1052 | CHECK_CFLAGS | 1062 | CHECK_CFLAGS |
@@ -1115,8 +1125,9 @@ do | |||
1115 | fi | 1125 | fi |
1116 | 1126 | ||
1117 | case $ac_option in | 1127 | case $ac_option in |
1118 | *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; | 1128 | *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; |
1119 | *) ac_optarg=yes ;; | 1129 | *=) ac_optarg= ;; |
1130 | *) ac_optarg=yes ;; | ||
1120 | esac | 1131 | esac |
1121 | 1132 | ||
1122 | # Accept the important Cygnus configure options, so we can diagnose typos. | 1133 | # Accept the important Cygnus configure options, so we can diagnose typos. |
@@ -1161,7 +1172,7 @@ do | |||
1161 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | 1172 | ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
1162 | # Reject names that are not valid shell variable names. | 1173 | # Reject names that are not valid shell variable names. |
1163 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1174 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1164 | as_fn_error "invalid feature name: $ac_useropt" | 1175 | as_fn_error $? "invalid feature name: $ac_useropt" |
1165 | ac_useropt_orig=$ac_useropt | 1176 | ac_useropt_orig=$ac_useropt |
1166 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1177 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1167 | case $ac_user_opts in | 1178 | case $ac_user_opts in |
@@ -1187,7 +1198,7 @@ do | |||
1187 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | 1198 | ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
1188 | # Reject names that are not valid shell variable names. | 1199 | # Reject names that are not valid shell variable names. |
1189 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1200 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1190 | as_fn_error "invalid feature name: $ac_useropt" | 1201 | as_fn_error $? "invalid feature name: $ac_useropt" |
1191 | ac_useropt_orig=$ac_useropt | 1202 | ac_useropt_orig=$ac_useropt |
1192 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1203 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1193 | case $ac_user_opts in | 1204 | case $ac_user_opts in |
@@ -1391,7 +1402,7 @@ do | |||
1391 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | 1402 | ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
1392 | # Reject names that are not valid shell variable names. | 1403 | # Reject names that are not valid shell variable names. |
1393 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1404 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1394 | as_fn_error "invalid package name: $ac_useropt" | 1405 | as_fn_error $? "invalid package name: $ac_useropt" |
1395 | ac_useropt_orig=$ac_useropt | 1406 | ac_useropt_orig=$ac_useropt |
1396 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1407 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1397 | case $ac_user_opts in | 1408 | case $ac_user_opts in |
@@ -1407,7 +1418,7 @@ do | |||
1407 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` | 1418 | ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
1408 | # Reject names that are not valid shell variable names. | 1419 | # Reject names that are not valid shell variable names. |
1409 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && | 1420 | expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && |
1410 | as_fn_error "invalid package name: $ac_useropt" | 1421 | as_fn_error $? "invalid package name: $ac_useropt" |
1411 | ac_useropt_orig=$ac_useropt | 1422 | ac_useropt_orig=$ac_useropt |
1412 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` | 1423 | ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` |
1413 | case $ac_user_opts in | 1424 | case $ac_user_opts in |
@@ -1437,8 +1448,8 @@ do | |||
1437 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | 1448 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
1438 | x_libraries=$ac_optarg ;; | 1449 | x_libraries=$ac_optarg ;; |
1439 | 1450 | ||
1440 | -*) as_fn_error "unrecognized option: \`$ac_option' | 1451 | -*) as_fn_error $? "unrecognized option: \`$ac_option' |
1441 | Try \`$0 --help' for more information." | 1452 | Try \`$0 --help' for more information" |
1442 | ;; | 1453 | ;; |
1443 | 1454 | ||
1444 | *=*) | 1455 | *=*) |
@@ -1446,7 +1457,7 @@ Try \`$0 --help' for more information." | |||
1446 | # Reject names that are not valid shell variable names. | 1457 | # Reject names that are not valid shell variable names. |
1447 | case $ac_envvar in #( | 1458 | case $ac_envvar in #( |
1448 | '' | [0-9]* | *[!_$as_cr_alnum]* ) | 1459 | '' | [0-9]* | *[!_$as_cr_alnum]* ) |
1449 | as_fn_error "invalid variable name: \`$ac_envvar'" ;; | 1460 | as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; |
1450 | esac | 1461 | esac |
1451 | eval $ac_envvar=\$ac_optarg | 1462 | eval $ac_envvar=\$ac_optarg |
1452 | export $ac_envvar ;; | 1463 | export $ac_envvar ;; |
@@ -1464,13 +1475,13 @@ done | |||
1464 | 1475 | ||
1465 | if test -n "$ac_prev"; then | 1476 | if test -n "$ac_prev"; then |
1466 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` | 1477 | ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
1467 | as_fn_error "missing argument to $ac_option" | 1478 | as_fn_error $? "missing argument to $ac_option" |
1468 | fi | 1479 | fi |
1469 | 1480 | ||
1470 | if test -n "$ac_unrecognized_opts"; then | 1481 | if test -n "$ac_unrecognized_opts"; then |
1471 | case $enable_option_checking in | 1482 | case $enable_option_checking in |
1472 | no) ;; | 1483 | no) ;; |
1473 | fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; | 1484 | fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; |
1474 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; | 1485 | *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; |
1475 | esac | 1486 | esac |
1476 | fi | 1487 | fi |
@@ -1493,7 +1504,7 @@ do | |||
1493 | [\\/$]* | ?:[\\/]* ) continue;; | 1504 | [\\/$]* | ?:[\\/]* ) continue;; |
1494 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; | 1505 | NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
1495 | esac | 1506 | esac |
1496 | as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" | 1507 | as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" |
1497 | done | 1508 | done |
1498 | 1509 | ||
1499 | # There might be people who depend on the old broken behavior: `$host' | 1510 | # There might be people who depend on the old broken behavior: `$host' |
@@ -1507,8 +1518,8 @@ target=$target_alias | |||
1507 | if test "x$host_alias" != x; then | 1518 | if test "x$host_alias" != x; then |
1508 | if test "x$build_alias" = x; then | 1519 | if test "x$build_alias" = x; then |
1509 | cross_compiling=maybe | 1520 | cross_compiling=maybe |
1510 | $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. | 1521 | $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. |
1511 | If a cross compiler is detected then cross compile mode will be used." >&2 | 1522 | If a cross compiler is detected then cross compile mode will be used" >&2 |
1512 | elif test "x$build_alias" != "x$host_alias"; then | 1523 | elif test "x$build_alias" != "x$host_alias"; then |
1513 | cross_compiling=yes | 1524 | cross_compiling=yes |
1514 | fi | 1525 | fi |
@@ -1523,9 +1534,9 @@ test "$silent" = yes && exec 6>/dev/null | |||
1523 | ac_pwd=`pwd` && test -n "$ac_pwd" && | 1534 | ac_pwd=`pwd` && test -n "$ac_pwd" && |
1524 | ac_ls_di=`ls -di .` && | 1535 | ac_ls_di=`ls -di .` && |
1525 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || | 1536 | ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
1526 | as_fn_error "working directory cannot be determined" | 1537 | as_fn_error $? "working directory cannot be determined" |
1527 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || | 1538 | test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
1528 | as_fn_error "pwd does not report name of working directory" | 1539 | as_fn_error $? "pwd does not report name of working directory" |
1529 | 1540 | ||
1530 | 1541 | ||
1531 | # Find the source files, if location was not specified. | 1542 | # Find the source files, if location was not specified. |
@@ -1564,11 +1575,11 @@ else | |||
1564 | fi | 1575 | fi |
1565 | if test ! -r "$srcdir/$ac_unique_file"; then | 1576 | if test ! -r "$srcdir/$ac_unique_file"; then |
1566 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." | 1577 | test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
1567 | as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" | 1578 | as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" |
1568 | fi | 1579 | fi |
1569 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" | 1580 | ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
1570 | ac_abs_confdir=`( | 1581 | ac_abs_confdir=`( |
1571 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" | 1582 | cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" |
1572 | pwd)` | 1583 | pwd)` |
1573 | # When building in place, set srcdir=. | 1584 | # When building in place, set srcdir=. |
1574 | if test "$ac_abs_confdir" = "$ac_pwd"; then | 1585 | if test "$ac_abs_confdir" = "$ac_pwd"; then |
@@ -1594,7 +1605,7 @@ if test "$ac_init_help" = "long"; then | |||
1594 | # Omit some internal or obsolete options to make the list less imposing. | 1605 | # Omit some internal or obsolete options to make the list less imposing. |
1595 | # This message is too long to be a string in the A/UX 3.1 sh. | 1606 | # This message is too long to be a string in the A/UX 3.1 sh. |
1596 | cat <<_ACEOF | 1607 | cat <<_ACEOF |
1597 | \`configure' configures eina 1.1.99.67344 to adapt to many kinds of systems. | 1608 | \`configure' configures eina 1.2.0-alpha to adapt to many kinds of systems. |
1598 | 1609 | ||
1599 | Usage: $0 [OPTION]... [VAR=VALUE]... | 1610 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1600 | 1611 | ||
@@ -1608,7 +1619,7 @@ Configuration: | |||
1608 | --help=short display options specific to this package | 1619 | --help=short display options specific to this package |
1609 | --help=recursive display the short help of all the included packages | 1620 | --help=recursive display the short help of all the included packages |
1610 | -V, --version display version information and exit | 1621 | -V, --version display version information and exit |
1611 | -q, --quiet, --silent do not print \`checking...' messages | 1622 | -q, --quiet, --silent do not print \`checking ...' messages |
1612 | --cache-file=FILE cache test results in FILE [disabled] | 1623 | --cache-file=FILE cache test results in FILE [disabled] |
1613 | -C, --config-cache alias for \`--cache-file=config.cache' | 1624 | -C, --config-cache alias for \`--cache-file=config.cache' |
1614 | -n, --no-create do not create output files | 1625 | -n, --no-create do not create output files |
@@ -1664,7 +1675,7 @@ fi | |||
1664 | 1675 | ||
1665 | if test -n "$ac_init_help"; then | 1676 | if test -n "$ac_init_help"; then |
1666 | case $ac_init_help in | 1677 | case $ac_init_help in |
1667 | short | recursive ) echo "Configuration of eina 1.1.99.67344:";; | 1678 | short | recursive ) echo "Configuration of eina 1.2.0-alpha:";; |
1668 | esac | 1679 | esac |
1669 | cat <<\_ACEOF | 1680 | cat <<\_ACEOF |
1670 | 1681 | ||
@@ -1772,6 +1783,10 @@ Some influential environment variables: | |||
1772 | CXXFLAGS C++ compiler flags | 1783 | CXXFLAGS C++ compiler flags |
1773 | CXXCPP C++ preprocessor | 1784 | CXXCPP C++ preprocessor |
1774 | PKG_CONFIG path to pkg-config utility | 1785 | PKG_CONFIG path to pkg-config utility |
1786 | PKG_CONFIG_PATH | ||
1787 | directories to add to pkg-config's search path | ||
1788 | PKG_CONFIG_LIBDIR | ||
1789 | path overriding pkg-config's built-in search path | ||
1775 | VALGRIND_CFLAGS | 1790 | VALGRIND_CFLAGS |
1776 | C compiler flags for VALGRIND, overriding pkg-config | 1791 | C compiler flags for VALGRIND, overriding pkg-config |
1777 | VALGRIND_LIBS | 1792 | VALGRIND_LIBS |
@@ -1785,6 +1800,9 @@ Some influential environment variables: | |||
1785 | C compiler flags for ECORE_EVAS, overriding pkg-config | 1800 | C compiler flags for ECORE_EVAS, overriding pkg-config |
1786 | ECORE_EVAS_LIBS | 1801 | ECORE_EVAS_LIBS |
1787 | linker flags for ECORE_EVAS, overriding pkg-config | 1802 | linker flags for ECORE_EVAS, overriding pkg-config |
1803 | EXOTIC_CFLAGS | ||
1804 | C compiler flags for EXOTIC, overriding pkg-config | ||
1805 | EXOTIC_LIBS linker flags for EXOTIC, overriding pkg-config | ||
1788 | ESCAPE_CFLAGS | 1806 | ESCAPE_CFLAGS |
1789 | C compiler flags for ESCAPE, overriding pkg-config | 1807 | C compiler flags for ESCAPE, overriding pkg-config |
1790 | ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config | 1808 | ESCAPE_LIBS linker flags for ESCAPE, overriding pkg-config |
@@ -1860,10 +1878,10 @@ fi | |||
1860 | test -n "$ac_init_help" && exit $ac_status | 1878 | test -n "$ac_init_help" && exit $ac_status |
1861 | if $ac_init_version; then | 1879 | if $ac_init_version; then |
1862 | cat <<\_ACEOF | 1880 | cat <<\_ACEOF |
1863 | eina configure 1.1.99.67344 | 1881 | eina configure 1.2.0-alpha |
1864 | generated by GNU Autoconf 2.65 | 1882 | generated by GNU Autoconf 2.67 |
1865 | 1883 | ||
1866 | Copyright (C) 2009 Free Software Foundation, Inc. | 1884 | Copyright (C) 2010 Free Software Foundation, Inc. |
1867 | This configure script is free software; the Free Software Foundation | 1885 | This configure script is free software; the Free Software Foundation |
1868 | gives unlimited permission to copy, distribute and modify it. | 1886 | gives unlimited permission to copy, distribute and modify it. |
1869 | _ACEOF | 1887 | _ACEOF |
@@ -1933,7 +1951,7 @@ $as_echo "$ac_try_echo"; } >&5 | |||
1933 | mv -f conftest.er1 conftest.err | 1951 | mv -f conftest.er1 conftest.err |
1934 | fi | 1952 | fi |
1935 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 1953 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
1936 | test $ac_status = 0; } >/dev/null && { | 1954 | test $ac_status = 0; } > conftest.i && { |
1937 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || | 1955 | test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || |
1938 | test ! -s conftest.err | 1956 | test ! -s conftest.err |
1939 | }; then : | 1957 | }; then : |
@@ -1957,10 +1975,10 @@ fi | |||
1957 | ac_fn_c_check_header_mongrel () | 1975 | ac_fn_c_check_header_mongrel () |
1958 | { | 1976 | { |
1959 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 1977 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
1960 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1978 | if eval "test \"\${$3+set}\"" = set; then : |
1961 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 1979 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
1962 | $as_echo_n "checking for $2... " >&6; } | 1980 | $as_echo_n "checking for $2... " >&6; } |
1963 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 1981 | if eval "test \"\${$3+set}\"" = set; then : |
1964 | $as_echo_n "(cached) " >&6 | 1982 | $as_echo_n "(cached) " >&6 |
1965 | fi | 1983 | fi |
1966 | eval ac_res=\$$3 | 1984 | eval ac_res=\$$3 |
@@ -1996,7 +2014,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : | |||
1996 | else | 2014 | else |
1997 | ac_header_preproc=no | 2015 | ac_header_preproc=no |
1998 | fi | 2016 | fi |
1999 | rm -f conftest.err conftest.$ac_ext | 2017 | rm -f conftest.err conftest.i conftest.$ac_ext |
2000 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 | 2018 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 |
2001 | $as_echo "$ac_header_preproc" >&6; } | 2019 | $as_echo "$ac_header_preproc" >&6; } |
2002 | 2020 | ||
@@ -2019,17 +2037,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} | |||
2019 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} | 2037 | $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} |
2020 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 | 2038 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 |
2021 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} | 2039 | $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} |
2022 | ( cat <<\_ASBOX | 2040 | ( $as_echo "## -------------------------------------------------------- ## |
2023 | ## -------------------------------------------------------- ## | ||
2024 | ## Report this to enlightenment-devel@lists.sourceforge.net ## | 2041 | ## Report this to enlightenment-devel@lists.sourceforge.net ## |
2025 | ## -------------------------------------------------------- ## | 2042 | ## -------------------------------------------------------- ##" |
2026 | _ASBOX | ||
2027 | ) | sed "s/^/$as_me: WARNING: /" >&2 | 2043 | ) | sed "s/^/$as_me: WARNING: /" >&2 |
2028 | ;; | 2044 | ;; |
2029 | esac | 2045 | esac |
2030 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2046 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2031 | $as_echo_n "checking for $2... " >&6; } | 2047 | $as_echo_n "checking for $2... " >&6; } |
2032 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2048 | if eval "test \"\${$3+set}\"" = set; then : |
2033 | $as_echo_n "(cached) " >&6 | 2049 | $as_echo_n "(cached) " >&6 |
2034 | else | 2050 | else |
2035 | eval "$3=\$ac_header_compiler" | 2051 | eval "$3=\$ac_header_compiler" |
@@ -2093,7 +2109,7 @@ ac_fn_c_check_header_compile () | |||
2093 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2109 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2094 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2110 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2095 | $as_echo_n "checking for $2... " >&6; } | 2111 | $as_echo_n "checking for $2... " >&6; } |
2096 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2112 | if eval "test \"\${$3+set}\"" = set; then : |
2097 | $as_echo_n "(cached) " >&6 | 2113 | $as_echo_n "(cached) " >&6 |
2098 | else | 2114 | else |
2099 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2115 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@@ -2169,7 +2185,7 @@ ac_fn_c_check_func () | |||
2169 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2185 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2170 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2186 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2171 | $as_echo_n "checking for $2... " >&6; } | 2187 | $as_echo_n "checking for $2... " >&6; } |
2172 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2188 | if eval "test \"\${$3+set}\"" = set; then : |
2173 | $as_echo_n "(cached) " >&6 | 2189 | $as_echo_n "(cached) " >&6 |
2174 | else | 2190 | else |
2175 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | 2191 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
@@ -2287,7 +2303,7 @@ $as_echo "$ac_try_echo"; } >&5 | |||
2287 | mv -f conftest.er1 conftest.err | 2303 | mv -f conftest.er1 conftest.err |
2288 | fi | 2304 | fi |
2289 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | 2305 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 |
2290 | test $ac_status = 0; } >/dev/null && { | 2306 | test $ac_status = 0; } > conftest.i && { |
2291 | test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || | 2307 | test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || |
2292 | test ! -s conftest.err | 2308 | test ! -s conftest.err |
2293 | }; then : | 2309 | }; then : |
@@ -2536,7 +2552,7 @@ ac_fn_c_check_type () | |||
2536 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 2552 | as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
2537 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 | 2553 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
2538 | $as_echo_n "checking for $2... " >&6; } | 2554 | $as_echo_n "checking for $2... " >&6; } |
2539 | if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : | 2555 | if eval "test \"\${$3+set}\"" = set; then : |
2540 | $as_echo_n "(cached) " >&6 | 2556 | $as_echo_n "(cached) " >&6 |
2541 | else | 2557 | else |
2542 | eval "$3=no" | 2558 | eval "$3=no" |
@@ -2584,8 +2600,8 @@ cat >config.log <<_ACEOF | |||
2584 | This file contains any messages produced by compilers while | 2600 | This file contains any messages produced by compilers while |
2585 | running configure, to aid debugging if configure makes a mistake. | 2601 | running configure, to aid debugging if configure makes a mistake. |
2586 | 2602 | ||
2587 | It was created by eina $as_me 1.1.99.67344, which was | 2603 | It was created by eina $as_me 1.2.0-alpha, which was |
2588 | generated by GNU Autoconf 2.65. Invocation command line was | 2604 | generated by GNU Autoconf 2.67. Invocation command line was |
2589 | 2605 | ||
2590 | $ $0 $@ | 2606 | $ $0 $@ |
2591 | 2607 | ||
@@ -2695,11 +2711,9 @@ trap 'exit_status=$? | |||
2695 | { | 2711 | { |
2696 | echo | 2712 | echo |
2697 | 2713 | ||
2698 | cat <<\_ASBOX | 2714 | $as_echo "## ---------------- ## |
2699 | ## ---------------- ## | ||
2700 | ## Cache variables. ## | 2715 | ## Cache variables. ## |
2701 | ## ---------------- ## | 2716 | ## ---------------- ##" |
2702 | _ASBOX | ||
2703 | echo | 2717 | echo |
2704 | # The following way of writing the cache mishandles newlines in values, | 2718 | # The following way of writing the cache mishandles newlines in values, |
2705 | ( | 2719 | ( |
@@ -2733,11 +2747,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; | |||
2733 | ) | 2747 | ) |
2734 | echo | 2748 | echo |
2735 | 2749 | ||
2736 | cat <<\_ASBOX | 2750 | $as_echo "## ----------------- ## |
2737 | ## ----------------- ## | ||
2738 | ## Output variables. ## | 2751 | ## Output variables. ## |
2739 | ## ----------------- ## | 2752 | ## ----------------- ##" |
2740 | _ASBOX | ||
2741 | echo | 2753 | echo |
2742 | for ac_var in $ac_subst_vars | 2754 | for ac_var in $ac_subst_vars |
2743 | do | 2755 | do |
@@ -2750,11 +2762,9 @@ _ASBOX | |||
2750 | echo | 2762 | echo |
2751 | 2763 | ||
2752 | if test -n "$ac_subst_files"; then | 2764 | if test -n "$ac_subst_files"; then |
2753 | cat <<\_ASBOX | 2765 | $as_echo "## ------------------- ## |
2754 | ## ------------------- ## | ||
2755 | ## File substitutions. ## | 2766 | ## File substitutions. ## |
2756 | ## ------------------- ## | 2767 | ## ------------------- ##" |
2757 | _ASBOX | ||
2758 | echo | 2768 | echo |
2759 | for ac_var in $ac_subst_files | 2769 | for ac_var in $ac_subst_files |
2760 | do | 2770 | do |
@@ -2768,11 +2778,9 @@ _ASBOX | |||
2768 | fi | 2778 | fi |
2769 | 2779 | ||
2770 | if test -s confdefs.h; then | 2780 | if test -s confdefs.h; then |
2771 | cat <<\_ASBOX | 2781 | $as_echo "## ----------- ## |
2772 | ## ----------- ## | ||
2773 | ## confdefs.h. ## | 2782 | ## confdefs.h. ## |
2774 | ## ----------- ## | 2783 | ## ----------- ##" |
2775 | _ASBOX | ||
2776 | echo | 2784 | echo |
2777 | cat confdefs.h | 2785 | cat confdefs.h |
2778 | echo | 2786 | echo |
@@ -2827,7 +2835,12 @@ _ACEOF | |||
2827 | ac_site_file1=NONE | 2835 | ac_site_file1=NONE |
2828 | ac_site_file2=NONE | 2836 | ac_site_file2=NONE |
2829 | if test -n "$CONFIG_SITE"; then | 2837 | if test -n "$CONFIG_SITE"; then |
2830 | ac_site_file1=$CONFIG_SITE | 2838 | # We do not want a PATH search for config.site. |
2839 | case $CONFIG_SITE in #(( | ||
2840 | -*) ac_site_file1=./$CONFIG_SITE;; | ||
2841 | */*) ac_site_file1=$CONFIG_SITE;; | ||
2842 | *) ac_site_file1=./$CONFIG_SITE;; | ||
2843 | esac | ||
2831 | elif test "x$prefix" != xNONE; then | 2844 | elif test "x$prefix" != xNONE; then |
2832 | ac_site_file1=$prefix/share/config.site | 2845 | ac_site_file1=$prefix/share/config.site |
2833 | ac_site_file2=$prefix/etc/config.site | 2846 | ac_site_file2=$prefix/etc/config.site |
@@ -2842,7 +2855,11 @@ do | |||
2842 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 | 2855 | { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 |
2843 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} | 2856 | $as_echo "$as_me: loading site script $ac_site_file" >&6;} |
2844 | sed 's/^/| /' "$ac_site_file" >&5 | 2857 | sed 's/^/| /' "$ac_site_file" >&5 |
2845 | . "$ac_site_file" | 2858 | . "$ac_site_file" \ |
2859 | || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
2860 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
2861 | as_fn_error $? "failed to load site script $ac_site_file | ||
2862 | See \`config.log' for more details" "$LINENO" 5 ; } | ||
2846 | fi | 2863 | fi |
2847 | done | 2864 | done |
2848 | 2865 | ||
@@ -2918,7 +2935,7 @@ if $ac_cache_corrupted; then | |||
2918 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 2935 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
2919 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 | 2936 | { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 |
2920 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} | 2937 | $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
2921 | as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 | 2938 | as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 |
2922 | fi | 2939 | fi |
2923 | ## -------------------- ## | 2940 | ## -------------------- ## |
2924 | ## Main body of script. ## | 2941 | ## Main body of script. ## |
@@ -2944,16 +2961,22 @@ am__api_version='1.11' | |||
2944 | 2961 | ||
2945 | ac_aux_dir= | 2962 | ac_aux_dir= |
2946 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do | 2963 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
2947 | for ac_t in install-sh install.sh shtool; do | 2964 | if test -f "$ac_dir/install-sh"; then |
2948 | if test -f "$ac_dir/$ac_t"; then | 2965 | ac_aux_dir=$ac_dir |
2949 | ac_aux_dir=$ac_dir | 2966 | ac_install_sh="$ac_aux_dir/install-sh -c" |
2950 | ac_install_sh="$ac_aux_dir/$ac_t -c" | 2967 | break |
2951 | break 2 | 2968 | elif test -f "$ac_dir/install.sh"; then |
2952 | fi | 2969 | ac_aux_dir=$ac_dir |
2953 | done | 2970 | ac_install_sh="$ac_aux_dir/install.sh -c" |
2971 | break | ||
2972 | elif test -f "$ac_dir/shtool"; then | ||
2973 | ac_aux_dir=$ac_dir | ||
2974 | ac_install_sh="$ac_aux_dir/shtool install -c" | ||
2975 | break | ||
2976 | fi | ||
2954 | done | 2977 | done |
2955 | if test -z "$ac_aux_dir"; then | 2978 | if test -z "$ac_aux_dir"; then |
2956 | as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 | 2979 | as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 |
2957 | fi | 2980 | fi |
2958 | 2981 | ||
2959 | # These three variables are undocumented and unsupported, | 2982 | # These three variables are undocumented and unsupported, |
@@ -3069,11 +3092,11 @@ am_lf=' | |||
3069 | ' | 3092 | ' |
3070 | case `pwd` in | 3093 | case `pwd` in |
3071 | *[\\\"\#\$\&\'\`$am_lf]*) | 3094 | *[\\\"\#\$\&\'\`$am_lf]*) |
3072 | as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; | 3095 | as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;; |
3073 | esac | 3096 | esac |
3074 | case $srcdir in | 3097 | case $srcdir in |
3075 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) | 3098 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) |
3076 | as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; | 3099 | as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;; |
3077 | esac | 3100 | esac |
3078 | 3101 | ||
3079 | # Do `set' in a subshell so we don't clobber the current shell's | 3102 | # Do `set' in a subshell so we don't clobber the current shell's |
@@ -3095,7 +3118,7 @@ if ( | |||
3095 | # if, for instance, CONFIG_SHELL is bash and it inherits a | 3118 | # if, for instance, CONFIG_SHELL is bash and it inherits a |
3096 | # broken ls alias from the environment. This has actually | 3119 | # broken ls alias from the environment. This has actually |
3097 | # happened. Such a system could not be considered "sane". | 3120 | # happened. Such a system could not be considered "sane". |
3098 | as_fn_error "ls -t appears to fail. Make sure there is not a broken | 3121 | as_fn_error $? "ls -t appears to fail. Make sure there is not a broken |
3099 | alias in your environment" "$LINENO" 5 | 3122 | alias in your environment" "$LINENO" 5 |
3100 | fi | 3123 | fi |
3101 | 3124 | ||
@@ -3105,7 +3128,7 @@ then | |||
3105 | # Ok. | 3128 | # Ok. |
3106 | : | 3129 | : |
3107 | else | 3130 | else |
3108 | as_fn_error "newly created file is older than distributed files! | 3131 | as_fn_error $? "newly created file is older than distributed files! |
3109 | Check your system clock" "$LINENO" 5 | 3132 | Check your system clock" "$LINENO" 5 |
3110 | fi | 3133 | fi |
3111 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 3134 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
@@ -3343,7 +3366,7 @@ done | |||
3343 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } | 3366 | $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } |
3344 | set x ${MAKE-make} | 3367 | set x ${MAKE-make} |
3345 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` | 3368 | ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` |
3346 | if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : | 3369 | if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then : |
3347 | $as_echo_n "(cached) " >&6 | 3370 | $as_echo_n "(cached) " >&6 |
3348 | else | 3371 | else |
3349 | cat >conftest.make <<\_ACEOF | 3372 | cat >conftest.make <<\_ACEOF |
@@ -3351,7 +3374,7 @@ SHELL = /bin/sh | |||
3351 | all: | 3374 | all: |
3352 | @echo '@@@%%%=$(MAKE)=@@@%%%' | 3375 | @echo '@@@%%%=$(MAKE)=@@@%%%' |
3353 | _ACEOF | 3376 | _ACEOF |
3354 | # GNU make sometimes prints "make[1]: Entering...", which would confuse us. | 3377 | # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. |
3355 | case `${MAKE-make} -f conftest.make 2>/dev/null` in | 3378 | case `${MAKE-make} -f conftest.make 2>/dev/null` in |
3356 | *@@@%%%=?*=@@@%%%*) | 3379 | *@@@%%%=?*=@@@%%%*) |
3357 | eval ac_cv_prog_make_${ac_make}_set=yes;; | 3380 | eval ac_cv_prog_make_${ac_make}_set=yes;; |
@@ -3385,7 +3408,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then | |||
3385 | am__isrc=' -I$(srcdir)' | 3408 | am__isrc=' -I$(srcdir)' |
3386 | # test to see if srcdir already configured | 3409 | # test to see if srcdir already configured |
3387 | if test -f $srcdir/config.status; then | 3410 | if test -f $srcdir/config.status; then |
3388 | as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 | 3411 | as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 |
3389 | fi | 3412 | fi |
3390 | fi | 3413 | fi |
3391 | 3414 | ||
@@ -3401,7 +3424,7 @@ fi | |||
3401 | 3424 | ||
3402 | # Define the identity of the package. | 3425 | # Define the identity of the package. |
3403 | PACKAGE='eina' | 3426 | PACKAGE='eina' |
3404 | VERSION='1.1.99.67344' | 3427 | VERSION='1.2.0-alpha' |
3405 | 3428 | ||
3406 | 3429 | ||
3407 | cat >>confdefs.h <<_ACEOF | 3430 | cat >>confdefs.h <<_ACEOF |
@@ -3816,8 +3839,8 @@ fi | |||
3816 | 3839 | ||
3817 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3840 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
3818 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3841 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3819 | as_fn_error "no acceptable C compiler found in \$PATH | 3842 | as_fn_error $? "no acceptable C compiler found in \$PATH |
3820 | See \`config.log' for more details." "$LINENO" 5; } | 3843 | See \`config.log' for more details" "$LINENO" 5 ; } |
3821 | 3844 | ||
3822 | # Provide some information about the compiler. | 3845 | # Provide some information about the compiler. |
3823 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | 3846 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
@@ -3931,9 +3954,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
3931 | 3954 | ||
3932 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3955 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
3933 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3956 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3934 | { as_fn_set_status 77 | 3957 | as_fn_error 77 "C compiler cannot create executables |
3935 | as_fn_error "C compiler cannot create executables | 3958 | See \`config.log' for more details" "$LINENO" 5 ; } |
3936 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
3937 | else | 3959 | else |
3938 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 3960 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
3939 | $as_echo "yes" >&6; } | 3961 | $as_echo "yes" >&6; } |
@@ -3975,8 +3997,8 @@ done | |||
3975 | else | 3997 | else |
3976 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 3998 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
3977 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 3999 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
3978 | as_fn_error "cannot compute suffix of executables: cannot compile and link | 4000 | as_fn_error $? "cannot compute suffix of executables: cannot compile and link |
3979 | See \`config.log' for more details." "$LINENO" 5; } | 4001 | See \`config.log' for more details" "$LINENO" 5 ; } |
3980 | fi | 4002 | fi |
3981 | rm -f conftest conftest$ac_cv_exeext | 4003 | rm -f conftest conftest$ac_cv_exeext |
3982 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 | 4004 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 |
@@ -4033,9 +4055,9 @@ $as_echo "$ac_try_echo"; } >&5 | |||
4033 | else | 4055 | else |
4034 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4056 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4035 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4057 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4036 | as_fn_error "cannot run C compiled programs. | 4058 | as_fn_error $? "cannot run C compiled programs. |
4037 | If you meant to cross compile, use \`--host'. | 4059 | If you meant to cross compile, use \`--host'. |
4038 | See \`config.log' for more details." "$LINENO" 5; } | 4060 | See \`config.log' for more details" "$LINENO" 5 ; } |
4039 | fi | 4061 | fi |
4040 | fi | 4062 | fi |
4041 | fi | 4063 | fi |
@@ -4086,8 +4108,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 | |||
4086 | 4108 | ||
4087 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4109 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4088 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4110 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4089 | as_fn_error "cannot compute suffix of object files: cannot compile | 4111 | as_fn_error $? "cannot compute suffix of object files: cannot compile |
4090 | See \`config.log' for more details." "$LINENO" 5; } | 4112 | See \`config.log' for more details" "$LINENO" 5 ; } |
4091 | fi | 4113 | fi |
4092 | rm -f conftest.$ac_cv_objext conftest.$ac_ext | 4114 | rm -f conftest.$ac_cv_objext conftest.$ac_ext |
4093 | fi | 4115 | fi |
@@ -4477,7 +4499,7 @@ else | |||
4477 | # Broken: fails on valid input. | 4499 | # Broken: fails on valid input. |
4478 | continue | 4500 | continue |
4479 | fi | 4501 | fi |
4480 | rm -f conftest.err conftest.$ac_ext | 4502 | rm -f conftest.err conftest.i conftest.$ac_ext |
4481 | 4503 | ||
4482 | # OK, works on sane cases. Now check whether nonexistent headers | 4504 | # OK, works on sane cases. Now check whether nonexistent headers |
4483 | # can be detected and how. | 4505 | # can be detected and how. |
@@ -4493,11 +4515,11 @@ else | |||
4493 | ac_preproc_ok=: | 4515 | ac_preproc_ok=: |
4494 | break | 4516 | break |
4495 | fi | 4517 | fi |
4496 | rm -f conftest.err conftest.$ac_ext | 4518 | rm -f conftest.err conftest.i conftest.$ac_ext |
4497 | 4519 | ||
4498 | done | 4520 | done |
4499 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4521 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
4500 | rm -f conftest.err conftest.$ac_ext | 4522 | rm -f conftest.i conftest.err conftest.$ac_ext |
4501 | if $ac_preproc_ok; then : | 4523 | if $ac_preproc_ok; then : |
4502 | break | 4524 | break |
4503 | fi | 4525 | fi |
@@ -4536,7 +4558,7 @@ else | |||
4536 | # Broken: fails on valid input. | 4558 | # Broken: fails on valid input. |
4537 | continue | 4559 | continue |
4538 | fi | 4560 | fi |
4539 | rm -f conftest.err conftest.$ac_ext | 4561 | rm -f conftest.err conftest.i conftest.$ac_ext |
4540 | 4562 | ||
4541 | # OK, works on sane cases. Now check whether nonexistent headers | 4563 | # OK, works on sane cases. Now check whether nonexistent headers |
4542 | # can be detected and how. | 4564 | # can be detected and how. |
@@ -4552,18 +4574,18 @@ else | |||
4552 | ac_preproc_ok=: | 4574 | ac_preproc_ok=: |
4553 | break | 4575 | break |
4554 | fi | 4576 | fi |
4555 | rm -f conftest.err conftest.$ac_ext | 4577 | rm -f conftest.err conftest.i conftest.$ac_ext |
4556 | 4578 | ||
4557 | done | 4579 | done |
4558 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 4580 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
4559 | rm -f conftest.err conftest.$ac_ext | 4581 | rm -f conftest.i conftest.err conftest.$ac_ext |
4560 | if $ac_preproc_ok; then : | 4582 | if $ac_preproc_ok; then : |
4561 | 4583 | ||
4562 | else | 4584 | else |
4563 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 4585 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
4564 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 4586 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
4565 | as_fn_error "C preprocessor \"$CPP\" fails sanity check | 4587 | as_fn_error $? "C preprocessor \"$CPP\" fails sanity check |
4566 | See \`config.log' for more details." "$LINENO" 5; } | 4588 | See \`config.log' for more details" "$LINENO" 5 ; } |
4567 | fi | 4589 | fi |
4568 | 4590 | ||
4569 | ac_ext=c | 4591 | ac_ext=c |
@@ -4624,7 +4646,7 @@ esac | |||
4624 | done | 4646 | done |
4625 | IFS=$as_save_IFS | 4647 | IFS=$as_save_IFS |
4626 | if test -z "$ac_cv_path_GREP"; then | 4648 | if test -z "$ac_cv_path_GREP"; then |
4627 | as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 4649 | as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
4628 | fi | 4650 | fi |
4629 | else | 4651 | else |
4630 | ac_cv_path_GREP=$GREP | 4652 | ac_cv_path_GREP=$GREP |
@@ -4690,7 +4712,7 @@ esac | |||
4690 | done | 4712 | done |
4691 | IFS=$as_save_IFS | 4713 | IFS=$as_save_IFS |
4692 | if test -z "$ac_cv_path_EGREP"; then | 4714 | if test -z "$ac_cv_path_EGREP"; then |
4693 | as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 4715 | as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
4694 | fi | 4716 | fi |
4695 | else | 4717 | else |
4696 | ac_cv_path_EGREP=$EGREP | 4718 | ac_cv_path_EGREP=$EGREP |
@@ -4822,8 +4844,7 @@ do : | |||
4822 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 4844 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
4823 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default | 4845 | ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default |
4824 | " | 4846 | " |
4825 | eval as_val=\$$as_ac_Header | 4847 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
4826 | if test "x$as_val" = x""yes; then : | ||
4827 | cat >>confdefs.h <<_ACEOF | 4848 | cat >>confdefs.h <<_ACEOF |
4828 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 4849 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
4829 | _ACEOF | 4850 | _ACEOF |
@@ -5096,7 +5117,7 @@ fi | |||
5096 | 5117 | ||
5097 | # Make sure we can run config.sub. | 5118 | # Make sure we can run config.sub. |
5098 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | 5119 | $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
5099 | as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 | 5120 | as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 |
5100 | 5121 | ||
5101 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 | 5122 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 |
5102 | $as_echo_n "checking build system type... " >&6; } | 5123 | $as_echo_n "checking build system type... " >&6; } |
@@ -5107,16 +5128,16 @@ else | |||
5107 | test "x$ac_build_alias" = x && | 5128 | test "x$ac_build_alias" = x && |
5108 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | 5129 | ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
5109 | test "x$ac_build_alias" = x && | 5130 | test "x$ac_build_alias" = x && |
5110 | as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 | 5131 | as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 |
5111 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | 5132 | ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
5112 | as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 | 5133 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 |
5113 | 5134 | ||
5114 | fi | 5135 | fi |
5115 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | 5136 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 |
5116 | $as_echo "$ac_cv_build" >&6; } | 5137 | $as_echo "$ac_cv_build" >&6; } |
5117 | case $ac_cv_build in | 5138 | case $ac_cv_build in |
5118 | *-*-*) ;; | 5139 | *-*-*) ;; |
5119 | *) as_fn_error "invalid value of canonical build" "$LINENO" 5;; | 5140 | *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; |
5120 | esac | 5141 | esac |
5121 | build=$ac_cv_build | 5142 | build=$ac_cv_build |
5122 | ac_save_IFS=$IFS; IFS='-' | 5143 | ac_save_IFS=$IFS; IFS='-' |
@@ -5141,7 +5162,7 @@ else | |||
5141 | ac_cv_host=$ac_cv_build | 5162 | ac_cv_host=$ac_cv_build |
5142 | else | 5163 | else |
5143 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | 5164 | ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
5144 | as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 | 5165 | as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 |
5145 | fi | 5166 | fi |
5146 | 5167 | ||
5147 | fi | 5168 | fi |
@@ -5149,7 +5170,7 @@ fi | |||
5149 | $as_echo "$ac_cv_host" >&6; } | 5170 | $as_echo "$ac_cv_host" >&6; } |
5150 | case $ac_cv_host in | 5171 | case $ac_cv_host in |
5151 | *-*-*) ;; | 5172 | *-*-*) ;; |
5152 | *) as_fn_error "invalid value of canonical host" "$LINENO" 5;; | 5173 | *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; |
5153 | esac | 5174 | esac |
5154 | host=$ac_cv_host | 5175 | host=$ac_cv_host |
5155 | ac_save_IFS=$IFS; IFS='-' | 5176 | ac_save_IFS=$IFS; IFS='-' |
@@ -5550,7 +5571,7 @@ esac | |||
5550 | done | 5571 | done |
5551 | IFS=$as_save_IFS | 5572 | IFS=$as_save_IFS |
5552 | if test -z "$ac_cv_path_SED"; then | 5573 | if test -z "$ac_cv_path_SED"; then |
5553 | as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 | 5574 | as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 |
5554 | fi | 5575 | fi |
5555 | else | 5576 | else |
5556 | ac_cv_path_SED=$SED | 5577 | ac_cv_path_SED=$SED |
@@ -5629,7 +5650,7 @@ esac | |||
5629 | done | 5650 | done |
5630 | IFS=$as_save_IFS | 5651 | IFS=$as_save_IFS |
5631 | if test -z "$ac_cv_path_FGREP"; then | 5652 | if test -z "$ac_cv_path_FGREP"; then |
5632 | as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 | 5653 | as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 |
5633 | fi | 5654 | fi |
5634 | else | 5655 | else |
5635 | ac_cv_path_FGREP=$FGREP | 5656 | ac_cv_path_FGREP=$FGREP |
@@ -5745,7 +5766,7 @@ else | |||
5745 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 5766 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
5746 | $as_echo "no" >&6; } | 5767 | $as_echo "no" >&6; } |
5747 | fi | 5768 | fi |
5748 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 5769 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 |
5749 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | 5770 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 |
5750 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | 5771 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } |
5751 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : | 5772 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : |
@@ -5947,13 +5968,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : | |||
5947 | else | 5968 | else |
5948 | lt_cv_nm_interface="BSD nm" | 5969 | lt_cv_nm_interface="BSD nm" |
5949 | echo "int some_variable = 0;" > conftest.$ac_ext | 5970 | echo "int some_variable = 0;" > conftest.$ac_ext |
5950 | (eval echo "\"\$as_me:5950: $ac_compile\"" >&5) | 5971 | (eval echo "\"\$as_me:5971: $ac_compile\"" >&5) |
5951 | (eval "$ac_compile" 2>conftest.err) | 5972 | (eval "$ac_compile" 2>conftest.err) |
5952 | cat conftest.err >&5 | 5973 | cat conftest.err >&5 |
5953 | (eval echo "\"\$as_me:5953: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | 5974 | (eval echo "\"\$as_me:5974: $NM \\\"conftest.$ac_objext\\\"\"" >&5) |
5954 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | 5975 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) |
5955 | cat conftest.err >&5 | 5976 | cat conftest.err >&5 |
5956 | (eval echo "\"\$as_me:5956: output\"" >&5) | 5977 | (eval echo "\"\$as_me:5977: output\"" >&5) |
5957 | cat conftest.out >&5 | 5978 | cat conftest.out >&5 |
5958 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then | 5979 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then |
5959 | lt_cv_nm_interface="MS dumpbin" | 5980 | lt_cv_nm_interface="MS dumpbin" |
@@ -7155,7 +7176,7 @@ ia64-*-hpux*) | |||
7155 | ;; | 7176 | ;; |
7156 | *-*-irix6*) | 7177 | *-*-irix6*) |
7157 | # Find out which ABI we are using. | 7178 | # Find out which ABI we are using. |
7158 | echo '#line 7158 "configure"' > conftest.$ac_ext | 7179 | echo '#line 7179 "configure"' > conftest.$ac_ext |
7159 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | 7180 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 |
7160 | (eval $ac_compile) 2>&5 | 7181 | (eval $ac_compile) 2>&5 |
7161 | ac_status=$? | 7182 | ac_status=$? |
@@ -8415,11 +8436,11 @@ else | |||
8415 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 8436 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
8416 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 8437 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
8417 | -e 's:$: $lt_compiler_flag:'` | 8438 | -e 's:$: $lt_compiler_flag:'` |
8418 | (eval echo "\"\$as_me:8418: $lt_compile\"" >&5) | 8439 | (eval echo "\"\$as_me:8439: $lt_compile\"" >&5) |
8419 | (eval "$lt_compile" 2>conftest.err) | 8440 | (eval "$lt_compile" 2>conftest.err) |
8420 | ac_status=$? | 8441 | ac_status=$? |
8421 | cat conftest.err >&5 | 8442 | cat conftest.err >&5 |
8422 | echo "$as_me:8422: \$? = $ac_status" >&5 | 8443 | echo "$as_me:8443: \$? = $ac_status" >&5 |
8423 | if (exit $ac_status) && test -s "$ac_outfile"; then | 8444 | if (exit $ac_status) && test -s "$ac_outfile"; then |
8424 | # The compiler can only warn and ignore the option if not recognized | 8445 | # The compiler can only warn and ignore the option if not recognized |
8425 | # So say no if there are warnings other than the usual output. | 8446 | # So say no if there are warnings other than the usual output. |
@@ -8754,11 +8775,11 @@ else | |||
8754 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 8775 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
8755 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 8776 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
8756 | -e 's:$: $lt_compiler_flag:'` | 8777 | -e 's:$: $lt_compiler_flag:'` |
8757 | (eval echo "\"\$as_me:8757: $lt_compile\"" >&5) | 8778 | (eval echo "\"\$as_me:8778: $lt_compile\"" >&5) |
8758 | (eval "$lt_compile" 2>conftest.err) | 8779 | (eval "$lt_compile" 2>conftest.err) |
8759 | ac_status=$? | 8780 | ac_status=$? |
8760 | cat conftest.err >&5 | 8781 | cat conftest.err >&5 |
8761 | echo "$as_me:8761: \$? = $ac_status" >&5 | 8782 | echo "$as_me:8782: \$? = $ac_status" >&5 |
8762 | if (exit $ac_status) && test -s "$ac_outfile"; then | 8783 | if (exit $ac_status) && test -s "$ac_outfile"; then |
8763 | # The compiler can only warn and ignore the option if not recognized | 8784 | # The compiler can only warn and ignore the option if not recognized |
8764 | # So say no if there are warnings other than the usual output. | 8785 | # So say no if there are warnings other than the usual output. |
@@ -8859,11 +8880,11 @@ else | |||
8859 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 8880 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
8860 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 8881 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
8861 | -e 's:$: $lt_compiler_flag:'` | 8882 | -e 's:$: $lt_compiler_flag:'` |
8862 | (eval echo "\"\$as_me:8862: $lt_compile\"" >&5) | 8883 | (eval echo "\"\$as_me:8883: $lt_compile\"" >&5) |
8863 | (eval "$lt_compile" 2>out/conftest.err) | 8884 | (eval "$lt_compile" 2>out/conftest.err) |
8864 | ac_status=$? | 8885 | ac_status=$? |
8865 | cat out/conftest.err >&5 | 8886 | cat out/conftest.err >&5 |
8866 | echo "$as_me:8866: \$? = $ac_status" >&5 | 8887 | echo "$as_me:8887: \$? = $ac_status" >&5 |
8867 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 8888 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
8868 | then | 8889 | then |
8869 | # The compiler can only warn and ignore the option if not recognized | 8890 | # The compiler can only warn and ignore the option if not recognized |
@@ -8914,11 +8935,11 @@ else | |||
8914 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 8935 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
8915 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 8936 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
8916 | -e 's:$: $lt_compiler_flag:'` | 8937 | -e 's:$: $lt_compiler_flag:'` |
8917 | (eval echo "\"\$as_me:8917: $lt_compile\"" >&5) | 8938 | (eval echo "\"\$as_me:8938: $lt_compile\"" >&5) |
8918 | (eval "$lt_compile" 2>out/conftest.err) | 8939 | (eval "$lt_compile" 2>out/conftest.err) |
8919 | ac_status=$? | 8940 | ac_status=$? |
8920 | cat out/conftest.err >&5 | 8941 | cat out/conftest.err >&5 |
8921 | echo "$as_me:8921: \$? = $ac_status" >&5 | 8942 | echo "$as_me:8942: \$? = $ac_status" >&5 |
8922 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 8943 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
8923 | then | 8944 | then |
8924 | # The compiler can only warn and ignore the option if not recognized | 8945 | # The compiler can only warn and ignore the option if not recognized |
@@ -11298,7 +11319,7 @@ else | |||
11298 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | 11319 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
11299 | lt_status=$lt_dlunknown | 11320 | lt_status=$lt_dlunknown |
11300 | cat > conftest.$ac_ext <<_LT_EOF | 11321 | cat > conftest.$ac_ext <<_LT_EOF |
11301 | #line 11301 "configure" | 11322 | #line 11322 "configure" |
11302 | #include "confdefs.h" | 11323 | #include "confdefs.h" |
11303 | 11324 | ||
11304 | #if HAVE_DLFCN_H | 11325 | #if HAVE_DLFCN_H |
@@ -11394,7 +11415,7 @@ else | |||
11394 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | 11415 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
11395 | lt_status=$lt_dlunknown | 11416 | lt_status=$lt_dlunknown |
11396 | cat > conftest.$ac_ext <<_LT_EOF | 11417 | cat > conftest.$ac_ext <<_LT_EOF |
11397 | #line 11397 "configure" | 11418 | #line 11418 "configure" |
11398 | #include "confdefs.h" | 11419 | #include "confdefs.h" |
11399 | 11420 | ||
11400 | #if HAVE_DLFCN_H | 11421 | #if HAVE_DLFCN_H |
@@ -11633,20 +11654,20 @@ _ACEOF | |||
11633 | 11654 | ||
11634 | 11655 | ||
11635 | cat >>confdefs.h <<_ACEOF | 11656 | cat >>confdefs.h <<_ACEOF |
11636 | #define VMIN 1 | 11657 | #define VMIN 2 |
11637 | _ACEOF | 11658 | _ACEOF |
11638 | 11659 | ||
11639 | 11660 | ||
11640 | cat >>confdefs.h <<_ACEOF | 11661 | cat >>confdefs.h <<_ACEOF |
11641 | #define VMIC 99 | 11662 | #define VMIC 0 |
11642 | _ACEOF | 11663 | _ACEOF |
11643 | 11664 | ||
11644 | 11665 | ||
11645 | cat >>confdefs.h <<_ACEOF | 11666 | cat >>confdefs.h <<_ACEOF |
11646 | #define VREV 67344 | 11667 | #define VREV 0 |
11647 | _ACEOF | 11668 | _ACEOF |
11648 | 11669 | ||
11649 | version_info="2:99:1" | 11670 | version_info="3:0:2" |
11650 | release_info="" | 11671 | release_info="" |
11651 | 11672 | ||
11652 | 11673 | ||
@@ -11668,7 +11689,7 @@ case "$host_os" in | |||
11668 | MODULE_ARCH="$host_os-$host_cpu" | 11689 | MODULE_ARCH="$host_os-$host_cpu" |
11669 | ;; | 11690 | ;; |
11670 | *) | 11691 | *) |
11671 | MODULE_ARCH="$host_os-$host_cpu-1.1.99" | 11692 | MODULE_ARCH="$host_os-$host_cpu-1.2.0" |
11672 | ;; | 11693 | ;; |
11673 | esac | 11694 | esac |
11674 | 11695 | ||
@@ -12166,7 +12187,7 @@ if test "x${_efl_enable_win32_threads}" = "xyes" ; then | |||
12166 | mingw*) | 12187 | mingw*) |
12167 | ;; | 12188 | ;; |
12168 | *) | 12189 | *) |
12169 | as_fn_error "Win32 threads support requested but non Windows system found." "$LINENO" 5 | 12190 | as_fn_error $? "Win32 threads support requested but non Windows system found." "$LINENO" 5 |
12170 | ;; | 12191 | ;; |
12171 | esac | 12192 | esac |
12172 | fi | 12193 | fi |
@@ -12174,7 +12195,7 @@ fi | |||
12174 | if test "x${_efl_enable_posix_threads}" = "xyes" ; then | 12195 | if test "x${_efl_enable_posix_threads}" = "xyes" ; then |
12175 | case "$host_os" in | 12196 | case "$host_os" in |
12176 | mingw*) | 12197 | mingw*) |
12177 | as_fn_error "POSIX threads support requested but Windows system found." "$LINENO" 5 | 12198 | as_fn_error $? "POSIX threads support requested but Windows system found." "$LINENO" 5 |
12178 | ;; | 12199 | ;; |
12179 | *) | 12200 | *) |
12180 | ;; | 12201 | ;; |
@@ -12237,7 +12258,7 @@ $as_echo_n "checking whether system support POSIX threads... " >&6; } | |||
12237 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 | 12258 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_have_posix_threads}" >&5 |
12238 | $as_echo "${_efl_have_posix_threads}" >&6; } | 12259 | $as_echo "${_efl_have_posix_threads}" >&6; } |
12239 | if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then | 12260 | if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then |
12240 | as_fn_error "POSIX threads support requested but not found." "$LINENO" 5 | 12261 | as_fn_error $? "POSIX threads support requested but not found." "$LINENO" 5 |
12241 | fi | 12262 | fi |
12242 | 12263 | ||
12243 | EFL_PTHREAD_CFLAGS="" | 12264 | EFL_PTHREAD_CFLAGS="" |
@@ -12498,7 +12519,7 @@ _ACEOF | |||
12498 | 12519 | ||
12499 | with_max_log_level="${withval}" | 12520 | with_max_log_level="${withval}" |
12500 | else | 12521 | else |
12501 | as_fn_error "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 | 12522 | as_fn_error $? "--with-internal-maximum-log-level takes a decimal number, got \"${withval}\" instead." "$LINENO" 5 |
12502 | fi | 12523 | fi |
12503 | fi | 12524 | fi |
12504 | 12525 | ||
@@ -12912,8 +12933,8 @@ fi | |||
12912 | 12933 | ||
12913 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 12934 | test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
12914 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 12935 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
12915 | as_fn_error "no acceptable C compiler found in \$PATH | 12936 | as_fn_error $? "no acceptable C compiler found in \$PATH |
12916 | See \`config.log' for more details." "$LINENO" 5; } | 12937 | See \`config.log' for more details" "$LINENO" 5 ; } |
12917 | 12938 | ||
12918 | # Provide some information about the compiler. | 12939 | # Provide some information about the compiler. |
12919 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 | 12940 | $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 |
@@ -14089,7 +14110,7 @@ else | |||
14089 | # Broken: fails on valid input. | 14110 | # Broken: fails on valid input. |
14090 | continue | 14111 | continue |
14091 | fi | 14112 | fi |
14092 | rm -f conftest.err conftest.$ac_ext | 14113 | rm -f conftest.err conftest.i conftest.$ac_ext |
14093 | 14114 | ||
14094 | # OK, works on sane cases. Now check whether nonexistent headers | 14115 | # OK, works on sane cases. Now check whether nonexistent headers |
14095 | # can be detected and how. | 14116 | # can be detected and how. |
@@ -14105,11 +14126,11 @@ else | |||
14105 | ac_preproc_ok=: | 14126 | ac_preproc_ok=: |
14106 | break | 14127 | break |
14107 | fi | 14128 | fi |
14108 | rm -f conftest.err conftest.$ac_ext | 14129 | rm -f conftest.err conftest.i conftest.$ac_ext |
14109 | 14130 | ||
14110 | done | 14131 | done |
14111 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 14132 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
14112 | rm -f conftest.err conftest.$ac_ext | 14133 | rm -f conftest.i conftest.err conftest.$ac_ext |
14113 | if $ac_preproc_ok; then : | 14134 | if $ac_preproc_ok; then : |
14114 | break | 14135 | break |
14115 | fi | 14136 | fi |
@@ -14148,7 +14169,7 @@ else | |||
14148 | # Broken: fails on valid input. | 14169 | # Broken: fails on valid input. |
14149 | continue | 14170 | continue |
14150 | fi | 14171 | fi |
14151 | rm -f conftest.err conftest.$ac_ext | 14172 | rm -f conftest.err conftest.i conftest.$ac_ext |
14152 | 14173 | ||
14153 | # OK, works on sane cases. Now check whether nonexistent headers | 14174 | # OK, works on sane cases. Now check whether nonexistent headers |
14154 | # can be detected and how. | 14175 | # can be detected and how. |
@@ -14164,11 +14185,11 @@ else | |||
14164 | ac_preproc_ok=: | 14185 | ac_preproc_ok=: |
14165 | break | 14186 | break |
14166 | fi | 14187 | fi |
14167 | rm -f conftest.err conftest.$ac_ext | 14188 | rm -f conftest.err conftest.i conftest.$ac_ext |
14168 | 14189 | ||
14169 | done | 14190 | done |
14170 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | 14191 | # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. |
14171 | rm -f conftest.err conftest.$ac_ext | 14192 | rm -f conftest.i conftest.err conftest.$ac_ext |
14172 | if $ac_preproc_ok; then : | 14193 | if $ac_preproc_ok; then : |
14173 | 14194 | ||
14174 | else | 14195 | else |
@@ -14397,7 +14418,7 @@ else | |||
14397 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 14418 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
14398 | $as_echo "no" >&6; } | 14419 | $as_echo "no" >&6; } |
14399 | fi | 14420 | fi |
14400 | test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 | 14421 | test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 |
14401 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 | 14422 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 |
14402 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } | 14423 | $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } |
14403 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : | 14424 | if test "${lt_cv_prog_gnu_ld+set}" = set; then : |
@@ -15938,11 +15959,11 @@ else | |||
15938 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 15959 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
15939 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 15960 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
15940 | -e 's:$: $lt_compiler_flag:'` | 15961 | -e 's:$: $lt_compiler_flag:'` |
15941 | (eval echo "\"\$as_me:15941: $lt_compile\"" >&5) | 15962 | (eval echo "\"\$as_me:15962: $lt_compile\"" >&5) |
15942 | (eval "$lt_compile" 2>conftest.err) | 15963 | (eval "$lt_compile" 2>conftest.err) |
15943 | ac_status=$? | 15964 | ac_status=$? |
15944 | cat conftest.err >&5 | 15965 | cat conftest.err >&5 |
15945 | echo "$as_me:15945: \$? = $ac_status" >&5 | 15966 | echo "$as_me:15966: \$? = $ac_status" >&5 |
15946 | if (exit $ac_status) && test -s "$ac_outfile"; then | 15967 | if (exit $ac_status) && test -s "$ac_outfile"; then |
15947 | # The compiler can only warn and ignore the option if not recognized | 15968 | # The compiler can only warn and ignore the option if not recognized |
15948 | # So say no if there are warnings other than the usual output. | 15969 | # So say no if there are warnings other than the usual output. |
@@ -16037,11 +16058,11 @@ else | |||
16037 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 16058 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
16038 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 16059 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
16039 | -e 's:$: $lt_compiler_flag:'` | 16060 | -e 's:$: $lt_compiler_flag:'` |
16040 | (eval echo "\"\$as_me:16040: $lt_compile\"" >&5) | 16061 | (eval echo "\"\$as_me:16061: $lt_compile\"" >&5) |
16041 | (eval "$lt_compile" 2>out/conftest.err) | 16062 | (eval "$lt_compile" 2>out/conftest.err) |
16042 | ac_status=$? | 16063 | ac_status=$? |
16043 | cat out/conftest.err >&5 | 16064 | cat out/conftest.err >&5 |
16044 | echo "$as_me:16044: \$? = $ac_status" >&5 | 16065 | echo "$as_me:16065: \$? = $ac_status" >&5 |
16045 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 16066 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
16046 | then | 16067 | then |
16047 | # The compiler can only warn and ignore the option if not recognized | 16068 | # The compiler can only warn and ignore the option if not recognized |
@@ -16089,11 +16110,11 @@ else | |||
16089 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | 16110 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
16090 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | 16111 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
16091 | -e 's:$: $lt_compiler_flag:'` | 16112 | -e 's:$: $lt_compiler_flag:'` |
16092 | (eval echo "\"\$as_me:16092: $lt_compile\"" >&5) | 16113 | (eval echo "\"\$as_me:16113: $lt_compile\"" >&5) |
16093 | (eval "$lt_compile" 2>out/conftest.err) | 16114 | (eval "$lt_compile" 2>out/conftest.err) |
16094 | ac_status=$? | 16115 | ac_status=$? |
16095 | cat out/conftest.err >&5 | 16116 | cat out/conftest.err >&5 |
16096 | echo "$as_me:16096: \$? = $ac_status" >&5 | 16117 | echo "$as_me:16117: \$? = $ac_status" >&5 |
16097 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | 16118 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
16098 | then | 16119 | then |
16099 | # The compiler can only warn and ignore the option if not recognized | 16120 | # The compiler can only warn and ignore the option if not recognized |
@@ -17041,6 +17062,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
17041 | # pkg-config | 17062 | # pkg-config |
17042 | 17063 | ||
17043 | 17064 | ||
17065 | |||
17066 | |||
17067 | |||
17068 | |||
17044 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then | 17069 | if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then |
17045 | if test -n "$ac_tool_prefix"; then | 17070 | if test -n "$ac_tool_prefix"; then |
17046 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. | 17071 | # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. |
@@ -17153,7 +17178,6 @@ $as_echo "yes" >&6; } | |||
17153 | $as_echo "no" >&6; } | 17178 | $as_echo "no" >&6; } |
17154 | PKG_CONFIG="" | 17179 | PKG_CONFIG="" |
17155 | fi | 17180 | fi |
17156 | |||
17157 | fi | 17181 | fi |
17158 | 17182 | ||
17159 | # Check whether pkg-config supports Requires.private | 17183 | # Check whether pkg-config supports Requires.private |
@@ -17349,11 +17373,10 @@ pkg_failed=no | |||
17349 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5 | 17373 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5 |
17350 | $as_echo_n "checking for VALGRIND... " >&6; } | 17374 | $as_echo_n "checking for VALGRIND... " >&6; } |
17351 | 17375 | ||
17352 | if test -n "$PKG_CONFIG"; then | 17376 | if test -n "$VALGRIND_CFLAGS"; then |
17353 | if test -n "$VALGRIND_CFLAGS"; then | 17377 | pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" |
17354 | pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS" | 17378 | elif test -n "$PKG_CONFIG"; then |
17355 | else | 17379 | if test -n "$PKG_CONFIG" && \ |
17356 | if test -n "$PKG_CONFIG" && \ | ||
17357 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 | 17380 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 |
17358 | ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 | 17381 | ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 |
17359 | ac_status=$? | 17382 | ac_status=$? |
@@ -17363,15 +17386,13 @@ if test -n "$PKG_CONFIG"; then | |||
17363 | else | 17386 | else |
17364 | pkg_failed=yes | 17387 | pkg_failed=yes |
17365 | fi | 17388 | fi |
17366 | fi | 17389 | else |
17367 | else | 17390 | pkg_failed=untried |
17368 | pkg_failed=untried | ||
17369 | fi | 17391 | fi |
17370 | if test -n "$PKG_CONFIG"; then | 17392 | if test -n "$VALGRIND_LIBS"; then |
17371 | if test -n "$VALGRIND_LIBS"; then | 17393 | pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" |
17372 | pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS" | 17394 | elif test -n "$PKG_CONFIG"; then |
17373 | else | 17395 | if test -n "$PKG_CONFIG" && \ |
17374 | if test -n "$PKG_CONFIG" && \ | ||
17375 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 | 17396 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5 |
17376 | ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 | 17397 | ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5 |
17377 | ac_status=$? | 17398 | ac_status=$? |
@@ -17381,14 +17402,15 @@ if test -n "$PKG_CONFIG"; then | |||
17381 | else | 17402 | else |
17382 | pkg_failed=yes | 17403 | pkg_failed=yes |
17383 | fi | 17404 | fi |
17384 | fi | 17405 | else |
17385 | else | 17406 | pkg_failed=untried |
17386 | pkg_failed=untried | ||
17387 | fi | 17407 | fi |
17388 | 17408 | ||
17389 | 17409 | ||
17390 | 17410 | ||
17391 | if test $pkg_failed = yes; then | 17411 | if test $pkg_failed = yes; then |
17412 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17413 | $as_echo "no" >&6; } | ||
17392 | 17414 | ||
17393 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 17415 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
17394 | _pkg_short_errors_supported=yes | 17416 | _pkg_short_errors_supported=yes |
@@ -17396,30 +17418,30 @@ else | |||
17396 | _pkg_short_errors_supported=no | 17418 | _pkg_short_errors_supported=no |
17397 | fi | 17419 | fi |
17398 | if test $_pkg_short_errors_supported = yes; then | 17420 | if test $_pkg_short_errors_supported = yes; then |
17399 | VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "valgrind >= 2.4.0"` | 17421 | VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "valgrind >= 2.4.0" 2>&1` |
17400 | else | 17422 | else |
17401 | VALGRIND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "valgrind >= 2.4.0"` | 17423 | VALGRIND_PKG_ERRORS=`$PKG_CONFIG --print-errors "valgrind >= 2.4.0" 2>&1` |
17402 | fi | 17424 | fi |
17403 | # Put the nasty error message in config.log where it belongs | 17425 | # Put the nasty error message in config.log where it belongs |
17404 | echo "$VALGRIND_PKG_ERRORS" >&5 | 17426 | echo "$VALGRIND_PKG_ERRORS" >&5 |
17405 | 17427 | ||
17406 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17407 | $as_echo "no" >&6; } | ||
17408 | 17428 | ||
17409 | 17429 | ||
17410 | $as_echo "#define NVALGRIND 1" >>confdefs.h | 17430 | $as_echo "#define NVALGRIND 1" >>confdefs.h |
17411 | 17431 | ||
17412 | if test "x${want_valgrind}" = "xyes"; then | 17432 | if test "x${want_valgrind}" = "xyes"; then |
17413 | as_fn_error "Valgrind >= 2.4.0 is required" "$LINENO" 5 | 17433 | as_fn_error $? "Valgrind >= 2.4.0 is required" "$LINENO" 5 |
17414 | fi | 17434 | fi |
17415 | 17435 | ||
17416 | elif test $pkg_failed = untried; then | 17436 | elif test $pkg_failed = untried; then |
17437 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17438 | $as_echo "no" >&6; } | ||
17417 | 17439 | ||
17418 | 17440 | ||
17419 | $as_echo "#define NVALGRIND 1" >>confdefs.h | 17441 | $as_echo "#define NVALGRIND 1" >>confdefs.h |
17420 | 17442 | ||
17421 | if test "x${want_valgrind}" = "xyes"; then | 17443 | if test "x${want_valgrind}" = "xyes"; then |
17422 | as_fn_error "Valgrind >= 2.4.0 is required" "$LINENO" 5 | 17444 | as_fn_error $? "Valgrind >= 2.4.0 is required" "$LINENO" 5 |
17423 | fi | 17445 | fi |
17424 | 17446 | ||
17425 | else | 17447 | else |
@@ -17449,11 +17471,10 @@ pkg_failed=no | |||
17449 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 | 17471 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5 |
17450 | $as_echo_n "checking for EVIL... " >&6; } | 17472 | $as_echo_n "checking for EVIL... " >&6; } |
17451 | 17473 | ||
17452 | if test -n "$PKG_CONFIG"; then | 17474 | if test -n "$EVIL_CFLAGS"; then |
17453 | if test -n "$EVIL_CFLAGS"; then | 17475 | pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" |
17454 | pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS" | 17476 | elif test -n "$PKG_CONFIG"; then |
17455 | else | 17477 | if test -n "$PKG_CONFIG" && \ |
17456 | if test -n "$PKG_CONFIG" && \ | ||
17457 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 | 17478 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 |
17458 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 | 17479 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 |
17459 | ac_status=$? | 17480 | ac_status=$? |
@@ -17463,15 +17484,13 @@ if test -n "$PKG_CONFIG"; then | |||
17463 | else | 17484 | else |
17464 | pkg_failed=yes | 17485 | pkg_failed=yes |
17465 | fi | 17486 | fi |
17466 | fi | 17487 | else |
17467 | else | 17488 | pkg_failed=untried |
17468 | pkg_failed=untried | ||
17469 | fi | 17489 | fi |
17470 | if test -n "$PKG_CONFIG"; then | 17490 | if test -n "$EVIL_LIBS"; then |
17471 | if test -n "$EVIL_LIBS"; then | 17491 | pkg_cv_EVIL_LIBS="$EVIL_LIBS" |
17472 | pkg_cv_EVIL_LIBS="$EVIL_LIBS" | 17492 | elif test -n "$PKG_CONFIG"; then |
17473 | else | 17493 | if test -n "$PKG_CONFIG" && \ |
17474 | if test -n "$PKG_CONFIG" && \ | ||
17475 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 | 17494 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil >= 1.0.0\""; } >&5 |
17476 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 | 17495 | ($PKG_CONFIG --exists --print-errors "evil >= 1.0.0") 2>&5 |
17477 | ac_status=$? | 17496 | ac_status=$? |
@@ -17481,14 +17500,15 @@ if test -n "$PKG_CONFIG"; then | |||
17481 | else | 17500 | else |
17482 | pkg_failed=yes | 17501 | pkg_failed=yes |
17483 | fi | 17502 | fi |
17484 | fi | 17503 | else |
17485 | else | 17504 | pkg_failed=untried |
17486 | pkg_failed=untried | ||
17487 | fi | 17505 | fi |
17488 | 17506 | ||
17489 | 17507 | ||
17490 | 17508 | ||
17491 | if test $pkg_failed = yes; then | 17509 | if test $pkg_failed = yes; then |
17510 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17511 | $as_echo "no" >&6; } | ||
17492 | 17512 | ||
17493 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 17513 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
17494 | _pkg_short_errors_supported=yes | 17514 | _pkg_short_errors_supported=yes |
@@ -17496,14 +17516,14 @@ else | |||
17496 | _pkg_short_errors_supported=no | 17516 | _pkg_short_errors_supported=no |
17497 | fi | 17517 | fi |
17498 | if test $_pkg_short_errors_supported = yes; then | 17518 | if test $_pkg_short_errors_supported = yes; then |
17499 | EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "evil >= 1.0.0"` | 17519 | EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil >= 1.0.0" 2>&1` |
17500 | else | 17520 | else |
17501 | EVIL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "evil >= 1.0.0"` | 17521 | EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil >= 1.0.0" 2>&1` |
17502 | fi | 17522 | fi |
17503 | # Put the nasty error message in config.log where it belongs | 17523 | # Put the nasty error message in config.log where it belongs |
17504 | echo "$EVIL_PKG_ERRORS" >&5 | 17524 | echo "$EVIL_PKG_ERRORS" >&5 |
17505 | 17525 | ||
17506 | as_fn_error "Package requirements (evil >= 1.0.0) were not met: | 17526 | as_fn_error $? "Package requirements (evil >= 1.0.0) were not met: |
17507 | 17527 | ||
17508 | $EVIL_PKG_ERRORS | 17528 | $EVIL_PKG_ERRORS |
17509 | 17529 | ||
@@ -17512,12 +17532,13 @@ installed software in a non-standard prefix. | |||
17512 | 17532 | ||
17513 | Alternatively, you may set the environment variables EVIL_CFLAGS | 17533 | Alternatively, you may set the environment variables EVIL_CFLAGS |
17514 | and EVIL_LIBS to avoid the need to call pkg-config. | 17534 | and EVIL_LIBS to avoid the need to call pkg-config. |
17515 | See the pkg-config man page for more details. | 17535 | See the pkg-config man page for more details." "$LINENO" 5 |
17516 | " "$LINENO" 5 | ||
17517 | elif test $pkg_failed = untried; then | 17536 | elif test $pkg_failed = untried; then |
17537 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17538 | $as_echo "no" >&6; } | ||
17518 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 17539 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
17519 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 17540 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
17520 | as_fn_error "The pkg-config script could not be found or is too old. Make sure it | 17541 | as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it |
17521 | is in your PATH or set the PKG_CONFIG environment variable to the full | 17542 | is in your PATH or set the PKG_CONFIG environment variable to the full |
17522 | path to pkg-config. | 17543 | path to pkg-config. |
17523 | 17544 | ||
@@ -17526,18 +17547,18 @@ and EVIL_LIBS to avoid the need to call pkg-config. | |||
17526 | See the pkg-config man page for more details. | 17547 | See the pkg-config man page for more details. |
17527 | 17548 | ||
17528 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. | 17549 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. |
17529 | See \`config.log' for more details." "$LINENO" 5; } | 17550 | See \`config.log' for more details" "$LINENO" 5 ; } |
17530 | else | 17551 | else |
17531 | EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS | 17552 | EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS |
17532 | EVIL_LIBS=$pkg_cv_EVIL_LIBS | 17553 | EVIL_LIBS=$pkg_cv_EVIL_LIBS |
17533 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 17554 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
17534 | $as_echo "yes" >&6; } | 17555 | $as_echo "yes" >&6; } |
17535 | : | 17556 | |
17536 | fi | 17557 | fi |
17537 | 17558 | ||
17538 | $as_echo "#define HAVE_EVIL 1" >>confdefs.h | 17559 | $as_echo "#define HAVE_EVIL 1" >>confdefs.h |
17539 | 17560 | ||
17540 | requirement_eina="evil" | 17561 | requirement_eina="${requirement_eina} evil" |
17541 | EFL_EINA_BUILD="-DEFL_EINA_BUILD" | 17562 | EFL_EINA_BUILD="-DEFL_EINA_BUILD" |
17542 | ;; | 17563 | ;; |
17543 | esac | 17564 | esac |
@@ -17570,11 +17591,10 @@ pkg_failed=no | |||
17570 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMEMOA" >&5 | 17591 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EMEMOA" >&5 |
17571 | $as_echo_n "checking for EMEMOA... " >&6; } | 17592 | $as_echo_n "checking for EMEMOA... " >&6; } |
17572 | 17593 | ||
17573 | if test -n "$PKG_CONFIG"; then | 17594 | if test -n "$EMEMOA_CFLAGS"; then |
17574 | if test -n "$EMEMOA_CFLAGS"; then | 17595 | pkg_cv_EMEMOA_CFLAGS="$EMEMOA_CFLAGS" |
17575 | pkg_cv_EMEMOA_CFLAGS="$EMEMOA_CFLAGS" | 17596 | elif test -n "$PKG_CONFIG"; then |
17576 | else | 17597 | if test -n "$PKG_CONFIG" && \ |
17577 | if test -n "$PKG_CONFIG" && \ | ||
17578 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 | 17598 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 |
17579 | ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 | 17599 | ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 |
17580 | ac_status=$? | 17600 | ac_status=$? |
@@ -17584,15 +17604,13 @@ if test -n "$PKG_CONFIG"; then | |||
17584 | else | 17604 | else |
17585 | pkg_failed=yes | 17605 | pkg_failed=yes |
17586 | fi | 17606 | fi |
17587 | fi | 17607 | else |
17588 | else | 17608 | pkg_failed=untried |
17589 | pkg_failed=untried | ||
17590 | fi | 17609 | fi |
17591 | if test -n "$PKG_CONFIG"; then | 17610 | if test -n "$EMEMOA_LIBS"; then |
17592 | if test -n "$EMEMOA_LIBS"; then | 17611 | pkg_cv_EMEMOA_LIBS="$EMEMOA_LIBS" |
17593 | pkg_cv_EMEMOA_LIBS="$EMEMOA_LIBS" | 17612 | elif test -n "$PKG_CONFIG"; then |
17594 | else | 17613 | if test -n "$PKG_CONFIG" && \ |
17595 | if test -n "$PKG_CONFIG" && \ | ||
17596 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 | 17614 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ememoa >= 0.0.26 \""; } >&5 |
17597 | ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 | 17615 | ($PKG_CONFIG --exists --print-errors "ememoa >= 0.0.26 ") 2>&5 |
17598 | ac_status=$? | 17616 | ac_status=$? |
@@ -17602,14 +17620,15 @@ if test -n "$PKG_CONFIG"; then | |||
17602 | else | 17620 | else |
17603 | pkg_failed=yes | 17621 | pkg_failed=yes |
17604 | fi | 17622 | fi |
17605 | fi | 17623 | else |
17606 | else | 17624 | pkg_failed=untried |
17607 | pkg_failed=untried | ||
17608 | fi | 17625 | fi |
17609 | 17626 | ||
17610 | 17627 | ||
17611 | 17628 | ||
17612 | if test $pkg_failed = yes; then | 17629 | if test $pkg_failed = yes; then |
17630 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17631 | $as_echo "no" >&6; } | ||
17613 | 17632 | ||
17614 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 17633 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
17615 | _pkg_short_errors_supported=yes | 17634 | _pkg_short_errors_supported=yes |
@@ -17617,17 +17636,17 @@ else | |||
17617 | _pkg_short_errors_supported=no | 17636 | _pkg_short_errors_supported=no |
17618 | fi | 17637 | fi |
17619 | if test $_pkg_short_errors_supported = yes; then | 17638 | if test $_pkg_short_errors_supported = yes; then |
17620 | EMEMOA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ememoa >= 0.0.26 "` | 17639 | EMEMOA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ememoa >= 0.0.26 " 2>&1` |
17621 | else | 17640 | else |
17622 | EMEMOA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ememoa >= 0.0.26 "` | 17641 | EMEMOA_PKG_ERRORS=`$PKG_CONFIG --print-errors "ememoa >= 0.0.26 " 2>&1` |
17623 | fi | 17642 | fi |
17624 | # Put the nasty error message in config.log where it belongs | 17643 | # Put the nasty error message in config.log where it belongs |
17625 | echo "$EMEMOA_PKG_ERRORS" >&5 | 17644 | echo "$EMEMOA_PKG_ERRORS" >&5 |
17626 | 17645 | ||
17627 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 17646 | enable_ememoa="no" |
17628 | $as_echo "no" >&6; } | ||
17629 | enable_ememoa="no" | ||
17630 | elif test $pkg_failed = untried; then | 17647 | elif test $pkg_failed = untried; then |
17648 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17649 | $as_echo "no" >&6; } | ||
17631 | enable_ememoa="no" | 17650 | enable_ememoa="no" |
17632 | else | 17651 | else |
17633 | EMEMOA_CFLAGS=$pkg_cv_EMEMOA_CFLAGS | 17652 | EMEMOA_CFLAGS=$pkg_cv_EMEMOA_CFLAGS |
@@ -17643,11 +17662,10 @@ pkg_failed=no | |||
17643 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_EVAS" >&5 | 17662 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ECORE_EVAS" >&5 |
17644 | $as_echo_n "checking for ECORE_EVAS... " >&6; } | 17663 | $as_echo_n "checking for ECORE_EVAS... " >&6; } |
17645 | 17664 | ||
17646 | if test -n "$PKG_CONFIG"; then | 17665 | if test -n "$ECORE_EVAS_CFLAGS"; then |
17647 | if test -n "$ECORE_EVAS_CFLAGS"; then | 17666 | pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" |
17648 | pkg_cv_ECORE_EVAS_CFLAGS="$ECORE_EVAS_CFLAGS" | 17667 | elif test -n "$PKG_CONFIG"; then |
17649 | else | 17668 | if test -n "$PKG_CONFIG" && \ |
17650 | if test -n "$PKG_CONFIG" && \ | ||
17651 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 | 17669 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 |
17652 | ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 | 17670 | ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 |
17653 | ac_status=$? | 17671 | ac_status=$? |
@@ -17657,15 +17675,13 @@ if test -n "$PKG_CONFIG"; then | |||
17657 | else | 17675 | else |
17658 | pkg_failed=yes | 17676 | pkg_failed=yes |
17659 | fi | 17677 | fi |
17660 | fi | 17678 | else |
17661 | else | 17679 | pkg_failed=untried |
17662 | pkg_failed=untried | ||
17663 | fi | 17680 | fi |
17664 | if test -n "$PKG_CONFIG"; then | 17681 | if test -n "$ECORE_EVAS_LIBS"; then |
17665 | if test -n "$ECORE_EVAS_LIBS"; then | 17682 | pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" |
17666 | pkg_cv_ECORE_EVAS_LIBS="$ECORE_EVAS_LIBS" | 17683 | elif test -n "$PKG_CONFIG"; then |
17667 | else | 17684 | if test -n "$PKG_CONFIG" && \ |
17668 | if test -n "$PKG_CONFIG" && \ | ||
17669 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 | 17685 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ecore-evas ecore evas\""; } >&5 |
17670 | ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 | 17686 | ($PKG_CONFIG --exists --print-errors "ecore-evas ecore evas") 2>&5 |
17671 | ac_status=$? | 17687 | ac_status=$? |
@@ -17675,14 +17691,15 @@ if test -n "$PKG_CONFIG"; then | |||
17675 | else | 17691 | else |
17676 | pkg_failed=yes | 17692 | pkg_failed=yes |
17677 | fi | 17693 | fi |
17678 | fi | 17694 | else |
17679 | else | 17695 | pkg_failed=untried |
17680 | pkg_failed=untried | ||
17681 | fi | 17696 | fi |
17682 | 17697 | ||
17683 | 17698 | ||
17684 | 17699 | ||
17685 | if test $pkg_failed = yes; then | 17700 | if test $pkg_failed = yes; then |
17701 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17702 | $as_echo "no" >&6; } | ||
17686 | 17703 | ||
17687 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 17704 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
17688 | _pkg_short_errors_supported=yes | 17705 | _pkg_short_errors_supported=yes |
@@ -17690,17 +17707,17 @@ else | |||
17690 | _pkg_short_errors_supported=no | 17707 | _pkg_short_errors_supported=no |
17691 | fi | 17708 | fi |
17692 | if test $_pkg_short_errors_supported = yes; then | 17709 | if test $_pkg_short_errors_supported = yes; then |
17693 | ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ecore-evas ecore evas"` | 17710 | ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ecore-evas ecore evas" 2>&1` |
17694 | else | 17711 | else |
17695 | ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ecore-evas ecore evas"` | 17712 | ECORE_EVAS_PKG_ERRORS=`$PKG_CONFIG --print-errors "ecore-evas ecore evas" 2>&1` |
17696 | fi | 17713 | fi |
17697 | # Put the nasty error message in config.log where it belongs | 17714 | # Put the nasty error message in config.log where it belongs |
17698 | echo "$ECORE_EVAS_PKG_ERRORS" >&5 | 17715 | echo "$ECORE_EVAS_PKG_ERRORS" >&5 |
17699 | 17716 | ||
17700 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 17717 | build_tiler_example="no" |
17701 | $as_echo "no" >&6; } | ||
17702 | build_tiler_example="no" | ||
17703 | elif test $pkg_failed = untried; then | 17718 | elif test $pkg_failed = untried; then |
17719 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
17720 | $as_echo "no" >&6; } | ||
17704 | build_tiler_example="no" | 17721 | build_tiler_example="no" |
17705 | else | 17722 | else |
17706 | ECORE_EVAS_CFLAGS=$pkg_cv_ECORE_EVAS_CFLAGS | 17723 | ECORE_EVAS_CFLAGS=$pkg_cv_ECORE_EVAS_CFLAGS |
@@ -18020,8 +18037,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h | |||
18020 | 18037 | ||
18021 | ;; #( | 18038 | ;; #( |
18022 | *) | 18039 | *) |
18023 | as_fn_error "unknown endianness | 18040 | as_fn_error $? "unknown endianness |
18024 | presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; | 18041 | presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; |
18025 | esac | 18042 | esac |
18026 | 18043 | ||
18027 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 | 18044 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 |
@@ -18398,17 +18415,14 @@ fi | |||
18398 | 18415 | ||
18399 | have_wince="no" | 18416 | have_wince="no" |
18400 | have_win32="no" | 18417 | have_win32="no" |
18401 | EINA_CPPFLAGS="" | ||
18402 | EINA_CFLAGS="" | 18418 | EINA_CFLAGS="" |
18403 | case "$host_os" in | 18419 | case "$host_os" in |
18404 | mingw32ce*) | 18420 | mingw32ce*) |
18405 | EINA_CPPFLAGS="-D_WIN32_WCE=0x0420" | ||
18406 | EINA_CFLAGS="${EVIL_CFLAGS}" | 18421 | EINA_CFLAGS="${EVIL_CFLAGS}" |
18407 | have_win32="yes" | 18422 | have_win32="yes" |
18408 | have_wince="yes" | 18423 | have_wince="yes" |
18409 | ;; | 18424 | ;; |
18410 | mingw*) | 18425 | mingw*) |
18411 | EINA_CPPFLAGS="-D_WIN32_WINNT=0x0501" | ||
18412 | EINA_CFLAGS="${EVIL_CFLAGS}" | 18426 | EINA_CFLAGS="${EVIL_CFLAGS}" |
18413 | have_win32="yes" | 18427 | have_win32="yes" |
18414 | ;; | 18428 | ;; |
@@ -18569,6 +18583,98 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
18569 | 18583 | ||
18570 | 18584 | ||
18571 | 18585 | ||
18586 | ### Checks for portability layer | ||
18587 | |||
18588 | |||
18589 | pkg_failed=no | ||
18590 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXOTIC" >&5 | ||
18591 | $as_echo_n "checking for EXOTIC... " >&6; } | ||
18592 | |||
18593 | if test -n "$EXOTIC_CFLAGS"; then | ||
18594 | pkg_cv_EXOTIC_CFLAGS="$EXOTIC_CFLAGS" | ||
18595 | elif test -n "$PKG_CONFIG"; then | ||
18596 | if test -n "$PKG_CONFIG" && \ | ||
18597 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 | ||
18598 | ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 | ||
18599 | ac_status=$? | ||
18600 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
18601 | test $ac_status = 0; }; then | ||
18602 | pkg_cv_EXOTIC_CFLAGS=`$PKG_CONFIG --cflags "exotic" 2>/dev/null` | ||
18603 | else | ||
18604 | pkg_failed=yes | ||
18605 | fi | ||
18606 | else | ||
18607 | pkg_failed=untried | ||
18608 | fi | ||
18609 | if test -n "$EXOTIC_LIBS"; then | ||
18610 | pkg_cv_EXOTIC_LIBS="$EXOTIC_LIBS" | ||
18611 | elif test -n "$PKG_CONFIG"; then | ||
18612 | if test -n "$PKG_CONFIG" && \ | ||
18613 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"exotic\""; } >&5 | ||
18614 | ($PKG_CONFIG --exists --print-errors "exotic") 2>&5 | ||
18615 | ac_status=$? | ||
18616 | $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
18617 | test $ac_status = 0; }; then | ||
18618 | pkg_cv_EXOTIC_LIBS=`$PKG_CONFIG --libs "exotic" 2>/dev/null` | ||
18619 | else | ||
18620 | pkg_failed=yes | ||
18621 | fi | ||
18622 | else | ||
18623 | pkg_failed=untried | ||
18624 | fi | ||
18625 | |||
18626 | |||
18627 | |||
18628 | if test $pkg_failed = yes; then | ||
18629 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
18630 | $as_echo "no" >&6; } | ||
18631 | |||
18632 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | ||
18633 | _pkg_short_errors_supported=yes | ||
18634 | else | ||
18635 | _pkg_short_errors_supported=no | ||
18636 | fi | ||
18637 | if test $_pkg_short_errors_supported = yes; then | ||
18638 | EXOTIC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "exotic" 2>&1` | ||
18639 | else | ||
18640 | EXOTIC_PKG_ERRORS=`$PKG_CONFIG --print-errors "exotic" 2>&1` | ||
18641 | fi | ||
18642 | # Put the nasty error message in config.log where it belongs | ||
18643 | echo "$EXOTIC_PKG_ERRORS" >&5 | ||
18644 | |||
18645 | enable_exotic="no" | ||
18646 | elif test $pkg_failed = untried; then | ||
18647 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
18648 | $as_echo "no" >&6; } | ||
18649 | enable_exotic="no" | ||
18650 | else | ||
18651 | EXOTIC_CFLAGS=$pkg_cv_EXOTIC_CFLAGS | ||
18652 | EXOTIC_LIBS=$pkg_cv_EXOTIC_LIBS | ||
18653 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | ||
18654 | $as_echo "yes" >&6; } | ||
18655 | enable_exotic="yes" | ||
18656 | fi | ||
18657 | |||
18658 | if test "x${enable_exotic}" = "xyes"; then | ||
18659 | requirement_eina="exotic ${requirement_eina}" | ||
18660 | EINA_CFLAGS="${EINA_CFLAGS} ${EXOTIC_CFLAGS}" | ||
18661 | EINA_LIBS="${EXOTIC_LIBS}" | ||
18662 | |||
18663 | EINA_CONFIGURE_HAVE_EXOTIC="#define EINA_HAVE_EXOTIC" | ||
18664 | |||
18665 | $as_echo "#define HAVE_EXOTIC_H 1" >>confdefs.h | ||
18666 | |||
18667 | fi | ||
18668 | if test "x${enable_exotic}" = "xyes"; then | ||
18669 | EINA_HAVE_EXOTIC_TRUE= | ||
18670 | EINA_HAVE_EXOTIC_FALSE='#' | ||
18671 | else | ||
18672 | EINA_HAVE_EXOTIC_TRUE='#' | ||
18673 | EINA_HAVE_EXOTIC_FALSE= | ||
18674 | fi | ||
18675 | |||
18676 | |||
18677 | |||
18572 | case "$host_vendor" in | 18678 | case "$host_vendor" in |
18573 | ps3*) | 18679 | ps3*) |
18574 | 18680 | ||
@@ -18576,11 +18682,10 @@ pkg_failed=no | |||
18576 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 | 18682 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ESCAPE" >&5 |
18577 | $as_echo_n "checking for ESCAPE... " >&6; } | 18683 | $as_echo_n "checking for ESCAPE... " >&6; } |
18578 | 18684 | ||
18579 | if test -n "$PKG_CONFIG"; then | 18685 | if test -n "$ESCAPE_CFLAGS"; then |
18580 | if test -n "$ESCAPE_CFLAGS"; then | 18686 | pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" |
18581 | pkg_cv_ESCAPE_CFLAGS="$ESCAPE_CFLAGS" | 18687 | elif test -n "$PKG_CONFIG"; then |
18582 | else | 18688 | if test -n "$PKG_CONFIG" && \ |
18583 | if test -n "$PKG_CONFIG" && \ | ||
18584 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 | 18689 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 |
18585 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 | 18690 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 |
18586 | ac_status=$? | 18691 | ac_status=$? |
@@ -18590,15 +18695,13 @@ if test -n "$PKG_CONFIG"; then | |||
18590 | else | 18695 | else |
18591 | pkg_failed=yes | 18696 | pkg_failed=yes |
18592 | fi | 18697 | fi |
18593 | fi | 18698 | else |
18594 | else | 18699 | pkg_failed=untried |
18595 | pkg_failed=untried | ||
18596 | fi | 18700 | fi |
18597 | if test -n "$PKG_CONFIG"; then | 18701 | if test -n "$ESCAPE_LIBS"; then |
18598 | if test -n "$ESCAPE_LIBS"; then | 18702 | pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" |
18599 | pkg_cv_ESCAPE_LIBS="$ESCAPE_LIBS" | 18703 | elif test -n "$PKG_CONFIG"; then |
18600 | else | 18704 | if test -n "$PKG_CONFIG" && \ |
18601 | if test -n "$PKG_CONFIG" && \ | ||
18602 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 | 18705 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"escape\""; } >&5 |
18603 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 | 18706 | ($PKG_CONFIG --exists --print-errors "escape") 2>&5 |
18604 | ac_status=$? | 18707 | ac_status=$? |
@@ -18608,14 +18711,15 @@ if test -n "$PKG_CONFIG"; then | |||
18608 | else | 18711 | else |
18609 | pkg_failed=yes | 18712 | pkg_failed=yes |
18610 | fi | 18713 | fi |
18611 | fi | 18714 | else |
18612 | else | 18715 | pkg_failed=untried |
18613 | pkg_failed=untried | ||
18614 | fi | 18716 | fi |
18615 | 18717 | ||
18616 | 18718 | ||
18617 | 18719 | ||
18618 | if test $pkg_failed = yes; then | 18720 | if test $pkg_failed = yes; then |
18721 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
18722 | $as_echo "no" >&6; } | ||
18619 | 18723 | ||
18620 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 18724 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
18621 | _pkg_short_errors_supported=yes | 18725 | _pkg_short_errors_supported=yes |
@@ -18623,14 +18727,14 @@ else | |||
18623 | _pkg_short_errors_supported=no | 18727 | _pkg_short_errors_supported=no |
18624 | fi | 18728 | fi |
18625 | if test $_pkg_short_errors_supported = yes; then | 18729 | if test $_pkg_short_errors_supported = yes; then |
18626 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "escape"` | 18730 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "escape" 2>&1` |
18627 | else | 18731 | else |
18628 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "escape"` | 18732 | ESCAPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "escape" 2>&1` |
18629 | fi | 18733 | fi |
18630 | # Put the nasty error message in config.log where it belongs | 18734 | # Put the nasty error message in config.log where it belongs |
18631 | echo "$ESCAPE_PKG_ERRORS" >&5 | 18735 | echo "$ESCAPE_PKG_ERRORS" >&5 |
18632 | 18736 | ||
18633 | as_fn_error "Package requirements (escape) were not met: | 18737 | as_fn_error $? "Package requirements (escape) were not met: |
18634 | 18738 | ||
18635 | $ESCAPE_PKG_ERRORS | 18739 | $ESCAPE_PKG_ERRORS |
18636 | 18740 | ||
@@ -18639,12 +18743,13 @@ installed software in a non-standard prefix. | |||
18639 | 18743 | ||
18640 | Alternatively, you may set the environment variables ESCAPE_CFLAGS | 18744 | Alternatively, you may set the environment variables ESCAPE_CFLAGS |
18641 | and ESCAPE_LIBS to avoid the need to call pkg-config. | 18745 | and ESCAPE_LIBS to avoid the need to call pkg-config. |
18642 | See the pkg-config man page for more details. | 18746 | See the pkg-config man page for more details." "$LINENO" 5 |
18643 | " "$LINENO" 5 | ||
18644 | elif test $pkg_failed = untried; then | 18747 | elif test $pkg_failed = untried; then |
18748 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
18749 | $as_echo "no" >&6; } | ||
18645 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 18750 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
18646 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 18751 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
18647 | as_fn_error "The pkg-config script could not be found or is too old. Make sure it | 18752 | as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it |
18648 | is in your PATH or set the PKG_CONFIG environment variable to the full | 18753 | is in your PATH or set the PKG_CONFIG environment variable to the full |
18649 | path to pkg-config. | 18754 | path to pkg-config. |
18650 | 18755 | ||
@@ -18653,48 +18758,46 @@ and ESCAPE_LIBS to avoid the need to call pkg-config. | |||
18653 | See the pkg-config man page for more details. | 18758 | See the pkg-config man page for more details. |
18654 | 18759 | ||
18655 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. | 18760 | To get pkg-config, see <http://pkg-config.freedesktop.org/>. |
18656 | See \`config.log' for more details." "$LINENO" 5; } | 18761 | See \`config.log' for more details" "$LINENO" 5 ; } |
18657 | else | 18762 | else |
18658 | ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS | 18763 | ESCAPE_CFLAGS=$pkg_cv_ESCAPE_CFLAGS |
18659 | ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS | 18764 | ESCAPE_LIBS=$pkg_cv_ESCAPE_LIBS |
18660 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | 18765 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
18661 | $as_echo "yes" >&6; } | 18766 | $as_echo "yes" >&6; } |
18662 | : | 18767 | |
18663 | fi | 18768 | fi |
18664 | 18769 | ||
18665 | $as_echo "#define HAVE_ESCAPE 1" >>confdefs.h | 18770 | $as_echo "#define HAVE_ESCAPE 1" >>confdefs.h |
18666 | 18771 | ||
18667 | requirement_eina="escape" | 18772 | requirement_eina="${requirement_eina} escape" |
18668 | EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" | 18773 | EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" |
18669 | ;; | 18774 | ;; |
18670 | esac | 18775 | esac |
18671 | 18776 | ||
18672 | 18777 | ||
18673 | 18778 | ||
18674 | |||
18675 | |||
18676 | ### Checks for linker characteristics | 18779 | ### Checks for linker characteristics |
18677 | EINA_LIBS= | 18780 | EINA_LIBS= |
18678 | lt_enable_auto_import="" | 18781 | lt_enable_auto_import="" |
18679 | case "${host_os}" in | 18782 | case "${host_os}" in |
18680 | mingw*) | 18783 | mingw*) |
18681 | EINA_LIBS="-ldl ${EVIL_LIBS} -lm" | 18784 | EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm" |
18682 | lt_enable_auto_import="-Wl,--enable-auto-import" | 18785 | lt_enable_auto_import="-Wl,--enable-auto-import" |
18683 | ;; | 18786 | ;; |
18684 | dragonfly*|openbsd*) | 18787 | dragonfly*|openbsd*) |
18685 | EINA_LIBS="-lm" | 18788 | EINA_LIBS="${EINA_LIBS} -lm" |
18686 | ;; | 18789 | ;; |
18687 | freebsd*|netbsd*) | 18790 | freebsd*|netbsd*) |
18688 | EINA_LIBS="-lrt -lm" | 18791 | EINA_LIBS="${EINA_LIBS} -lrt -lm" |
18689 | ;; | 18792 | ;; |
18690 | darwin*) | 18793 | darwin*) |
18691 | EINA_LIBS="-lm" | 18794 | EINA_LIBS="${EINA_LIBS} -lm" |
18692 | ;; | 18795 | ;; |
18693 | cygwin*) | 18796 | cygwin*) |
18694 | EINA_LIBS="-ldl -lm" | 18797 | EINA_LIBS="${EINA_LIBS} -ldl -lm" |
18695 | ;; | 18798 | ;; |
18696 | *) | 18799 | *) |
18697 | EINA_LIBS="-ldl -lrt -lm" | 18800 | EINA_LIBS="${EINA_LIBS} -lrt -ldl -lm" |
18698 | ;; | 18801 | ;; |
18699 | esac | 18802 | esac |
18700 | case "$host_vendor" in | 18803 | case "$host_vendor" in |
@@ -18866,12 +18969,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu | |||
18866 | 18969 | ||
18867 | 18970 | ||
18868 | 18971 | ||
18869 | for ac_header in unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h | 18972 | for ac_header in unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h execinfo.h |
18870 | do : | 18973 | do : |
18871 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` | 18974 | as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` |
18872 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" | 18975 | ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" |
18873 | eval as_val=\$$as_ac_Header | 18976 | if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : |
18874 | if test "x$as_val" = x""yes; then : | ||
18875 | cat >>confdefs.h <<_ACEOF | 18977 | cat >>confdefs.h <<_ACEOF |
18876 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 | 18978 | #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 |
18877 | _ACEOF | 18979 | _ACEOF |
@@ -18914,9 +19016,8 @@ else | |||
18914 | if test "$ac_cv_type_wchar_t" = yes; then | 19016 | if test "$ac_cv_type_wchar_t" = yes; then |
18915 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | 19017 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 |
18916 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | 19018 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} |
18917 | { as_fn_set_status 77 | 19019 | as_fn_error 77 "cannot compute sizeof (wchar_t) |
18918 | as_fn_error "cannot compute sizeof (wchar_t) | 19020 | See \`config.log' for more details" "$LINENO" 5 ; } |
18919 | See \`config.log' for more details." "$LINENO" 5; }; } | ||
18920 | else | 19021 | else |
18921 | ac_cv_sizeof_wchar_t=0 | 19022 | ac_cv_sizeof_wchar_t=0 |
18922 | fi | 19023 | fi |
@@ -19160,8 +19261,7 @@ if test $ac_cv_os_cray = yes; then | |||
19160 | for ac_func in _getb67 GETB67 getb67; do | 19261 | for ac_func in _getb67 GETB67 getb67; do |
19161 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 19262 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19162 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 19263 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19163 | eval as_val=\$$as_ac_var | 19264 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19164 | if test "x$as_val" = x""yes; then : | ||
19165 | 19265 | ||
19166 | cat >>confdefs.h <<_ACEOF | 19266 | cat >>confdefs.h <<_ACEOF |
19167 | #define CRAY_STACKSEG_END $ac_func | 19267 | #define CRAY_STACKSEG_END $ac_func |
@@ -19223,12 +19323,11 @@ _ACEOF | |||
19223 | 19323 | ||
19224 | fi | 19324 | fi |
19225 | 19325 | ||
19226 | for ac_func in strlcpy openat fstatat fpathconf execvp | 19326 | for ac_func in strlcpy openat fstatat fpathconf execvp backtrace backtrace_symbols |
19227 | do : | 19327 | do : |
19228 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | 19328 | as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` |
19229 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | 19329 | ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" |
19230 | eval as_val=\$$as_ac_var | 19330 | if eval test \"x\$"$as_ac_var"\" = x"yes"; then : |
19231 | if test "x$as_val" = x""yes; then : | ||
19232 | cat >>confdefs.h <<_ACEOF | 19331 | cat >>confdefs.h <<_ACEOF |
19233 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 | 19332 | #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 |
19234 | _ACEOF | 19333 | _ACEOF |
@@ -20366,11 +20465,10 @@ pkg_failed=no | |||
20366 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 | 20465 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 |
20367 | $as_echo_n "checking for CHECK... " >&6; } | 20466 | $as_echo_n "checking for CHECK... " >&6; } |
20368 | 20467 | ||
20369 | if test -n "$PKG_CONFIG"; then | 20468 | if test -n "$CHECK_CFLAGS"; then |
20370 | if test -n "$CHECK_CFLAGS"; then | 20469 | pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" |
20371 | pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" | 20470 | elif test -n "$PKG_CONFIG"; then |
20372 | else | 20471 | if test -n "$PKG_CONFIG" && \ |
20373 | if test -n "$PKG_CONFIG" && \ | ||
20374 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | 20472 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 |
20375 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | 20473 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 |
20376 | ac_status=$? | 20474 | ac_status=$? |
@@ -20380,15 +20478,13 @@ if test -n "$PKG_CONFIG"; then | |||
20380 | else | 20478 | else |
20381 | pkg_failed=yes | 20479 | pkg_failed=yes |
20382 | fi | 20480 | fi |
20383 | fi | 20481 | else |
20384 | else | 20482 | pkg_failed=untried |
20385 | pkg_failed=untried | ||
20386 | fi | 20483 | fi |
20387 | if test -n "$PKG_CONFIG"; then | 20484 | if test -n "$CHECK_LIBS"; then |
20388 | if test -n "$CHECK_LIBS"; then | 20485 | pkg_cv_CHECK_LIBS="$CHECK_LIBS" |
20389 | pkg_cv_CHECK_LIBS="$CHECK_LIBS" | 20486 | elif test -n "$PKG_CONFIG"; then |
20390 | else | 20487 | if test -n "$PKG_CONFIG" && \ |
20391 | if test -n "$PKG_CONFIG" && \ | ||
20392 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 | 20488 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"check >= 0.9.5\""; } >&5 |
20393 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 | 20489 | ($PKG_CONFIG --exists --print-errors "check >= 0.9.5") 2>&5 |
20394 | ac_status=$? | 20490 | ac_status=$? |
@@ -20398,14 +20494,15 @@ if test -n "$PKG_CONFIG"; then | |||
20398 | else | 20494 | else |
20399 | pkg_failed=yes | 20495 | pkg_failed=yes |
20400 | fi | 20496 | fi |
20401 | fi | 20497 | else |
20402 | else | 20498 | pkg_failed=untried |
20403 | pkg_failed=untried | ||
20404 | fi | 20499 | fi |
20405 | 20500 | ||
20406 | 20501 | ||
20407 | 20502 | ||
20408 | if test $pkg_failed = yes; then | 20503 | if test $pkg_failed = yes; then |
20504 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20505 | $as_echo "no" >&6; } | ||
20409 | 20506 | ||
20410 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20507 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20411 | _pkg_short_errors_supported=yes | 20508 | _pkg_short_errors_supported=yes |
@@ -20413,17 +20510,17 @@ else | |||
20413 | _pkg_short_errors_supported=no | 20510 | _pkg_short_errors_supported=no |
20414 | fi | 20511 | fi |
20415 | if test $_pkg_short_errors_supported = yes; then | 20512 | if test $_pkg_short_errors_supported = yes; then |
20416 | CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "check >= 0.9.5"` | 20513 | CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "check >= 0.9.5" 2>&1` |
20417 | else | 20514 | else |
20418 | CHECK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "check >= 0.9.5"` | 20515 | CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors "check >= 0.9.5" 2>&1` |
20419 | fi | 20516 | fi |
20420 | # Put the nasty error message in config.log where it belongs | 20517 | # Put the nasty error message in config.log where it belongs |
20421 | echo "$CHECK_PKG_ERRORS" >&5 | 20518 | echo "$CHECK_PKG_ERRORS" >&5 |
20422 | 20519 | ||
20423 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 20520 | _efl_enable_tests="no" |
20424 | $as_echo "no" >&6; } | ||
20425 | _efl_enable_tests="no" | ||
20426 | elif test $pkg_failed = untried; then | 20521 | elif test $pkg_failed = untried; then |
20522 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20523 | $as_echo "no" >&6; } | ||
20427 | _efl_enable_tests="no" | 20524 | _efl_enable_tests="no" |
20428 | else | 20525 | else |
20429 | CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS | 20526 | CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS |
@@ -20618,11 +20715,10 @@ pkg_failed=no | |||
20618 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 | 20715 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 |
20619 | $as_echo_n "checking for GLIB... " >&6; } | 20716 | $as_echo_n "checking for GLIB... " >&6; } |
20620 | 20717 | ||
20621 | if test -n "$PKG_CONFIG"; then | 20718 | if test -n "$GLIB_CFLAGS"; then |
20622 | if test -n "$GLIB_CFLAGS"; then | 20719 | pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" |
20623 | pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" | 20720 | elif test -n "$PKG_CONFIG"; then |
20624 | else | 20721 | if test -n "$PKG_CONFIG" && \ |
20625 | if test -n "$PKG_CONFIG" && \ | ||
20626 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 | 20722 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 |
20627 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 | 20723 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 |
20628 | ac_status=$? | 20724 | ac_status=$? |
@@ -20632,15 +20728,13 @@ if test -n "$PKG_CONFIG"; then | |||
20632 | else | 20728 | else |
20633 | pkg_failed=yes | 20729 | pkg_failed=yes |
20634 | fi | 20730 | fi |
20635 | fi | 20731 | else |
20636 | else | 20732 | pkg_failed=untried |
20637 | pkg_failed=untried | ||
20638 | fi | 20733 | fi |
20639 | if test -n "$PKG_CONFIG"; then | 20734 | if test -n "$GLIB_LIBS"; then |
20640 | if test -n "$GLIB_LIBS"; then | 20735 | pkg_cv_GLIB_LIBS="$GLIB_LIBS" |
20641 | pkg_cv_GLIB_LIBS="$GLIB_LIBS" | 20736 | elif test -n "$PKG_CONFIG"; then |
20642 | else | 20737 | if test -n "$PKG_CONFIG" && \ |
20643 | if test -n "$PKG_CONFIG" && \ | ||
20644 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 | 20738 | { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5 |
20645 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 | 20739 | ($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5 |
20646 | ac_status=$? | 20740 | ac_status=$? |
@@ -20650,14 +20744,15 @@ if test -n "$PKG_CONFIG"; then | |||
20650 | else | 20744 | else |
20651 | pkg_failed=yes | 20745 | pkg_failed=yes |
20652 | fi | 20746 | fi |
20653 | fi | 20747 | else |
20654 | else | 20748 | pkg_failed=untried |
20655 | pkg_failed=untried | ||
20656 | fi | 20749 | fi |
20657 | 20750 | ||
20658 | 20751 | ||
20659 | 20752 | ||
20660 | if test $pkg_failed = yes; then | 20753 | if test $pkg_failed = yes; then |
20754 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20755 | $as_echo "no" >&6; } | ||
20661 | 20756 | ||
20662 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then | 20757 | if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then |
20663 | _pkg_short_errors_supported=yes | 20758 | _pkg_short_errors_supported=yes |
@@ -20665,17 +20760,17 @@ else | |||
20665 | _pkg_short_errors_supported=no | 20760 | _pkg_short_errors_supported=no |
20666 | fi | 20761 | fi |
20667 | if test $_pkg_short_errors_supported = yes; then | 20762 | if test $_pkg_short_errors_supported = yes; then |
20668 | GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0"` | 20763 | GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1` |
20669 | else | 20764 | else |
20670 | GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0"` | 20765 | GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1` |
20671 | fi | 20766 | fi |
20672 | # Put the nasty error message in config.log where it belongs | 20767 | # Put the nasty error message in config.log where it belongs |
20673 | echo "$GLIB_PKG_ERRORS" >&5 | 20768 | echo "$GLIB_PKG_ERRORS" >&5 |
20674 | 20769 | ||
20675 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | 20770 | have_module="no" |
20676 | $as_echo "no" >&6; } | ||
20677 | have_module="no" | ||
20678 | elif test $pkg_failed = untried; then | 20771 | elif test $pkg_failed = untried; then |
20772 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | ||
20773 | $as_echo "no" >&6; } | ||
20679 | have_module="no" | 20774 | have_module="no" |
20680 | else | 20775 | else |
20681 | GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS | 20776 | GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS |
@@ -20884,6 +20979,7 @@ DEFS=-DHAVE_CONFIG_H | |||
20884 | 20979 | ||
20885 | ac_libobjs= | 20980 | ac_libobjs= |
20886 | ac_ltlibobjs= | 20981 | ac_ltlibobjs= |
20982 | U= | ||
20887 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | 20983 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
20888 | # 1. Remove the extension, and $U if already installed. | 20984 | # 1. Remove the extension, and $U if already installed. |
20889 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' | 20985 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
@@ -20907,148 +21003,152 @@ else | |||
20907 | fi | 21003 | fi |
20908 | 21004 | ||
20909 | if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then | 21005 | if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then |
20910 | as_fn_error "conditional \"AMDEP\" was never defined. | 21006 | as_fn_error $? "conditional \"AMDEP\" was never defined. |
20911 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21007 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20912 | fi | 21008 | fi |
20913 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then | 21009 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then |
20914 | as_fn_error "conditional \"am__fastdepCC\" was never defined. | 21010 | as_fn_error $? "conditional \"am__fastdepCC\" was never defined. |
20915 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21011 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20916 | fi | 21012 | fi |
20917 | if test -z "${EINA_HAVE_THREADS_TRUE}" && test -z "${EINA_HAVE_THREADS_FALSE}"; then | 21013 | if test -z "${EINA_HAVE_THREADS_TRUE}" && test -z "${EINA_HAVE_THREADS_FALSE}"; then |
20918 | as_fn_error "conditional \"EINA_HAVE_THREADS\" was never defined. | 21014 | as_fn_error $? "conditional \"EINA_HAVE_THREADS\" was never defined. |
20919 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21015 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20920 | fi | 21016 | fi |
20921 | if test -z "${EINA_DEBUG_THREADS_TRUE}" && test -z "${EINA_DEBUG_THREADS_FALSE}"; then | 21017 | if test -z "${EINA_DEBUG_THREADS_TRUE}" && test -z "${EINA_DEBUG_THREADS_FALSE}"; then |
20922 | as_fn_error "conditional \"EINA_DEBUG_THREADS\" was never defined. | 21018 | as_fn_error $? "conditional \"EINA_DEBUG_THREADS\" was never defined. |
20923 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21019 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20924 | fi | 21020 | fi |
20925 | if test -z "${EINA_ON_OFF_THREADS_TRUE}" && test -z "${EINA_ON_OFF_THREADS_FALSE}"; then | 21021 | if test -z "${EINA_ON_OFF_THREADS_TRUE}" && test -z "${EINA_ON_OFF_THREADS_FALSE}"; then |
20926 | as_fn_error "conditional \"EINA_ON_OFF_THREADS\" was never defined. | 21022 | as_fn_error $? "conditional \"EINA_ON_OFF_THREADS\" was never defined. |
20927 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21023 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20928 | fi | 21024 | fi |
20929 | if test -z "${SAFETY_CHECKS_TRUE}" && test -z "${SAFETY_CHECKS_FALSE}"; then | 21025 | if test -z "${SAFETY_CHECKS_TRUE}" && test -z "${SAFETY_CHECKS_FALSE}"; then |
20930 | as_fn_error "conditional \"SAFETY_CHECKS\" was never defined. | 21026 | as_fn_error $? "conditional \"SAFETY_CHECKS\" was never defined. |
20931 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21027 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20932 | fi | 21028 | fi |
20933 | if test -z "${EINA_AMALGAMATION_TRUE}" && test -z "${EINA_AMALGAMATION_FALSE}"; then | 21029 | if test -z "${EINA_AMALGAMATION_TRUE}" && test -z "${EINA_AMALGAMATION_FALSE}"; then |
20934 | as_fn_error "conditional \"EINA_AMALGAMATION\" was never defined. | 21030 | as_fn_error $? "conditional \"EINA_AMALGAMATION\" was never defined. |
20935 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21031 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20936 | fi | 21032 | fi |
20937 | if test -z "${EINA_ENABLE_BENCHMARK_E17_TRUE}" && test -z "${EINA_ENABLE_BENCHMARK_E17_FALSE}"; then | 21033 | if test -z "${EINA_ENABLE_BENCHMARK_E17_TRUE}" && test -z "${EINA_ENABLE_BENCHMARK_E17_FALSE}"; then |
20938 | as_fn_error "conditional \"EINA_ENABLE_BENCHMARK_E17\" was never defined. | 21034 | as_fn_error $? "conditional \"EINA_ENABLE_BENCHMARK_E17\" was never defined. |
20939 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21035 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20940 | fi | 21036 | fi |
20941 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then | 21037 | if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then |
20942 | as_fn_error "conditional \"am__fastdepCC\" was never defined. | 21038 | as_fn_error $? "conditional \"am__fastdepCC\" was never defined. |
20943 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21039 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20944 | fi | 21040 | fi |
20945 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then | 21041 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then |
20946 | as_fn_error "conditional \"am__fastdepCXX\" was never defined. | 21042 | as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. |
20947 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21043 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20948 | fi | 21044 | fi |
20949 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then | 21045 | if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then |
20950 | as_fn_error "conditional \"am__fastdepCXX\" was never defined. | 21046 | as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. |
20951 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21047 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20952 | fi | 21048 | fi |
20953 | if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then | 21049 | if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then |
20954 | as_fn_error "conditional \"EFL_BUILD_DOC\" was never defined. | 21050 | as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined. |
20955 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21051 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20956 | fi | 21052 | fi |
20957 | if test -z "${BUILD_TILER_EXAMPLE_TRUE}" && test -z "${BUILD_TILER_EXAMPLE_FALSE}"; then | 21053 | if test -z "${BUILD_TILER_EXAMPLE_TRUE}" && test -z "${BUILD_TILER_EXAMPLE_FALSE}"; then |
20958 | as_fn_error "conditional \"BUILD_TILER_EXAMPLE\" was never defined. | 21054 | as_fn_error $? "conditional \"BUILD_TILER_EXAMPLE\" was never defined. |
20959 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21055 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20960 | fi | 21056 | fi |
20961 | 21057 | ||
20962 | if test -z "${EINA_HAVE_WINCE_TRUE}" && test -z "${EINA_HAVE_WINCE_FALSE}"; then | 21058 | if test -z "${EINA_HAVE_WINCE_TRUE}" && test -z "${EINA_HAVE_WINCE_FALSE}"; then |
20963 | as_fn_error "conditional \"EINA_HAVE_WINCE\" was never defined. | 21059 | as_fn_error $? "conditional \"EINA_HAVE_WINCE\" was never defined. |
20964 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21060 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20965 | fi | 21061 | fi |
20966 | if test -z "${EINA_HAVE_WIN32_TRUE}" && test -z "${EINA_HAVE_WIN32_FALSE}"; then | 21062 | if test -z "${EINA_HAVE_WIN32_TRUE}" && test -z "${EINA_HAVE_WIN32_FALSE}"; then |
20967 | as_fn_error "conditional \"EINA_HAVE_WIN32\" was never defined. | 21063 | as_fn_error $? "conditional \"EINA_HAVE_WIN32\" was never defined. |
21064 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
21065 | fi | ||
21066 | if test -z "${EINA_HAVE_EXOTIC_TRUE}" && test -z "${EINA_HAVE_EXOTIC_FALSE}"; then | ||
21067 | as_fn_error $? "conditional \"EINA_HAVE_EXOTIC\" was never defined. | ||
20968 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21068 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20969 | fi | 21069 | fi |
20970 | if test -z "${EINA_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_BUILD_CHAINED_POOL_FALSE}"; then | 21070 | if test -z "${EINA_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_BUILD_CHAINED_POOL_FALSE}"; then |
20971 | as_fn_error "conditional \"EINA_BUILD_CHAINED_POOL\" was never defined. | 21071 | as_fn_error $? "conditional \"EINA_BUILD_CHAINED_POOL\" was never defined. |
20972 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21072 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20973 | fi | 21073 | fi |
20974 | if test -z "${EINA_STATIC_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_STATIC_BUILD_CHAINED_POOL_FALSE}"; then | 21074 | if test -z "${EINA_STATIC_BUILD_CHAINED_POOL_TRUE}" && test -z "${EINA_STATIC_BUILD_CHAINED_POOL_FALSE}"; then |
20975 | as_fn_error "conditional \"EINA_STATIC_BUILD_CHAINED_POOL\" was never defined. | 21075 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_CHAINED_POOL\" was never defined. |
20976 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21076 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20977 | fi | 21077 | fi |
20978 | if test -z "${EINA_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_BUILD_EMEMOA_FIXED_FALSE}"; then | 21078 | if test -z "${EINA_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_BUILD_EMEMOA_FIXED_FALSE}"; then |
20979 | as_fn_error "conditional \"EINA_BUILD_EMEMOA_FIXED\" was never defined. | 21079 | as_fn_error $? "conditional \"EINA_BUILD_EMEMOA_FIXED\" was never defined. |
20980 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21080 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20981 | fi | 21081 | fi |
20982 | if test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE}"; then | 21082 | if test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_FIXED_FALSE}"; then |
20983 | as_fn_error "conditional \"EINA_STATIC_BUILD_EMEMOA_FIXED\" was never defined. | 21083 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_EMEMOA_FIXED\" was never defined. |
20984 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21084 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20985 | fi | 21085 | fi |
20986 | if test -z "${EINA_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_BUILD_EMEMOA_UNKNOWN_FALSE}"; then | 21086 | if test -z "${EINA_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_BUILD_EMEMOA_UNKNOWN_FALSE}"; then |
20987 | as_fn_error "conditional \"EINA_BUILD_EMEMOA_UNKNOWN\" was never defined. | 21087 | as_fn_error $? "conditional \"EINA_BUILD_EMEMOA_UNKNOWN\" was never defined. |
20988 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21088 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20989 | fi | 21089 | fi |
20990 | if test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE}"; then | 21090 | if test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_TRUE}" && test -z "${EINA_STATIC_BUILD_EMEMOA_UNKNOWN_FALSE}"; then |
20991 | as_fn_error "conditional \"EINA_STATIC_BUILD_EMEMOA_UNKNOWN\" was never defined. | 21091 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_EMEMOA_UNKNOWN\" was never defined. |
20992 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21092 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20993 | fi | 21093 | fi |
20994 | if test -z "${EINA_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_BUILD_FIXED_BITMAP_FALSE}"; then | 21094 | if test -z "${EINA_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_BUILD_FIXED_BITMAP_FALSE}"; then |
20995 | as_fn_error "conditional \"EINA_BUILD_FIXED_BITMAP\" was never defined. | 21095 | as_fn_error $? "conditional \"EINA_BUILD_FIXED_BITMAP\" was never defined. |
20996 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21096 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
20997 | fi | 21097 | fi |
20998 | if test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_FALSE}"; then | 21098 | if test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_TRUE}" && test -z "${EINA_STATIC_BUILD_FIXED_BITMAP_FALSE}"; then |
20999 | as_fn_error "conditional \"EINA_STATIC_BUILD_FIXED_BITMAP\" was never defined. | 21099 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_FIXED_BITMAP\" was never defined. |
21000 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21100 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21001 | fi | 21101 | fi |
21002 | if test -z "${EINA_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_BUILD_PASS_THROUGH_FALSE}"; then | 21102 | if test -z "${EINA_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_BUILD_PASS_THROUGH_FALSE}"; then |
21003 | as_fn_error "conditional \"EINA_BUILD_PASS_THROUGH\" was never defined. | 21103 | as_fn_error $? "conditional \"EINA_BUILD_PASS_THROUGH\" was never defined. |
21004 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21104 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21005 | fi | 21105 | fi |
21006 | if test -z "${EINA_STATIC_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_STATIC_BUILD_PASS_THROUGH_FALSE}"; then | 21106 | if test -z "${EINA_STATIC_BUILD_PASS_THROUGH_TRUE}" && test -z "${EINA_STATIC_BUILD_PASS_THROUGH_FALSE}"; then |
21007 | as_fn_error "conditional \"EINA_STATIC_BUILD_PASS_THROUGH\" was never defined. | 21107 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_PASS_THROUGH\" was never defined. |
21008 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21108 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21009 | fi | 21109 | fi |
21010 | if test -z "${EINA_BUILD_BUDDY_TRUE}" && test -z "${EINA_BUILD_BUDDY_FALSE}"; then | 21110 | if test -z "${EINA_BUILD_BUDDY_TRUE}" && test -z "${EINA_BUILD_BUDDY_FALSE}"; then |
21011 | as_fn_error "conditional \"EINA_BUILD_BUDDY\" was never defined. | 21111 | as_fn_error $? "conditional \"EINA_BUILD_BUDDY\" was never defined. |
21012 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21112 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21013 | fi | 21113 | fi |
21014 | if test -z "${EINA_STATIC_BUILD_BUDDY_TRUE}" && test -z "${EINA_STATIC_BUILD_BUDDY_FALSE}"; then | 21114 | if test -z "${EINA_STATIC_BUILD_BUDDY_TRUE}" && test -z "${EINA_STATIC_BUILD_BUDDY_FALSE}"; then |
21015 | as_fn_error "conditional \"EINA_STATIC_BUILD_BUDDY\" was never defined. | 21115 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_BUDDY\" was never defined. |
21016 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21116 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21017 | fi | 21117 | fi |
21018 | if test -z "${EINA_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_BUILD_ONE_BIG_FALSE}"; then | 21118 | if test -z "${EINA_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_BUILD_ONE_BIG_FALSE}"; then |
21019 | as_fn_error "conditional \"EINA_BUILD_ONE_BIG\" was never defined. | 21119 | as_fn_error $? "conditional \"EINA_BUILD_ONE_BIG\" was never defined. |
21020 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21120 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21021 | fi | 21121 | fi |
21022 | if test -z "${EINA_STATIC_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_STATIC_BUILD_ONE_BIG_FALSE}"; then | 21122 | if test -z "${EINA_STATIC_BUILD_ONE_BIG_TRUE}" && test -z "${EINA_STATIC_BUILD_ONE_BIG_FALSE}"; then |
21023 | as_fn_error "conditional \"EINA_STATIC_BUILD_ONE_BIG\" was never defined. | 21123 | as_fn_error $? "conditional \"EINA_STATIC_BUILD_ONE_BIG\" was never defined. |
21024 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21124 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21025 | fi | 21125 | fi |
21026 | if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then | 21126 | if test -z "${EFL_ENABLE_TESTS_TRUE}" && test -z "${EFL_ENABLE_TESTS_FALSE}"; then |
21027 | as_fn_error "conditional \"EFL_ENABLE_TESTS\" was never defined. | 21127 | as_fn_error $? "conditional \"EFL_ENABLE_TESTS\" was never defined. |
21028 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21128 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21029 | fi | 21129 | fi |
21030 | if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then | 21130 | if test -z "${EFL_ENABLE_COVERAGE_TRUE}" && test -z "${EFL_ENABLE_COVERAGE_FALSE}"; then |
21031 | as_fn_error "conditional \"EFL_ENABLE_COVERAGE\" was never defined. | 21131 | as_fn_error $? "conditional \"EFL_ENABLE_COVERAGE\" was never defined. |
21032 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21132 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21033 | fi | 21133 | fi |
21034 | if test -z "${EFL_ENABLE_BENCHMARK_TRUE}" && test -z "${EFL_ENABLE_BENCHMARK_FALSE}"; then | 21134 | if test -z "${EFL_ENABLE_BENCHMARK_TRUE}" && test -z "${EFL_ENABLE_BENCHMARK_FALSE}"; then |
21035 | as_fn_error "conditional \"EFL_ENABLE_BENCHMARK\" was never defined. | 21135 | as_fn_error $? "conditional \"EFL_ENABLE_BENCHMARK\" was never defined. |
21036 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21136 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21037 | fi | 21137 | fi |
21038 | if test -z "${EINA_HAVE_GLIB_TRUE}" && test -z "${EINA_HAVE_GLIB_FALSE}"; then | 21138 | if test -z "${EINA_HAVE_GLIB_TRUE}" && test -z "${EINA_HAVE_GLIB_FALSE}"; then |
21039 | as_fn_error "conditional \"EINA_HAVE_GLIB\" was never defined. | 21139 | as_fn_error $? "conditional \"EINA_HAVE_GLIB\" was never defined. |
21040 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21140 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21041 | fi | 21141 | fi |
21042 | if test -z "${CITYHASH_BENCH_TRUE}" && test -z "${CITYHASH_BENCH_FALSE}"; then | 21142 | if test -z "${CITYHASH_BENCH_TRUE}" && test -z "${CITYHASH_BENCH_FALSE}"; then |
21043 | as_fn_error "conditional \"CITYHASH_BENCH\" was never defined. | 21143 | as_fn_error $? "conditional \"CITYHASH_BENCH\" was never defined. |
21044 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21144 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21045 | fi | 21145 | fi |
21046 | if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then | 21146 | if test -z "${EFL_BUILD_EXAMPLES_TRUE}" && test -z "${EFL_BUILD_EXAMPLES_FALSE}"; then |
21047 | as_fn_error "conditional \"EFL_BUILD_EXAMPLES\" was never defined. | 21147 | as_fn_error $? "conditional \"EFL_BUILD_EXAMPLES\" was never defined. |
21048 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21148 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21049 | fi | 21149 | fi |
21050 | if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then | 21150 | if test -z "${EFL_INSTALL_EXAMPLES_TRUE}" && test -z "${EFL_INSTALL_EXAMPLES_FALSE}"; then |
21051 | as_fn_error "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. | 21151 | as_fn_error $? "conditional \"EFL_INSTALL_EXAMPLES\" was never defined. |
21052 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | 21152 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 |
21053 | fi | 21153 | fi |
21054 | 21154 | ||
@@ -21198,19 +21298,19 @@ export LANGUAGE | |||
21198 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH | 21298 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
21199 | 21299 | ||
21200 | 21300 | ||
21201 | # as_fn_error ERROR [LINENO LOG_FD] | 21301 | # as_fn_error STATUS ERROR [LINENO LOG_FD] |
21202 | # --------------------------------- | 21302 | # ---------------------------------------- |
21203 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are | 21303 | # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are |
21204 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the | 21304 | # provided, also output the error to LOG_FD, referencing LINENO. Then exit the |
21205 | # script with status $?, using 1 if that was 0. | 21305 | # script with STATUS, using 1 if that was 0. |
21206 | as_fn_error () | 21306 | as_fn_error () |
21207 | { | 21307 | { |
21208 | as_status=$?; test $as_status -eq 0 && as_status=1 | 21308 | as_status=$1; test $as_status -eq 0 && as_status=1 |
21209 | if test "$3"; then | 21309 | if test "$4"; then |
21210 | as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack | 21310 | as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack |
21211 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 | 21311 | $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 |
21212 | fi | 21312 | fi |
21213 | $as_echo "$as_me: error: $1" >&2 | 21313 | $as_echo "$as_me: error: $2" >&2 |
21214 | as_fn_exit $as_status | 21314 | as_fn_exit $as_status |
21215 | } # as_fn_error | 21315 | } # as_fn_error |
21216 | 21316 | ||
@@ -21406,7 +21506,7 @@ $as_echo X"$as_dir" | | |||
21406 | test -d "$as_dir" && break | 21506 | test -d "$as_dir" && break |
21407 | done | 21507 | done |
21408 | test -z "$as_dirs" || eval "mkdir $as_dirs" | 21508 | test -z "$as_dirs" || eval "mkdir $as_dirs" |
21409 | } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" | 21509 | } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" |
21410 | 21510 | ||
21411 | 21511 | ||
21412 | } # as_fn_mkdir_p | 21512 | } # as_fn_mkdir_p |
@@ -21459,8 +21559,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |||
21459 | # report actual input values of CONFIG_FILES etc. instead of their | 21559 | # report actual input values of CONFIG_FILES etc. instead of their |
21460 | # values after options handling. | 21560 | # values after options handling. |
21461 | ac_log=" | 21561 | ac_log=" |
21462 | This file was extended by eina $as_me 1.1.99.67344, which was | 21562 | This file was extended by eina $as_me 1.2.0-alpha, which was |
21463 | generated by GNU Autoconf 2.65. Invocation command line was | 21563 | generated by GNU Autoconf 2.67. Invocation command line was |
21464 | 21564 | ||
21465 | CONFIG_FILES = $CONFIG_FILES | 21565 | CONFIG_FILES = $CONFIG_FILES |
21466 | CONFIG_HEADERS = $CONFIG_HEADERS | 21566 | CONFIG_HEADERS = $CONFIG_HEADERS |
@@ -21525,11 +21625,11 @@ _ACEOF | |||
21525 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | 21625 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
21526 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | 21626 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
21527 | ac_cs_version="\\ | 21627 | ac_cs_version="\\ |
21528 | eina config.status 1.1.99.67344 | 21628 | eina config.status 1.2.0-alpha |
21529 | configured by $0, generated by GNU Autoconf 2.65, | 21629 | configured by $0, generated by GNU Autoconf 2.67, |
21530 | with options \\"\$ac_cs_config\\" | 21630 | with options \\"\$ac_cs_config\\" |
21531 | 21631 | ||
21532 | Copyright (C) 2009 Free Software Foundation, Inc. | 21632 | Copyright (C) 2010 Free Software Foundation, Inc. |
21533 | This config.status script is free software; the Free Software Foundation | 21633 | This config.status script is free software; the Free Software Foundation |
21534 | gives unlimited permission to copy, distribute and modify it." | 21634 | gives unlimited permission to copy, distribute and modify it." |
21535 | 21635 | ||
@@ -21547,11 +21647,16 @@ ac_need_defaults=: | |||
21547 | while test $# != 0 | 21647 | while test $# != 0 |
21548 | do | 21648 | do |
21549 | case $1 in | 21649 | case $1 in |
21550 | --*=*) | 21650 | --*=?*) |
21551 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | 21651 | ac_option=`expr "X$1" : 'X\([^=]*\)='` |
21552 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` | 21652 | ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` |
21553 | ac_shift=: | 21653 | ac_shift=: |
21554 | ;; | 21654 | ;; |
21655 | --*=) | ||
21656 | ac_option=`expr "X$1" : 'X\([^=]*\)='` | ||
21657 | ac_optarg= | ||
21658 | ac_shift=: | ||
21659 | ;; | ||
21555 | *) | 21660 | *) |
21556 | ac_option=$1 | 21661 | ac_option=$1 |
21557 | ac_optarg=$2 | 21662 | ac_optarg=$2 |
@@ -21573,6 +21678,7 @@ do | |||
21573 | $ac_shift | 21678 | $ac_shift |
21574 | case $ac_optarg in | 21679 | case $ac_optarg in |
21575 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; | 21680 | *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; |
21681 | '') as_fn_error $? "missing file argument" ;; | ||
21576 | esac | 21682 | esac |
21577 | as_fn_append CONFIG_FILES " '$ac_optarg'" | 21683 | as_fn_append CONFIG_FILES " '$ac_optarg'" |
21578 | ac_need_defaults=false;; | 21684 | ac_need_defaults=false;; |
@@ -21585,7 +21691,7 @@ do | |||
21585 | ac_need_defaults=false;; | 21691 | ac_need_defaults=false;; |
21586 | --he | --h) | 21692 | --he | --h) |
21587 | # Conflict between --help and --header | 21693 | # Conflict between --help and --header |
21588 | as_fn_error "ambiguous option: \`$1' | 21694 | as_fn_error $? "ambiguous option: \`$1' |
21589 | Try \`$0 --help' for more information.";; | 21695 | Try \`$0 --help' for more information.";; |
21590 | --help | --hel | -h ) | 21696 | --help | --hel | -h ) |
21591 | $as_echo "$ac_cs_usage"; exit ;; | 21697 | $as_echo "$ac_cs_usage"; exit ;; |
@@ -21594,7 +21700,7 @@ Try \`$0 --help' for more information.";; | |||
21594 | ac_cs_silent=: ;; | 21700 | ac_cs_silent=: ;; |
21595 | 21701 | ||
21596 | # This is an error. | 21702 | # This is an error. |
21597 | -*) as_fn_error "unrecognized option: \`$1' | 21703 | -*) as_fn_error $? "unrecognized option: \`$1' |
21598 | Try \`$0 --help' for more information." ;; | 21704 | Try \`$0 --help' for more information." ;; |
21599 | 21705 | ||
21600 | *) as_fn_append ac_config_targets " $1" | 21706 | *) as_fn_append ac_config_targets " $1" |
@@ -22024,7 +22130,7 @@ do | |||
22024 | "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; | 22130 | "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;; |
22025 | "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; | 22131 | "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;; |
22026 | 22132 | ||
22027 | *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; | 22133 | *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; |
22028 | esac | 22134 | esac |
22029 | done | 22135 | done |
22030 | 22136 | ||
@@ -22062,7 +22168,7 @@ $debug || | |||
22062 | { | 22168 | { |
22063 | tmp=./conf$$-$RANDOM | 22169 | tmp=./conf$$-$RANDOM |
22064 | (umask 077 && mkdir "$tmp") | 22170 | (umask 077 && mkdir "$tmp") |
22065 | } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 | 22171 | } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 |
22066 | 22172 | ||
22067 | # Set up the scripts for CONFIG_FILES section. | 22173 | # Set up the scripts for CONFIG_FILES section. |
22068 | # No need to generate them if there are no CONFIG_FILES. | 22174 | # No need to generate them if there are no CONFIG_FILES. |
@@ -22079,7 +22185,7 @@ if test "x$ac_cr" = x; then | |||
22079 | fi | 22185 | fi |
22080 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` | 22186 | ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` |
22081 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then | 22187 | if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then |
22082 | ac_cs_awk_cr='\r' | 22188 | ac_cs_awk_cr='\\r' |
22083 | else | 22189 | else |
22084 | ac_cs_awk_cr=$ac_cr | 22190 | ac_cs_awk_cr=$ac_cr |
22085 | fi | 22191 | fi |
@@ -22093,18 +22199,18 @@ _ACEOF | |||
22093 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && | 22199 | echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && |
22094 | echo "_ACEOF" | 22200 | echo "_ACEOF" |
22095 | } >conf$$subs.sh || | 22201 | } >conf$$subs.sh || |
22096 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 22202 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
22097 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` | 22203 | ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` |
22098 | ac_delim='%!_!# ' | 22204 | ac_delim='%!_!# ' |
22099 | for ac_last_try in false false false false false :; do | 22205 | for ac_last_try in false false false false false :; do |
22100 | . ./conf$$subs.sh || | 22206 | . ./conf$$subs.sh || |
22101 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 22207 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
22102 | 22208 | ||
22103 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` | 22209 | ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` |
22104 | if test $ac_delim_n = $ac_delim_num; then | 22210 | if test $ac_delim_n = $ac_delim_num; then |
22105 | break | 22211 | break |
22106 | elif $ac_last_try; then | 22212 | elif $ac_last_try; then |
22107 | as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 | 22213 | as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 |
22108 | else | 22214 | else |
22109 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 22215 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
22110 | fi | 22216 | fi |
@@ -22193,20 +22299,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then | |||
22193 | else | 22299 | else |
22194 | cat | 22300 | cat |
22195 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ | 22301 | fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ |
22196 | || as_fn_error "could not setup config files machinery" "$LINENO" 5 | 22302 | || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 |
22197 | _ACEOF | 22303 | _ACEOF |
22198 | 22304 | ||
22199 | # VPATH may cause trouble with some makes, so we remove $(srcdir), | 22305 | # VPATH may cause trouble with some makes, so we remove sole $(srcdir), |
22200 | # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and | 22306 | # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and |
22201 | # trailing colons and then remove the whole line if VPATH becomes empty | 22307 | # trailing colons and then remove the whole line if VPATH becomes empty |
22202 | # (actually we leave an empty line to preserve line numbers). | 22308 | # (actually we leave an empty line to preserve line numbers). |
22203 | if test "x$srcdir" = x.; then | 22309 | if test "x$srcdir" = x.; then |
22204 | ac_vpsub='/^[ ]*VPATH[ ]*=/{ | 22310 | ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ |
22205 | s/:*\$(srcdir):*/:/ | 22311 | h |
22206 | s/:*\${srcdir}:*/:/ | 22312 | s/// |
22207 | s/:*@srcdir@:*/:/ | 22313 | s/^/:/ |
22208 | s/^\([^=]*=[ ]*\):*/\1/ | 22314 | s/[ ]*$/:/ |
22315 | s/:\$(srcdir):/:/g | ||
22316 | s/:\${srcdir}:/:/g | ||
22317 | s/:@srcdir@:/:/g | ||
22318 | s/^:*// | ||
22209 | s/:*$// | 22319 | s/:*$// |
22320 | x | ||
22321 | s/\(=[ ]*\).*/\1/ | ||
22322 | G | ||
22323 | s/\n// | ||
22210 | s/^[^=]*=[ ]*$// | 22324 | s/^[^=]*=[ ]*$// |
22211 | }' | 22325 | }' |
22212 | fi | 22326 | fi |
@@ -22234,7 +22348,7 @@ for ac_last_try in false false :; do | |||
22234 | if test -z "$ac_t"; then | 22348 | if test -z "$ac_t"; then |
22235 | break | 22349 | break |
22236 | elif $ac_last_try; then | 22350 | elif $ac_last_try; then |
22237 | as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 | 22351 | as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 |
22238 | else | 22352 | else |
22239 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " | 22353 | ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
22240 | fi | 22354 | fi |
@@ -22319,7 +22433,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | |||
22319 | _ACAWK | 22433 | _ACAWK |
22320 | _ACEOF | 22434 | _ACEOF |
22321 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | 22435 | cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 |
22322 | as_fn_error "could not setup config headers machinery" "$LINENO" 5 | 22436 | as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 |
22323 | fi # test -n "$CONFIG_HEADERS" | 22437 | fi # test -n "$CONFIG_HEADERS" |
22324 | 22438 | ||
22325 | 22439 | ||
@@ -22332,7 +22446,7 @@ do | |||
22332 | esac | 22446 | esac |
22333 | case $ac_mode$ac_tag in | 22447 | case $ac_mode$ac_tag in |
22334 | :[FHL]*:*);; | 22448 | :[FHL]*:*);; |
22335 | :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; | 22449 | :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; |
22336 | :[FH]-) ac_tag=-:-;; | 22450 | :[FH]-) ac_tag=-:-;; |
22337 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; | 22451 | :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
22338 | esac | 22452 | esac |
@@ -22360,7 +22474,7 @@ do | |||
22360 | [\\/$]*) false;; | 22474 | [\\/$]*) false;; |
22361 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; | 22475 | *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
22362 | esac || | 22476 | esac || |
22363 | as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; | 22477 | as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; |
22364 | esac | 22478 | esac |
22365 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac | 22479 | case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac |
22366 | as_fn_append ac_file_inputs " '$ac_f'" | 22480 | as_fn_append ac_file_inputs " '$ac_f'" |
@@ -22387,7 +22501,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} | |||
22387 | 22501 | ||
22388 | case $ac_tag in | 22502 | case $ac_tag in |
22389 | *:-:* | *:-) cat >"$tmp/stdin" \ | 22503 | *:-:* | *:-) cat >"$tmp/stdin" \ |
22390 | || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; | 22504 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; |
22391 | esac | 22505 | esac |
22392 | ;; | 22506 | ;; |
22393 | esac | 22507 | esac |
@@ -22524,22 +22638,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t | |||
22524 | $ac_datarootdir_hack | 22638 | $ac_datarootdir_hack |
22525 | " | 22639 | " |
22526 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ | 22640 | eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ |
22527 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 22641 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
22528 | 22642 | ||
22529 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && | 22643 | test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
22530 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && | 22644 | { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && |
22531 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && | 22645 | { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && |
22532 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 22646 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
22533 | which seems to be undefined. Please make sure it is defined." >&5 | 22647 | which seems to be undefined. Please make sure it is defined" >&5 |
22534 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' | 22648 | $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
22535 | which seems to be undefined. Please make sure it is defined." >&2;} | 22649 | which seems to be undefined. Please make sure it is defined" >&2;} |
22536 | 22650 | ||
22537 | rm -f "$tmp/stdin" | 22651 | rm -f "$tmp/stdin" |
22538 | case $ac_file in | 22652 | case $ac_file in |
22539 | -) cat "$tmp/out" && rm -f "$tmp/out";; | 22653 | -) cat "$tmp/out" && rm -f "$tmp/out";; |
22540 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; | 22654 | *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; |
22541 | esac \ | 22655 | esac \ |
22542 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 22656 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
22543 | ;; | 22657 | ;; |
22544 | :H) | 22658 | :H) |
22545 | # | 22659 | # |
@@ -22550,19 +22664,19 @@ which seems to be undefined. Please make sure it is defined." >&2;} | |||
22550 | $as_echo "/* $configure_input */" \ | 22664 | $as_echo "/* $configure_input */" \ |
22551 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" | 22665 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" |
22552 | } >"$tmp/config.h" \ | 22666 | } >"$tmp/config.h" \ |
22553 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 22667 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
22554 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then | 22668 | if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then |
22555 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 | 22669 | { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 |
22556 | $as_echo "$as_me: $ac_file is unchanged" >&6;} | 22670 | $as_echo "$as_me: $ac_file is unchanged" >&6;} |
22557 | else | 22671 | else |
22558 | rm -f "$ac_file" | 22672 | rm -f "$ac_file" |
22559 | mv "$tmp/config.h" "$ac_file" \ | 22673 | mv "$tmp/config.h" "$ac_file" \ |
22560 | || as_fn_error "could not create $ac_file" "$LINENO" 5 | 22674 | || as_fn_error $? "could not create $ac_file" "$LINENO" 5 |
22561 | fi | 22675 | fi |
22562 | else | 22676 | else |
22563 | $as_echo "/* $configure_input */" \ | 22677 | $as_echo "/* $configure_input */" \ |
22564 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ | 22678 | && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ |
22565 | || as_fn_error "could not create -" "$LINENO" 5 | 22679 | || as_fn_error $? "could not create -" "$LINENO" 5 |
22566 | fi | 22680 | fi |
22567 | # Compute "$ac_file"'s index in $config_headers. | 22681 | # Compute "$ac_file"'s index in $config_headers. |
22568 | _am_arg="$ac_file" | 22682 | _am_arg="$ac_file" |
@@ -23520,7 +23634,7 @@ _ACEOF | |||
23520 | ac_clean_files=$ac_clean_files_save | 23634 | ac_clean_files=$ac_clean_files_save |
23521 | 23635 | ||
23522 | test $ac_write_fail = 0 || | 23636 | test $ac_write_fail = 0 || |
23523 | as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 | 23637 | as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 |
23524 | 23638 | ||
23525 | 23639 | ||
23526 | # configure is writing to config.log, and then calls config.status. | 23640 | # configure is writing to config.log, and then calls config.status. |
@@ -23541,7 +23655,7 @@ if test "$no_create" != yes; then | |||
23541 | exec 5>>config.log | 23655 | exec 5>>config.log |
23542 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which | 23656 | # Use ||, not &&, to avoid exiting from the if with $? = 1, which |
23543 | # would make configure fail if this is the last instruction. | 23657 | # would make configure fail if this is the last instruction. |
23544 | $ac_cs_success || as_fn_exit $? | 23658 | $ac_cs_success || as_fn_exit 1 |
23545 | fi | 23659 | fi |
23546 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then | 23660 | if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then |
23547 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 | 23661 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 |
diff --git a/libraries/eina/configure.ac b/libraries/eina/configure.ac index 367ffe1..38fb13d 100644 --- a/libraries/eina/configure.ac +++ b/libraries/eina/configure.ac | |||
@@ -1,12 +1,12 @@ | |||
1 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 1 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
2 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 2 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
3 | m4_define([v_maj], [1]) | 3 | m4_define([v_maj], [1]) |
4 | m4_define([v_min], [1]) | 4 | m4_define([v_min], [2]) |
5 | m4_define([v_mic], [99]) | 5 | m4_define([v_mic], [0]) |
6 | m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) | 6 | m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n'])) |
7 | m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) | 7 | m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))]) |
8 | ##-- When released, remove the dnl on the below line | 8 | ##-- When released, remove the dnl on the below line |
9 | dnl m4_undefine([v_rev]) | 9 | m4_undefine([v_rev]) |
10 | ##-- When doing snapshots - change soname. remove dnl on below line | 10 | ##-- When doing snapshots - change soname. remove dnl on below line |
11 | dnl m4_define([relname], [ver-pre-svn-07]) | 11 | dnl m4_define([relname], [ver-pre-svn-07]) |
12 | dnl m4_define([v_rel], [-release relname]) | 12 | dnl m4_define([v_rel], [-release relname]) |
@@ -18,7 +18,7 @@ m4_define([lt_age], v_min) | |||
18 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 18 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
19 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## | 19 | ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## |
20 | 20 | ||
21 | AC_INIT([eina], [v_ver], [enlightenment-devel@lists.sourceforge.net]) | 21 | AC_INIT([eina], [v_ver]-alpha, [enlightenment-devel@lists.sourceforge.net]) |
22 | AC_PREREQ([2.59]) | 22 | AC_PREREQ([2.59]) |
23 | AC_CONFIG_SRCDIR([configure.ac]) | 23 | AC_CONFIG_SRCDIR([configure.ac]) |
24 | AC_CONFIG_MACRO_DIR([m4]) | 24 | AC_CONFIG_MACRO_DIR([m4]) |
@@ -316,7 +316,7 @@ case "$host_os" in | |||
316 | mingw*) | 316 | mingw*) |
317 | PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0]) | 317 | PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0]) |
318 | AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if evil package is installed]) | 318 | AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if evil package is installed]) |
319 | requirement_eina="evil" | 319 | requirement_eina="${requirement_eina} evil" |
320 | EFL_EINA_BUILD="-DEFL_EINA_BUILD" | 320 | EFL_EINA_BUILD="-DEFL_EINA_BUILD" |
321 | ;; | 321 | ;; |
322 | esac | 322 | esac |
@@ -361,17 +361,14 @@ EFL_ATTRIBUTE_UNUSED | |||
361 | 361 | ||
362 | have_wince="no" | 362 | have_wince="no" |
363 | have_win32="no" | 363 | have_win32="no" |
364 | EINA_CPPFLAGS="" | ||
365 | EINA_CFLAGS="" | 364 | EINA_CFLAGS="" |
366 | case "$host_os" in | 365 | case "$host_os" in |
367 | mingw32ce*) | 366 | mingw32ce*) |
368 | EINA_CPPFLAGS="-D_WIN32_WCE=0x0420" | ||
369 | EINA_CFLAGS="${EVIL_CFLAGS}" | 367 | EINA_CFLAGS="${EVIL_CFLAGS}" |
370 | have_win32="yes" | 368 | have_win32="yes" |
371 | have_wince="yes" | 369 | have_wince="yes" |
372 | ;; | 370 | ;; |
373 | mingw*) | 371 | mingw*) |
374 | EINA_CPPFLAGS="-D_WIN32_WINNT=0x0501" | ||
375 | EINA_CFLAGS="${EVIL_CFLAGS}" | 372 | EINA_CFLAGS="${EVIL_CFLAGS}" |
376 | have_win32="yes" | 373 | have_win32="yes" |
377 | ;; | 374 | ;; |
@@ -387,41 +384,57 @@ m4_ifdef([v_mic], | |||
387 | 384 | ||
388 | EFL_COMPILER_FLAG([-Wshadow]) | 385 | EFL_COMPILER_FLAG([-Wshadow]) |
389 | 386 | ||
387 | ### Checks for portability layer | ||
388 | |||
389 | PKG_CHECK_MODULES([EXOTIC], | ||
390 | [exotic], | ||
391 | [enable_exotic="yes"], | ||
392 | [enable_exotic="no"]) | ||
393 | |||
394 | if test "x${enable_exotic}" = "xyes"; then | ||
395 | requirement_eina="exotic ${requirement_eina}" | ||
396 | EINA_CFLAGS="${EINA_CFLAGS} ${EXOTIC_CFLAGS}" | ||
397 | EINA_LIBS="${EXOTIC_LIBS}" | ||
398 | |||
399 | EINA_CONFIGURE_HAVE_EXOTIC="#define EINA_HAVE_EXOTIC" | ||
400 | AC_DEFINE([HAVE_EXOTIC_H], [1], [Define to 1 if you have Exotic.]) | ||
401 | fi | ||
402 | AM_CONDITIONAL([EINA_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"]) | ||
403 | AC_SUBST([EINA_CONFIGURE_HAVE_EXOTIC]) | ||
404 | |||
390 | case "$host_vendor" in | 405 | case "$host_vendor" in |
391 | ps3*) | 406 | ps3*) |
392 | PKG_CHECK_MODULES([ESCAPE], [escape]) | 407 | PKG_CHECK_MODULES([ESCAPE], [escape]) |
393 | AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if evil package is installed]) | 408 | AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if Escape package is installed]) |
394 | requirement_eina="escape" | 409 | requirement_eina="${requirement_eina} escape" |
395 | EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" | 410 | EINA_CFLAGS="${ESCAPE_CFLAGS} ${EINA_CFLAGS}" |
396 | ;; | 411 | ;; |
397 | esac | 412 | esac |
398 | 413 | ||
399 | AC_SUBST([EINA_CPPFLAGS]) | ||
400 | AC_SUBST([EINA_CFLAGS]) | 414 | AC_SUBST([EINA_CFLAGS]) |
401 | 415 | ||
402 | |||
403 | ### Checks for linker characteristics | 416 | ### Checks for linker characteristics |
404 | EINA_LIBS= | 417 | EINA_LIBS= |
405 | lt_enable_auto_import="" | 418 | lt_enable_auto_import="" |
406 | case "${host_os}" in | 419 | case "${host_os}" in |
407 | mingw*) | 420 | mingw*) |
408 | EINA_LIBS="-ldl ${EVIL_LIBS} -lm" | 421 | EINA_LIBS="${EINA_LIBS} -ldl ${EVIL_LIBS} -lm" |
409 | lt_enable_auto_import="-Wl,--enable-auto-import" | 422 | lt_enable_auto_import="-Wl,--enable-auto-import" |
410 | ;; | 423 | ;; |
411 | dragonfly*|openbsd*) | 424 | dragonfly*|openbsd*) |
412 | EINA_LIBS="-lm" | 425 | EINA_LIBS="${EINA_LIBS} -lm" |
413 | ;; | 426 | ;; |
414 | freebsd*|netbsd*) | 427 | freebsd*|netbsd*) |
415 | EINA_LIBS="-lrt -lm" | 428 | EINA_LIBS="${EINA_LIBS} -lrt -lm" |
416 | ;; | 429 | ;; |
417 | darwin*) | 430 | darwin*) |
418 | EINA_LIBS="-lm" | 431 | EINA_LIBS="${EINA_LIBS} -lm" |
419 | ;; | 432 | ;; |
420 | cygwin*) | 433 | cygwin*) |
421 | EINA_LIBS="-ldl -lm" | 434 | EINA_LIBS="${EINA_LIBS} -ldl -lm" |
422 | ;; | 435 | ;; |
423 | *) | 436 | *) |
424 | EINA_LIBS="-ldl -lrt -lm" | 437 | EINA_LIBS="${EINA_LIBS} -lrt -ldl -lm" |
425 | ;; | 438 | ;; |
426 | esac | 439 | esac |
427 | case "$host_vendor" in | 440 | case "$host_vendor" in |
@@ -443,7 +456,7 @@ LIBS="${LIBS} ${EINA_LIBS}" | |||
443 | AC_HEADER_ASSERT | 456 | AC_HEADER_ASSERT |
444 | AC_HEADER_TIME | 457 | AC_HEADER_TIME |
445 | EFL_CHECK_PATH_MAX | 458 | EFL_CHECK_PATH_MAX |
446 | AC_CHECK_HEADERS([unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h]) | 459 | AC_CHECK_HEADERS([unistd.h libgen.h inttypes.h stdint.h sys/types.h siginfo.h strings.h sys/mman.h execinfo.h]) |
447 | 460 | ||
448 | if test "x${ac_cv_header_inttypes_h}" = "xyes" ; then | 461 | if test "x${ac_cv_header_inttypes_h}" = "xyes" ; then |
449 | EINA_CONFIGURE_HAVE_INTTYPES_H="#define EINA_HAVE_INTTYPES_H" | 462 | EINA_CONFIGURE_HAVE_INTTYPES_H="#define EINA_HAVE_INTTYPES_H" |
@@ -484,7 +497,7 @@ AC_SUBST([EINA_CONFIGURE_HAVE_DIRENT_H]) | |||
484 | ### Checks for library functions | 497 | ### Checks for library functions |
485 | AC_ISC_POSIX | 498 | AC_ISC_POSIX |
486 | AC_FUNC_ALLOCA | 499 | AC_FUNC_ALLOCA |
487 | AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp]) | 500 | AC_CHECK_FUNCS([strlcpy openat fstatat fpathconf execvp backtrace backtrace_symbols]) |
488 | 501 | ||
489 | AC_MSG_CHECKING([for dirfd]) | 502 | AC_MSG_CHECKING([for dirfd]) |
490 | AC_LINK_IFELSE( | 503 | AC_LINK_IFELSE( |
@@ -785,7 +798,7 @@ if test -n "$CXX" && test "x$enable_benchmark" = "xyes" ; then | |||
785 | fi | 798 | fi |
786 | AM_CONDITIONAL([CITYHASH_BENCH], [test -n "$CXX" && test "x$enable_benchmark" = "xyes"]) | 799 | AM_CONDITIONAL([CITYHASH_BENCH], [test -n "$CXX" && test "x$enable_benchmark" = "xyes"]) |
787 | 800 | ||
788 | AC_SUBST(requirement_eina) | 801 | AC_SUBST([requirement_eina]) |
789 | 802 | ||
790 | ### Build and install examples | 803 | ### Build and install examples |
791 | EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) | 804 | EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) |
diff --git a/libraries/eina/doc/Makefile.am b/libraries/eina/doc/Makefile.am index 7856c13..33a2c9b 100644 --- a/libraries/eina/doc/Makefile.am +++ b/libraries/eina/doc/Makefile.am | |||
@@ -20,7 +20,8 @@ doc: all | |||
20 | bzip2 -9 $(PACKAGE_DOCNAME).tar | 20 | bzip2 -9 $(PACKAGE_DOCNAME).tar |
21 | rm -rf $(PACKAGE_DOCNAME)/ | 21 | rm -rf $(PACKAGE_DOCNAME)/ |
22 | mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) | 22 | mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) |
23 | @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" | 23 | @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" |
24 | @echo "Documentation HTML: doc/html" | ||
24 | 25 | ||
25 | clean-local: doc-clean | 26 | clean-local: doc-clean |
26 | 27 | ||
diff --git a/libraries/eina/doc/Makefile.in b/libraries/eina/doc/Makefile.in index 7331cf1..d2de754 100644 --- a/libraries/eina/doc/Makefile.in +++ b/libraries/eina/doc/Makefile.in | |||
@@ -37,20 +37,24 @@ subdir = doc | |||
37 | DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ | 37 | DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \ |
38 | $(srcdir)/Makefile.in | 38 | $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -111,13 +115,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
111 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 115 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
112 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 116 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
113 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 117 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
118 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
114 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 119 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
115 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 120 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
116 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 121 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
117 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 122 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
118 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 123 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
119 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 124 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
120 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
121 | EINA_LIBS = @EINA_LIBS@ | 125 | EINA_LIBS = @EINA_LIBS@ |
122 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 126 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
123 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 127 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -127,6 +131,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
127 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 131 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
128 | EVIL_LIBS = @EVIL_LIBS@ | 132 | EVIL_LIBS = @EVIL_LIBS@ |
129 | EXEEXT = @EXEEXT@ | 133 | EXEEXT = @EXEEXT@ |
134 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
135 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
130 | FGREP = @FGREP@ | 136 | FGREP = @FGREP@ |
131 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 137 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
132 | GLIB_LIBS = @GLIB_LIBS@ | 138 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -162,6 +168,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
162 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 168 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
163 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 169 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
164 | PKG_CONFIG = @PKG_CONFIG@ | 170 | PKG_CONFIG = @PKG_CONFIG@ |
171 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
172 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
165 | RANLIB = @RANLIB@ | 173 | RANLIB = @RANLIB@ |
166 | SED = @SED@ | 174 | SED = @SED@ |
167 | SET_MAKE = @SET_MAKE@ | 175 | SET_MAKE = @SET_MAKE@ |
@@ -449,7 +457,8 @@ uninstall-am: | |||
449 | @EFL_BUILD_DOC_TRUE@ bzip2 -9 $(PACKAGE_DOCNAME).tar | 457 | @EFL_BUILD_DOC_TRUE@ bzip2 -9 $(PACKAGE_DOCNAME).tar |
450 | @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME)/ | 458 | @EFL_BUILD_DOC_TRUE@ rm -rf $(PACKAGE_DOCNAME)/ |
451 | @EFL_BUILD_DOC_TRUE@ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) | 459 | @EFL_BUILD_DOC_TRUE@ mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) |
452 | @EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: $(top_builddir)/$(PACKAGE_DOCNAME).tar.bz2" | 460 | @EFL_BUILD_DOC_TRUE@ @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" |
461 | @EFL_BUILD_DOC_TRUE@ @echo "Documentation HTML: doc/html" | ||
453 | 462 | ||
454 | @EFL_BUILD_DOC_TRUE@clean-local: doc-clean | 463 | @EFL_BUILD_DOC_TRUE@clean-local: doc-clean |
455 | 464 | ||
diff --git a/libraries/eina/eina.pc b/libraries/eina/eina.pc index 0ca596f..68f77e4 100644 --- a/libraries/eina/eina.pc +++ b/libraries/eina/eina.pc | |||
@@ -1,4 +1,4 @@ | |||
1 | prefix=/opt/e17 | 1 | prefix=/usr/local |
2 | exec_prefix=${prefix} | 2 | exec_prefix=${prefix} |
3 | libdir=${exec_prefix}/lib | 3 | libdir=${exec_prefix}/lib |
4 | includedir=${prefix}/include | 4 | includedir=${prefix}/include |
@@ -6,7 +6,7 @@ includedir=${prefix}/include | |||
6 | Name: Eina | 6 | Name: Eina |
7 | Description: A Library that implements fast data types and miscellaneous tools | 7 | Description: A Library that implements fast data types and miscellaneous tools |
8 | Requires.private: valgrind | 8 | Requires.private: valgrind |
9 | Version: 1.1.99.67344 | 9 | Version: 1.2.0-alpha |
10 | Libs: -L${libdir} -leina -pthread | 10 | Libs: -L${libdir} -leina -pthread |
11 | Libs.private: -pthread -lrt -ldl -lrt -lm | 11 | Libs.private: -pthread -lrt -lrt -ldl -lm |
12 | Cflags: -I${includedir}/eina-1 -I${includedir}/eina-1/eina | 12 | Cflags: -I${includedir}/eina-1 -I${includedir}/eina-1/eina |
diff --git a/libraries/eina/eina.spec b/libraries/eina/eina.spec index 0ad6732..fc564c6 100644 --- a/libraries/eina/eina.spec +++ b/libraries/eina/eina.spec | |||
@@ -3,7 +3,7 @@ | |||
3 | 3 | ||
4 | Summary: Data Type Library | 4 | Summary: Data Type Library |
5 | Name: eina | 5 | Name: eina |
6 | Version: 1.1.99.67344 | 6 | Version: 1.2.0-alpha |
7 | Release: %{_rel} | 7 | Release: %{_rel} |
8 | License: LGPLv2.1 | 8 | License: LGPLv2.1 |
9 | Group: System Environment/Libraries | 9 | Group: System Environment/Libraries |
diff --git a/libraries/eina/ltmain.sh b/libraries/eina/ltmain.sh index 7ed280b..fa4b1e1 100755 --- a/libraries/eina/ltmain.sh +++ b/libraries/eina/ltmain.sh | |||
@@ -65,7 +65,7 @@ | |||
65 | # compiler: $LTCC | 65 | # compiler: $LTCC |
66 | # compiler flags: $LTCFLAGS | 66 | # compiler flags: $LTCFLAGS |
67 | # linker: $LD (gnu? $with_gnu_ld) | 67 | # linker: $LD (gnu? $with_gnu_ld) |
68 | # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 | 68 | # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu3 |
69 | # automake: $automake_version | 69 | # automake: $automake_version |
70 | # autoconf: $autoconf_version | 70 | # autoconf: $autoconf_version |
71 | # | 71 | # |
@@ -73,7 +73,7 @@ | |||
73 | 73 | ||
74 | PROGRAM=ltmain.sh | 74 | PROGRAM=ltmain.sh |
75 | PACKAGE=libtool | 75 | PACKAGE=libtool |
76 | VERSION="2.2.6b Debian-2.2.6b-2ubuntu1" | 76 | VERSION="2.2.6b Debian-2.2.6b-2ubuntu3" |
77 | TIMESTAMP="" | 77 | TIMESTAMP="" |
78 | package_revision=1.3017 | 78 | package_revision=1.3017 |
79 | 79 | ||
diff --git a/libraries/eina/src/Makefile.in b/libraries/eina/src/Makefile.in index eb3a2c0..9076215 100644 --- a/libraries/eina/src/Makefile.in +++ b/libraries/eina/src/Makefile.in | |||
@@ -36,20 +36,24 @@ host_triplet = @host@ | |||
36 | subdir = src | 36 | subdir = src |
37 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 37 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
38 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 38 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
39 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 39 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
40 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 40 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
41 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 41 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
42 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 42 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
43 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 43 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
44 | $(top_srcdir)/m4/efl_examples.m4 \ | 44 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
45 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 45 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
46 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 46 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
47 | $(top_srcdir)/m4/efl_threads.m4 \ | 47 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
48 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 48 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
49 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 49 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
50 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 50 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 51 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
52 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 52 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
56 | $(top_srcdir)/configure.ac | ||
53 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
54 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
55 | mkinstalldirs = $(install_sh) -d | 59 | mkinstalldirs = $(install_sh) -d |
@@ -150,13 +154,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
150 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 154 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
151 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 155 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
152 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 156 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
157 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
153 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 158 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
154 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 159 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
155 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 160 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
156 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 161 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
157 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 162 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
158 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 163 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
159 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
160 | EINA_LIBS = @EINA_LIBS@ | 164 | EINA_LIBS = @EINA_LIBS@ |
161 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 165 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
162 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 166 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -166,6 +170,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
166 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 170 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
167 | EVIL_LIBS = @EVIL_LIBS@ | 171 | EVIL_LIBS = @EVIL_LIBS@ |
168 | EXEEXT = @EXEEXT@ | 172 | EXEEXT = @EXEEXT@ |
173 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
174 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
169 | FGREP = @FGREP@ | 175 | FGREP = @FGREP@ |
170 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 176 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
171 | GLIB_LIBS = @GLIB_LIBS@ | 177 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -201,6 +207,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
201 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 207 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
202 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 208 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
203 | PKG_CONFIG = @PKG_CONFIG@ | 209 | PKG_CONFIG = @PKG_CONFIG@ |
210 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
211 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
204 | RANLIB = @RANLIB@ | 212 | RANLIB = @RANLIB@ |
205 | SED = @SED@ | 213 | SED = @SED@ |
206 | SET_MAKE = @SET_MAKE@ | 214 | SET_MAKE = @SET_MAKE@ |
diff --git a/libraries/eina/src/examples/Makefile.am b/libraries/eina/src/examples/Makefile.am index 45b72f0..c8d80f9 100644 --- a/libraries/eina/src/examples/Makefile.am +++ b/libraries/eina/src/examples/Makefile.am | |||
@@ -37,7 +37,14 @@ SRCS = \ | |||
37 | eina_inlist_03.c \ | 37 | eina_inlist_03.c \ |
38 | eina_str_01.c \ | 38 | eina_str_01.c \ |
39 | eina_strbuf_01.c \ | 39 | eina_strbuf_01.c \ |
40 | eina_tiler_01.c | 40 | eina_tiler_01.c \ |
41 | eina_model_01.c \ | ||
42 | eina_model_02.c \ | ||
43 | eina_model_03.c \ | ||
44 | eina_value_01.c \ | ||
45 | eina_value_02.c \ | ||
46 | eina_value_03.c \ | ||
47 | eina_inarray_01.c | ||
41 | 48 | ||
42 | examples_PROGRAMS = | 49 | examples_PROGRAMS = |
43 | 50 | ||
@@ -73,7 +80,24 @@ examples_PROGRAMS += \ | |||
73 | eina_inlist_02 \ | 80 | eina_inlist_02 \ |
74 | eina_inlist_03 \ | 81 | eina_inlist_03 \ |
75 | eina_str_01 \ | 82 | eina_str_01 \ |
76 | eina_strbuf_01 | 83 | eina_strbuf_01 \ |
84 | eina_model_01 \ | ||
85 | eina_model_02 \ | ||
86 | eina_model_03 \ | ||
87 | eina_model_04 \ | ||
88 | eina_value_01 \ | ||
89 | eina_value_02 \ | ||
90 | eina_value_03 \ | ||
91 | eina_inarray_01 | ||
92 | |||
93 | eina_model_04_SOURCES = \ | ||
94 | eina_model_04_animal.c \ | ||
95 | eina_model_04_child.c \ | ||
96 | eina_model_04_human.c \ | ||
97 | eina_model_04_main.c \ | ||
98 | eina_model_04_parrot.c \ | ||
99 | eina_model_04_whistler.c | ||
100 | |||
77 | 101 | ||
78 | if BUILD_TILER_EXAMPLE | 102 | if BUILD_TILER_EXAMPLE |
79 | AM_CPPFLAGS += @ECORE_EVAS_CFLAGS@ | 103 | AM_CPPFLAGS += @ECORE_EVAS_CFLAGS@ |
diff --git a/libraries/eina/src/examples/Makefile.in b/libraries/eina/src/examples/Makefile.in index 6e432bb..fba8439 100644 --- a/libraries/eina/src/examples/Makefile.in +++ b/libraries/eina/src/examples/Makefile.in | |||
@@ -62,27 +62,39 @@ examples_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) | |||
62 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02 \ | 62 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02 \ |
63 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03 \ | 63 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03 \ |
64 | @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01 \ | 64 | @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01 \ |
65 | @EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01 | 65 | @EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01 \ |
66 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_01 \ | ||
67 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_02 \ | ||
68 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_03 \ | ||
69 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04 \ | ||
70 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_01 \ | ||
71 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_02 \ | ||
72 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_03 \ | ||
73 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inarray_01 | ||
66 | 74 | ||
67 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_2 = @ECORE_EVAS_CFLAGS@ | 75 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_2 = @ECORE_EVAS_CFLAGS@ |
68 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_3 = eina_tiler_01 | 76 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__append_3 = eina_tiler_01 |
69 | subdir = src/examples | 77 | subdir = src/examples |
70 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 78 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
71 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 79 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
72 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 80 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
73 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 81 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
74 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 82 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
75 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 83 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
76 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 84 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
77 | $(top_srcdir)/m4/efl_examples.m4 \ | 85 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
78 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 86 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
79 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 87 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
80 | $(top_srcdir)/m4/efl_threads.m4 \ | 88 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
81 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 89 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
82 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 90 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
83 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 91 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
84 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 92 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
85 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 93 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
94 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
95 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
96 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
97 | $(top_srcdir)/configure.ac | ||
86 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 98 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
87 | $(ACLOCAL_M4) | 99 | $(ACLOCAL_M4) |
88 | mkinstalldirs = $(install_sh) -d | 100 | mkinstalldirs = $(install_sh) -d |
@@ -114,7 +126,15 @@ CONFIG_CLEAN_VPATH_FILES = | |||
114 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02$(EXEEXT) \ | 126 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_02$(EXEEXT) \ |
115 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03$(EXEEXT) \ | 127 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inlist_03$(EXEEXT) \ |
116 | @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01$(EXEEXT) \ | 128 | @EFL_BUILD_EXAMPLES_TRUE@ eina_str_01$(EXEEXT) \ |
117 | @EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01$(EXEEXT) | 129 | @EFL_BUILD_EXAMPLES_TRUE@ eina_strbuf_01$(EXEEXT) \ |
130 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_01$(EXEEXT) \ | ||
131 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_02$(EXEEXT) \ | ||
132 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_03$(EXEEXT) \ | ||
133 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04$(EXEEXT) \ | ||
134 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_01$(EXEEXT) \ | ||
135 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_02$(EXEEXT) \ | ||
136 | @EFL_BUILD_EXAMPLES_TRUE@ eina_value_03$(EXEEXT) \ | ||
137 | @EFL_BUILD_EXAMPLES_TRUE@ eina_inarray_01$(EXEEXT) | ||
118 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__EXEEXT_2 = eina_tiler_01$(EXEEXT) | 138 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@am__EXEEXT_2 = eina_tiler_01$(EXEEXT) |
119 | am__installdirs = "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(filesdir)" | 139 | am__installdirs = "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(filesdir)" |
120 | PROGRAMS = $(examples_PROGRAMS) | 140 | PROGRAMS = $(examples_PROGRAMS) |
@@ -173,6 +193,10 @@ eina_hash_08_SOURCES = eina_hash_08.c | |||
173 | eina_hash_08_OBJECTS = eina_hash_08.$(OBJEXT) | 193 | eina_hash_08_OBJECTS = eina_hash_08.$(OBJEXT) |
174 | eina_hash_08_LDADD = $(LDADD) | 194 | eina_hash_08_LDADD = $(LDADD) |
175 | eina_hash_08_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | 195 | eina_hash_08_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la |
196 | eina_inarray_01_SOURCES = eina_inarray_01.c | ||
197 | eina_inarray_01_OBJECTS = eina_inarray_01.$(OBJEXT) | ||
198 | eina_inarray_01_LDADD = $(LDADD) | ||
199 | eina_inarray_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
176 | eina_inlist_01_SOURCES = eina_inlist_01.c | 200 | eina_inlist_01_SOURCES = eina_inlist_01.c |
177 | eina_inlist_01_OBJECTS = eina_inlist_01.$(OBJEXT) | 201 | eina_inlist_01_OBJECTS = eina_inlist_01.$(OBJEXT) |
178 | eina_inlist_01_LDADD = $(LDADD) | 202 | eina_inlist_01_LDADD = $(LDADD) |
@@ -217,6 +241,32 @@ eina_log_03_SOURCES = eina_log_03.c | |||
217 | eina_log_03_OBJECTS = eina_log_03.$(OBJEXT) | 241 | eina_log_03_OBJECTS = eina_log_03.$(OBJEXT) |
218 | eina_log_03_LDADD = $(LDADD) | 242 | eina_log_03_LDADD = $(LDADD) |
219 | eina_log_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | 243 | eina_log_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la |
244 | eina_model_01_SOURCES = eina_model_01.c | ||
245 | eina_model_01_OBJECTS = eina_model_01.$(OBJEXT) | ||
246 | eina_model_01_LDADD = $(LDADD) | ||
247 | eina_model_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
248 | eina_model_02_SOURCES = eina_model_02.c | ||
249 | eina_model_02_OBJECTS = eina_model_02.$(OBJEXT) | ||
250 | eina_model_02_LDADD = $(LDADD) | ||
251 | eina_model_02_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
252 | eina_model_03_SOURCES = eina_model_03.c | ||
253 | eina_model_03_OBJECTS = eina_model_03.$(OBJEXT) | ||
254 | eina_model_03_LDADD = $(LDADD) | ||
255 | eina_model_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
256 | am__eina_model_04_SOURCES_DIST = eina_model_04_animal.c \ | ||
257 | eina_model_04_child.c eina_model_04_human.c \ | ||
258 | eina_model_04_main.c eina_model_04_parrot.c \ | ||
259 | eina_model_04_whistler.c | ||
260 | @EFL_BUILD_EXAMPLES_TRUE@am_eina_model_04_OBJECTS = \ | ||
261 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_animal.$(OBJEXT) \ | ||
262 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_child.$(OBJEXT) \ | ||
263 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_human.$(OBJEXT) \ | ||
264 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_main.$(OBJEXT) \ | ||
265 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_parrot.$(OBJEXT) \ | ||
266 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_whistler.$(OBJEXT) | ||
267 | eina_model_04_OBJECTS = $(am_eina_model_04_OBJECTS) | ||
268 | eina_model_04_LDADD = $(LDADD) | ||
269 | eina_model_04_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
220 | eina_str_01_SOURCES = eina_str_01.c | 270 | eina_str_01_SOURCES = eina_str_01.c |
221 | eina_str_01_OBJECTS = eina_str_01.$(OBJEXT) | 271 | eina_str_01_OBJECTS = eina_str_01.$(OBJEXT) |
222 | eina_str_01_LDADD = $(LDADD) | 272 | eina_str_01_LDADD = $(LDADD) |
@@ -228,6 +278,18 @@ eina_strbuf_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | |||
228 | eina_tiler_01_SOURCES = eina_tiler_01.c | 278 | eina_tiler_01_SOURCES = eina_tiler_01.c |
229 | eina_tiler_01_OBJECTS = eina_tiler_01.$(OBJEXT) | 279 | eina_tiler_01_OBJECTS = eina_tiler_01.$(OBJEXT) |
230 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | 280 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la |
281 | eina_value_01_SOURCES = eina_value_01.c | ||
282 | eina_value_01_OBJECTS = eina_value_01.$(OBJEXT) | ||
283 | eina_value_01_LDADD = $(LDADD) | ||
284 | eina_value_01_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
285 | eina_value_02_SOURCES = eina_value_02.c | ||
286 | eina_value_02_OBJECTS = eina_value_02.$(OBJEXT) | ||
287 | eina_value_02_LDADD = $(LDADD) | ||
288 | eina_value_02_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
289 | eina_value_03_SOURCES = eina_value_03.c | ||
290 | eina_value_03_OBJECTS = eina_value_03.$(OBJEXT) | ||
291 | eina_value_03_LDADD = $(LDADD) | ||
292 | eina_value_03_DEPENDENCIES = $(top_builddir)/src/lib/libeina.la | ||
231 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) | 293 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) |
232 | depcomp = $(SHELL) $(top_srcdir)/depcomp | 294 | depcomp = $(SHELL) $(top_srcdir)/depcomp |
233 | am__depfiles_maybe = depfiles | 295 | am__depfiles_maybe = depfiles |
@@ -257,19 +319,25 @@ am__v_GEN_0 = @echo " GEN " $@; | |||
257 | SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ | 319 | SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ |
258 | eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ | 320 | eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ |
259 | eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ | 321 | eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ |
260 | eina_hash_07.c eina_hash_08.c eina_inlist_01.c \ | 322 | eina_hash_07.c eina_hash_08.c eina_inarray_01.c \ |
261 | eina_inlist_02.c eina_inlist_03.c eina_iterator_01.c \ | 323 | eina_inlist_01.c eina_inlist_02.c eina_inlist_03.c \ |
262 | eina_list_01.c eina_list_02.c eina_list_03.c eina_list_04.c \ | 324 | eina_iterator_01.c eina_list_01.c eina_list_02.c \ |
263 | eina_log_01.c eina_log_02.c eina_log_03.c eina_str_01.c \ | 325 | eina_list_03.c eina_list_04.c eina_log_01.c eina_log_02.c \ |
264 | eina_strbuf_01.c eina_tiler_01.c | 326 | eina_log_03.c eina_model_01.c eina_model_02.c eina_model_03.c \ |
327 | $(eina_model_04_SOURCES) eina_str_01.c eina_strbuf_01.c \ | ||
328 | eina_tiler_01.c eina_value_01.c eina_value_02.c \ | ||
329 | eina_value_03.c | ||
265 | DIST_SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ | 330 | DIST_SOURCES = eina_accessor_01.c eina_array_01.c eina_array_02.c \ |
266 | eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ | 331 | eina_error_01.c eina_file_01.c eina_hash_01.c eina_hash_02.c \ |
267 | eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ | 332 | eina_hash_03.c eina_hash_04.c eina_hash_05.c eina_hash_06.c \ |
268 | eina_hash_07.c eina_hash_08.c eina_inlist_01.c \ | 333 | eina_hash_07.c eina_hash_08.c eina_inarray_01.c \ |
269 | eina_inlist_02.c eina_inlist_03.c eina_iterator_01.c \ | 334 | eina_inlist_01.c eina_inlist_02.c eina_inlist_03.c \ |
270 | eina_list_01.c eina_list_02.c eina_list_03.c eina_list_04.c \ | 335 | eina_iterator_01.c eina_list_01.c eina_list_02.c \ |
271 | eina_log_01.c eina_log_02.c eina_log_03.c eina_str_01.c \ | 336 | eina_list_03.c eina_list_04.c eina_log_01.c eina_log_02.c \ |
272 | eina_strbuf_01.c eina_tiler_01.c | 337 | eina_log_03.c eina_model_01.c eina_model_02.c eina_model_03.c \ |
338 | $(am__eina_model_04_SOURCES_DIST) eina_str_01.c \ | ||
339 | eina_strbuf_01.c eina_tiler_01.c eina_value_01.c \ | ||
340 | eina_value_02.c eina_value_03.c | ||
273 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | 341 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
274 | am__vpath_adj = case $$p in \ | 342 | am__vpath_adj = case $$p in \ |
275 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | 343 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ |
@@ -340,13 +408,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
340 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 408 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
341 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 409 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
342 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 410 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
411 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
343 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 412 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
344 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 413 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
345 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 414 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
346 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 415 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
347 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 416 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
348 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 417 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
349 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
350 | EINA_LIBS = @EINA_LIBS@ | 418 | EINA_LIBS = @EINA_LIBS@ |
351 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 419 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
352 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 420 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -356,6 +424,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
356 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 424 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
357 | EVIL_LIBS = @EVIL_LIBS@ | 425 | EVIL_LIBS = @EVIL_LIBS@ |
358 | EXEEXT = @EXEEXT@ | 426 | EXEEXT = @EXEEXT@ |
427 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
428 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
359 | FGREP = @FGREP@ | 429 | FGREP = @FGREP@ |
360 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 430 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
361 | GLIB_LIBS = @GLIB_LIBS@ | 431 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -391,6 +461,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
391 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 461 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
392 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 462 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
393 | PKG_CONFIG = @PKG_CONFIG@ | 463 | PKG_CONFIG = @PKG_CONFIG@ |
464 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
465 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
394 | RANLIB = @RANLIB@ | 466 | RANLIB = @RANLIB@ |
395 | SED = @SED@ | 467 | SED = @SED@ |
396 | SET_MAKE = @SET_MAKE@ | 468 | SET_MAKE = @SET_MAKE@ |
@@ -498,10 +570,25 @@ SRCS = \ | |||
498 | eina_inlist_03.c \ | 570 | eina_inlist_03.c \ |
499 | eina_str_01.c \ | 571 | eina_str_01.c \ |
500 | eina_strbuf_01.c \ | 572 | eina_strbuf_01.c \ |
501 | eina_tiler_01.c | 573 | eina_tiler_01.c \ |
574 | eina_model_01.c \ | ||
575 | eina_model_02.c \ | ||
576 | eina_model_03.c \ | ||
577 | eina_value_01.c \ | ||
578 | eina_value_02.c \ | ||
579 | eina_value_03.c \ | ||
580 | eina_inarray_01.c | ||
502 | 581 | ||
503 | @EFL_INSTALL_EXAMPLES_TRUE@filesdir = $(datadir)/$(PACKAGE)/examples | 582 | @EFL_INSTALL_EXAMPLES_TRUE@filesdir = $(datadir)/$(PACKAGE)/examples |
504 | @EFL_INSTALL_EXAMPLES_TRUE@files_DATA = $(SRCS) | 583 | @EFL_INSTALL_EXAMPLES_TRUE@files_DATA = $(SRCS) |
584 | @EFL_BUILD_EXAMPLES_TRUE@eina_model_04_SOURCES = \ | ||
585 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_animal.c \ | ||
586 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_child.c \ | ||
587 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_human.c \ | ||
588 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_main.c \ | ||
589 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_parrot.c \ | ||
590 | @EFL_BUILD_EXAMPLES_TRUE@ eina_model_04_whistler.c | ||
591 | |||
505 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_LDADD = $(top_builddir)/src/lib/libeina.la @ECORE_EVAS_LIBS@ | 592 | @BUILD_TILER_EXAMPLE_TRUE@@EFL_BUILD_EXAMPLES_TRUE@eina_tiler_01_LDADD = $(top_builddir)/src/lib/libeina.la @ECORE_EVAS_LIBS@ |
506 | all: all-am | 593 | all: all-am |
507 | 594 | ||
@@ -619,6 +706,9 @@ eina_hash_07$(EXEEXT): $(eina_hash_07_OBJECTS) $(eina_hash_07_DEPENDENCIES) | |||
619 | eina_hash_08$(EXEEXT): $(eina_hash_08_OBJECTS) $(eina_hash_08_DEPENDENCIES) | 706 | eina_hash_08$(EXEEXT): $(eina_hash_08_OBJECTS) $(eina_hash_08_DEPENDENCIES) |
620 | @rm -f eina_hash_08$(EXEEXT) | 707 | @rm -f eina_hash_08$(EXEEXT) |
621 | $(AM_V_CCLD)$(LINK) $(eina_hash_08_OBJECTS) $(eina_hash_08_LDADD) $(LIBS) | 708 | $(AM_V_CCLD)$(LINK) $(eina_hash_08_OBJECTS) $(eina_hash_08_LDADD) $(LIBS) |
709 | eina_inarray_01$(EXEEXT): $(eina_inarray_01_OBJECTS) $(eina_inarray_01_DEPENDENCIES) | ||
710 | @rm -f eina_inarray_01$(EXEEXT) | ||
711 | $(AM_V_CCLD)$(LINK) $(eina_inarray_01_OBJECTS) $(eina_inarray_01_LDADD) $(LIBS) | ||
622 | eina_inlist_01$(EXEEXT): $(eina_inlist_01_OBJECTS) $(eina_inlist_01_DEPENDENCIES) | 712 | eina_inlist_01$(EXEEXT): $(eina_inlist_01_OBJECTS) $(eina_inlist_01_DEPENDENCIES) |
623 | @rm -f eina_inlist_01$(EXEEXT) | 713 | @rm -f eina_inlist_01$(EXEEXT) |
624 | $(AM_V_CCLD)$(LINK) $(eina_inlist_01_OBJECTS) $(eina_inlist_01_LDADD) $(LIBS) | 714 | $(AM_V_CCLD)$(LINK) $(eina_inlist_01_OBJECTS) $(eina_inlist_01_LDADD) $(LIBS) |
@@ -652,6 +742,18 @@ eina_log_02$(EXEEXT): $(eina_log_02_OBJECTS) $(eina_log_02_DEPENDENCIES) | |||
652 | eina_log_03$(EXEEXT): $(eina_log_03_OBJECTS) $(eina_log_03_DEPENDENCIES) | 742 | eina_log_03$(EXEEXT): $(eina_log_03_OBJECTS) $(eina_log_03_DEPENDENCIES) |
653 | @rm -f eina_log_03$(EXEEXT) | 743 | @rm -f eina_log_03$(EXEEXT) |
654 | $(AM_V_CCLD)$(LINK) $(eina_log_03_OBJECTS) $(eina_log_03_LDADD) $(LIBS) | 744 | $(AM_V_CCLD)$(LINK) $(eina_log_03_OBJECTS) $(eina_log_03_LDADD) $(LIBS) |
745 | eina_model_01$(EXEEXT): $(eina_model_01_OBJECTS) $(eina_model_01_DEPENDENCIES) | ||
746 | @rm -f eina_model_01$(EXEEXT) | ||
747 | $(AM_V_CCLD)$(LINK) $(eina_model_01_OBJECTS) $(eina_model_01_LDADD) $(LIBS) | ||
748 | eina_model_02$(EXEEXT): $(eina_model_02_OBJECTS) $(eina_model_02_DEPENDENCIES) | ||
749 | @rm -f eina_model_02$(EXEEXT) | ||
750 | $(AM_V_CCLD)$(LINK) $(eina_model_02_OBJECTS) $(eina_model_02_LDADD) $(LIBS) | ||
751 | eina_model_03$(EXEEXT): $(eina_model_03_OBJECTS) $(eina_model_03_DEPENDENCIES) | ||
752 | @rm -f eina_model_03$(EXEEXT) | ||
753 | $(AM_V_CCLD)$(LINK) $(eina_model_03_OBJECTS) $(eina_model_03_LDADD) $(LIBS) | ||
754 | eina_model_04$(EXEEXT): $(eina_model_04_OBJECTS) $(eina_model_04_DEPENDENCIES) | ||
755 | @rm -f eina_model_04$(EXEEXT) | ||
756 | $(AM_V_CCLD)$(LINK) $(eina_model_04_OBJECTS) $(eina_model_04_LDADD) $(LIBS) | ||
655 | eina_str_01$(EXEEXT): $(eina_str_01_OBJECTS) $(eina_str_01_DEPENDENCIES) | 757 | eina_str_01$(EXEEXT): $(eina_str_01_OBJECTS) $(eina_str_01_DEPENDENCIES) |
656 | @rm -f eina_str_01$(EXEEXT) | 758 | @rm -f eina_str_01$(EXEEXT) |
657 | $(AM_V_CCLD)$(LINK) $(eina_str_01_OBJECTS) $(eina_str_01_LDADD) $(LIBS) | 759 | $(AM_V_CCLD)$(LINK) $(eina_str_01_OBJECTS) $(eina_str_01_LDADD) $(LIBS) |
@@ -661,6 +763,15 @@ eina_strbuf_01$(EXEEXT): $(eina_strbuf_01_OBJECTS) $(eina_strbuf_01_DEPENDENCIES | |||
661 | eina_tiler_01$(EXEEXT): $(eina_tiler_01_OBJECTS) $(eina_tiler_01_DEPENDENCIES) | 763 | eina_tiler_01$(EXEEXT): $(eina_tiler_01_OBJECTS) $(eina_tiler_01_DEPENDENCIES) |
662 | @rm -f eina_tiler_01$(EXEEXT) | 764 | @rm -f eina_tiler_01$(EXEEXT) |
663 | $(AM_V_CCLD)$(LINK) $(eina_tiler_01_OBJECTS) $(eina_tiler_01_LDADD) $(LIBS) | 765 | $(AM_V_CCLD)$(LINK) $(eina_tiler_01_OBJECTS) $(eina_tiler_01_LDADD) $(LIBS) |
766 | eina_value_01$(EXEEXT): $(eina_value_01_OBJECTS) $(eina_value_01_DEPENDENCIES) | ||
767 | @rm -f eina_value_01$(EXEEXT) | ||
768 | $(AM_V_CCLD)$(LINK) $(eina_value_01_OBJECTS) $(eina_value_01_LDADD) $(LIBS) | ||
769 | eina_value_02$(EXEEXT): $(eina_value_02_OBJECTS) $(eina_value_02_DEPENDENCIES) | ||
770 | @rm -f eina_value_02$(EXEEXT) | ||
771 | $(AM_V_CCLD)$(LINK) $(eina_value_02_OBJECTS) $(eina_value_02_LDADD) $(LIBS) | ||
772 | eina_value_03$(EXEEXT): $(eina_value_03_OBJECTS) $(eina_value_03_DEPENDENCIES) | ||
773 | @rm -f eina_value_03$(EXEEXT) | ||
774 | $(AM_V_CCLD)$(LINK) $(eina_value_03_OBJECTS) $(eina_value_03_LDADD) $(LIBS) | ||
664 | 775 | ||
665 | mostlyclean-compile: | 776 | mostlyclean-compile: |
666 | -rm -f *.$(OBJEXT) | 777 | -rm -f *.$(OBJEXT) |
@@ -681,6 +792,7 @@ distclean-compile: | |||
681 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_06.Po@am__quote@ | 792 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_06.Po@am__quote@ |
682 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_07.Po@am__quote@ | 793 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_07.Po@am__quote@ |
683 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_08.Po@am__quote@ | 794 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_hash_08.Po@am__quote@ |
795 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inarray_01.Po@am__quote@ | ||
684 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_01.Po@am__quote@ | 796 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_01.Po@am__quote@ |
685 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_02.Po@am__quote@ | 797 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_02.Po@am__quote@ |
686 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_03.Po@am__quote@ | 798 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_inlist_03.Po@am__quote@ |
@@ -692,9 +804,21 @@ distclean-compile: | |||
692 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_01.Po@am__quote@ | 804 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_01.Po@am__quote@ |
693 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_02.Po@am__quote@ | 805 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_02.Po@am__quote@ |
694 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_03.Po@am__quote@ | 806 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_log_03.Po@am__quote@ |
807 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_01.Po@am__quote@ | ||
808 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_02.Po@am__quote@ | ||
809 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_03.Po@am__quote@ | ||
810 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_animal.Po@am__quote@ | ||
811 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_child.Po@am__quote@ | ||
812 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_human.Po@am__quote@ | ||
813 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_main.Po@am__quote@ | ||
814 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_parrot.Po@am__quote@ | ||
815 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_model_04_whistler.Po@am__quote@ | ||
695 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_str_01.Po@am__quote@ | 816 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_str_01.Po@am__quote@ |
696 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_strbuf_01.Po@am__quote@ | 817 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_strbuf_01.Po@am__quote@ |
697 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_tiler_01.Po@am__quote@ | 818 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_tiler_01.Po@am__quote@ |
819 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_01.Po@am__quote@ | ||
820 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_02.Po@am__quote@ | ||
821 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_value_03.Po@am__quote@ | ||
698 | 822 | ||
699 | .c.o: | 823 | .c.o: |
700 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | 824 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< |
diff --git a/libraries/eina/src/examples/eina_accessor_01.c b/libraries/eina/src/examples/eina_accessor_01.c index c48fdc6..da413c6 100644 --- a/libraries/eina/src/examples/eina_accessor_01.c +++ b/libraries/eina/src/examples/eina_accessor_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_accessor_01.c -o eina_accessor_01 | 2 | //gcc -g eina_accessor_01.c -o eina_accessor_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | 5 | ||
diff --git a/libraries/eina/src/examples/eina_array_01.c b/libraries/eina/src/examples/eina_array_01.c index d93eb35..1bae809 100644 --- a/libraries/eina/src/examples/eina_array_01.c +++ b/libraries/eina/src/examples/eina_array_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_array_01.c -o eina_array_01 | 2 | //gcc -g eina_array_01.c -o eina_array_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <string.h> | 5 | #include <string.h> |
diff --git a/libraries/eina/src/examples/eina_array_02.c b/libraries/eina/src/examples/eina_array_02.c index e897321..6b2903b 100644 --- a/libraries/eina/src/examples/eina_array_02.c +++ b/libraries/eina/src/examples/eina_array_02.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_array_02.c -o eina_array_02 | 2 | //gcc -g eina_array_02.c -o eina_array_02 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <string.h> | 5 | #include <string.h> |
diff --git a/libraries/eina/src/examples/eina_error_01.c b/libraries/eina/src/examples/eina_error_01.c index 90e845d..e264aee 100644 --- a/libraries/eina/src/examples/eina_error_01.c +++ b/libraries/eina/src/examples/eina_error_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_error_01.c -o eina_error_01 | 2 | //gcc -g eina_error_01.c -o eina_error_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdlib.h> | 4 | #include <stdlib.h> |
5 | #include <stdio.h> | 5 | #include <stdio.h> |
@@ -77,4 +77,4 @@ int main(void) | |||
77 | eina_shutdown(); | 77 | eina_shutdown(); |
78 | 78 | ||
79 | return EXIT_SUCCESS; | 79 | return EXIT_SUCCESS; |
80 | } \ No newline at end of file | 80 | } |
diff --git a/libraries/eina/src/examples/eina_file_01.c b/libraries/eina/src/examples/eina_file_01.c index 6490b62..2c945b3 100644 --- a/libraries/eina/src/examples/eina_file_01.c +++ b/libraries/eina/src/examples/eina_file_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_file_01.c -o eina_file_01 | 2 | //gcc -g eina_file_01.c -o eina_file_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <Eina.h> | 5 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_01.c b/libraries/eina/src/examples/eina_hash_01.c index 549ca80..16418fe 100644 --- a/libraries/eina/src/examples/eina_hash_01.c +++ b/libraries/eina/src/examples/eina_hash_01.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_01.c -o eina_hash_01 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_02.c b/libraries/eina/src/examples/eina_hash_02.c index d43d7a3..7baec93 100644 --- a/libraries/eina/src/examples/eina_hash_02.c +++ b/libraries/eina/src/examples/eina_hash_02.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_02.c -o eina_hash_02 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_03.c b/libraries/eina/src/examples/eina_hash_03.c index 719d0d7..ba543d4 100644 --- a/libraries/eina/src/examples/eina_hash_03.c +++ b/libraries/eina/src/examples/eina_hash_03.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_03.c -o eina_hash_03 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_04.c b/libraries/eina/src/examples/eina_hash_04.c index e900475..da73e04 100644 --- a/libraries/eina/src/examples/eina_hash_04.c +++ b/libraries/eina/src/examples/eina_hash_04.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_04.c -o eina_hash_04 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_05.c b/libraries/eina/src/examples/eina_hash_05.c index f8dbf78..6666ce2 100644 --- a/libraries/eina/src/examples/eina_hash_05.c +++ b/libraries/eina/src/examples/eina_hash_05.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_05.c -o eina_hash_05 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_06.c b/libraries/eina/src/examples/eina_hash_06.c index 99a2bd7..6e3c451 100644 --- a/libraries/eina/src/examples/eina_hash_06.c +++ b/libraries/eina/src/examples/eina_hash_06.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_06.c -o eina_hash_06 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_07.c b/libraries/eina/src/examples/eina_hash_07.c index b3e486a..1464e6b 100644 --- a/libraries/eina/src/examples/eina_hash_07.c +++ b/libraries/eina/src/examples/eina_hash_07.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_07.c -o eina_hash_07 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_hash_08.c b/libraries/eina/src/examples/eina_hash_08.c index 368a2fb..ed45f7f 100644 --- a/libraries/eina/src/examples/eina_hash_08.c +++ b/libraries/eina/src/examples/eina_hash_08.c | |||
@@ -1,3 +1,6 @@ | |||
1 | //Compile with: | ||
2 | //gcc -g eina_hash_08.c -o eina_hash_08 `pkg-config --cflags --libs eina` | ||
3 | |||
1 | #include <stdio.h> | 4 | #include <stdio.h> |
2 | #include <string.h> | 5 | #include <string.h> |
3 | #include <Eina.h> | 6 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_inlist_01.c b/libraries/eina/src/examples/eina_inlist_01.c index fa51553..6c6c794 100644 --- a/libraries/eina/src/examples/eina_inlist_01.c +++ b/libraries/eina/src/examples/eina_inlist_01.c | |||
@@ -1,5 +1,6 @@ | |||
1 | // Compile with: | 1 | // Compile with: |
2 | // gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 | 2 | // gcc -g eina_inlist_01.c -o eina_inlist_01 `pkg-config --cflags --libs eina` |
3 | |||
3 | #include <Eina.h> | 4 | #include <Eina.h> |
4 | #include <stdio.h> | 5 | #include <stdio.h> |
5 | 6 | ||
diff --git a/libraries/eina/src/examples/eina_inlist_02.c b/libraries/eina/src/examples/eina_inlist_02.c index 7d23f13..4c16ec6 100644 --- a/libraries/eina/src/examples/eina_inlist_02.c +++ b/libraries/eina/src/examples/eina_inlist_02.c | |||
@@ -1,5 +1,6 @@ | |||
1 | // Compile with: | 1 | // Compile with: |
2 | // gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 | 2 | // gcc -g eina_inlist_02.c -o eina_inlist_02 `pkg-config --cflags --libs eina` |
3 | |||
3 | #include <Eina.h> | 4 | #include <Eina.h> |
4 | #include <stdio.h> | 5 | #include <stdio.h> |
5 | 6 | ||
diff --git a/libraries/eina/src/examples/eina_inlist_03.c b/libraries/eina/src/examples/eina_inlist_03.c index a39a784..28706d5 100644 --- a/libraries/eina/src/examples/eina_inlist_03.c +++ b/libraries/eina/src/examples/eina_inlist_03.c | |||
@@ -1,5 +1,6 @@ | |||
1 | // Compile with: | 1 | // Compile with: |
2 | // gcc -g `pkg-config --cflags --libs eina` eina_inlist_01.c -o eina_inlist_01 | 2 | // gcc -g eina_inlist_03.c -o eina_inlist_03 `pkg-config --cflags --libs eina` |
3 | |||
3 | #include <Eina.h> | 4 | #include <Eina.h> |
4 | #include <stdio.h> | 5 | #include <stdio.h> |
5 | 6 | ||
diff --git a/libraries/eina/src/examples/eina_iterator_01.c b/libraries/eina/src/examples/eina_iterator_01.c index f467f90..88c40cc 100644 --- a/libraries/eina/src/examples/eina_iterator_01.c +++ b/libraries/eina/src/examples/eina_iterator_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_iterator_01.c -o eina_iterator_01 | 2 | //gcc -g eina_iterator_01.c -o eina_iterator_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | 5 | ||
diff --git a/libraries/eina/src/examples/eina_list_01.c b/libraries/eina/src/examples/eina_list_01.c index 7807791..4fcb020 100644 --- a/libraries/eina/src/examples/eina_list_01.c +++ b/libraries/eina/src/examples/eina_list_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_list_01.c -o eina_list_01 | 2 | //gcc -g eina_list_01.c -o eina_list_01 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <Eina.h> | 5 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_list_02.c b/libraries/eina/src/examples/eina_list_02.c index 7def475..5fe31e8 100644 --- a/libraries/eina/src/examples/eina_list_02.c +++ b/libraries/eina/src/examples/eina_list_02.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_list_02.c -o eina_list_02 | 2 | //gcc -g eina_list_02.c -o eina_list_02 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <string.h> | 5 | #include <string.h> |
diff --git a/libraries/eina/src/examples/eina_list_03.c b/libraries/eina/src/examples/eina_list_03.c index 8e15b91..db53148 100644 --- a/libraries/eina/src/examples/eina_list_03.c +++ b/libraries/eina/src/examples/eina_list_03.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_list_03.c -o eina_list_03 | 2 | //gcc -g eina_list_03.c -o eina_list_03 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <Eina.h> | 5 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_list_04.c b/libraries/eina/src/examples/eina_list_04.c index c153c06..d92a607 100644 --- a/libraries/eina/src/examples/eina_list_04.c +++ b/libraries/eina/src/examples/eina_list_04.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc -g `pkg-config --cflags --libs eina` eina_list_04.c -o eina_list_04 | 2 | //gcc -g eina_list_04.c -o eina_list_04 `pkg-config --cflags --libs eina` |
3 | 3 | ||
4 | #include <stdio.h> | 4 | #include <stdio.h> |
5 | #include <Eina.h> | 5 | #include <Eina.h> |
diff --git a/libraries/eina/src/examples/eina_tiler_01.c b/libraries/eina/src/examples/eina_tiler_01.c index b2ff8be..6202a88 100644 --- a/libraries/eina/src/examples/eina_tiler_01.c +++ b/libraries/eina/src/examples/eina_tiler_01.c | |||
@@ -1,5 +1,5 @@ | |||
1 | //Compile with: | 1 | //Compile with: |
2 | //gcc `pkg-config --cflags --libs ecore-evas ecore evas` eina_tiler_01.c -o eina_tiler_01 | 2 | //gcc eina_tiler_01.c -o eina_tiler_01 `pkg-config --cflags --libs ecore-evas ecore evas eina` |
3 | 3 | ||
4 | #include <Ecore_Evas.h> | 4 | #include <Ecore_Evas.h> |
5 | #include <Ecore.h> | 5 | #include <Ecore.h> |
diff --git a/libraries/eina/src/include/Eina.h b/libraries/eina/src/include/Eina.h index 721a991..d99b129 100644 --- a/libraries/eina/src/include/Eina.h +++ b/libraries/eina/src/include/Eina.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* EINA - EFL data type library | 1 | /* EINA - EFL data type library |
2 | * Copyright (C) 2008-2011 Enlightenment Developers: | 2 | * Copyright (C) 2008-2012 Enlightenment Developers: |
3 | * Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com> | 3 | * Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com> |
4 | * Alexandre "diaxen" Becoulet <diaxen@free.fr> | 4 | * Alexandre "diaxen" Becoulet <diaxen@free.fr> |
5 | * Andre Dieb <andre.dieb@gmail.com> | 5 | * Andre Dieb <andre.dieb@gmail.com> |
@@ -16,6 +16,7 @@ | |||
16 | * Tilman Sauerbeck <tilman@code-monkey.de> | 16 | * Tilman Sauerbeck <tilman@code-monkey.de> |
17 | * Vincent "caro" Torri <vtorri at univ-evry dot fr> | 17 | * Vincent "caro" Torri <vtorri at univ-evry dot fr> |
18 | * Tom Hacohen <tom@stosb.com> | 18 | * Tom Hacohen <tom@stosb.com> |
19 | * Jonas M. Gastal <jgastal@profusion.mobi> | ||
19 | * | 20 | * |
20 | * This library is free software; you can redistribute it and/or | 21 | * This library is free software; you can redistribute it and/or |
21 | * modify it under the terms of the GNU Lesser General Public | 22 | * modify it under the terms of the GNU Lesser General Public |
@@ -46,7 +47,7 @@ | |||
46 | * @mainpage Eina | 47 | * @mainpage Eina |
47 | * | 48 | * |
48 | * @version 1.1 | 49 | * @version 1.1 |
49 | * @date 2008-2011 | 50 | * @date 2008-2012 |
50 | * | 51 | * |
51 | * @section eina_intro_sec Introduction | 52 | * @section eina_intro_sec Introduction |
52 | * | 53 | * |
@@ -72,6 +73,8 @@ | |||
72 | * @li @ref Eina_Stringshare_Group saves memory by sharing read-only string references. | 73 | * @li @ref Eina_Stringshare_Group saves memory by sharing read-only string references. |
73 | * @li @ref Eina_Tiler_Group split, merge and navigates into 2D tiled regions. | 74 | * @li @ref Eina_Tiler_Group split, merge and navigates into 2D tiled regions. |
74 | * @li @ref Eina_Trash_Group container of unused but allocated data. | 75 | * @li @ref Eina_Trash_Group container of unused but allocated data. |
76 | * @li @ref Eina_Value_Group container for generic value storage and access. | ||
77 | * @li @ref Eina_Model_Group container for data with user defined hierarchy/structure. | ||
75 | * | 78 | * |
76 | * The tools that are available are (see @ref Eina_Tools_Group): | 79 | * The tools that are available are (see @ref Eina_Tools_Group): |
77 | * @li @ref Eina_Benchmark_Group helper to write benchmarks. | 80 | * @li @ref Eina_Benchmark_Group helper to write benchmarks. |
@@ -101,6 +104,31 @@ | |||
101 | * their elements with an @ref Eina_Iterator_Group, or eventually an | 104 | * their elements with an @ref Eina_Iterator_Group, or eventually an |
102 | * @ref Eina_Accessor_Group. | 105 | * @ref Eina_Accessor_Group. |
103 | * | 106 | * |
107 | * The containers in eina are designed with performance in mind, one consequence | ||
108 | * of this is that they @b don't check the validity of data structures given to | ||
109 | * them(@ref Eina_Magic_Group). | ||
110 | * | ||
111 | * The choice of which container to use in each situation is very important in | ||
112 | * achieving good performance and readable code. The most common container types | ||
113 | * to be used are: | ||
114 | * @li List | ||
115 | * @li Inline list | ||
116 | * @li Array | ||
117 | * @li Inline array | ||
118 | * @li Hash | ||
119 | * | ||
120 | * All types have virtues and vices. The following considerations are good | ||
121 | * starting point in deciding which container to use: | ||
122 | * @li Hashes are appropriate for datasets which will be searched often; | ||
123 | * @li arrays are good when accessing members by position; | ||
124 | * @li lists provide good versatility for adding elements in any position with | ||
125 | * minimal overhead; | ||
126 | * @li inline arrays use very little memory and don't cause fragmentation and | ||
127 | * therefore are a good option in memory constrained systems; | ||
128 | * @li inline lists are the appropriate type to use when the flexibility of a | ||
129 | * list is required but the overhead of pointer indirection is not acceptable. | ||
130 | * @warning These are general considerations, every situation is different, | ||
131 | * don't follow these recommendations blindly. | ||
104 | * | 132 | * |
105 | * @defgroup Eina_Tools_Group Tools | 133 | * @defgroup Eina_Tools_Group Tools |
106 | * | 134 | * |
@@ -120,15 +148,22 @@ | |||
120 | * @author Carsten Haitzler <raster@@rasterman.com> | 148 | * @author Carsten Haitzler <raster@@rasterman.com> |
121 | * @author Cedric Bail <cedric.bail@@free.fr> | 149 | * @author Cedric Bail <cedric.bail@@free.fr> |
122 | * @author Corey "atmos" Donohoe <atmos@@atmos.org> | 150 | * @author Corey "atmos" Donohoe <atmos@@atmos.org> |
151 | * @author Vincent "caro" Torri <vtorri at univ-evry dot fr> | ||
123 | * @author Fabiano Fidêncio <fidencio@@profusion.mobi> | 152 | * @author Fabiano Fidêncio <fidencio@@profusion.mobi> |
124 | * @author Gustavo Chaves <glima@@profusion.mobi> | 153 | * @author Gustavo Chaves <glima@@profusion.mobi> |
125 | * @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> | 154 | * @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi> |
126 | * @author Jorge Luis "turran" Zapata <jorgeluis.zapata@@gmail.com> | 155 | * @author Jorge Luis "turran" Zapata <jorgeluis.zapata@@gmail.com> |
156 | * @author Tilman Sauerbeck <tilman@@code-monkey.de> | ||
127 | * @author Peter "pfritz" Wehrfritz <peter.wehrfritz@@web.de> | 157 | * @author Peter "pfritz" Wehrfritz <peter.wehrfritz@@web.de> |
128 | * @author Raphael Kubo da Costa <kubo@@profusion.mobi> | 158 | * @author Raphael Kubo da Costa <kubo@@profusion.mobi> |
129 | * @author Tilman Sauerbeck <tilman@@code-monkey.de> | ||
130 | * @author Vincent "caro" Torri <vtorri at univ-evry dot fr> | ||
131 | * @author Tom Hacohen <tom@@stosb.com> | 159 | * @author Tom Hacohen <tom@@stosb.com> |
160 | * @author Brett Nash <nash@@nash.id.au> | ||
161 | * @author Sebastian Dransfeld <sd@@tango.flipp.net> | ||
162 | * @author Myungjae Lee <mjae.lee@@samsung.com> | ||
163 | * @author Youness Alaoui <kakaroto@@kakaroto.homelinux.net> | ||
164 | * @author Boris "billiob" Faure <billiob@@gmail.com> | ||
165 | * @author Sung W. Park <sungwoo@@gmail.com> | ||
166 | * @author Guillaume Friloux <guillaume.friloux@@asp64.com> | ||
132 | * | 167 | * |
133 | * Please contact <enlightenment-devel@lists.sourceforge.net> to get in | 168 | * Please contact <enlightenment-devel@lists.sourceforge.net> to get in |
134 | * contact with the developers and maintainers. | 169 | * contact with the developers and maintainers. |
@@ -189,6 +224,7 @@ extern "C" { | |||
189 | #include "eina_mmap.h" | 224 | #include "eina_mmap.h" |
190 | #include "eina_xattr.h" | 225 | #include "eina_xattr.h" |
191 | #include "eina_value.h" | 226 | #include "eina_value.h" |
227 | #include "eina_model.h" | ||
192 | 228 | ||
193 | #ifdef __cplusplus | 229 | #ifdef __cplusplus |
194 | } | 230 | } |
diff --git a/libraries/eina/src/include/Makefile.am b/libraries/eina/src/include/Makefile.am index a818d5f..31ef71e 100644 --- a/libraries/eina/src/include/Makefile.am +++ b/libraries/eina/src/include/Makefile.am | |||
@@ -64,7 +64,8 @@ eina_refcount.h \ | |||
64 | eina_mmap.h \ | 64 | eina_mmap.h \ |
65 | eina_xattr.h \ | 65 | eina_xattr.h \ |
66 | eina_value.h \ | 66 | eina_value.h \ |
67 | eina_inline_value.x | 67 | eina_inline_value.x \ |
68 | eina_model.h | ||
68 | 69 | ||
69 | # Will be back for developper after 1.1. | 70 | # Will be back for developper after 1.1. |
70 | # eina_object.h | 71 | # eina_object.h |
diff --git a/libraries/eina/src/include/Makefile.in b/libraries/eina/src/include/Makefile.in index ea922e5..7e819b8 100644 --- a/libraries/eina/src/include/Makefile.in +++ b/libraries/eina/src/include/Makefile.in | |||
@@ -46,20 +46,24 @@ DIST_COMMON = $(am__dist_installed_headers_DATA_DIST) \ | |||
46 | $(dist_installed_mainheader_DATA) $(srcdir)/Makefile.am \ | 46 | $(dist_installed_mainheader_DATA) $(srcdir)/Makefile.am \ |
47 | $(srcdir)/Makefile.in $(srcdir)/eina_config.h.in | 47 | $(srcdir)/Makefile.in $(srcdir)/eina_config.h.in |
48 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 48 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
49 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 49 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
50 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 50 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
51 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 51 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
52 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 52 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
53 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 53 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
54 | $(top_srcdir)/m4/efl_examples.m4 \ | 54 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
55 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 55 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
56 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 56 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
57 | $(top_srcdir)/m4/efl_threads.m4 \ | 57 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
58 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 58 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
59 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 59 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
60 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 60 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
61 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 61 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
62 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 62 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
63 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
64 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
65 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
66 | $(top_srcdir)/configure.ac | ||
63 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 67 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
64 | $(ACLOCAL_M4) | 68 | $(ACLOCAL_M4) |
65 | mkinstalldirs = $(install_sh) -d | 69 | mkinstalldirs = $(install_sh) -d |
@@ -93,9 +97,9 @@ am__dist_installed_headers_DATA_DIST = eina_safety_checks.h \ | |||
93 | eina_inline_str.x eina_strbuf.h eina_ustrbuf.h eina_unicode.h \ | 97 | eina_inline_str.x eina_strbuf.h eina_ustrbuf.h eina_unicode.h \ |
94 | eina_quadtree.h eina_simple_xml_parser.h eina_lock.h \ | 98 | eina_quadtree.h eina_simple_xml_parser.h eina_lock.h \ |
95 | eina_prefix.h eina_refcount.h eina_mmap.h eina_xattr.h \ | 99 | eina_prefix.h eina_refcount.h eina_mmap.h eina_xattr.h \ |
96 | eina_value.h eina_inline_value.x eina_inline_lock_wince.x \ | 100 | eina_value.h eina_inline_value.x eina_model.h \ |
97 | eina_inline_lock_win32.x eina_inline_lock_posix.x \ | 101 | eina_inline_lock_wince.x eina_inline_lock_win32.x \ |
98 | eina_inline_lock_void.x | 102 | eina_inline_lock_posix.x eina_inline_lock_void.x |
99 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | 103 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
100 | am__vpath_adj = case $$p in \ | 104 | am__vpath_adj = case $$p in \ |
101 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | 105 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ |
@@ -167,13 +171,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
167 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 171 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
168 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 172 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
169 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 173 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
174 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
170 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 175 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
171 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 176 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
172 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 177 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
173 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 178 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
174 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 179 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
175 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 180 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
176 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
177 | EINA_LIBS = @EINA_LIBS@ | 181 | EINA_LIBS = @EINA_LIBS@ |
178 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 182 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
179 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 183 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -183,6 +187,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
183 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 187 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
184 | EVIL_LIBS = @EVIL_LIBS@ | 188 | EVIL_LIBS = @EVIL_LIBS@ |
185 | EXEEXT = @EXEEXT@ | 189 | EXEEXT = @EXEEXT@ |
190 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
191 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
186 | FGREP = @FGREP@ | 192 | FGREP = @FGREP@ |
187 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 193 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
188 | GLIB_LIBS = @GLIB_LIBS@ | 194 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -218,6 +224,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
218 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 224 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
219 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 225 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
220 | PKG_CONFIG = @PKG_CONFIG@ | 226 | PKG_CONFIG = @PKG_CONFIG@ |
227 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
228 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
221 | RANLIB = @RANLIB@ | 229 | RANLIB = @RANLIB@ |
222 | SED = @SED@ | 230 | SED = @SED@ |
223 | SET_MAKE = @SET_MAKE@ | 231 | SET_MAKE = @SET_MAKE@ |
@@ -311,8 +319,8 @@ EINAHEADERS = eina_safety_checks.h eina_error.h eina_log.h \ | |||
311 | eina_ustrbuf.h eina_unicode.h eina_quadtree.h \ | 319 | eina_ustrbuf.h eina_unicode.h eina_quadtree.h \ |
312 | eina_simple_xml_parser.h eina_lock.h eina_prefix.h \ | 320 | eina_simple_xml_parser.h eina_lock.h eina_prefix.h \ |
313 | eina_refcount.h eina_mmap.h eina_xattr.h eina_value.h \ | 321 | eina_refcount.h eina_mmap.h eina_xattr.h eina_value.h \ |
314 | eina_inline_value.x $(am__append_1) $(am__append_2) \ | 322 | eina_inline_value.x eina_model.h $(am__append_1) \ |
315 | $(am__append_3) $(am__append_4) | 323 | $(am__append_2) $(am__append_3) $(am__append_4) |
316 | installed_mainheaderdir = $(includedir)/eina-@VMAJ@ | 324 | installed_mainheaderdir = $(includedir)/eina-@VMAJ@ |
317 | dist_installed_mainheader_DATA = Eina.h eina_config.h | 325 | dist_installed_mainheader_DATA = Eina.h eina_config.h |
318 | installed_headersdir = $(includedir)/eina-@VMAJ@/eina | 326 | installed_headersdir = $(includedir)/eina-@VMAJ@/eina |
diff --git a/libraries/eina/src/include/eina_array.h b/libraries/eina/src/include/eina_array.h index 53183b4..4ab3b50 100644 --- a/libraries/eina/src/include/eina_array.h +++ b/libraries/eina/src/include/eina_array.h | |||
@@ -351,7 +351,7 @@ static inline void *eina_array_data_get(const Eina_Array *array, | |||
351 | static inline void eina_array_data_set(const Eina_Array *array, | 351 | static inline void eina_array_data_set(const Eina_Array *array, |
352 | unsigned int idx, | 352 | unsigned int idx, |
353 | const void *data) EINA_ARG_NONNULL(1); | 353 | const void *data) EINA_ARG_NONNULL(1); |
354 | static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT EINA_DEPRECATED; | 354 | static inline unsigned int eina_array_count_get(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; |
355 | static inline unsigned int eina_array_count(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; | 355 | static inline unsigned int eina_array_count(const Eina_Array *array) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT; |
356 | 356 | ||
357 | /** | 357 | /** |
diff --git a/libraries/eina/src/include/eina_config.h b/libraries/eina/src/include/eina_config.h index 474edaa..b1108b6 100644 --- a/libraries/eina/src/include/eina_config.h +++ b/libraries/eina/src/include/eina_config.h | |||
@@ -19,6 +19,15 @@ | |||
19 | #ifndef EINA_CONFIG_H_ | 19 | #ifndef EINA_CONFIG_H_ |
20 | #define EINA_CONFIG_H_ | 20 | #define EINA_CONFIG_H_ |
21 | 21 | ||
22 | #ifdef EINA_HAVE_EXOTIC_H | ||
23 | # undef EINA_HAVE_EXOTIC_H | ||
24 | #endif | ||
25 | |||
26 | |||
27 | #ifdef EINA_HAVE_EXOTIC | ||
28 | # include <Exotic.h> | ||
29 | #endif | ||
30 | |||
22 | #ifdef EINA_MAGIC_DEBUG | 31 | #ifdef EINA_MAGIC_DEBUG |
23 | # undef EINA_MAGIC_DEBUG | 32 | # undef EINA_MAGIC_DEBUG |
24 | #endif | 33 | #endif |
diff --git a/libraries/eina/src/include/eina_config.h.in b/libraries/eina/src/include/eina_config.h.in index 2459ace..937d208 100644 --- a/libraries/eina/src/include/eina_config.h.in +++ b/libraries/eina/src/include/eina_config.h.in | |||
@@ -19,6 +19,15 @@ | |||
19 | #ifndef EINA_CONFIG_H_ | 19 | #ifndef EINA_CONFIG_H_ |
20 | #define EINA_CONFIG_H_ | 20 | #define EINA_CONFIG_H_ |
21 | 21 | ||
22 | #ifdef EINA_HAVE_EXOTIC_H | ||
23 | # undef EINA_HAVE_EXOTIC_H | ||
24 | #endif | ||
25 | @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
26 | |||
27 | #ifdef EINA_HAVE_EXOTIC | ||
28 | # include <Exotic.h> | ||
29 | #endif | ||
30 | |||
22 | #ifdef EINA_MAGIC_DEBUG | 31 | #ifdef EINA_MAGIC_DEBUG |
23 | # undef EINA_MAGIC_DEBUG | 32 | # undef EINA_MAGIC_DEBUG |
24 | #endif | 33 | #endif |
diff --git a/libraries/eina/src/include/eina_error.h b/libraries/eina/src/include/eina_error.h index 2b0ae77..dd87edf 100644 --- a/libraries/eina/src/include/eina_error.h +++ b/libraries/eina/src/include/eina_error.h | |||
@@ -180,7 +180,7 @@ EAPI const char *eina_error_msg_get(Eina_Error error) EINA_PURE; | |||
180 | 180 | ||
181 | /** | 181 | /** |
182 | * @brief Find the #Eina_Error corresponding to a message string | 182 | * @brief Find the #Eina_Error corresponding to a message string |
183 | * @param msg The error message string to match (NOT #NULL) | 183 | * @param msg The error message string to match (NOT @c NULL) |
184 | * @return The #Eina_Error matching @p msg, or 0 on failure | 184 | * @return The #Eina_Error matching @p msg, or 0 on failure |
185 | * This function attempts to match @p msg with its corresponding #Eina_Error value. | 185 | * This function attempts to match @p msg with its corresponding #Eina_Error value. |
186 | * If no such value is found, 0 is returned. | 186 | * If no such value is found, 0 is returned. |
diff --git a/libraries/eina/src/include/eina_file.h b/libraries/eina/src/include/eina_file.h index 422fb65..1af22af 100644 --- a/libraries/eina/src/include/eina_file.h +++ b/libraries/eina/src/include/eina_file.h | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | #include <limits.h> | 23 | #include <limits.h> |
24 | #include <time.h> | 24 | #include <time.h> |
25 | #include <sys/stat.h> | ||
25 | 26 | ||
26 | #include "eina_types.h" | 27 | #include "eina_types.h" |
27 | #include "eina_array.h" | 28 | #include "eina_array.h" |
@@ -91,6 +92,13 @@ | |||
91 | typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info; | 92 | typedef struct _Eina_File_Direct_Info Eina_File_Direct_Info; |
92 | 93 | ||
93 | /** | 94 | /** |
95 | * @typedef Eina_Stat | ||
96 | * A typedef to #_Eina_Stat. | ||
97 | * @since 1.2 | ||
98 | */ | ||
99 | typedef struct _Eina_Stat Eina_Stat; | ||
100 | |||
101 | /** | ||
94 | * @typedef Eina_File_Dir_List_Cb | 102 | * @typedef Eina_File_Dir_List_Cb |
95 | * Type for a callback to be called when iterating over the files of a | 103 | * Type for a callback to be called when iterating over the files of a |
96 | * directory. | 104 | * directory. |
@@ -149,6 +157,31 @@ struct _Eina_File_Direct_Info | |||
149 | }; | 157 | }; |
150 | 158 | ||
151 | /** | 159 | /** |
160 | * @struct _Eina_Stat | ||
161 | * A structure to store informations of a path. | ||
162 | * @since 1.2 | ||
163 | */ | ||
164 | struct _Eina_Stat | ||
165 | { | ||
166 | unsigned long int dev; | ||
167 | unsigned long int ino; | ||
168 | unsigned int mode; | ||
169 | unsigned int nlink; | ||
170 | unsigned int uid; | ||
171 | unsigned int gid; | ||
172 | unsigned long int rdev; | ||
173 | unsigned long int size; | ||
174 | unsigned long int blksize; | ||
175 | unsigned long int blocks; | ||
176 | unsigned long int atime; | ||
177 | unsigned long int atimensec; | ||
178 | unsigned long int mtime; | ||
179 | unsigned long int mtimensec; | ||
180 | unsigned long int ctime; | ||
181 | unsigned long int ctimensec; | ||
182 | }; | ||
183 | |||
184 | /** | ||
152 | * @def EINA_FILE_DIR_LIST_CB | 185 | * @def EINA_FILE_DIR_LIST_CB |
153 | * @brief cast to an #Eina_File_Dir_List_Cb. | 186 | * @brief cast to an #Eina_File_Dir_List_Cb. |
154 | * | 187 | * |
@@ -247,6 +280,24 @@ EAPI Eina_Iterator *eina_file_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_A | |||
247 | EAPI Eina_Iterator *eina_file_stat_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; | 280 | EAPI Eina_Iterator *eina_file_stat_ls(const char *dir) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC; |
248 | 281 | ||
249 | /** | 282 | /** |
283 | * @brief Use information provided by Eina_Iterator of eina_file_stat_ls or eina_file_direct_ls | ||
284 | * to call stat in the most efficient way on your system. | ||
285 | * | ||
286 | * @param container The container returned by the Eina_Iterator using eina_iterator_container_get(). | ||
287 | * @param info The content of the current Eina_File_Direct_Info provided by the Eina_Iterator | ||
288 | * @param buf Where to put the result of the stat | ||
289 | * @return On success 0 is returned, On error -1 is returned and errno is set appropriately. | ||
290 | * | ||
291 | * This function calls fstatat or stat depending on what your system supports. This makes it efficient and simple | ||
292 | * to use on your side without complex detection already done inside Eina on what the system can do. | ||
293 | * | ||
294 | * @see eina_file_direct_ls() | ||
295 | * @see eina_file_stat_ls() | ||
296 | * @since 1.2 | ||
297 | */ | ||
298 | EAPI int eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *buf) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2, 3); | ||
299 | |||
300 | /** | ||
250 | * @brief Get an iterator to list the content of a directory, with direct | 301 | * @brief Get an iterator to list the content of a directory, with direct |
251 | * information. | 302 | * information. |
252 | * | 303 | * |
diff --git a/libraries/eina/src/include/eina_inarray.h b/libraries/eina/src/include/eina_inarray.h index d37c76b..079f1e3 100644 --- a/libraries/eina/src/include/eina_inarray.h +++ b/libraries/eina/src/include/eina_inarray.h | |||
@@ -24,6 +24,131 @@ | |||
24 | #include "eina_accessor.h" | 24 | #include "eina_accessor.h" |
25 | 25 | ||
26 | /** | 26 | /** |
27 | * @page eina_inarray_example_01 Eina inline array usage | ||
28 | * @dontinclude eina_inarray_01.c | ||
29 | * | ||
30 | * This example will create an inline array of chars, add some elements, print | ||
31 | * it, re-purpose the array to store ints, add some elements and print that. | ||
32 | * | ||
33 | * We'll start with a function to compare ints we need this because the '>' | ||
34 | * operator is not a function and can't be used where Eina_Compare_Cb is needed. | ||
35 | * @skip int | ||
36 | * @until } | ||
37 | * | ||
38 | * And then move on to the code we actually care about, starting with variable | ||
39 | * declarations and eina initialization: | ||
40 | * @until eina_init | ||
41 | * | ||
42 | * Creating an inline array is very simple, we just need to know what type we | ||
43 | * want to store: | ||
44 | * @until inarray_new | ||
45 | * @note The second parameter(the step) is left at zero which means that eina | ||
46 | * will choose an appropriate value, this should @b only be changed if it's | ||
47 | * known, beforehand, how many elements the array will have. | ||
48 | * | ||
49 | * Once we have an array we can start adding elements to it. Because the | ||
50 | * insertion function expect a memory address we have to put the value we want | ||
51 | * to store in a variable(this should be no problem since in real world usage | ||
52 | * that's usually where the value will be anyways): | ||
53 | * @until append | ||
54 | * @note Because the inline array copies the value given to it we can later | ||
55 | * change @c ch, which we do, without affecting the contents of the array. | ||
56 | * | ||
57 | * So let's add some more elements: | ||
58 | * @until append | ||
59 | * @until append | ||
60 | * @until append | ||
61 | * | ||
62 | * We will then iterate over our array and print every position of it. The thing | ||
63 | * to note here is not so much the values which will be the expected 'a', 'b', | ||
64 | * 'c' and 'd', but rather the memory address of these values, they are | ||
65 | * sequential: | ||
66 | * @until printf | ||
67 | * @until printf | ||
68 | * | ||
69 | * We'll now use our array to store ints, so we need to first erase every member | ||
70 | * currently on the array: | ||
71 | * @until _flush | ||
72 | * | ||
73 | * And then to be able to store a different type on the same array we use the | ||
74 | * eina_array_setup() function, which is just like the eina_inarray_new() | ||
75 | * function except it receives already allocated memory. This time we're going | ||
76 | * to ask eina to use a step of size 4 because that's how many elements we'll be | ||
77 | * putting on the array: | ||
78 | * @until _setup | ||
79 | * @note Strictly speaking the reason to call eina_inarray_setup() is not | ||
80 | * because we're storing different type, but rather because our types have | ||
81 | * different sizes. Eina inline arrays don't actually know anything about types, | ||
82 | * they only deal in blocks of memory of a given size. | ||
83 | * @note Since eina_array_setup() receives already allocated memory you can(and | ||
84 | * it is in fact good practice) use inline arrays not declared as pointers: | ||
85 | * @code | ||
86 | * Eina_Inarray arr; | ||
87 | * eina_inarray_setup(&arr, sizeof(int), 4); | ||
88 | * @endcode | ||
89 | * | ||
90 | * And now to add our integer values to the array: | ||
91 | * @until append | ||
92 | * @until append | ||
93 | * @until append | ||
94 | * | ||
95 | * Just to change things up a bit we've left out the 99 value, but will still | ||
96 | * add it in such a way to keep the array ordered. There are many ways to do | ||
97 | * this, we could use eina_inarray_insert_at(), or we could change the value | ||
98 | * of the last member using eina_inarray_replace_at() and then append the values | ||
99 | * in the right order, but for no particular reason we're going to use | ||
100 | * eina_inarray_insert_sorted() instead: | ||
101 | * @until insert_sorted | ||
102 | * | ||
103 | * We then print the size of our array, and the array itself, much like last | ||
104 | * time the values are not surprising, and neither should it be that the memory | ||
105 | * addresses are contiguous: | ||
106 | * @until printf | ||
107 | * @until printf | ||
108 | * | ||
109 | * Once done we free our array and shutdown eina: | ||
110 | * @until } | ||
111 | * | ||
112 | * The source for this example: @ref eina_inarray_01_c | ||
113 | */ | ||
114 | |||
115 | /** | ||
116 | * @page eina_inarray_01_c eina_inarray_01.c | ||
117 | * @include eina_inarray_01.c | ||
118 | * @example eina_inarray_01.c | ||
119 | */ | ||
120 | |||
121 | /** | ||
122 | * @page eina_inarray_example_02 Eina inline array of strings | ||
123 | * @dontinclude eina_inarray_02.c | ||
124 | * | ||
125 | * This example will create an inline array of strings, add some elements and | ||
126 | * then print them. This example is based on @ref eina_array_01_example_page and | ||
127 | * @ref eina_inarray_example_01. | ||
128 | * | ||
129 | * We start with some variable declarations and eina initialization: | ||
130 | * @skip int | ||
131 | * @until eina_init | ||
132 | * | ||
133 | * We then create the array much like we did on @ref eina_inarray_example_01: | ||
134 | * @until inarray_new | ||
135 | * | ||
136 | * The point were this example significantly differs from the first eina inline | ||
137 | * array example. We'll not be adding the strings themselves to the array since | ||
138 | * their size varies, we'll store pointer to the strings instead. We therefore | ||
139 | * use @c char** to populate our inline array: | ||
140 | * @until } | ||
141 | * | ||
142 | * The source for this example: @ref eina_inarray_02_c | ||
143 | */ | ||
144 | |||
145 | /** | ||
146 | * @page eina_inarray_02_c eina_inarray_02.c | ||
147 | * @include eina_inarray_02.c | ||
148 | * @example eina_inarray_02.c | ||
149 | */ | ||
150 | |||
151 | /** | ||
27 | * @addtogroup Eina_Data_Types_Group Data Types | 152 | * @addtogroup Eina_Data_Types_Group Data Types |
28 | * | 153 | * |
29 | * @since 1.2 | 154 | * @since 1.2 |
@@ -40,6 +165,19 @@ | |||
40 | /** | 165 | /** |
41 | * @defgroup Eina_Inline_Array_Group Inline Array | 166 | * @defgroup Eina_Inline_Array_Group Inline Array |
42 | * | 167 | * |
168 | * Inline array is a container that stores the data itself not pointers to data, | ||
169 | * this means there is no memory fragmentation, also for small data types(such | ||
170 | * as char, short, int, etc.) it's more memory efficient. | ||
171 | * | ||
172 | * Usage of the inline array is very similar to that of other | ||
173 | * @ref Eina_Containers_Group, like all arrays adding elements to the beginning | ||
174 | * of the array is a lot more costly than appending, so those operations should | ||
175 | * be minimized. | ||
176 | * | ||
177 | * Examples: | ||
178 | * @li @ref eina_inarray_example_01 | ||
179 | * @li @ref eina_inarray_example_02 | ||
180 | * | ||
43 | * @{ | 181 | * @{ |
44 | */ | 182 | */ |
45 | 183 | ||
@@ -531,8 +669,8 @@ EAPI Eina_Accessor *eina_inarray_accessor_new(const Eina_Inarray *array) EINA_MA | |||
531 | * @since 1.2 | 669 | * @since 1.2 |
532 | */ | 670 | */ |
533 | #define EINA_INARRAY_FOREACH(array, itr) \ | 671 | #define EINA_INARRAY_FOREACH(array, itr) \ |
534 | for ((itr) = array->members; \ | 672 | for ((itr) = (array)->members; \ |
535 | (itr) < (((typeof(*itr)*)array->members) + array->len); \ | 673 | (itr) < (((typeof(*itr)*)(array)->members) + (array)->len); \ |
536 | (itr)++) | 674 | (itr)++) |
537 | 675 | ||
538 | /** | 676 | /** |
@@ -552,9 +690,9 @@ EAPI Eina_Accessor *eina_inarray_accessor_new(const Eina_Inarray *array) EINA_MA | |||
552 | * @since 1.2 | 690 | * @since 1.2 |
553 | */ | 691 | */ |
554 | #define EINA_INARRAY_REVERSE_FOREACH(array, itr) \ | 692 | #define EINA_INARRAY_REVERSE_FOREACH(array, itr) \ |
555 | for ((itr) = ((((typeof(*(itr))*)array->members) + array->len) - 1); \ | 693 | for ((itr) = ((((typeof(*(itr))*)(array)->members) + (array)->len) - 1); \ |
556 | (((itr) >= (typeof(*(itr))*)array->members) \ | 694 | (((itr) >= (typeof(*(itr))*)(array)->members) \ |
557 | && (array->members != NULL)); \ | 695 | && ((array)->members != NULL)); \ |
558 | (itr)--) | 696 | (itr)--) |
559 | 697 | ||
560 | /** | 698 | /** |
diff --git a/libraries/eina/src/include/eina_inline_lock_win32.x b/libraries/eina/src/include/eina_inline_lock_win32.x index e8363d5..1988724 100644 --- a/libraries/eina/src/include/eina_inline_lock_win32.x +++ b/libraries/eina/src/include/eina_inline_lock_win32.x | |||
@@ -23,6 +23,9 @@ | |||
23 | 23 | ||
24 | typedef CRITICAL_SECTION Eina_Lock; | 24 | typedef CRITICAL_SECTION Eina_Lock; |
25 | typedef struct _Eina_Condition Eina_Condition; | 25 | typedef struct _Eina_Condition Eina_Condition; |
26 | typedef struct _Eina_RWLock Eina_RWLock; | ||
27 | typedef DWORD Eina_TLS; | ||
28 | typedef HANDLE Eina_Semaphore; | ||
26 | 29 | ||
27 | #if _WIN32_WINNT >= 0x0600 | 30 | #if _WIN32_WINNT >= 0x0600 |
28 | struct _Eina_Condition | 31 | struct _Eina_Condition |
@@ -30,6 +33,13 @@ struct _Eina_Condition | |||
30 | CRITICAL_SECTION *mutex; | 33 | CRITICAL_SECTION *mutex; |
31 | CONDITION_VARIABLE condition; | 34 | CONDITION_VARIABLE condition; |
32 | }; | 35 | }; |
36 | |||
37 | struct _Eina_RWLock | ||
38 | { | ||
39 | SRWLOCK mutex; | ||
40 | |||
41 | Eina_Bool is_read_mode : 1; | ||
42 | }; | ||
33 | #else | 43 | #else |
34 | struct _Eina_Condition | 44 | struct _Eina_Condition |
35 | { | 45 | { |
@@ -40,28 +50,24 @@ struct _Eina_Condition | |||
40 | HANDLE waiters_done; | 50 | HANDLE waiters_done; |
41 | Eina_Bool was_broadcast; | 51 | Eina_Bool was_broadcast; |
42 | }; | 52 | }; |
43 | #endif | ||
44 | 53 | ||
45 | typedef struct _Eina_Win32_RWLock Eina_RWLock; | 54 | struct _Eina_RWLock |
46 | |||
47 | struct _Eina_Win32_RWLock | ||
48 | { | 55 | { |
49 | LONG readers_count; | 56 | LONG readers_count; |
50 | LONG writers_count; | 57 | LONG writers_count; |
51 | int readers; | 58 | int readers; |
52 | int writers; | 59 | int writers; |
53 | 60 | ||
54 | Eina_Lock mutex; | 61 | Eina_Lock mutex; |
55 | Eina_Condition cond_read; | 62 | Eina_Condition cond_read; |
56 | Eina_Condition cond_write; | 63 | Eina_Condition cond_write; |
57 | }; | 64 | }; |
65 | #endif | ||
58 | 66 | ||
59 | typedef DWORD Eina_TLS; | ||
60 | |||
61 | typedef HANDLE Eina_Semaphore; | ||
62 | 67 | ||
63 | EAPI extern Eina_Bool _eina_threads_activated; | 68 | EAPI extern Eina_Bool _eina_threads_activated; |
64 | 69 | ||
70 | |||
65 | static inline Eina_Bool | 71 | static inline Eina_Bool |
66 | eina_lock_new(Eina_Lock *mutex) | 72 | eina_lock_new(Eina_Lock *mutex) |
67 | { | 73 | { |
@@ -143,9 +149,9 @@ eina_condition_new(Eina_Condition *cond, Eina_Lock *mutex) | |||
143 | CloseHandle(cond->semaphore); | 149 | CloseHandle(cond->semaphore); |
144 | return EINA_FALSE; | 150 | return EINA_FALSE; |
145 | } | 151 | } |
152 | #endif | ||
146 | 153 | ||
147 | return EINA_TRUE; | 154 | return EINA_TRUE; |
148 | #endif | ||
149 | } | 155 | } |
150 | 156 | ||
151 | static inline void | 157 | static inline void |
@@ -153,6 +159,7 @@ eina_condition_free(Eina_Condition *cond) | |||
153 | { | 159 | { |
154 | #if _WIN32_WINNT >= 0x0600 | 160 | #if _WIN32_WINNT >= 0x0600 |
155 | /* Nothing to do */ | 161 | /* Nothing to do */ |
162 | (void)cond; | ||
156 | #else | 163 | #else |
157 | CloseHandle(cond->waiters_done); | 164 | CloseHandle(cond->waiters_done); |
158 | DeleteCriticalSection(&cond->waiters_count_lock); | 165 | DeleteCriticalSection(&cond->waiters_count_lock); |
@@ -309,20 +316,29 @@ eina_condition_signal(Eina_Condition *cond) | |||
309 | if (!ReleaseSemaphore(cond->semaphore, 1, 0)) | 316 | if (!ReleaseSemaphore(cond->semaphore, 1, 0)) |
310 | return EINA_FALSE; | 317 | return EINA_FALSE; |
311 | } | 318 | } |
319 | #endif | ||
312 | 320 | ||
313 | return EINA_TRUE; | 321 | return EINA_TRUE; |
314 | #endif | ||
315 | } | 322 | } |
316 | 323 | ||
317 | static inline Eina_Bool | 324 | static inline Eina_Bool |
318 | eina_rwlock_new(Eina_RWLock *mutex) | 325 | eina_rwlock_new(Eina_RWLock *mutex) |
319 | { | 326 | { |
327 | #if _WIN32_WINNT >= 0x0600 | ||
328 | InitializeSRWLock(&mutex->mutex); | ||
329 | return EINA_TRUE; | ||
330 | #else | ||
320 | if (!eina_lock_new(&(mutex->mutex))) return EINA_FALSE; | 331 | if (!eina_lock_new(&(mutex->mutex))) return EINA_FALSE; |
321 | if (!eina_condition_new(&(mutex->cond_read), &(mutex->mutex))) | 332 | if (!eina_condition_new(&(mutex->cond_read), &(mutex->mutex))) |
322 | goto on_error1; | 333 | goto on_error1; |
323 | if (!eina_condition_new(&(mutex->cond_write), &(mutex->mutex))) | 334 | if (!eina_condition_new(&(mutex->cond_write), &(mutex->mutex))) |
324 | goto on_error2; | 335 | goto on_error2; |
325 | 336 | ||
337 | mutex->readers_count = 0; | ||
338 | mutex->writers_count = 0; | ||
339 | mutex->readers = 0; | ||
340 | mutex->writers = 0; | ||
341 | |||
326 | return EINA_TRUE; | 342 | return EINA_TRUE; |
327 | 343 | ||
328 | on_error2: | 344 | on_error2: |
@@ -330,20 +346,29 @@ eina_rwlock_new(Eina_RWLock *mutex) | |||
330 | on_error1: | 346 | on_error1: |
331 | eina_lock_free(&(mutex->mutex)); | 347 | eina_lock_free(&(mutex->mutex)); |
332 | return EINA_FALSE; | 348 | return EINA_FALSE; |
349 | #endif | ||
333 | } | 350 | } |
334 | 351 | ||
335 | static inline void | 352 | static inline void |
336 | eina_rwlock_free(Eina_RWLock *mutex) | 353 | eina_rwlock_free(Eina_RWLock *mutex) |
337 | { | 354 | { |
355 | #if _WIN32_WINNT >= 0x0600 | ||
356 | (void)mutex; | ||
357 | #else | ||
338 | eina_condition_free(&(mutex->cond_read)); | 358 | eina_condition_free(&(mutex->cond_read)); |
339 | eina_condition_free(&(mutex->cond_write)); | 359 | eina_condition_free(&(mutex->cond_write)); |
340 | eina_lock_free(&(mutex->mutex)); | 360 | eina_lock_free(&(mutex->mutex)); |
361 | #endif | ||
341 | } | 362 | } |
342 | 363 | ||
343 | static inline Eina_Lock_Result | 364 | static inline Eina_Lock_Result |
344 | eina_rwlock_take_read(Eina_RWLock *mutex) | 365 | eina_rwlock_take_read(Eina_RWLock *mutex) |
345 | { | 366 | { |
346 | DWORD res; | 367 | #if _WIN32_WINNT >= 0x0600 |
368 | AcquireSRWLockShared(&mutex->mutex); | ||
369 | mutex->is_read_mode = EINA_TRUE; | ||
370 | #else | ||
371 | DWORD res = 0; | ||
347 | 372 | ||
348 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) | 373 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) |
349 | return EINA_LOCK_FAIL; | 374 | return EINA_LOCK_FAIL; |
@@ -364,6 +389,7 @@ eina_rwlock_take_read(Eina_RWLock *mutex) | |||
364 | if (res == 0) | 389 | if (res == 0) |
365 | mutex->readers++; | 390 | mutex->readers++; |
366 | eina_lock_release(&(mutex->mutex)); | 391 | eina_lock_release(&(mutex->mutex)); |
392 | #endif | ||
367 | 393 | ||
368 | return EINA_LOCK_SUCCEED; | 394 | return EINA_LOCK_SUCCEED; |
369 | } | 395 | } |
@@ -371,7 +397,11 @@ eina_rwlock_take_read(Eina_RWLock *mutex) | |||
371 | static inline Eina_Lock_Result | 397 | static inline Eina_Lock_Result |
372 | eina_rwlock_take_write(Eina_RWLock *mutex) | 398 | eina_rwlock_take_write(Eina_RWLock *mutex) |
373 | { | 399 | { |
374 | DWORD res; | 400 | #if _WIN32_WINNT >= 0x0600 |
401 | AcquireSRWLockExclusive(&mutex->mutex); | ||
402 | mutex->is_read_mode = EINA_FALSE; | ||
403 | #else | ||
404 | DWORD res = 0; | ||
375 | 405 | ||
376 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) | 406 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) |
377 | return EINA_LOCK_FAIL; | 407 | return EINA_LOCK_FAIL; |
@@ -389,8 +419,9 @@ eina_rwlock_take_write(Eina_RWLock *mutex) | |||
389 | } | 419 | } |
390 | mutex->writers_count--; | 420 | mutex->writers_count--; |
391 | } | 421 | } |
392 | if (res == 0) mutex->writers_count = 1; | 422 | if (res == 0) mutex->writers = 1; |
393 | eina_lock_release(&(mutex->mutex)); | 423 | eina_lock_release(&(mutex->mutex)); |
424 | #endif | ||
394 | 425 | ||
395 | return EINA_LOCK_SUCCEED; | 426 | return EINA_LOCK_SUCCEED; |
396 | } | 427 | } |
@@ -398,6 +429,12 @@ eina_rwlock_take_write(Eina_RWLock *mutex) | |||
398 | static inline Eina_Lock_Result | 429 | static inline Eina_Lock_Result |
399 | eina_rwlock_release(Eina_RWLock *mutex) | 430 | eina_rwlock_release(Eina_RWLock *mutex) |
400 | { | 431 | { |
432 | #if _WIN32_WINNT >= 0x0600 | ||
433 | if (mutex->is_read_mode) | ||
434 | ReleaseSRWLockShared(&mutex->mutex); | ||
435 | else | ||
436 | ReleaseSRWLockExclusive(&mutex->mutex); | ||
437 | #else | ||
401 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) | 438 | if (eina_lock_take(&(mutex->mutex)) == EINA_LOCK_FAIL) |
402 | return EINA_LOCK_FAIL; | 439 | return EINA_LOCK_FAIL; |
403 | 440 | ||
@@ -433,6 +470,7 @@ eina_rwlock_release(Eina_RWLock *mutex) | |||
433 | } | 470 | } |
434 | } | 471 | } |
435 | eina_lock_release(&(mutex->mutex)); | 472 | eina_lock_release(&(mutex->mutex)); |
473 | #endif | ||
436 | 474 | ||
437 | return EINA_LOCK_SUCCEED; | 475 | return EINA_LOCK_SUCCEED; |
438 | } | 476 | } |
diff --git a/libraries/eina/src/include/eina_inline_stringshare.x b/libraries/eina/src/include/eina_inline_stringshare.x index bfd7677..19827c5 100644 --- a/libraries/eina/src/include/eina_inline_stringshare.x +++ b/libraries/eina/src/include/eina_inline_stringshare.x | |||
@@ -43,7 +43,7 @@ | |||
43 | * #EINA_FALSE if the strings were the same after shared. | 43 | * #EINA_FALSE if the strings were the same after shared. |
44 | */ | 44 | */ |
45 | static inline Eina_Bool | 45 | static inline Eina_Bool |
46 | eina_stringshare_replace(const char **p_str, const char *news) | 46 | eina_stringshare_replace(Eina_Stringshare **p_str, const char *news) |
47 | { | 47 | { |
48 | if (*p_str == news) return EINA_FALSE; | 48 | if (*p_str == news) return EINA_FALSE; |
49 | 49 | ||
@@ -72,7 +72,7 @@ eina_stringshare_replace(const char **p_str, const char *news) | |||
72 | * #EINA_FALSE if the strings were the same after shared. | 72 | * #EINA_FALSE if the strings were the same after shared. |
73 | */ | 73 | */ |
74 | static inline Eina_Bool | 74 | static inline Eina_Bool |
75 | eina_stringshare_replace_length(const char **p_str, const char *news, unsigned int slen) | 75 | eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen) |
76 | { | 76 | { |
77 | if (*p_str == news) return EINA_FALSE; | 77 | if (*p_str == news) return EINA_FALSE; |
78 | 78 | ||
diff --git a/libraries/eina/src/include/eina_inline_value.x b/libraries/eina/src/include/eina_inline_value.x index 59ec315..33c83f5 100644 --- a/libraries/eina/src/include/eina_inline_value.x +++ b/libraries/eina/src/include/eina_inline_value.x | |||
@@ -19,8 +19,8 @@ | |||
19 | #ifndef EINA_INLINE_VALUE_X_ | 19 | #ifndef EINA_INLINE_VALUE_X_ |
20 | #define EINA_INLINE_VALUE_X_ | 20 | #define EINA_INLINE_VALUE_X_ |
21 | 21 | ||
22 | #include <stdlib.h> | ||
22 | #include <string.h> | 23 | #include <string.h> |
23 | #include <alloca.h> | ||
24 | 24 | ||
25 | #include "eina_stringshare.h" | 25 | #include "eina_stringshare.h" |
26 | 26 | ||
@@ -210,7 +210,7 @@ eina_value_compare(const Eina_Value *a, const Eina_Value *b) | |||
210 | return 1; | 210 | return 1; |
211 | return 0; | 211 | return 0; |
212 | } | 212 | } |
213 | else if (type == EINA_VALUE_TYPE_ULONG) | 213 | else if ((type == EINA_VALUE_TYPE_ULONG) || (type == EINA_VALUE_TYPE_TIMESTAMP)) |
214 | { | 214 | { |
215 | unsigned long *ta = (unsigned long *) pa, *tb = (unsigned long *) pb; | 215 | unsigned long *ta = (unsigned long *) pa, *tb = (unsigned long *) pb; |
216 | if (*ta < *tb) | 216 | if (*ta < *tb) |
@@ -362,7 +362,7 @@ eina_value_vset(Eina_Value *value, va_list args) | |||
362 | *tmem = va_arg(args, unsigned int); | 362 | *tmem = va_arg(args, unsigned int); |
363 | return EINA_TRUE; | 363 | return EINA_TRUE; |
364 | } | 364 | } |
365 | else if (type == EINA_VALUE_TYPE_ULONG) | 365 | else if ((type == EINA_VALUE_TYPE_ULONG) || (type == EINA_VALUE_TYPE_TIMESTAMP)) |
366 | { | 366 | { |
367 | unsigned long *tmem = (unsigned long *) mem; | 367 | unsigned long *tmem = (unsigned long *) mem; |
368 | *tmem = va_arg(args, unsigned long); | 368 | *tmem = va_arg(args, unsigned long); |
@@ -424,17 +424,22 @@ eina_value_vset(Eina_Value *value, va_list args) | |||
424 | else if (type == EINA_VALUE_TYPE_STRING) | 424 | else if (type == EINA_VALUE_TYPE_STRING) |
425 | { | 425 | { |
426 | const char *str = (const char *) va_arg(args, const char *); | 426 | const char *str = (const char *) va_arg(args, const char *); |
427 | free(value->value.ptr); | 427 | if (value->value.ptr == str) return EINA_TRUE; |
428 | if (!str) | 428 | if (!str) |
429 | value->value.ptr = NULL; | 429 | { |
430 | free(value->value.ptr); | ||
431 | value->value.ptr = NULL; | ||
432 | } | ||
430 | else | 433 | else |
431 | { | 434 | { |
432 | value->value.ptr = strdup(str); | 435 | char *tmp = strdup(str); |
433 | if (!value->value.ptr) | 436 | if (!tmp) |
434 | { | 437 | { |
435 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 438 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
436 | return EINA_FALSE; | 439 | return EINA_FALSE; |
437 | } | 440 | } |
441 | free(value->value.ptr); | ||
442 | value->value.ptr = tmp; | ||
438 | } | 443 | } |
439 | return EINA_TRUE; | 444 | return EINA_TRUE; |
440 | } | 445 | } |
@@ -494,18 +499,22 @@ eina_value_pset(Eina_Value *value, const void *ptr) | |||
494 | { | 499 | { |
495 | const char * const * pstr = (const char * const *) ptr; | 500 | const char * const * pstr = (const char * const *) ptr; |
496 | const char *str = *pstr; | 501 | const char *str = *pstr; |
497 | 502 | if (value->value.ptr == str) return EINA_TRUE; | |
498 | free(value->value.ptr); | ||
499 | if (!str) | 503 | if (!str) |
500 | value->value.ptr = NULL; | 504 | { |
505 | free(value->value.ptr); | ||
506 | value->value.ptr = NULL; | ||
507 | } | ||
501 | else | 508 | else |
502 | { | 509 | { |
503 | value->value.ptr = strdup(str); | 510 | char *tmp = strdup(str); |
504 | if (!value->value.ptr) | 511 | if (!tmp) |
505 | { | 512 | { |
506 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 513 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
507 | return EINA_FALSE; | 514 | return EINA_FALSE; |
508 | } | 515 | } |
516 | free(value->value.ptr); | ||
517 | value->value.ptr = tmp; | ||
509 | } | 518 | } |
510 | return EINA_TRUE; | 519 | return EINA_TRUE; |
511 | } | 520 | } |
@@ -607,16 +616,7 @@ eina_value_array_vset(Eina_Value *value, unsigned int position, va_list args) | |||
607 | if (!mem) | 616 | if (!mem) |
608 | return EINA_FALSE; | 617 | return EINA_FALSE; |
609 | 618 | ||
610 | eina_value_type_flush(desc.subtype, mem); | 619 | return eina_value_type_vset(desc.subtype, mem, args); |
611 | |||
612 | if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup; | ||
613 | if (!eina_value_type_vset(desc.subtype, mem, args)) goto error_set; | ||
614 | return EINA_TRUE; | ||
615 | |||
616 | error_set: | ||
617 | eina_value_type_flush(desc.subtype, mem); | ||
618 | error_setup: | ||
619 | return EINA_FALSE; | ||
620 | } | 620 | } |
621 | 621 | ||
622 | static inline Eina_Bool | 622 | static inline Eina_Bool |
@@ -749,16 +749,7 @@ eina_value_array_pset(Eina_Value *value, unsigned int position, const void *ptr) | |||
749 | if (!mem) | 749 | if (!mem) |
750 | return EINA_FALSE; | 750 | return EINA_FALSE; |
751 | 751 | ||
752 | eina_value_type_flush(desc.subtype, mem); | 752 | return eina_value_type_pset(desc.subtype, mem, ptr); |
753 | |||
754 | if (!eina_value_type_setup(desc.subtype, mem)) goto error_setup; | ||
755 | if (!eina_value_type_pset(desc.subtype, mem, ptr)) goto error_set; | ||
756 | return EINA_TRUE; | ||
757 | |||
758 | error_set: | ||
759 | eina_value_type_flush(desc.subtype, mem); | ||
760 | error_setup: | ||
761 | return EINA_FALSE; | ||
762 | } | 753 | } |
763 | 754 | ||
764 | static inline Eina_Bool | 755 | static inline Eina_Bool |
@@ -832,6 +823,29 @@ eina_value_array_pappend(Eina_Value *value, const void *ptr) | |||
832 | return EINA_FALSE; | 823 | return EINA_FALSE; |
833 | } | 824 | } |
834 | 825 | ||
826 | static inline Eina_Bool | ||
827 | eina_value_array_value_get(const Eina_Value *src, unsigned int position, Eina_Value *dst) | ||
828 | { | ||
829 | Eina_Value_Array desc; | ||
830 | |||
831 | EINA_VALUE_TYPE_ARRAY_CHECK_RETURN_VAL(src, EINA_FALSE); | ||
832 | EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); | ||
833 | |||
834 | if (!eina_value_pget(src, &desc)) | ||
835 | return EINA_FALSE; | ||
836 | if (position >= eina_inarray_count(desc.array)) | ||
837 | return EINA_FALSE; | ||
838 | if (!eina_value_setup(dst, desc.subtype)) | ||
839 | return EINA_FALSE; | ||
840 | if (!eina_value_pset(dst, eina_inarray_nth(desc.array, position))) | ||
841 | { | ||
842 | eina_value_flush(dst); | ||
843 | return EINA_FALSE; | ||
844 | } | ||
845 | |||
846 | return EINA_TRUE; | ||
847 | } | ||
848 | |||
835 | #undef EINA_VALUE_TYPE_ARRAY_CHECK_RETURN_VAL | 849 | #undef EINA_VALUE_TYPE_ARRAY_CHECK_RETURN_VAL |
836 | 850 | ||
837 | #define EINA_VALUE_TYPE_LIST_CHECK_RETURN_VAL(value, retval) \ | 851 | #define EINA_VALUE_TYPE_LIST_CHECK_RETURN_VAL(value, retval) \ |
@@ -929,16 +943,7 @@ eina_value_list_vset(Eina_Value *value, unsigned int position, va_list args) | |||
929 | if (!mem) | 943 | if (!mem) |
930 | return EINA_FALSE; | 944 | return EINA_FALSE; |
931 | 945 | ||
932 | eina_value_type_flush(desc->subtype, mem); | 946 | return eina_value_type_vset(desc->subtype, mem, args); |
933 | |||
934 | if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; | ||
935 | if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set; | ||
936 | return EINA_TRUE; | ||
937 | |||
938 | error_set: | ||
939 | eina_value_type_flush(desc->subtype, mem); | ||
940 | error_setup: | ||
941 | return EINA_FALSE; | ||
942 | } | 947 | } |
943 | 948 | ||
944 | static inline Eina_Bool | 949 | static inline Eina_Bool |
@@ -1105,16 +1110,7 @@ eina_value_list_pset(Eina_Value *value, unsigned int position, const void *ptr) | |||
1105 | if (!mem) | 1110 | if (!mem) |
1106 | return EINA_FALSE; | 1111 | return EINA_FALSE; |
1107 | 1112 | ||
1108 | eina_value_type_flush(desc->subtype, mem); | 1113 | return eina_value_type_pset(desc->subtype, mem, ptr); |
1109 | |||
1110 | if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; | ||
1111 | if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set; | ||
1112 | return EINA_TRUE; | ||
1113 | |||
1114 | error_set: | ||
1115 | eina_value_type_flush(desc->subtype, mem); | ||
1116 | error_setup: | ||
1117 | return EINA_FALSE; | ||
1118 | } | 1114 | } |
1119 | 1115 | ||
1120 | static inline Eina_Bool | 1116 | static inline Eina_Bool |
@@ -1284,9 +1280,7 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args) | |||
1284 | return EINA_FALSE; | 1280 | return EINA_FALSE; |
1285 | 1281 | ||
1286 | mem = eina_hash_find(desc->hash, key); | 1282 | mem = eina_hash_find(desc->hash, key); |
1287 | if (mem) | 1283 | if (!mem) |
1288 | eina_value_type_flush(desc->subtype, mem); | ||
1289 | else | ||
1290 | { | 1284 | { |
1291 | mem = malloc(desc->subtype->value_size); | 1285 | mem = malloc(desc->subtype->value_size); |
1292 | if (!mem) | 1286 | if (!mem) |
@@ -1299,18 +1293,15 @@ eina_value_hash_vset(Eina_Value *value, const char *key, va_list args) | |||
1299 | free(mem); | 1293 | free(mem); |
1300 | return EINA_FALSE; | 1294 | return EINA_FALSE; |
1301 | } | 1295 | } |
1296 | if (!eina_value_type_setup(desc->subtype, mem)) | ||
1297 | { | ||
1298 | eina_value_type_flush(desc->subtype, mem); | ||
1299 | eina_hash_del_by_key(desc->hash, key); | ||
1300 | free(mem); | ||
1301 | } | ||
1302 | } | 1302 | } |
1303 | 1303 | ||
1304 | if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; | 1304 | return eina_value_type_vset(desc->subtype, mem, args); |
1305 | if (!eina_value_type_vset(desc->subtype, mem, args)) goto error_set; | ||
1306 | return EINA_TRUE; | ||
1307 | |||
1308 | error_set: | ||
1309 | eina_value_type_flush(desc->subtype, mem); | ||
1310 | error_setup: | ||
1311 | eina_hash_del_by_key(desc->hash, key); | ||
1312 | free(mem); | ||
1313 | return EINA_FALSE; | ||
1314 | } | 1305 | } |
1315 | 1306 | ||
1316 | static inline Eina_Bool | 1307 | static inline Eina_Bool |
@@ -1371,9 +1362,7 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr) | |||
1371 | return EINA_FALSE; | 1362 | return EINA_FALSE; |
1372 | 1363 | ||
1373 | mem = eina_hash_find(desc->hash, key); | 1364 | mem = eina_hash_find(desc->hash, key); |
1374 | if (mem) | 1365 | if (!mem) |
1375 | eina_value_type_flush(desc->subtype, mem); | ||
1376 | else | ||
1377 | { | 1366 | { |
1378 | mem = malloc(desc->subtype->value_size); | 1367 | mem = malloc(desc->subtype->value_size); |
1379 | if (!mem) | 1368 | if (!mem) |
@@ -1386,18 +1375,15 @@ eina_value_hash_pset(Eina_Value *value, const char *key, const void *ptr) | |||
1386 | free(mem); | 1375 | free(mem); |
1387 | return EINA_FALSE; | 1376 | return EINA_FALSE; |
1388 | } | 1377 | } |
1378 | if (!eina_value_type_setup(desc->subtype, mem)) | ||
1379 | { | ||
1380 | eina_value_type_flush(desc->subtype, mem); | ||
1381 | eina_hash_del_by_key(desc->hash, key); | ||
1382 | free(mem); | ||
1383 | } | ||
1389 | } | 1384 | } |
1390 | 1385 | ||
1391 | if (!eina_value_type_setup(desc->subtype, mem)) goto error_setup; | 1386 | return eina_value_type_pset(desc->subtype, mem, ptr); |
1392 | if (!eina_value_type_pset(desc->subtype, mem, ptr)) goto error_set; | ||
1393 | return EINA_TRUE; | ||
1394 | |||
1395 | error_set: | ||
1396 | eina_value_type_flush(desc->subtype, mem); | ||
1397 | error_setup: | ||
1398 | eina_hash_del_by_key(desc->hash, key); | ||
1399 | free(mem); | ||
1400 | return EINA_FALSE; | ||
1401 | } | 1387 | } |
1402 | 1388 | ||
1403 | static inline Eina_Bool | 1389 | static inline Eina_Bool |
@@ -1474,15 +1460,7 @@ eina_value_struct_vset(Eina_Value *value, const char *name, va_list args) | |||
1474 | if (!mem) | 1460 | if (!mem) |
1475 | return EINA_FALSE; | 1461 | return EINA_FALSE; |
1476 | 1462 | ||
1477 | eina_value_type_flush(member->type, mem); | 1463 | return eina_value_type_vset(member->type, mem, args); |
1478 | if (!eina_value_type_setup(member->type, mem)) goto error_setup; | ||
1479 | if (!eina_value_type_vset(member->type, mem, args)) goto error_set; | ||
1480 | return EINA_TRUE; | ||
1481 | |||
1482 | error_set: | ||
1483 | eina_value_type_flush(member->type, mem); | ||
1484 | error_setup: | ||
1485 | return EINA_FALSE; | ||
1486 | } | 1464 | } |
1487 | 1465 | ||
1488 | static inline Eina_Bool | 1466 | static inline Eina_Bool |
@@ -1540,8 +1518,9 @@ eina_value_struct_pset(Eina_Value *value, const char *name, const void *ptr) | |||
1540 | Eina_Value_Struct *st; | 1518 | Eina_Value_Struct *st; |
1541 | void *mem; | 1519 | void *mem; |
1542 | 1520 | ||
1543 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, 0); | 1521 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, EINA_FALSE); |
1544 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); | 1522 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); |
1523 | EINA_SAFETY_ON_NULL_RETURN_VAL(ptr, EINA_FALSE); | ||
1545 | st = (Eina_Value_Struct *)eina_value_memory_get(value); | 1524 | st = (Eina_Value_Struct *)eina_value_memory_get(value); |
1546 | if (!st) | 1525 | if (!st) |
1547 | return EINA_FALSE; | 1526 | return EINA_FALSE; |
@@ -1552,15 +1531,7 @@ eina_value_struct_pset(Eina_Value *value, const char *name, const void *ptr) | |||
1552 | if (!mem) | 1531 | if (!mem) |
1553 | return EINA_FALSE; | 1532 | return EINA_FALSE; |
1554 | 1533 | ||
1555 | eina_value_type_flush(member->type, mem); | 1534 | return eina_value_type_pset(member->type, mem, ptr); |
1556 | if (!eina_value_type_setup(member->type, mem)) goto error_setup; | ||
1557 | if (!eina_value_type_pset(member->type, mem, ptr)) goto error_set; | ||
1558 | return EINA_TRUE; | ||
1559 | |||
1560 | error_set: | ||
1561 | eina_value_type_flush(member->type, mem); | ||
1562 | error_setup: | ||
1563 | return EINA_FALSE; | ||
1564 | } | 1535 | } |
1565 | 1536 | ||
1566 | static inline Eina_Bool | 1537 | static inline Eina_Bool |
@@ -1571,8 +1542,9 @@ eina_value_struct_pget(const Eina_Value *value, const char *name, void *ptr) | |||
1571 | const void *mem; | 1542 | const void *mem; |
1572 | Eina_Bool ret; | 1543 | Eina_Bool ret; |
1573 | 1544 | ||
1574 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, 0); | 1545 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(value, EINA_FALSE); |
1575 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); | 1546 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); |
1547 | EINA_SAFETY_ON_NULL_RETURN_VAL(ptr, EINA_FALSE); | ||
1576 | st = (const Eina_Value_Struct *)eina_value_memory_get(value); | 1548 | st = (const Eina_Value_Struct *)eina_value_memory_get(value); |
1577 | if (!st) | 1549 | if (!st) |
1578 | return EINA_FALSE; | 1550 | return EINA_FALSE; |
@@ -1586,6 +1558,119 @@ eina_value_struct_pget(const Eina_Value *value, const char *name, void *ptr) | |||
1586 | ret = eina_value_type_pget(member->type, mem, ptr); | 1558 | ret = eina_value_type_pget(member->type, mem, ptr); |
1587 | return ret; | 1559 | return ret; |
1588 | } | 1560 | } |
1561 | |||
1562 | static inline Eina_Bool | ||
1563 | eina_value_struct_value_get(const Eina_Value *src, const char *name, Eina_Value *dst) | ||
1564 | { | ||
1565 | const Eina_Value_Struct_Member *member; | ||
1566 | const Eina_Value_Struct *st; | ||
1567 | const void *mem; | ||
1568 | |||
1569 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(src, EINA_FALSE); | ||
1570 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); | ||
1571 | EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); | ||
1572 | st = (const Eina_Value_Struct *)eina_value_memory_get(src); | ||
1573 | if (!st) | ||
1574 | return EINA_FALSE; | ||
1575 | member = eina_value_struct_member_find(st, name); | ||
1576 | if (!member) | ||
1577 | return EINA_FALSE; | ||
1578 | mem = eina_value_struct_member_memory_get(st, member); | ||
1579 | if (!mem) | ||
1580 | return EINA_FALSE; | ||
1581 | if (!eina_value_setup(dst, member->type)) | ||
1582 | return EINA_FALSE; | ||
1583 | if (!eina_value_pset(dst, mem)) | ||
1584 | { | ||
1585 | eina_value_flush(dst); | ||
1586 | return EINA_FALSE; | ||
1587 | } | ||
1588 | return EINA_TRUE; | ||
1589 | } | ||
1590 | |||
1591 | static inline Eina_Bool | ||
1592 | eina_value_struct_value_set(Eina_Value *dst, const char *name, const Eina_Value *src) | ||
1593 | { | ||
1594 | const Eina_Value_Struct_Member *member; | ||
1595 | Eina_Value_Struct *st; | ||
1596 | void *mem; | ||
1597 | const void *ptr; | ||
1598 | |||
1599 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(dst, EINA_FALSE); | ||
1600 | EINA_SAFETY_ON_NULL_RETURN_VAL(name, EINA_FALSE); | ||
1601 | EINA_SAFETY_ON_NULL_RETURN_VAL(src, EINA_FALSE); | ||
1602 | |||
1603 | st = (Eina_Value_Struct *)eina_value_memory_get(dst); | ||
1604 | if (!st) | ||
1605 | return EINA_FALSE; | ||
1606 | member = eina_value_struct_member_find(st, name); | ||
1607 | if (!member) | ||
1608 | return EINA_FALSE; | ||
1609 | EINA_SAFETY_ON_FALSE_RETURN_VAL(src->type == member->type, EINA_FALSE); | ||
1610 | |||
1611 | mem = eina_value_struct_member_memory_get(st, member); | ||
1612 | if (!mem) | ||
1613 | return EINA_FALSE; | ||
1614 | |||
1615 | ptr = eina_value_memory_get(src); | ||
1616 | if (!ptr) | ||
1617 | return EINA_FALSE; | ||
1618 | |||
1619 | return eina_value_type_pset(member->type, mem, ptr); | ||
1620 | } | ||
1621 | |||
1622 | static inline Eina_Bool | ||
1623 | eina_value_struct_member_value_get(const Eina_Value *src, const Eina_Value_Struct_Member *member, Eina_Value *dst) | ||
1624 | { | ||
1625 | const Eina_Value_Struct *st; | ||
1626 | const void *mem; | ||
1627 | |||
1628 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(src, EINA_FALSE); | ||
1629 | EINA_SAFETY_ON_NULL_RETURN_VAL(member, EINA_FALSE); | ||
1630 | EINA_SAFETY_ON_NULL_RETURN_VAL(dst, EINA_FALSE); | ||
1631 | st = (const Eina_Value_Struct *)eina_value_memory_get(src); | ||
1632 | if (!st) | ||
1633 | return EINA_FALSE; | ||
1634 | mem = eina_value_struct_member_memory_get(st, member); | ||
1635 | if (!mem) | ||
1636 | return EINA_FALSE; | ||
1637 | if (!eina_value_setup(dst, member->type)) | ||
1638 | return EINA_FALSE; | ||
1639 | if (!eina_value_pset(dst, mem)) | ||
1640 | { | ||
1641 | eina_value_flush(dst); | ||
1642 | return EINA_FALSE; | ||
1643 | } | ||
1644 | return EINA_TRUE; | ||
1645 | } | ||
1646 | |||
1647 | static inline Eina_Bool | ||
1648 | eina_value_struct_member_value_set(Eina_Value *dst, const Eina_Value_Struct_Member *member, const Eina_Value *src) | ||
1649 | { | ||
1650 | Eina_Value_Struct *st; | ||
1651 | void *mem; | ||
1652 | const void *ptr; | ||
1653 | |||
1654 | EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL(dst, EINA_FALSE); | ||
1655 | EINA_SAFETY_ON_NULL_RETURN_VAL(member, EINA_FALSE); | ||
1656 | EINA_SAFETY_ON_NULL_RETURN_VAL(src, EINA_FALSE); | ||
1657 | |||
1658 | st = (Eina_Value_Struct *)eina_value_memory_get(dst); | ||
1659 | if (!st) | ||
1660 | return EINA_FALSE; | ||
1661 | EINA_SAFETY_ON_FALSE_RETURN_VAL(src->type == member->type, EINA_FALSE); | ||
1662 | |||
1663 | mem = eina_value_struct_member_memory_get(st, member); | ||
1664 | if (!mem) | ||
1665 | return EINA_FALSE; | ||
1666 | |||
1667 | ptr = eina_value_memory_get(src); | ||
1668 | if (!ptr) | ||
1669 | return EINA_FALSE; | ||
1670 | |||
1671 | return eina_value_type_pset(member->type, mem, ptr); | ||
1672 | } | ||
1673 | |||
1589 | #undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL | 1674 | #undef EINA_VALUE_TYPE_STRUCT_CHECK_RETURN_VAL |
1590 | 1675 | ||
1591 | 1676 | ||
diff --git a/libraries/eina/src/include/eina_list.h b/libraries/eina/src/include/eina_list.h index db65e17..c8ef06d 100644 --- a/libraries/eina/src/include/eina_list.h +++ b/libraries/eina/src/include/eina_list.h | |||
@@ -881,13 +881,13 @@ EAPI Eina_List *eina_list_clone(const Eina_List *list) EINA_WARN_UNUS | |||
881 | * @brief Sort a list according to the ordering func will return. | 881 | * @brief Sort a list according to the ordering func will return. |
882 | * | 882 | * |
883 | * @param list The list handle to sort. | 883 | * @param list The list handle to sort. |
884 | * @param size The length of the list to sort. | 884 | * @param limit The maximum number of list elements to sort. |
885 | * @param func A function pointer that can handle comparing the list data | 885 | * @param func A function pointer that can handle comparing the list data |
886 | * nodes. | 886 | * nodes. |
887 | * @return the new head of list. | 887 | * @return the new head of list. |
888 | * | 888 | * |
889 | * This function sorts @p list. @p size if the number of the first | 889 | * This function sorts @p list. @p size if the number of the first |
890 | * element to sort. If @p size is 0 or greater than the number of | 890 | * element to sort. If @p limit is 0 or greater than the number of |
891 | * elements in @p list, all the elements are sorted. @p func is used to | 891 | * elements in @p list, all the elements are sorted. @p func is used to |
892 | * compare two elements of @p list. If @p list or @p func are @c NULL, | 892 | * compare two elements of @p list. If @p list or @p func are @c NULL, |
893 | * this function returns @c NULL. | 893 | * this function returns @c NULL. |
@@ -920,7 +920,7 @@ EAPI Eina_List *eina_list_clone(const Eina_List *list) EINA_WARN_UNUS | |||
920 | * | 920 | * |
921 | * @warning @p list must be a pointer to the first element of the list. | 921 | * @warning @p list must be a pointer to the first element of the list. |
922 | */ | 922 | */ |
923 | EAPI Eina_List *eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) EINA_ARG_NONNULL(3) EINA_WARN_UNUSED_RESULT; | 923 | EAPI Eina_List *eina_list_sort(Eina_List *list, unsigned int limit, Eina_Compare_Cb func) EINA_ARG_NONNULL(3) EINA_WARN_UNUSED_RESULT; |
924 | 924 | ||
925 | 925 | ||
926 | /** | 926 | /** |
diff --git a/libraries/eina/src/include/eina_stringshare.h b/libraries/eina/src/include/eina_stringshare.h index 862b2b2..8edadd2 100644 --- a/libraries/eina/src/include/eina_stringshare.h +++ b/libraries/eina/src/include/eina_stringshare.h | |||
@@ -126,6 +126,20 @@ | |||
126 | * string creation/destruction speed, reduces memory use and decreases | 126 | * string creation/destruction speed, reduces memory use and decreases |
127 | * memory fragmentation, so a win all-around. | 127 | * memory fragmentation, so a win all-around. |
128 | * | 128 | * |
129 | * Using eina stringshares usually boils down to: | ||
130 | * @code | ||
131 | * const char *str = eina_stringshare_add("My string"); | ||
132 | * ... | ||
133 | * //Use str | ||
134 | * ... | ||
135 | * eina_stringshare_del(str); | ||
136 | * @endcode | ||
137 | * @note It's very important to note that string shares are @b @c const, | ||
138 | * changing them will result in undefined behavior. | ||
139 | * @note eina_stringshare_del() @b doesn't guarantee the string share will be | ||
140 | * freed, it releases a reference to it, but if other references to it still | ||
141 | * exist the string share will live until those are released. | ||
142 | * | ||
129 | * The following diagram gives an idea of what happens as you create strings | 143 | * The following diagram gives an idea of what happens as you create strings |
130 | * with eina_stringshare_add(): | 144 | * with eina_stringshare_add(): |
131 | * | 145 | * |
@@ -148,6 +162,15 @@ | |||
148 | * @{ | 162 | * @{ |
149 | */ | 163 | */ |
150 | 164 | ||
165 | /** | ||
166 | * @typedef Eina_Stringshare | ||
167 | * | ||
168 | * Interchangeable with "const char *" but still a good visual hint for the | ||
169 | * purpose. Maybe in the far far future we'll even add strict type checking. | ||
170 | * | ||
171 | * @since 1.2.0 | ||
172 | */ | ||
173 | typedef const char Eina_Stringshare; | ||
151 | 174 | ||
152 | /** | 175 | /** |
153 | * @brief Retrieve an instance of a string for use in a program. | 176 | * @brief Retrieve an instance of a string for use in a program. |
@@ -168,7 +191,7 @@ | |||
168 | * | 191 | * |
169 | * @see eina_share_common_add() | 192 | * @see eina_share_common_add() |
170 | */ | 193 | */ |
171 | EAPI const char *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT; | 194 | EAPI Eina_Stringshare *eina_stringshare_add_length(const char *str, unsigned int slen) EINA_WARN_UNUSED_RESULT; |
172 | 195 | ||
173 | /** | 196 | /** |
174 | * @brief Retrieve an instance of a string for use in a program. | 197 | * @brief Retrieve an instance of a string for use in a program. |
@@ -188,7 +211,7 @@ EAPI const char *eina_stringshare_add_length(const char *str, unsigned in | |||
188 | * | 211 | * |
189 | * @see eina_stringshare_add_length() | 212 | * @see eina_stringshare_add_length() |
190 | */ | 213 | */ |
191 | EAPI const char *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT; | 214 | EAPI Eina_Stringshare *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_RESULT; |
192 | 215 | ||
193 | /** | 216 | /** |
194 | * @brief Retrieve an instance of a string for use in a program | 217 | * @brief Retrieve an instance of a string for use in a program |
@@ -209,7 +232,7 @@ EAPI const char *eina_stringshare_add(const char *str) EINA_WARN_UNUSED_R | |||
209 | * | 232 | * |
210 | * @see eina_stringshare_nprintf() | 233 | * @see eina_stringshare_nprintf() |
211 | */ | 234 | */ |
212 | EAPI const char *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2); | 235 | EAPI Eina_Stringshare *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(1, 2); |
213 | 236 | ||
214 | /** | 237 | /** |
215 | * @brief Retrieve an instance of a string for use in a program | 238 | * @brief Retrieve an instance of a string for use in a program |
@@ -231,7 +254,7 @@ EAPI const char *eina_stringshare_printf(const char *fmt, ...) EINA_WARN_ | |||
231 | * | 254 | * |
232 | * @see eina_stringshare_nprintf() | 255 | * @see eina_stringshare_nprintf() |
233 | */ | 256 | */ |
234 | EAPI const char *eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT; | 257 | EAPI Eina_Stringshare *eina_stringshare_vprintf(const char *fmt, va_list args) EINA_WARN_UNUSED_RESULT; |
235 | 258 | ||
236 | /** | 259 | /** |
237 | * @brief Retrieve an instance of a string for use in a program | 260 | * @brief Retrieve an instance of a string for use in a program |
@@ -251,7 +274,7 @@ EAPI const char *eina_stringshare_vprintf(const char *fmt, va_list args) | |||
251 | * | 274 | * |
252 | * @see eina_stringshare_printf() | 275 | * @see eina_stringshare_printf() |
253 | */ | 276 | */ |
254 | EAPI const char *eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3); | 277 | EAPI Eina_Stringshare *eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) EINA_WARN_UNUSED_RESULT EINA_PRINTF(2, 3); |
255 | 278 | ||
256 | /** | 279 | /** |
257 | * Increment references of the given shared string. | 280 | * Increment references of the given shared string. |
@@ -267,7 +290,7 @@ EAPI const char *eina_stringshare_nprintf(unsigned int len, const char *f | |||
267 | * | 290 | * |
268 | * There is no unref since this is the work of eina_share_common_del(). | 291 | * There is no unref since this is the work of eina_share_common_del(). |
269 | */ | 292 | */ |
270 | EAPI const char *eina_stringshare_ref(const char *str); | 293 | EAPI Eina_Stringshare *eina_stringshare_ref(Eina_Stringshare *str); |
271 | 294 | ||
272 | /** | 295 | /** |
273 | * @brief Note that the given string has lost an instance. | 296 | * @brief Note that the given string has lost an instance. |
@@ -282,7 +305,7 @@ EAPI const char *eina_stringshare_ref(const char *str); | |||
282 | * Note that if the given pointer is not shared or NULL, bad things | 305 | * Note that if the given pointer is not shared or NULL, bad things |
283 | * will happen, likely a segmentation fault. | 306 | * will happen, likely a segmentation fault. |
284 | */ | 307 | */ |
285 | EAPI void eina_stringshare_del(const char *str); | 308 | EAPI void eina_stringshare_del(Eina_Stringshare *str); |
286 | 309 | ||
287 | /** | 310 | /** |
288 | * @brief Note that the given string @b must be shared. | 311 | * @brief Note that the given string @b must be shared. |
@@ -296,7 +319,7 @@ EAPI void eina_stringshare_del(const char *str); | |||
296 | * things will happen, likely a segmentation fault. If in doubt, try | 319 | * things will happen, likely a segmentation fault. If in doubt, try |
297 | * strlen(). | 320 | * strlen(). |
298 | */ | 321 | */ |
299 | EAPI int eina_stringshare_strlen(const char *str) EINA_PURE EINA_WARN_UNUSED_RESULT; | 322 | EAPI int eina_stringshare_strlen(Eina_Stringshare *str) EINA_PURE EINA_WARN_UNUSED_RESULT; |
300 | 323 | ||
301 | /** | 324 | /** |
302 | * @brief Dump the contents of the share_common. | 325 | * @brief Dump the contents of the share_common. |
@@ -306,8 +329,8 @@ EAPI int eina_stringshare_strlen(const char *str) EINA_PURE EINA_ | |||
306 | */ | 329 | */ |
307 | EAPI void eina_stringshare_dump(void); | 330 | EAPI void eina_stringshare_dump(void); |
308 | 331 | ||
309 | static inline Eina_Bool eina_stringshare_replace(const char **p_str, const char *news) EINA_ARG_NONNULL(1); | 332 | static inline Eina_Bool eina_stringshare_replace(Eina_Stringshare **p_str, const char *news) EINA_ARG_NONNULL(1); |
310 | static inline Eina_Bool eina_stringshare_replace_length(const char **p_str, const char *news, unsigned int slen) EINA_ARG_NONNULL(1); | 333 | static inline Eina_Bool eina_stringshare_replace_length(Eina_Stringshare **p_str, const char *news, unsigned int slen) EINA_ARG_NONNULL(1); |
311 | 334 | ||
312 | #include "eina_inline_stringshare.x" | 335 | #include "eina_inline_stringshare.x" |
313 | 336 | ||
diff --git a/libraries/eina/src/include/eina_types.h b/libraries/eina/src/include/eina_types.h index 1653949..b0a7cf8 100644 --- a/libraries/eina/src/include/eina_types.h +++ b/libraries/eina/src/include/eina_types.h | |||
@@ -98,13 +98,13 @@ | |||
98 | 98 | ||
99 | #ifdef __GNUC__ | 99 | #ifdef __GNUC__ |
100 | # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) | 100 | # if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) |
101 | # define EINA_WARN_UNUSED_RESULT __attribute__ ((warn_unused_result)) | 101 | # define EINA_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) |
102 | # else | 102 | # else |
103 | # define EINA_WARN_UNUSED_RESULT | 103 | # define EINA_WARN_UNUSED_RESULT |
104 | # endif | 104 | # endif |
105 | 105 | ||
106 | # if (!defined(EINA_SAFETY_CHECKS)) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) | 106 | # if (!defined(EINA_SAFETY_CHECKS)) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) |
107 | # define EINA_ARG_NONNULL(idx, ...) __attribute__ ((nonnull(idx, ## __VA_ARGS__))) | 107 | # define EINA_ARG_NONNULL(idx, ...) __attribute__ ((__nonnull__(idx, ## __VA_ARGS__))) |
108 | # else | 108 | # else |
109 | # define EINA_ARG_NONNULL(idx, ...) | 109 | # define EINA_ARG_NONNULL(idx, ...) |
110 | # endif | 110 | # endif |
@@ -116,19 +116,23 @@ | |||
116 | # endif | 116 | # endif |
117 | 117 | ||
118 | # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) | 118 | # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) |
119 | # define EINA_MALLOC __attribute__ ((malloc)) | 119 | # define EINA_MALLOC __attribute__ ((__malloc__)) |
120 | # define EINA_PURE __attribute__ ((pure)) | 120 | # define EINA_PURE __attribute__ ((__pure__)) |
121 | # else | 121 | # else |
122 | # define EINA_MALLOC | 122 | # define EINA_MALLOC |
123 | # define EINA_PURE | 123 | # define EINA_PURE |
124 | # endif | 124 | # endif |
125 | 125 | ||
126 | # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) | 126 | # if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) |
127 | # define EINA_PRINTF(fmt, arg) __attribute__((format (printf, fmt, arg))) | 127 | # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 3) |
128 | # define EINA_SCANF(fmt, arg) __attribute__((format (scanf, fmt, arg))) | 128 | # define EINA_PRINTF(fmt, arg) __attribute__((__format__ (__gnu_printf__, fmt, arg))) |
129 | # define EINA_FORMAT(fmt) __attribute__((format_arg(fmt))) | 129 | # else |
130 | # define EINA_CONST __attribute__((const)) | 130 | # define EINA_PRINTF(fmt, arg) __attribute__((__format__ (__printf__, fmt, arg))) |
131 | # define EINA_NOINSTRUMENT __attribute__((no_instrument_function)) | 131 | # endif |
132 | # define EINA_SCANF(fmt, arg) __attribute__((__format__ (__scanf__, fmt, arg))) | ||
133 | # define EINA_FORMAT(fmt) __attribute__((__format_arg__(fmt))) | ||
134 | # define EINA_CONST __attribute__((__const__)) | ||
135 | # define EINA_NOINSTRUMENT __attribute__((__no_instrument_function__)) | ||
132 | # define EINA_UNLIKELY(exp) __builtin_expect((exp), 0) | 136 | # define EINA_UNLIKELY(exp) __builtin_expect((exp), 0) |
133 | # define EINA_LIKELY(exp) __builtin_expect((exp), 1) | 137 | # define EINA_LIKELY(exp) __builtin_expect((exp), 1) |
134 | # else | 138 | # else |
@@ -276,6 +280,16 @@ typedef void (*Eina_Free_Cb)(void *data); | |||
276 | #define EINA_FREE_CB(Function) ((Eina_Free_Cb)Function) | 280 | #define EINA_FREE_CB(Function) ((Eina_Free_Cb)Function) |
277 | 281 | ||
278 | /** | 282 | /** |
283 | * @def EINA_C_ARRAY_LENGTH | ||
284 | * Macro to return the array length of a standard c array. | ||
285 | * For example: | ||
286 | * int foo[] = { 0, 1, 2, 3 }; | ||
287 | * would return 4 and not 4 * sizeof(int). | ||
288 | * @since 1.2.0 | ||
289 | */ | ||
290 | #define EINA_C_ARRAY_LENGTH(arr) (sizeof(arr) / sizeof((arr)[0])) | ||
291 | |||
292 | /** | ||
279 | * @} | 293 | * @} |
280 | */ | 294 | */ |
281 | 295 | ||
diff --git a/libraries/eina/src/include/eina_value.h b/libraries/eina/src/include/eina_value.h index 846c4ef..341781f 100644 --- a/libraries/eina/src/include/eina_value.h +++ b/libraries/eina/src/include/eina_value.h | |||
@@ -19,12 +19,244 @@ | |||
19 | #ifndef EINA_VALUE_H_ | 19 | #ifndef EINA_VALUE_H_ |
20 | #define EINA_VALUE_H_ | 20 | #define EINA_VALUE_H_ |
21 | 21 | ||
22 | #include <stdarg.h> | ||
23 | |||
22 | #include "eina_types.h" | 24 | #include "eina_types.h" |
23 | #include "eina_fp.h" /* defines int64_t and uint64_t */ | 25 | #include "eina_fp.h" /* defines int64_t and uint64_t */ |
24 | #include "eina_inarray.h" | 26 | #include "eina_inarray.h" |
25 | #include "eina_list.h" | 27 | #include "eina_list.h" |
26 | #include "eina_hash.h" | 28 | #include "eina_hash.h" |
27 | #include <stdarg.h> | 29 | |
30 | /** | ||
31 | * @page eina_value_example_01_page Eina_Value usage | ||
32 | * @dontinclude eina_value_01.c | ||
33 | * | ||
34 | * This very simple example shows how to use some of the basic features of eina | ||
35 | * value: setting and getting values, converting between types and printing a | ||
36 | * value as a string. | ||
37 | * | ||
38 | * Our main function starts out with the basic, declaring some variables and | ||
39 | * initializing eina: | ||
40 | * @until eina_init | ||
41 | * | ||
42 | * Now we can jump into using eina value. We set a value, get this value and | ||
43 | * then print it: | ||
44 | * @until printf | ||
45 | * | ||
46 | * In the above snippet of code we printed an @c int value, we can however print | ||
47 | * the value as a string: | ||
48 | * @until free | ||
49 | * | ||
50 | * And once done with a value it's good practice to destroy it: | ||
51 | * @until eina_value_flush | ||
52 | * | ||
53 | * We now reuse @c v to store a string, get its value and print it: | ||
54 | * @until printf | ||
55 | * @note Since @c s is the value and not returned by @c eina_value_to_string() | ||
56 | * we don't need to free it. | ||
57 | * | ||
58 | * Just because we stored a string doesn't mean we can't use the @c | ||
59 | * eina_value_to_string() function, we can and it's important to note that it | ||
60 | * will return not the stored string but rather a copy of it(one we have to | ||
61 | * free): | ||
62 | * @until eina_value_flush | ||
63 | * | ||
64 | * And now to explore conversions between two type we'll create another value: | ||
65 | * @until eina_value_setup | ||
66 | * | ||
67 | * And make sure @c v and @c otherv have different types: | ||
68 | * @until eina_value_setup | ||
69 | * | ||
70 | * We then set a value to @c v and have it converted, to do this we don't need | ||
71 | * to tell to which type we want to convert, we just say were we want to store | ||
72 | * the converted value and eina value will figure out what to convert to, and | ||
73 | * how: | ||
74 | * @until eina_value_convert | ||
75 | * | ||
76 | * And now let's check the conversion worked: | ||
77 | * @until printf | ||
78 | * | ||
79 | * But converting to strings is not particularly exciting, @c | ||
80 | * eina_value_to_string() already did that, so now let's make the conversion the | ||
81 | * other way around, from string to @c int: | ||
82 | * @until printf | ||
83 | * | ||
84 | * And once done, destroy the values: | ||
85 | * @until } | ||
86 | * | ||
87 | * Full source code: @ref eina_value_01_c | ||
88 | */ | ||
89 | |||
90 | /** | ||
91 | * @page eina_value_01_c eina_value_01.c | ||
92 | * @include eina_value_01.c | ||
93 | * @example eina_value_01.c | ||
94 | */ | ||
95 | |||
96 | /** | ||
97 | * @page eina_value_example_02_page Eina_Value struct usage | ||
98 | * @dontinclude eina_value_02.c | ||
99 | * | ||
100 | * This example will examine a hypothetical situation in which we had a | ||
101 | * structure(which represented parameters) with two fields, and then need to add | ||
102 | * a third field to our structure. If using structs directly we'd need to | ||
103 | * rewrite every piece of code that touches the struct, by using eina value, and | ||
104 | * thus having the compiler not even know the struct, we can reduce the amount | ||
105 | * of changes needed and retain interoperability between the old and new format. | ||
106 | * | ||
107 | * Our example will start with a function that creates descriptions of both of | ||
108 | * our structs for eina value usage. The first step is to create a struct and | ||
109 | * describe its members: | ||
110 | * @until v1_members[1] | ||
111 | * @note We can't pass the types of the members to EINA_VALUE_STRUCT_MEMBER | ||
112 | * macro because they are not constant initializers. | ||
113 | * | ||
114 | * So far it should be pretty easy to understand, we said @c My_Struct_V1 has | ||
115 | * two members, one of type @c int and another of type @c char. We now create | ||
116 | * the description of the actual struct, again nothing overly complex, we signal | ||
117 | * which version of EINA_VALUE_STRUCT we're using, we declare no special | ||
118 | * operations, our members and our size: | ||
119 | * @until V1_DESC | ||
120 | * | ||
121 | * We now repeat the process for the second version of our struct, the only | ||
122 | * difference is the addition of a third parameter of type @c int : | ||
123 | * @until V2_DESC | ||
124 | * @until } | ||
125 | * | ||
126 | * We'll now look at a function that sets the values of our structs. For | ||
127 | * simplicity's sake we initialize it we random values, a real world case would | ||
128 | * read these values from a file, a database or even from the network. The | ||
129 | * fundamental detail here is that this function works for both V1 and V2 | ||
130 | * structs, this is because setting a parameter that a struct that doesn't have | ||
131 | * does nothing without throwing any errors: | ||
132 | * @until } | ||
133 | * @note While using eina_value_struct_set() with an in-existing parameter | ||
134 | * causes no error, it does return #EINA_FALSE, to notify it was not possible | ||
135 | * to set the value. This could be used to determine that we're handling a V1 | ||
136 | * struct and take some action based on that. | ||
137 | * | ||
138 | * The next thing is to do is see what a function that uses the values of the | ||
139 | * struct looks like. We'll again be very simplistic in our usage, we'll just | ||
140 | * print the values, but a real world case, might send these values to another | ||
141 | * process use them to open a network/database connection or anything else. | ||
142 | * Since all versions of the struct have @c param1 and @c param2 we'll | ||
143 | * unconditionally use them: | ||
144 | * @until printf | ||
145 | * | ||
146 | * The next step is to conditionally use @c param3, which can fortunately be | ||
147 | * done in the same step in which we get it's value: | ||
148 | * @until } | ||
149 | * | ||
150 | * There we've now got functions that can both populate and use values from both | ||
151 | * our structs, so now let's actually use them in our main function by creating | ||
152 | * a struct of each type, initializing them and them using them: | ||
153 | * @until } | ||
154 | * | ||
155 | * This concludes our example. For the full source code see @ref | ||
156 | * eina_value_02_c. | ||
157 | */ | ||
158 | |||
159 | /** | ||
160 | * @page eina_value_02_c eina_value_02.c | ||
161 | * @include eina_value_02.c | ||
162 | * @example eina_value_02.c | ||
163 | */ | ||
164 | |||
165 | /** | ||
166 | * @page eina_value_example_03_page Eina value custom type example | ||
167 | * @dontinclude eina_value_03.c | ||
168 | * | ||
169 | * For this example we'll be creating our own custom type of eina value. Eina | ||
170 | * value can already store struct timeval(man gettimeofday for more information) | ||
171 | * but it has no type to store struct timezone, so that's what this example will | ||
172 | * do. | ||
173 | * @note struct timezone is actually obsolete, so using it in real world | ||
174 | * programs is probably not a good idea, but this is an example so, bear with | ||
175 | * us. | ||
176 | * | ||
177 | * To create our own custom eina value type we need to define functions to | ||
178 | * do the following operations on it: | ||
179 | * @li Setup | ||
180 | * @li Flush | ||
181 | * @li Copy | ||
182 | * @li Compare | ||
183 | * @li Set | ||
184 | * @li Get | ||
185 | * @li Conversion | ||
186 | * | ||
187 | * Most of this functions are very simple, so let's look at them, starting with | ||
188 | * setup which only clear the memory so that we can be certain we won't be using | ||
189 | * stale data: | ||
190 | * @until } | ||
191 | * | ||
192 | * Now the flush function, which is even simpler, it does nothing, that's | ||
193 | * because there is nothing we need to do, all the necessary steps are taken by | ||
194 | * eina value itself: | ||
195 | * @until } | ||
196 | * | ||
197 | * Our next function, copy, is a bit more interesting, but not much, it just | ||
198 | * casts our void pointers to struct timezone pointers and does the copy: | ||
199 | * @until } | ||
200 | * @note By now you might be wondering why our functions receive void pointers | ||
201 | * instead of pointers to struct timezone, and this is a good point. The reason | ||
202 | * for this is that eina value doesn't know anything about our type so it must | ||
203 | * use a generic void pointer, casting that pointer into a proper value is the | ||
204 | * job of the implementor of the new type. | ||
205 | * | ||
206 | * Next we have the comparison function, which compares the @c tz_minuteswest | ||
207 | * field of struct timezone, we don't compare @c tz_dsttime because that field | ||
208 | * is not used in linux: | ||
209 | * @until } | ||
210 | * | ||
211 | * Next we have setting, this however requires not one but rather two functions, | ||
212 | * the reason for this is because to be able to receive arguments of any type | ||
213 | * eina value uses @ref https://wikipedia.org/wiki/Variadic_functions "variadic | ||
214 | * functions", so we need a function to get the argument from a va_list and | ||
215 | * another to actually to the setting. | ||
216 | * | ||
217 | * Lets first look at the pset function which sets the received value to a | ||
218 | * pointer: | ||
219 | * @until } | ||
220 | * | ||
221 | * Next we have the vset function which get the argument from the va_list and | ||
222 | * passes it to the pset function: | ||
223 | * @until } | ||
224 | * | ||
225 | * And now the function to get the value, a very simple copying of the value to | ||
226 | * the given pointer: | ||
227 | * @until } | ||
228 | * | ||
229 | * And finally our conversion function, this is our longest and most interesting | ||
230 | * one. For numeric type we simply assign the value of @c tz_minuteswest to the | ||
231 | * new type and call a set function using it: | ||
232 | * @until EINA_VALUE_TYPE_DOUBLE | ||
233 | * @until return | ||
234 | * @note It would be a good idea to add checks for over and underflow for these | ||
235 | * types and return #EINA_FALSE in thoses cases, we omit this here for brevity. | ||
236 | * | ||
237 | * For string types we use @c snprintf() to format our @c tz_minuteswest field | ||
238 | * and put it in a string(again @c tz_dsttime is ignored because it's not used): | ||
239 | * @until } | ||
240 | * | ||
241 | * Finally we handle any other types by returning an error in that case: | ||
242 | * @until } | ||
243 | * | ||
244 | * Now that we have all the functions, we can populate an @c Eina_Value_Type to | ||
245 | * later use it with @c eina_value_setup(): | ||
246 | * @until } | ||
247 | * | ||
248 | * We can now finally use our new TZ_TYPE with eina value, so lets conclude our | ||
249 | * example by practicing that by setting its value and printing it: | ||
250 | * @until } | ||
251 | * | ||
252 | * For the full source code see @ref eina_value_03_c. | ||
253 | */ | ||
254 | |||
255 | /** | ||
256 | * @page eina_value_03_c eina_value_03.c | ||
257 | * @include eina_value_03.c | ||
258 | * @example eina_value_03.c | ||
259 | */ | ||
28 | 260 | ||
29 | /** | 261 | /** |
30 | * @addtogroup Eina_Data_Types_Group Data Types | 262 | * @addtogroup Eina_Data_Types_Group Data Types |
@@ -43,6 +275,24 @@ | |||
43 | /** | 275 | /** |
44 | * @defgroup Eina_Value_Group Generic Value Storage | 276 | * @defgroup Eina_Value_Group Generic Value Storage |
45 | * | 277 | * |
278 | * Abstracts generic data storage and access to it in an extensible | ||
279 | * and efficient way. | ||
280 | * | ||
281 | * It comes with pre-defined types for numbers, array, list, hash, | ||
282 | * blob and structs. It is able to convert between data types, | ||
283 | * including to string. | ||
284 | * | ||
285 | * It is meant for simple data types, providing uniform access and | ||
286 | * release functions, useful to exchange data preserving their | ||
287 | * types. For more complex hierarchical data, with properties and | ||
288 | * children, reference counting, inheritance and interfaces, see @ref | ||
289 | * Eina_Model_Group. | ||
290 | * | ||
291 | * Examples of usage of the Eina_Value API: | ||
292 | * @li @ref eina_value_example_01_page | ||
293 | * @li @ref eina_value_example_02_page | ||
294 | * @li @ref eina_value_example_03_page | ||
295 | * | ||
46 | * @{ | 296 | * @{ |
47 | */ | 297 | */ |
48 | 298 | ||
@@ -67,6 +317,9 @@ typedef struct _Eina_Value_Type Eina_Value_Type; | |||
67 | * @typedef Eina_Value_Union | 317 | * @typedef Eina_Value_Union |
68 | * Union of all known value types. | 318 | * Union of all known value types. |
69 | * | 319 | * |
320 | * This is only used to specify the minimum payload memory for #Eina_Value. | ||
321 | * | ||
322 | * @internal | ||
70 | * @since 1.2 | 323 | * @since 1.2 |
71 | */ | 324 | */ |
72 | typedef union _Eina_Value_Union Eina_Value_Union; | 325 | typedef union _Eina_Value_Union Eina_Value_Union; |
@@ -75,6 +328,9 @@ typedef union _Eina_Value_Union Eina_Value_Union; | |||
75 | * @union _Eina_Value_Union | 328 | * @union _Eina_Value_Union |
76 | * All possible value types. | 329 | * All possible value types. |
77 | * | 330 | * |
331 | * This is only used to specify the minimum payload memory for #Eina_Value. | ||
332 | * | ||
333 | * @internal | ||
78 | * @since 1.2 | 334 | * @since 1.2 |
79 | */ | 335 | */ |
80 | union _Eina_Value_Union | 336 | union _Eina_Value_Union |
@@ -117,6 +373,15 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_UINT; | |||
117 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ULONG; | 373 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ULONG; |
118 | 374 | ||
119 | /** | 375 | /** |
376 | * @var EINA_VALUE_TYPE_TIMESTAMP | ||
377 | * manages unsigned long type used for timestamps. | ||
378 | * @note this is identical in function to EINA_VALUE_TYPE_ULONG | ||
379 | * | ||
380 | * @since 1.2 | ||
381 | */ | ||
382 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_TIMESTAMP; | ||
383 | |||
384 | /** | ||
120 | * @var EINA_VALUE_TYPE_UINT64 | 385 | * @var EINA_VALUE_TYPE_UINT64 |
121 | * manages unsigned integer of 64 bits type. | 386 | * manages unsigned integer of 64 bits type. |
122 | * | 387 | * |
@@ -206,10 +471,11 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_STRING; | |||
206 | * @li eina_value_array_pget() and eina_value_array_pset() | 471 | * @li eina_value_array_pget() and eina_value_array_pset() |
207 | * | 472 | * |
208 | * eina_value_set() takes an #Eina_Value_Array where just @c subtype | 473 | * eina_value_set() takes an #Eina_Value_Array where just @c subtype |
209 | * and @c step are used. If there is an @c array, it will be adopted | 474 | * and @c step are used. If there is an @c array, it will be copied |
210 | * and its contents must be properly configurable as @c subtype | 475 | * (including each item) and its contents must be properly |
211 | * expects. eina_value_pset() takes a pointer to an #Eina_Value_Array. | 476 | * configurable as @c subtype expects. eina_value_pset() takes a |
212 | * For your convenience, use eina_value_array_setup(). | 477 | * pointer to an #Eina_Value_Array. For your convenience, use |
478 | * eina_value_array_setup(). | ||
213 | * | 479 | * |
214 | * eina_value_get() and eina_value_pget() takes a pointer to | 480 | * eina_value_get() and eina_value_pget() takes a pointer to |
215 | * #Eina_Value_Array, it's an exact copy of the current structure in | 481 | * #Eina_Value_Array, it's an exact copy of the current structure in |
@@ -228,10 +494,11 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_ARRAY; | |||
228 | * @li eina_value_list_pget() and eina_value_list_pset() | 494 | * @li eina_value_list_pget() and eina_value_list_pset() |
229 | * | 495 | * |
230 | * eina_value_set() takes an #Eina_Value_List where just @c subtype is | 496 | * eina_value_set() takes an #Eina_Value_List where just @c subtype is |
231 | * used. If there is an @c list, it will be adopted and its contents | 497 | * used. If there is an @c list, it will be copied (including each |
232 | * must be properly configurable as @c subtype | 498 | * item) and its contents must be properly configurable as @c |
233 | * expects. eina_value_pset() takes a pointer to an #Eina_Value_List. | 499 | * subtype expects. eina_value_pset() takes a pointer to an |
234 | * For your convenience, use eina_value_list_setup(). | 500 | * #Eina_Value_List. For your convenience, use |
501 | * eina_value_list_setup(). | ||
235 | * | 502 | * |
236 | * eina_value_get() and eina_value_pget() takes a pointer to | 503 | * eina_value_get() and eina_value_pget() takes a pointer to |
237 | * #Eina_Value_List, it's an exact copy of the current structure in | 504 | * #Eina_Value_List, it's an exact copy of the current structure in |
@@ -251,9 +518,9 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_LIST; | |||
251 | * | 518 | * |
252 | * eina_value_set() takes an #Eina_Value_Hash where just @c subtype | 519 | * eina_value_set() takes an #Eina_Value_Hash where just @c subtype |
253 | * and @c buckets_power_size are used. If there is an @c hash, it will | 520 | * and @c buckets_power_size are used. If there is an @c hash, it will |
254 | * be adopted and its contents must be properly configurable as @c | 521 | * be copied (including each item) and its contents must be |
255 | * subtype expects. eina_value_pset() takes a pointer to an | 522 | * properly configurable as @c subtype expects. eina_value_pset() |
256 | * #Eina_Value_Hash. For your convenience, use | 523 | * takes a pointer to an #Eina_Value_Hash. For your convenience, use |
257 | * eina_value_hash_setup(). | 524 | * eina_value_hash_setup(). |
258 | * | 525 | * |
259 | * eina_value_get() and eina_value_pget() takes a pointer to | 526 | * eina_value_get() and eina_value_pget() takes a pointer to |
@@ -310,9 +577,10 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_BLOB; | |||
310 | * @li eina_value_struct_pget() and eina_value_struct_pset() | 577 | * @li eina_value_struct_pget() and eina_value_struct_pset() |
311 | * | 578 | * |
312 | * eina_value_set() takes an #Eina_Value_Struct where just @c desc is | 579 | * eina_value_set() takes an #Eina_Value_Struct where just @c desc is |
313 | * used. If there is an @c memory, it will be adopted and its contents | 580 | * used. If there is an @c memory, it will be copied (including each |
314 | * must be properly configurable as @c desc expects. eina_value_pset() | 581 | * member) and its contents must be properly configurable as @c desc |
315 | * takes a pointer to an #Eina_Value_Struct. For your convenience, use | 582 | * expects. eina_value_pset() takes a pointer to an |
583 | * #Eina_Value_Struct. For your convenience, use | ||
316 | * eina_value_struct_setup(). | 584 | * eina_value_struct_setup(). |
317 | * | 585 | * |
318 | * eina_value_get() and eina_value_pget() takes a pointer to | 586 | * eina_value_get() and eina_value_pget() takes a pointer to |
@@ -324,6 +592,23 @@ EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_BLOB; | |||
324 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT; | 592 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT; |
325 | 593 | ||
326 | /** | 594 | /** |
595 | * @var EINA_VALUE_TYPE_MODEL | ||
596 | * | ||
597 | * manages Eina_Model type. Use the value get/set to change the model | ||
598 | * in use, it will increase the reference while in use by the value. | ||
599 | * | ||
600 | * eina_value_set() takes a pointer to #Eina_Model, increasing the | ||
601 | * reference. | ||
602 | * | ||
603 | * eina_value_get() takes a pointer to pointer to #Eina_Model, it's an | ||
604 | * exact copy of the current model, no copies are done, no references | ||
605 | * are increased. | ||
606 | * | ||
607 | * @since 1.2 | ||
608 | */ | ||
609 | EAPI extern const Eina_Value_Type *EINA_VALUE_TYPE_MODEL; | ||
610 | |||
611 | /** | ||
327 | * @var EINA_ERROR_VALUE_FAILED | 612 | * @var EINA_ERROR_VALUE_FAILED |
328 | * Error identifier corresponding to value check failure. | 613 | * Error identifier corresponding to value check failure. |
329 | * | 614 | * |
@@ -435,7 +720,7 @@ static inline void eina_value_flush(Eina_Value *value) EINA_ARG_NONNULL(1); | |||
435 | * @param copy destination value object | 720 | * @param copy destination value object |
436 | * @return #EINA_TRUE on success, #EINA_FALSE otherwise. | 721 | * @return #EINA_TRUE on success, #EINA_FALSE otherwise. |
437 | * | 722 | * |
438 | * The @a copy object is considered internalized and its existing | 723 | * The @a copy object is considered uninitialized and its existing |
439 | * contents are overwritten (just as if eina_value_flush() was called on | 724 | * contents are overwritten (just as if eina_value_flush() was called on |
440 | * it). | 725 | * it). |
441 | * | 726 | * |
@@ -812,8 +1097,9 @@ static inline const Eina_Value_Type *eina_value_type_get(const Eina_Value *value | |||
812 | 1097 | ||
813 | /** | 1098 | /** |
814 | * @typedef Eina_Value_Array | 1099 | * @typedef Eina_Value_Array |
815 | * Value type for #EINA_VALUE_TYPE_ARRAY | 1100 | * Value type for #EINA_VALUE_TYPE_ARRAY. |
816 | * | 1101 | * |
1102 | * @see #_Eina_Value_Array explains fields. | ||
817 | * @since 1.2 | 1103 | * @since 1.2 |
818 | */ | 1104 | */ |
819 | typedef struct _Eina_Value_Array Eina_Value_Array; | 1105 | typedef struct _Eina_Value_Array Eina_Value_Array; |
@@ -821,6 +1107,7 @@ typedef struct _Eina_Value_Array Eina_Value_Array; | |||
821 | /** | 1107 | /** |
822 | * @struct _Eina_Value_Array | 1108 | * @struct _Eina_Value_Array |
823 | * Used to store the array and its subtype. | 1109 | * Used to store the array and its subtype. |
1110 | * @since 1.2 | ||
824 | */ | 1111 | */ |
825 | struct _Eina_Value_Array | 1112 | struct _Eina_Value_Array |
826 | { | 1113 | { |
@@ -1433,6 +1720,22 @@ static inline Eina_Bool eina_value_array_pappend(Eina_Value *value, | |||
1433 | const void *ptr) EINA_ARG_NONNULL(1); | 1720 | const void *ptr) EINA_ARG_NONNULL(1); |
1434 | 1721 | ||
1435 | /** | 1722 | /** |
1723 | * @brief Retrieves a value from the array as an Eina_Value copy. | ||
1724 | * @param value source value object | ||
1725 | * @param position index of the member | ||
1726 | * @param dst where to return the array member | ||
1727 | * @return #EINA_TRUE on success, #EINA_FALSE otherwise. | ||
1728 | * | ||
1729 | * The argument @a dst is considered uninitialized and it's setup to | ||
1730 | * the type of the member. | ||
1731 | * | ||
1732 | * @since 1.2 | ||
1733 | */ | ||
1734 | static inline Eina_Bool eina_value_array_value_get(const Eina_Value *src, | ||
1735 | unsigned int position, | ||
1736 | Eina_Value *dst) EINA_ARG_NONNULL(1, 3); | ||
1737 | |||
1738 | /** | ||
1436 | * @} | 1739 | * @} |
1437 | */ | 1740 | */ |
1438 | 1741 | ||
@@ -1446,8 +1749,9 @@ static inline Eina_Bool eina_value_array_pappend(Eina_Value *value, | |||
1446 | 1749 | ||
1447 | /** | 1750 | /** |
1448 | * @typedef Eina_Value_List | 1751 | * @typedef Eina_Value_List |
1449 | * Value type for #EINA_VALUE_TYPE_LIST | 1752 | * Value type for #EINA_VALUE_TYPE_LIST. |
1450 | * | 1753 | * |
1754 | * @see #_Eina_Value_List explains fields. | ||
1451 | * @since 1.2 | 1755 | * @since 1.2 |
1452 | */ | 1756 | */ |
1453 | typedef struct _Eina_Value_List Eina_Value_List; | 1757 | typedef struct _Eina_Value_List Eina_Value_List; |
@@ -1455,6 +1759,7 @@ typedef struct _Eina_Value_List Eina_Value_List; | |||
1455 | /** | 1759 | /** |
1456 | * @struct _Eina_Value_List | 1760 | * @struct _Eina_Value_List |
1457 | * Used to store the list and its subtype. | 1761 | * Used to store the list and its subtype. |
1762 | * @since 1.2 | ||
1458 | */ | 1763 | */ |
1459 | struct _Eina_Value_List | 1764 | struct _Eina_Value_List |
1460 | { | 1765 | { |
@@ -2067,8 +2372,9 @@ static inline Eina_Bool eina_value_list_pappend(Eina_Value *value, | |||
2067 | 2372 | ||
2068 | /** | 2373 | /** |
2069 | * @typedef Eina_Value_Hash | 2374 | * @typedef Eina_Value_Hash |
2070 | * Value type for #EINA_VALUE_TYPE_HASH | 2375 | * Value type for #EINA_VALUE_TYPE_HASH. |
2071 | * | 2376 | * |
2377 | * @see #_Eina_Value_Hash explains fields. | ||
2072 | * @since 1.2 | 2378 | * @since 1.2 |
2073 | */ | 2379 | */ |
2074 | typedef struct _Eina_Value_Hash Eina_Value_Hash; | 2380 | typedef struct _Eina_Value_Hash Eina_Value_Hash; |
@@ -2076,6 +2382,7 @@ typedef struct _Eina_Value_Hash Eina_Value_Hash; | |||
2076 | /** | 2382 | /** |
2077 | * @struct _Eina_Value_Hash | 2383 | * @struct _Eina_Value_Hash |
2078 | * Used to store the hash and its subtype. | 2384 | * Used to store the hash and its subtype. |
2385 | * @since 1.2 | ||
2079 | */ | 2386 | */ |
2080 | struct _Eina_Value_Hash | 2387 | struct _Eina_Value_Hash |
2081 | { | 2388 | { |
@@ -2409,19 +2716,25 @@ static inline Eina_Bool eina_value_hash_pget(const Eina_Value *value, | |||
2409 | /** | 2716 | /** |
2410 | * @typedef Eina_Value_Blob_Operations | 2717 | * @typedef Eina_Value_Blob_Operations |
2411 | * How to manage blob. Any @c NULL callback is ignored. | 2718 | * How to manage blob. Any @c NULL callback is ignored. |
2719 | * @see #_Eina_Value_Blob_Operations explains fields. | ||
2412 | * @since 1.2 | 2720 | * @since 1.2 |
2413 | */ | 2721 | */ |
2414 | typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations; | 2722 | typedef struct _Eina_Value_Blob_Operations Eina_Value_Blob_Operations; |
2415 | 2723 | ||
2416 | /** | 2724 | /** |
2725 | * @def EINA_VALUE_BLOB_OPERATIONS_VERSION | ||
2726 | * Current API version, used to validate #_Eina_Value_Blob_Operations. | ||
2727 | */ | ||
2728 | #define EINA_VALUE_BLOB_OPERATIONS_VERSION (1) | ||
2729 | |||
2730 | /** | ||
2417 | * @struct _Eina_Value_Blob_Operations | 2731 | * @struct _Eina_Value_Blob_Operations |
2418 | * How to manage blob. Any @c NULL callback is ignored. | 2732 | * How to manage blob. Any @c NULL callback is ignored. |
2419 | * @since 1.2 | 2733 | * @since 1.2 |
2420 | */ | 2734 | */ |
2421 | struct _Eina_Value_Blob_Operations | 2735 | struct _Eina_Value_Blob_Operations |
2422 | { | 2736 | { |
2423 | #define EINA_VALUE_BLOB_OPERATIONS_VERSION (1) | 2737 | unsigned int version; /**< must be #EINA_VALUE_BLOB_OPERATIONS_VERSION */ |
2424 | unsigned int version; /**< must be EINA_VALUE_BLOB_OPERATIONS_VERSION */ | ||
2425 | void (*free)(const Eina_Value_Blob_Operations *ops, void *memory, size_t size); | 2738 | void (*free)(const Eina_Value_Blob_Operations *ops, void *memory, size_t size); |
2426 | void *(*copy)(const Eina_Value_Blob_Operations *ops, const void *memory, size_t size); | 2739 | void *(*copy)(const Eina_Value_Blob_Operations *ops, const void *memory, size_t size); |
2427 | int (*compare)(const Eina_Value_Blob_Operations *ops, const void *data1, size_t size_data1, const void *data2, size_t size_data2); | 2740 | int (*compare)(const Eina_Value_Blob_Operations *ops, const void *data1, size_t size_data1, const void *data2, size_t size_data2); |
@@ -2441,12 +2754,16 @@ EAPI extern const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC; | |||
2441 | 2754 | ||
2442 | /** | 2755 | /** |
2443 | * @typedef Eina_Value_Blob | 2756 | * @typedef Eina_Value_Blob |
2757 | * Value type for #EINA_VALUE_TYPE_BLOB. | ||
2758 | * | ||
2759 | * @see #_Eina_Value_Blob explains fields. | ||
2444 | * @since 1.2 | 2760 | * @since 1.2 |
2445 | */ | 2761 | */ |
2446 | typedef struct _Eina_Value_Blob Eina_Value_Blob; | 2762 | typedef struct _Eina_Value_Blob Eina_Value_Blob; |
2447 | 2763 | ||
2448 | /** | 2764 | /** |
2449 | * @struct _Eina_Value_Blob | 2765 | * @struct _Eina_Value_Blob |
2766 | * Used to store the blob information and management operations. | ||
2450 | * @since 1.2 | 2767 | * @since 1.2 |
2451 | */ | 2768 | */ |
2452 | struct _Eina_Value_Blob | 2769 | struct _Eina_Value_Blob |
@@ -2469,6 +2786,11 @@ struct _Eina_Value_Blob | |||
2469 | /** | 2786 | /** |
2470 | * @typedef Eina_Value_Struct_Operations | 2787 | * @typedef Eina_Value_Struct_Operations |
2471 | * How to manage struct. Any @c NULL callback is ignored. | 2788 | * How to manage struct. Any @c NULL callback is ignored. |
2789 | * | ||
2790 | * A structure can specify alternative methods to allocate, free and | ||
2791 | * copy itself. See structure definition for all methods. | ||
2792 | * | ||
2793 | * @see #_Eina_Value_Struct_Operations explains fields. | ||
2472 | * @since 1.2 | 2794 | * @since 1.2 |
2473 | */ | 2795 | */ |
2474 | typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations; | 2796 | typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations; |
@@ -2476,6 +2798,12 @@ typedef struct _Eina_Value_Struct_Operations Eina_Value_Struct_Operations; | |||
2476 | /** | 2798 | /** |
2477 | * @typedef Eina_Value_Struct_Member | 2799 | * @typedef Eina_Value_Struct_Member |
2478 | * Describes a single member of struct. | 2800 | * Describes a single member of struct. |
2801 | * | ||
2802 | * The member holds a name, type and its byte offset within the struct | ||
2803 | * memory. Most Eina_Value_Struct functions takes the member name as | ||
2804 | * parameter, as in eina_value_struct_set(). | ||
2805 | * | ||
2806 | * @see #_Eina_Value_Struct_Member explains fields. | ||
2479 | * @since 1.2 | 2807 | * @since 1.2 |
2480 | */ | 2808 | */ |
2481 | typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; | 2809 | typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; |
@@ -2483,30 +2811,39 @@ typedef struct _Eina_Value_Struct_Member Eina_Value_Struct_Member; | |||
2483 | /** | 2811 | /** |
2484 | * @typedef Eina_Value_Struct_Desc | 2812 | * @typedef Eina_Value_Struct_Desc |
2485 | * Describes the struct by listing its size, members and operations. | 2813 | * Describes the struct by listing its size, members and operations. |
2814 | * @see #_Eina_Value_Struct_Desc explains fields. | ||
2486 | * @since 1.2 | 2815 | * @since 1.2 |
2487 | */ | 2816 | */ |
2488 | typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc; | 2817 | typedef struct _Eina_Value_Struct_Desc Eina_Value_Struct_Desc; |
2489 | 2818 | ||
2490 | /** | 2819 | /** |
2491 | * @typedef Eina_Value_Struct | 2820 | * @typedef Eina_Value_Struct |
2821 | * Value type for #EINA_VALUE_TYPE_STRUCT. | ||
2822 | * | ||
2823 | * @see #_Eina_Value_Struct explains fields. | ||
2492 | * @since 1.2 | 2824 | * @since 1.2 |
2493 | */ | 2825 | */ |
2494 | typedef struct _Eina_Value_Struct Eina_Value_Struct; | 2826 | typedef struct _Eina_Value_Struct Eina_Value_Struct; |
2495 | 2827 | ||
2496 | /** | 2828 | /** |
2829 | * @def EINA_VALUE_STRUCT_OPERATIONS_VERSION | ||
2830 | * Current API version, used to validate #_Eina_Value_Struct_Operations. | ||
2831 | */ | ||
2832 | #define EINA_VALUE_STRUCT_OPERATIONS_VERSION (1) | ||
2833 | |||
2834 | /** | ||
2497 | * @struct _Eina_Value_Struct_Operations | 2835 | * @struct _Eina_Value_Struct_Operations |
2498 | * How to manage struct. Any @c NULL callback is ignored. | 2836 | * How to manage struct. Any @c NULL callback is ignored. |
2499 | * @since 1.2 | 2837 | * @since 1.2 |
2500 | */ | 2838 | */ |
2501 | struct _Eina_Value_Struct_Operations | 2839 | struct _Eina_Value_Struct_Operations |
2502 | { | 2840 | { |
2503 | #define EINA_VALUE_STRUCT_OPERATIONS_VERSION (1) | 2841 | unsigned int version; /**< must be #EINA_VALUE_STRUCT_OPERATIONS_VERSION */ |
2504 | unsigned int version; /**< must be EINA_VALUE_STRUCT_OPERATIONS_VERSION */ | 2842 | void *(*alloc)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc); /**< How to allocate struct memory to be managed by the Eina_Value */ |
2505 | void *(*alloc)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc); | 2843 | void (*free)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, void *memory); /**< How to release memory managed by the Eina_Value */ |
2506 | void (*free)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, void *memory); | 2844 | void *(*copy)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *memory); /**< How to copy struct memory from an existing Eina_Value, if not provided alloc() will be used, then every member is copied using eina_value_type_copy() with member's type. */ |
2507 | void *(*copy)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *memory); | 2845 | int (*compare)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *data1, const void *data2); /**< How to compare two struct memories */ |
2508 | int (*compare)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const void *data1, const void *data2); | 2846 | const Eina_Value_Struct_Member *(*find_member)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const char *name); /**< How to find description for member. For huge structures consider using binary search, stringshared, hash or gperf. The default function does linear search using strcmp(). */ |
2509 | const Eina_Value_Struct_Member *(*find_member)(const Eina_Value_Struct_Operations *ops, const Eina_Value_Struct_Desc *desc, const char *name); /**< replace the function to find description for member. For huge structures consider using binary search, stringshared, hash or gperf. The default function does linear search using strcmp(). */ | ||
2510 | }; | 2847 | }; |
2511 | 2848 | ||
2512 | /** | 2849 | /** |
@@ -2539,23 +2876,48 @@ EAPI extern const Eina_Value_Struct_Operations *EINA_VALUE_STRUCT_OPERATIONS_STR | |||
2539 | 2876 | ||
2540 | /** | 2877 | /** |
2541 | * @struct _Eina_Value_Struct_Member | 2878 | * @struct _Eina_Value_Struct_Member |
2879 | * Describes a single member of struct. | ||
2880 | * | ||
2881 | * The name is used to lookup the member description. This is done as | ||
2882 | * specified as _Eina_Value_Struct_Operations::find_member(). For | ||
2883 | * structures with huge number of members, consider using a better | ||
2884 | * find_member function to quickly finding it! There are two helper | ||
2885 | * operations provided to help this: | ||
2886 | * #EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH and | ||
2887 | * #EINA_VALUE_STRUCT_OPERATIONS_STRINGSHARE, both depend on properly | ||
2888 | * set #_Eina_Value_Struct_Desc and #_Eina_Value_Struct_Member. | ||
2889 | * | ||
2890 | * @see #EINA_VALUE_STRUCT_MEMBER | ||
2891 | * @see #EINA_VALUE_STRUCT_MEMBER_SENTINEL | ||
2892 | * | ||
2542 | * @since 1.2 | 2893 | * @since 1.2 |
2543 | */ | 2894 | */ |
2544 | struct _Eina_Value_Struct_Member | 2895 | struct _Eina_Value_Struct_Member |
2545 | { | 2896 | { |
2546 | const char *name; | 2897 | const char *name; /**< member name, used in lookups such as eina_value_struct_get() */ |
2547 | const Eina_Value_Type *type; | 2898 | const Eina_Value_Type *type; /**< how to use this member */ |
2548 | unsigned int offset; | 2899 | unsigned int offset; /**< where this member is located within the structure memory */ |
2549 | }; | 2900 | }; |
2550 | 2901 | ||
2551 | /** | 2902 | /** |
2903 | * @def EINA_VALUE_STRUCT_DESC_VERSION | ||
2904 | * Current API version, used to validate #_Eina_Value_Struct_Desc. | ||
2905 | */ | ||
2906 | #define EINA_VALUE_STRUCT_DESC_VERSION (1) | ||
2907 | |||
2908 | /** | ||
2552 | * @struct _Eina_Value_Struct_Desc | 2909 | * @struct _Eina_Value_Struct_Desc |
2910 | * Describes the struct by listing its size, members and operations. | ||
2911 | * | ||
2912 | * This is the root of Eina_Value knowledge about the memory it's | ||
2913 | * handling as a structure. It adds introspection, saying the byte | ||
2914 | * size of the structure, its members and how to manage such members. | ||
2915 | * | ||
2553 | * @since 1.2 | 2916 | * @since 1.2 |
2554 | */ | 2917 | */ |
2555 | struct _Eina_Value_Struct_Desc | 2918 | struct _Eina_Value_Struct_Desc |
2556 | { | 2919 | { |
2557 | #define EINA_VALUE_STRUCT_DESC_VERSION (1) | 2920 | unsigned int version; /**< must be #EINA_VALUE_STRUCT_DESC_VERSION */ |
2558 | unsigned int version; /**< must be EINA_VALUE_STRUCT_DESC_VERSION */ | ||
2559 | const Eina_Value_Struct_Operations *ops; /**< operations, if @c NULL defaults will be used. You may use operations to optimize member lookup using binary search or gperf hash. */ | 2921 | const Eina_Value_Struct_Operations *ops; /**< operations, if @c NULL defaults will be used. You may use operations to optimize member lookup using binary search or gperf hash. */ |
2560 | const Eina_Value_Struct_Member *members; /**< array of member descriptions, if @c member_count is zero, then it must be @c NULL terminated. */ | 2922 | const Eina_Value_Struct_Member *members; /**< array of member descriptions, if @c member_count is zero, then it must be @c NULL terminated. */ |
2561 | unsigned int member_count; /**< if > 0, specifies number of members. If zero then @c members must be NULL terminated. */ | 2923 | unsigned int member_count; /**< if > 0, specifies number of members. If zero then @c members must be NULL terminated. */ |
@@ -2586,12 +2948,13 @@ struct _Eina_Value_Struct_Desc | |||
2586 | 2948 | ||
2587 | /** | 2949 | /** |
2588 | * @struct _Eina_Value_Struct | 2950 | * @struct _Eina_Value_Struct |
2951 | * Used to store the memory and its description. | ||
2589 | * @since 1.2 | 2952 | * @since 1.2 |
2590 | */ | 2953 | */ |
2591 | struct _Eina_Value_Struct | 2954 | struct _Eina_Value_Struct |
2592 | { | 2955 | { |
2593 | const Eina_Value_Struct_Desc *desc; | 2956 | const Eina_Value_Struct_Desc *desc; /**< How to manage the structure */ |
2594 | void *memory; | 2957 | void *memory; /**< The managed structure memory */ |
2595 | }; | 2958 | }; |
2596 | 2959 | ||
2597 | /** | 2960 | /** |
@@ -2702,7 +3065,7 @@ static inline Eina_Bool eina_value_struct_setup(Eina_Value *value, | |||
2702 | */ | 3065 | */ |
2703 | static inline Eina_Bool eina_value_struct_set(Eina_Value *value, | 3066 | static inline Eina_Bool eina_value_struct_set(Eina_Value *value, |
2704 | const char *name, | 3067 | const char *name, |
2705 | ...) EINA_ARG_NONNULL(1); | 3068 | ...) EINA_ARG_NONNULL(1, 2); |
2706 | 3069 | ||
2707 | /** | 3070 | /** |
2708 | * @brief Get the generic value from an struct member. | 3071 | * @brief Get the generic value from an struct member. |
@@ -2770,7 +3133,7 @@ static inline Eina_Bool eina_value_struct_set(Eina_Value *value, | |||
2770 | */ | 3133 | */ |
2771 | static inline Eina_Bool eina_value_struct_get(const Eina_Value *value, | 3134 | static inline Eina_Bool eina_value_struct_get(const Eina_Value *value, |
2772 | const char *name, | 3135 | const char *name, |
2773 | ...) EINA_ARG_NONNULL(1); | 3136 | ...) EINA_ARG_NONNULL(1, 2); |
2774 | 3137 | ||
2775 | /** | 3138 | /** |
2776 | * @brief Set the generic value in an struct member. | 3139 | * @brief Set the generic value in an struct member. |
@@ -2786,7 +3149,7 @@ static inline Eina_Bool eina_value_struct_get(const Eina_Value *value, | |||
2786 | */ | 3149 | */ |
2787 | static inline Eina_Bool eina_value_struct_vset(Eina_Value *value, | 3150 | static inline Eina_Bool eina_value_struct_vset(Eina_Value *value, |
2788 | const char *name, | 3151 | const char *name, |
2789 | va_list args) EINA_ARG_NONNULL(1); | 3152 | va_list args) EINA_ARG_NONNULL(1, 2); |
2790 | 3153 | ||
2791 | /** | 3154 | /** |
2792 | * @brief Get the generic value from an struct member. | 3155 | * @brief Get the generic value from an struct member. |
@@ -2808,7 +3171,7 @@ static inline Eina_Bool eina_value_struct_vset(Eina_Value *value, | |||
2808 | */ | 3171 | */ |
2809 | static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value, | 3172 | static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value, |
2810 | const char *name, | 3173 | const char *name, |
2811 | va_list args) EINA_ARG_NONNULL(1); | 3174 | va_list args) EINA_ARG_NONNULL(1, 2); |
2812 | 3175 | ||
2813 | /** | 3176 | /** |
2814 | * @brief Set the generic value in an struct member from pointer. | 3177 | * @brief Set the generic value in an struct member from pointer. |
@@ -2875,7 +3238,7 @@ static inline Eina_Bool eina_value_struct_vget(const Eina_Value *value, | |||
2875 | */ | 3238 | */ |
2876 | static inline Eina_Bool eina_value_struct_pset(Eina_Value *value, | 3239 | static inline Eina_Bool eina_value_struct_pset(Eina_Value *value, |
2877 | const char *name, | 3240 | const char *name, |
2878 | const void *ptr) EINA_ARG_NONNULL(1, 3); | 3241 | const void *ptr) EINA_ARG_NONNULL(1, 2, 3); |
2879 | 3242 | ||
2880 | /** | 3243 | /** |
2881 | * @brief Get the generic value to pointer from an struct member. | 3244 | * @brief Get the generic value to pointer from an struct member. |
@@ -2944,7 +3307,62 @@ static inline Eina_Bool eina_value_struct_pset(Eina_Value *value, | |||
2944 | */ | 3307 | */ |
2945 | static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, | 3308 | static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, |
2946 | const char *name, | 3309 | const char *name, |
2947 | void *ptr) EINA_ARG_NONNULL(1, 3); | 3310 | void *ptr) EINA_ARG_NONNULL(1, 2, 3); |
3311 | |||
3312 | /** | ||
3313 | * @brief Get the member as Eina_Value copy | ||
3314 | * @param src source value object | ||
3315 | * @param name name to find the member | ||
3316 | * @param dst where to return the member value. | ||
3317 | * | ||
3318 | * The argument @a dst is considered uninitialized and it's setup to | ||
3319 | * the type of the member. | ||
3320 | * | ||
3321 | * @since 1.2 | ||
3322 | */ | ||
3323 | static inline Eina_Bool eina_value_struct_value_get(const Eina_Value *src, | ||
3324 | const char *name, | ||
3325 | Eina_Value *dst) EINA_ARG_NONNULL(1, 2, 3); | ||
3326 | |||
3327 | /** | ||
3328 | * @brief Set the member from Eina_Value source | ||
3329 | * @param dst destination value object | ||
3330 | * @param name name to find the member | ||
3331 | * @param src source value | ||
3332 | * | ||
3333 | * @since 1.2 | ||
3334 | */ | ||
3335 | static inline Eina_Bool eina_value_struct_value_set(Eina_Value *dst, | ||
3336 | const char *name, | ||
3337 | const Eina_Value *src) EINA_ARG_NONNULL(1, 2, 3); | ||
3338 | |||
3339 | /** | ||
3340 | * @brief Get the member as Eina_Value copy given its member description. | ||
3341 | * @param src source value object | ||
3342 | * @param member the member description to use | ||
3343 | * @param dst where to return the member value. | ||
3344 | * | ||
3345 | * The argument @a dst is considered uninitialized and it's setup to | ||
3346 | * the type of the member. | ||
3347 | * | ||
3348 | * @since 1.2 | ||
3349 | */ | ||
3350 | static inline Eina_Bool eina_value_struct_member_value_get(const Eina_Value *src, | ||
3351 | const Eina_Value_Struct_Member *member, | ||
3352 | Eina_Value *dst) EINA_ARG_NONNULL(1, 2, 3); | ||
3353 | |||
3354 | /** | ||
3355 | * @brief Set the member from Eina_Value source | ||
3356 | * @param dst destination value object | ||
3357 | * @param member the member description to use | ||
3358 | * @param src source value | ||
3359 | * | ||
3360 | * @since 1.2 | ||
3361 | */ | ||
3362 | static inline Eina_Bool eina_value_struct_member_value_set(Eina_Value *dst, | ||
3363 | const Eina_Value_Struct_Member *member, | ||
3364 | const Eina_Value *src) EINA_ARG_NONNULL(1, 2, 3); | ||
3365 | |||
2948 | 3366 | ||
2949 | /** | 3367 | /** |
2950 | * @} | 3368 | * @} |
@@ -2958,6 +3376,12 @@ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, | |||
2958 | */ | 3376 | */ |
2959 | 3377 | ||
2960 | /** | 3378 | /** |
3379 | * @def EINA_VALUE_TYPE_VERSION | ||
3380 | * Current API version, used to validate type. | ||
3381 | */ | ||
3382 | #define EINA_VALUE_TYPE_VERSION (1) | ||
3383 | |||
3384 | /** | ||
2961 | * @struct _Eina_Value_Type | 3385 | * @struct _Eina_Value_Type |
2962 | * API to access values. | 3386 | * API to access values. |
2963 | * | 3387 | * |
@@ -2965,11 +3389,6 @@ static inline Eina_Bool eina_value_struct_pget(const Eina_Value *value, | |||
2965 | */ | 3389 | */ |
2966 | struct _Eina_Value_Type | 3390 | struct _Eina_Value_Type |
2967 | { | 3391 | { |
2968 | /** | ||
2969 | * @def EINA_VALUE_TYPE_VERSION | ||
2970 | * Current API version, used to validate type. | ||
2971 | */ | ||
2972 | #define EINA_VALUE_TYPE_VERSION (1) | ||
2973 | unsigned int version; /**< must be #EINA_VALUE_TYPE_VERSION */ | 3392 | unsigned int version; /**< must be #EINA_VALUE_TYPE_VERSION */ |
2974 | unsigned int value_size; /**< byte size of value */ | 3393 | unsigned int value_size; /**< byte size of value */ |
2975 | const char *name; /**< name for debug and introspection */ | 3394 | const char *name; /**< name for debug and introspection */ |
diff --git a/libraries/eina/src/lib/Makefile.am b/libraries/eina/src/lib/Makefile.am index d8c9d20..5de2848 100644 --- a/libraries/eina/src/lib/Makefile.am +++ b/libraries/eina/src/lib/Makefile.am | |||
@@ -6,8 +6,8 @@ AM_CPPFLAGS = \ | |||
6 | -DPACKAGE_BIN_DIR=\"$(bindir)\" \ | 6 | -DPACKAGE_BIN_DIR=\"$(bindir)\" \ |
7 | -DPACKAGE_LIB_DIR=\"$(libdir)\" \ | 7 | -DPACKAGE_LIB_DIR=\"$(libdir)\" \ |
8 | -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ | 8 | -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ |
9 | @EINA_CPPFLAGS@ \ | 9 | @EFL_EINA_BUILD@ \ |
10 | @EFL_EINA_BUILD@ | 10 | @VALGRIND_CFLAGS@ |
11 | 11 | ||
12 | base_sources = \ | 12 | base_sources = \ |
13 | eina_accessor.c \ | 13 | eina_accessor.c \ |
@@ -33,6 +33,7 @@ eina_main.c \ | |||
33 | eina_matrixsparse.c \ | 33 | eina_matrixsparse.c \ |
34 | eina_mempool.c \ | 34 | eina_mempool.c \ |
35 | eina_mmap.c \ | 35 | eina_mmap.c \ |
36 | eina_model.c \ | ||
36 | eina_module.c \ | 37 | eina_module.c \ |
37 | eina_prefix.c \ | 38 | eina_prefix.c \ |
38 | eina_quadtree.c \ | 39 | eina_quadtree.c \ |
diff --git a/libraries/eina/src/lib/Makefile.in b/libraries/eina/src/lib/Makefile.in index 878bcbe..f15bb00 100644 --- a/libraries/eina/src/lib/Makefile.in +++ b/libraries/eina/src/lib/Makefile.in | |||
@@ -49,20 +49,24 @@ host_triplet = @host@ | |||
49 | subdir = src/lib | 49 | subdir = src/lib |
50 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 50 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
51 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 51 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
52 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 52 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
53 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 53 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
54 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 54 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
55 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 55 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
56 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 56 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
57 | $(top_srcdir)/m4/efl_examples.m4 \ | 57 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
58 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 58 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
59 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 59 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
60 | $(top_srcdir)/m4/efl_threads.m4 \ | 60 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
61 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 61 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
62 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 62 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
63 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 63 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
64 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 64 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
65 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 65 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
66 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
67 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
68 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
69 | $(top_srcdir)/configure.ac | ||
66 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 70 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
67 | $(ACLOCAL_M4) | 71 | $(ACLOCAL_M4) |
68 | mkinstalldirs = $(install_sh) -d | 72 | mkinstalldirs = $(install_sh) -d |
@@ -99,13 +103,13 @@ am__libeina_la_SOURCES_DIST = eina_accessor.c eina_array.c \ | |||
99 | eina_hamster.c eina_hash.c eina_inarray.c eina_inlist.c \ | 103 | eina_hamster.c eina_hash.c eina_inarray.c eina_inlist.c \ |
100 | eina_iterator.c eina_lalloc.c eina_list.c eina_log.c \ | 104 | eina_iterator.c eina_lalloc.c eina_list.c eina_log.c \ |
101 | eina_magic.c eina_main.c eina_matrixsparse.c eina_mempool.c \ | 105 | eina_magic.c eina_main.c eina_matrixsparse.c eina_mempool.c \ |
102 | eina_mmap.c eina_module.c eina_prefix.c eina_quadtree.c \ | 106 | eina_mmap.c eina_model.c eina_module.c eina_prefix.c \ |
103 | eina_rbtree.c eina_rectangle.c eina_safety_checks.c \ | 107 | eina_quadtree.c eina_rbtree.c eina_rectangle.c \ |
104 | eina_sched.c eina_share_common.c eina_simple_xml_parser.c \ | 108 | eina_safety_checks.c eina_sched.c eina_share_common.c \ |
105 | eina_str.c eina_strbuf.c eina_strbuf_common.c \ | 109 | eina_simple_xml_parser.c eina_str.c eina_strbuf.c \ |
106 | eina_stringshare.c eina_tiler.c eina_unicode.c eina_ustrbuf.c \ | 110 | eina_strbuf_common.c eina_stringshare.c eina_tiler.c \ |
107 | eina_ustringshare.c eina_value.c eina_xattr.c \ | 111 | eina_unicode.c eina_ustrbuf.c eina_ustringshare.c eina_value.c \ |
108 | eina_file_win32.c eina_file.c \ | 112 | eina_xattr.c eina_file_win32.c eina_file.c \ |
109 | $(top_srcdir)/src/modules/mp/buddy/eina_buddy.c \ | 113 | $(top_srcdir)/src/modules/mp/buddy/eina_buddy.c \ |
110 | $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c \ | 114 | $(top_srcdir)/src/modules/mp/chained_pool/eina_chained_mempool.c \ |
111 | $(top_srcdir)/src/modules/mp/ememoa_fixed/eina_ememoa_fixed.c \ | 115 | $(top_srcdir)/src/modules/mp/ememoa_fixed/eina_ememoa_fixed.c \ |
@@ -135,11 +139,11 @@ am__objects_10 = libeina_la-eina_accessor.lo libeina_la-eina_array.lo \ | |||
135 | libeina_la-eina_list.lo libeina_la-eina_log.lo \ | 139 | libeina_la-eina_list.lo libeina_la-eina_log.lo \ |
136 | libeina_la-eina_magic.lo libeina_la-eina_main.lo \ | 140 | libeina_la-eina_magic.lo libeina_la-eina_main.lo \ |
137 | libeina_la-eina_matrixsparse.lo libeina_la-eina_mempool.lo \ | 141 | libeina_la-eina_matrixsparse.lo libeina_la-eina_mempool.lo \ |
138 | libeina_la-eina_mmap.lo libeina_la-eina_module.lo \ | 142 | libeina_la-eina_mmap.lo libeina_la-eina_model.lo \ |
139 | libeina_la-eina_prefix.lo libeina_la-eina_quadtree.lo \ | 143 | libeina_la-eina_module.lo libeina_la-eina_prefix.lo \ |
140 | libeina_la-eina_rbtree.lo libeina_la-eina_rectangle.lo \ | 144 | libeina_la-eina_quadtree.lo libeina_la-eina_rbtree.lo \ |
141 | libeina_la-eina_safety_checks.lo libeina_la-eina_sched.lo \ | 145 | libeina_la-eina_rectangle.lo libeina_la-eina_safety_checks.lo \ |
142 | libeina_la-eina_share_common.lo \ | 146 | libeina_la-eina_sched.lo libeina_la-eina_share_common.lo \ |
143 | libeina_la-eina_simple_xml_parser.lo libeina_la-eina_str.lo \ | 147 | libeina_la-eina_simple_xml_parser.lo libeina_la-eina_str.lo \ |
144 | libeina_la-eina_strbuf.lo libeina_la-eina_strbuf_common.lo \ | 148 | libeina_la-eina_strbuf.lo libeina_la-eina_strbuf_common.lo \ |
145 | libeina_la-eina_stringshare.lo libeina_la-eina_tiler.lo \ | 149 | libeina_la-eina_stringshare.lo libeina_la-eina_tiler.lo \ |
@@ -236,13 +240,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
236 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 240 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
237 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 241 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
238 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 242 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
243 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
239 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 244 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
240 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 245 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
241 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 246 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
242 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 247 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
243 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 248 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
244 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 249 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
245 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
246 | EINA_LIBS = @EINA_LIBS@ | 250 | EINA_LIBS = @EINA_LIBS@ |
247 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 251 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
248 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 252 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -252,6 +256,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
252 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 256 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
253 | EVIL_LIBS = @EVIL_LIBS@ | 257 | EVIL_LIBS = @EVIL_LIBS@ |
254 | EXEEXT = @EXEEXT@ | 258 | EXEEXT = @EXEEXT@ |
259 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
260 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
255 | FGREP = @FGREP@ | 261 | FGREP = @FGREP@ |
256 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 262 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
257 | GLIB_LIBS = @GLIB_LIBS@ | 263 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -287,6 +293,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
287 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 293 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
288 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 294 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
289 | PKG_CONFIG = @PKG_CONFIG@ | 295 | PKG_CONFIG = @PKG_CONFIG@ |
296 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
297 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
290 | RANLIB = @RANLIB@ | 298 | RANLIB = @RANLIB@ |
291 | SED = @SED@ | 299 | SED = @SED@ |
292 | SET_MAKE = @SET_MAKE@ | 300 | SET_MAKE = @SET_MAKE@ |
@@ -367,23 +375,24 @@ AM_CPPFLAGS = \ | |||
367 | -DPACKAGE_BIN_DIR=\"$(bindir)\" \ | 375 | -DPACKAGE_BIN_DIR=\"$(bindir)\" \ |
368 | -DPACKAGE_LIB_DIR=\"$(libdir)\" \ | 376 | -DPACKAGE_LIB_DIR=\"$(libdir)\" \ |
369 | -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ | 377 | -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ |
370 | @EINA_CPPFLAGS@ \ | 378 | @EFL_EINA_BUILD@ \ |
371 | @EFL_EINA_BUILD@ | 379 | @VALGRIND_CFLAGS@ |
372 | 380 | ||
373 | base_sources = eina_accessor.c eina_array.c eina_benchmark.c \ | 381 | base_sources = eina_accessor.c eina_array.c eina_benchmark.c \ |
374 | eina_binbuf.c eina_binshare.c eina_convert.c eina_counter.c \ | 382 | eina_binbuf.c eina_binshare.c eina_convert.c eina_counter.c \ |
375 | eina_cpu.c eina_error.c eina_fp.c eina_hamster.c eina_hash.c \ | 383 | eina_cpu.c eina_error.c eina_fp.c eina_hamster.c eina_hash.c \ |
376 | eina_inarray.c eina_inlist.c eina_iterator.c eina_lalloc.c \ | 384 | eina_inarray.c eina_inlist.c eina_iterator.c eina_lalloc.c \ |
377 | eina_list.c eina_log.c eina_magic.c eina_main.c \ | 385 | eina_list.c eina_log.c eina_magic.c eina_main.c \ |
378 | eina_matrixsparse.c eina_mempool.c eina_mmap.c eina_module.c \ | 386 | eina_matrixsparse.c eina_mempool.c eina_mmap.c eina_model.c \ |
379 | eina_prefix.c eina_quadtree.c eina_rbtree.c eina_rectangle.c \ | 387 | eina_module.c eina_prefix.c eina_quadtree.c eina_rbtree.c \ |
380 | eina_safety_checks.c eina_sched.c eina_share_common.c \ | 388 | eina_rectangle.c eina_safety_checks.c eina_sched.c \ |
381 | eina_simple_xml_parser.c eina_str.c eina_strbuf.c \ | 389 | eina_share_common.c eina_simple_xml_parser.c eina_str.c \ |
382 | eina_strbuf_common.c eina_stringshare.c eina_tiler.c \ | 390 | eina_strbuf.c eina_strbuf_common.c eina_stringshare.c \ |
383 | eina_unicode.c eina_ustrbuf.c eina_ustringshare.c eina_value.c \ | 391 | eina_tiler.c eina_unicode.c eina_ustrbuf.c eina_ustringshare.c \ |
384 | eina_xattr.c $(am__append_1) $(am__append_2) $(am__append_3) \ | 392 | eina_value.c eina_xattr.c $(am__append_1) $(am__append_2) \ |
385 | $(am__append_4) $(am__append_5) $(am__append_6) \ | 393 | $(am__append_3) $(am__append_4) $(am__append_5) \ |
386 | $(am__append_7) $(am__append_8) $(am__append_9) | 394 | $(am__append_6) $(am__append_7) $(am__append_8) \ |
395 | $(am__append_9) | ||
387 | EXTRA_DIST = \ | 396 | EXTRA_DIST = \ |
388 | eina_share_common.h \ | 397 | eina_share_common.h \ |
389 | eina_private.h \ | 398 | eina_private.h \ |
@@ -502,6 +511,7 @@ distclean-compile: | |||
502 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_matrixsparse.Plo@am__quote@ | 511 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_matrixsparse.Plo@am__quote@ |
503 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mempool.Plo@am__quote@ | 512 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mempool.Plo@am__quote@ |
504 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mmap.Plo@am__quote@ | 513 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_mmap.Plo@am__quote@ |
514 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_model.Plo@am__quote@ | ||
505 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_module.Plo@am__quote@ | 515 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_module.Plo@am__quote@ |
506 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_one_big.Plo@am__quote@ | 516 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_one_big.Plo@am__quote@ |
507 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_pass_through.Plo@am__quote@ | 517 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libeina_la-eina_pass_through.Plo@am__quote@ |
@@ -732,6 +742,14 @@ libeina_la-eina_mmap.lo: eina_mmap.c | |||
732 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | 742 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
733 | @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -c -o libeina_la-eina_mmap.lo `test -f 'eina_mmap.c' || echo '$(srcdir)/'`eina_mmap.c | 743 | @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -c -o libeina_la-eina_mmap.lo `test -f 'eina_mmap.c' || echo '$(srcdir)/'`eina_mmap.c |
734 | 744 | ||
745 | libeina_la-eina_model.lo: eina_model.c | ||
746 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -MT libeina_la-eina_model.lo -MD -MP -MF $(DEPDIR)/libeina_la-eina_model.Tpo -c -o libeina_la-eina_model.lo `test -f 'eina_model.c' || echo '$(srcdir)/'`eina_model.c | ||
747 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libeina_la-eina_model.Tpo $(DEPDIR)/libeina_la-eina_model.Plo | ||
748 | @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ | ||
749 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='eina_model.c' object='libeina_la-eina_model.lo' libtool=yes @AMDEPBACKSLASH@ | ||
750 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||
751 | @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -c -o libeina_la-eina_model.lo `test -f 'eina_model.c' || echo '$(srcdir)/'`eina_model.c | ||
752 | |||
735 | libeina_la-eina_module.lo: eina_module.c | 753 | libeina_la-eina_module.lo: eina_module.c |
736 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -MT libeina_la-eina_module.lo -MD -MP -MF $(DEPDIR)/libeina_la-eina_module.Tpo -c -o libeina_la-eina_module.lo `test -f 'eina_module.c' || echo '$(srcdir)/'`eina_module.c | 754 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libeina_la_CFLAGS) $(CFLAGS) -MT libeina_la-eina_module.lo -MD -MP -MF $(DEPDIR)/libeina_la-eina_module.Tpo -c -o libeina_la-eina_module.lo `test -f 'eina_module.c' || echo '$(srcdir)/'`eina_module.c |
737 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libeina_la-eina_module.Tpo $(DEPDIR)/libeina_la-eina_module.Plo | 755 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libeina_la-eina_module.Tpo $(DEPDIR)/libeina_la-eina_module.Plo |
diff --git a/libraries/eina/src/lib/eina_binshare.c b/libraries/eina/src/lib/eina_binshare.c index 68a82fc..01e8046 100644 --- a/libraries/eina/src/lib/eina_binshare.c +++ b/libraries/eina/src/lib/eina_binshare.c | |||
@@ -21,9 +21,18 @@ | |||
21 | 21 | ||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include "eina_share_common.h" | 24 | #ifdef HAVE_CONFIG_H |
25 | #include "eina_unicode.h" | 25 | # include "config.h" |
26 | #endif | ||
27 | |||
28 | #include "eina_config.h" | ||
26 | #include "eina_private.h" | 29 | #include "eina_private.h" |
30 | #include "eina_unicode.h" | ||
31 | #include "eina_log.h" | ||
32 | #include "eina_share_common.h" | ||
33 | |||
34 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | ||
35 | #include "eina_safety_checks.h" | ||
27 | #include "eina_binshare.h" | 36 | #include "eina_binshare.h" |
28 | 37 | ||
29 | /*============================================================================* | 38 | /*============================================================================* |
@@ -34,6 +43,23 @@ | |||
34 | * @cond LOCAL | 43 | * @cond LOCAL |
35 | */ | 44 | */ |
36 | 45 | ||
46 | #ifdef CRITICAL | ||
47 | #undef CRITICAL | ||
48 | #endif | ||
49 | #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_binshare_log_dom, __VA_ARGS__) | ||
50 | |||
51 | #ifdef ERR | ||
52 | #undef ERR | ||
53 | #endif | ||
54 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_share_binshare_log_dom, __VA_ARGS__) | ||
55 | |||
56 | #ifdef DBG | ||
57 | #undef DBG | ||
58 | #endif | ||
59 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_share_binshare_log_dom, __VA_ARGS__) | ||
60 | |||
61 | static int _eina_share_binshare_log_dom = -1; | ||
62 | |||
37 | /* The actual share */ | 63 | /* The actual share */ |
38 | static Eina_Share *binshare_share; | 64 | static Eina_Share *binshare_share; |
39 | static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; | 65 | static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; |
@@ -42,7 +68,6 @@ static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; | |||
42 | * @endcond | 68 | * @endcond |
43 | */ | 69 | */ |
44 | 70 | ||
45 | |||
46 | /*============================================================================* | 71 | /*============================================================================* |
47 | * Global * | 72 | * Global * |
48 | *============================================================================*/ | 73 | *============================================================================*/ |
@@ -61,9 +86,31 @@ static const char EINA_MAGIC_BINSHARE_NODE_STR[] = "Eina Binshare Node"; | |||
61 | EAPI Eina_Bool | 86 | EAPI Eina_Bool |
62 | eina_binshare_init(void) | 87 | eina_binshare_init(void) |
63 | { | 88 | { |
64 | return eina_share_common_init(&binshare_share, | 89 | Eina_Bool ret; |
65 | EINA_MAGIC_BINSHARE_NODE, | 90 | |
66 | EINA_MAGIC_BINSHARE_NODE_STR); | 91 | if (_eina_share_binshare_log_dom < 0) |
92 | { | ||
93 | _eina_share_binshare_log_dom = eina_log_domain_register | ||
94 | ("eina_binshare", EINA_LOG_COLOR_DEFAULT); | ||
95 | |||
96 | if (_eina_share_binshare_log_dom < 0) | ||
97 | { | ||
98 | EINA_LOG_ERR("Could not register log domain: eina_binshare"); | ||
99 | return EINA_FALSE; | ||
100 | } | ||
101 | } | ||
102 | |||
103 | ret = eina_share_common_init(&binshare_share, | ||
104 | EINA_MAGIC_BINSHARE_NODE, | ||
105 | EINA_MAGIC_BINSHARE_NODE_STR); | ||
106 | |||
107 | if (!ret) | ||
108 | { | ||
109 | eina_log_domain_unregister(_eina_share_binshare_log_dom); | ||
110 | _eina_share_binshare_log_dom = -1; | ||
111 | } | ||
112 | |||
113 | return ret; | ||
67 | } | 114 | } |
68 | 115 | ||
69 | /** | 116 | /** |
@@ -82,6 +129,13 @@ eina_binshare_shutdown(void) | |||
82 | { | 129 | { |
83 | Eina_Bool ret; | 130 | Eina_Bool ret; |
84 | ret = eina_share_common_shutdown(&binshare_share); | 131 | ret = eina_share_common_shutdown(&binshare_share); |
132 | |||
133 | if (_eina_share_binshare_log_dom > 0) | ||
134 | { | ||
135 | eina_log_domain_unregister(_eina_share_binshare_log_dom); | ||
136 | _eina_share_binshare_log_dom = -1; | ||
137 | } | ||
138 | |||
85 | return ret; | 139 | return ret; |
86 | } | 140 | } |
87 | 141 | ||
@@ -96,7 +150,8 @@ eina_binshare_del(const void *obj) | |||
96 | if (!obj) | 150 | if (!obj) |
97 | return; | 151 | return; |
98 | 152 | ||
99 | eina_share_common_del(binshare_share, obj); | 153 | if (!eina_share_common_del(binshare_share, obj)) |
154 | CRITICAL("EEEK trying to del non-shared binshare %p", obj); | ||
100 | } | 155 | } |
101 | 156 | ||
102 | EAPI const void * | 157 | EAPI const void * |
diff --git a/libraries/eina/src/lib/eina_file.c b/libraries/eina/src/lib/eina_file.c index 0b836b3..c465301 100644 --- a/libraries/eina/src/lib/eina_file.c +++ b/libraries/eina/src/lib/eina_file.c | |||
@@ -362,41 +362,15 @@ _eina_file_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) | |||
362 | static Eina_Bool | 362 | static Eina_Bool |
363 | _eina_file_stat_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) | 363 | _eina_file_stat_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) |
364 | { | 364 | { |
365 | struct stat st; | 365 | Eina_Stat st; |
366 | 366 | ||
367 | if (!_eina_file_direct_ls_iterator_next(it, data)) | 367 | if (!_eina_file_direct_ls_iterator_next(it, data)) |
368 | return EINA_FALSE; | 368 | return EINA_FALSE; |
369 | 369 | ||
370 | if (it->info.type == EINA_FILE_UNKNOWN) | 370 | if (it->info.type == EINA_FILE_UNKNOWN) |
371 | { | 371 | { |
372 | #ifdef HAVE_FSTATAT | 372 | if (eina_file_statat(it->dirp, &it->info, &st) != 0) |
373 | int fd; | ||
374 | |||
375 | fd = dirfd(it->dirp); | ||
376 | if (fstatat(fd, it->info.path + it->info.name_start, &st, 0)) | ||
377 | #else | ||
378 | if (stat(it->info.path, &st)) | ||
379 | #endif | ||
380 | it->info.type = EINA_FILE_UNKNOWN; | 373 | it->info.type = EINA_FILE_UNKNOWN; |
381 | else | ||
382 | { | ||
383 | if (S_ISREG(st.st_mode)) | ||
384 | it->info.type = EINA_FILE_REG; | ||
385 | else if (S_ISDIR(st.st_mode)) | ||
386 | it->info.type = EINA_FILE_DIR; | ||
387 | else if (S_ISCHR(st.st_mode)) | ||
388 | it->info.type = EINA_FILE_CHR; | ||
389 | else if (S_ISBLK(st.st_mode)) | ||
390 | it->info.type = EINA_FILE_BLK; | ||
391 | else if (S_ISFIFO(st.st_mode)) | ||
392 | it->info.type = EINA_FILE_FIFO; | ||
393 | else if (S_ISLNK(st.st_mode)) | ||
394 | it->info.type = EINA_FILE_LNK; | ||
395 | else if (S_ISSOCK(st.st_mode)) | ||
396 | it->info.type = EINA_FILE_SOCK; | ||
397 | else | ||
398 | it->info.type = EINA_FILE_UNKNOWN; | ||
399 | } | ||
400 | } | 374 | } |
401 | 375 | ||
402 | return EINA_TRUE; | 376 | return EINA_TRUE; |
@@ -593,6 +567,14 @@ _eina_file_escape(const char *path, int *length) | |||
593 | return result; | 567 | return result; |
594 | } | 568 | } |
595 | 569 | ||
570 | /** | ||
571 | * @endcond | ||
572 | */ | ||
573 | |||
574 | /*============================================================================* | ||
575 | * Global * | ||
576 | *============================================================================*/ | ||
577 | |||
596 | Eina_Bool | 578 | Eina_Bool |
597 | eina_file_init(void) | 579 | eina_file_init(void) |
598 | { | 580 | { |
@@ -641,13 +623,60 @@ eina_file_shutdown(void) | |||
641 | return EINA_TRUE; | 623 | return EINA_TRUE; |
642 | } | 624 | } |
643 | 625 | ||
644 | /** | 626 | void |
645 | * @endcond | 627 | eina_file_mmap_faulty(void *addr, long page_size) |
646 | */ | 628 | { |
629 | Eina_File_Map *m; | ||
630 | Eina_File *f; | ||
631 | Eina_Iterator *itf; | ||
632 | Eina_Iterator *itm; | ||
647 | 633 | ||
648 | /*============================================================================* | 634 | /* NOTE: I actually don't know if other thread are running, I will try to take the lock. |
649 | * Global * | 635 | It may be possible that if other thread are not running and they were in the middle of |
650 | *============================================================================*/ | 636 | accessing an Eina_File this lock are still taken and we will result as a deadlock. */ |
637 | eina_lock_take(&_eina_file_lock_cache); | ||
638 | |||
639 | itf = eina_hash_iterator_data_new(_eina_file_cache); | ||
640 | EINA_ITERATOR_FOREACH(itf, f) | ||
641 | { | ||
642 | Eina_Bool faulty = EINA_FALSE; | ||
643 | |||
644 | eina_lock_take(&f->lock); | ||
645 | |||
646 | if (f->global_map) | ||
647 | { | ||
648 | if ((unsigned char *) addr < (((unsigned char *)f->global_map) + f->length) && | ||
649 | (((unsigned char *) addr) + page_size) >= (unsigned char *) f->global_map) | ||
650 | { | ||
651 | f->global_faulty = EINA_TRUE; | ||
652 | faulty = EINA_TRUE; | ||
653 | } | ||
654 | } | ||
655 | |||
656 | if (!faulty) | ||
657 | { | ||
658 | itm = eina_hash_iterator_data_new(f->map); | ||
659 | EINA_ITERATOR_FOREACH(itm, m) | ||
660 | { | ||
661 | if ((unsigned char *) addr < (((unsigned char *)m->map) + m->length) && | ||
662 | (((unsigned char *) addr) + page_size) >= (unsigned char *) m->map) | ||
663 | { | ||
664 | m->faulty = EINA_TRUE; | ||
665 | faulty = EINA_TRUE; | ||
666 | break; | ||
667 | } | ||
668 | } | ||
669 | eina_iterator_free(itm); | ||
670 | } | ||
671 | |||
672 | eina_lock_release(&f->lock); | ||
673 | |||
674 | if (faulty) break; | ||
675 | } | ||
676 | eina_iterator_free(itf); | ||
677 | |||
678 | eina_lock_release(&_eina_file_lock_cache); | ||
679 | } | ||
651 | 680 | ||
652 | /*============================================================================* | 681 | /*============================================================================* |
653 | * API * | 682 | * API * |
@@ -950,7 +979,7 @@ eina_file_open(const char *path, Eina_Bool shared) | |||
950 | eina_lock_take(&_eina_file_lock_cache); | 979 | eina_lock_take(&_eina_file_lock_cache); |
951 | 980 | ||
952 | file = eina_hash_find(_eina_file_cache, filename); | 981 | file = eina_hash_find(_eina_file_cache, filename); |
953 | if ((file) && _eina_file_timestamp_compare(file, &file_stat)) | 982 | if ((file) && !_eina_file_timestamp_compare(file, &file_stat)) |
954 | { | 983 | { |
955 | file->delete_me = EINA_TRUE; | 984 | file->delete_me = EINA_TRUE; |
956 | eina_hash_del(_eina_file_cache, file->filename, file); | 985 | eina_hash_del(_eina_file_cache, file->filename, file); |
@@ -1029,7 +1058,7 @@ eina_file_close(Eina_File *file) | |||
1029 | 1058 | ||
1030 | eina_hash_del(_eina_file_cache, file->filename, file); | 1059 | eina_hash_del(_eina_file_cache, file->filename, file); |
1031 | _eina_file_real_close(file); | 1060 | _eina_file_real_close(file); |
1032 | 1061 | ||
1033 | eina_lock_release(&_eina_file_lock_cache); | 1062 | eina_lock_release(&_eina_file_lock_cache); |
1034 | } | 1063 | } |
1035 | 1064 | ||
@@ -1196,7 +1225,7 @@ eina_file_map_free(Eina_File *file, void *map) | |||
1196 | unsigned long int key[2]; | 1225 | unsigned long int key[2]; |
1197 | 1226 | ||
1198 | em = eina_hash_find(file->rmap, &map); | 1227 | em = eina_hash_find(file->rmap, &map); |
1199 | if (!em) return ; | 1228 | if (!em) goto on_exit; |
1200 | 1229 | ||
1201 | em->refcount--; | 1230 | em->refcount--; |
1202 | 1231 | ||
@@ -1217,17 +1246,25 @@ EAPI Eina_Bool | |||
1217 | eina_file_map_faulted(Eina_File *file, void *map) | 1246 | eina_file_map_faulted(Eina_File *file, void *map) |
1218 | { | 1247 | { |
1219 | Eina_File_Map *em; | 1248 | Eina_File_Map *em; |
1249 | Eina_Bool r = EINA_FALSE; | ||
1220 | 1250 | ||
1221 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE); | 1251 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, EINA_FALSE); |
1222 | 1252 | ||
1223 | eina_lock_take(&file->lock); | 1253 | eina_lock_take(&file->lock); |
1224 | 1254 | ||
1225 | if (file->global_map == map) return file->global_faulty; | 1255 | if (file->global_map == map) |
1256 | { | ||
1257 | r = file->global_faulty; | ||
1258 | } | ||
1259 | else | ||
1260 | { | ||
1261 | em = eina_hash_find(file->rmap, &map); | ||
1262 | if (em) r = em->faulty; | ||
1263 | } | ||
1226 | 1264 | ||
1227 | em = eina_hash_find(file->rmap, &map); | 1265 | eina_lock_release(&file->lock); |
1228 | if (!em) return EINA_FALSE; | ||
1229 | 1266 | ||
1230 | return em->faulty; | 1267 | return r; |
1231 | } | 1268 | } |
1232 | 1269 | ||
1233 | EAPI Eina_Iterator * | 1270 | EAPI Eina_Iterator * |
@@ -1246,58 +1283,77 @@ eina_file_xattr_value_get(Eina_File *file) | |||
1246 | return eina_xattr_value_fd_ls(file->fd); | 1283 | return eina_xattr_value_fd_ls(file->fd); |
1247 | } | 1284 | } |
1248 | 1285 | ||
1249 | void | 1286 | EAPI int |
1250 | eina_file_mmap_faulty(void *addr, long page_size) | 1287 | eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *st) |
1251 | { | 1288 | { |
1252 | Eina_File_Map *m; | 1289 | struct stat buf; |
1253 | Eina_File *f; | 1290 | #ifdef HAVE_FSTATAT |
1254 | Eina_Iterator *itf; | 1291 | int fd; |
1255 | Eina_Iterator *itm; | 1292 | #endif |
1256 | 1293 | ||
1257 | /* NOTE: I actually don't know if other thread are running, I will try to take the lock. | 1294 | EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1); |
1258 | It may be possible that if other thread are not running and they were in the middle of | 1295 | EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1); |
1259 | accessing an Eina_File this lock are still taken and we will result as a deadlock. */ | ||
1260 | eina_lock_take(&_eina_file_lock_cache); | ||
1261 | 1296 | ||
1262 | itf = eina_hash_iterator_data_new(_eina_file_cache); | 1297 | #ifdef HAVE_FSTATAT |
1263 | EINA_ITERATOR_FOREACH(itf, f) | 1298 | fd = dirfd((DIR*) container); |
1299 | if (fstatat(fd, info->path + info->name_start, &buf, 0)) | ||
1300 | #else | ||
1301 | (void)container; | ||
1302 | if (stat(info->path, &buf)) | ||
1303 | #endif | ||
1264 | { | 1304 | { |
1265 | Eina_Bool faulty = EINA_FALSE; | 1305 | if (info->type != EINA_FILE_LNK) |
1266 | 1306 | info->type = EINA_FILE_UNKNOWN; | |
1267 | eina_lock_take(&f->lock); | 1307 | return -1; |
1268 | 1308 | } | |
1269 | if (f->global_map) | ||
1270 | { | ||
1271 | if ((unsigned char *) addr < (((unsigned char *)f->global_map) + f->length) && | ||
1272 | (((unsigned char *) addr) + page_size) >= (unsigned char *) f->global_map) | ||
1273 | { | ||
1274 | f->global_faulty = EINA_TRUE; | ||
1275 | faulty = EINA_TRUE; | ||
1276 | } | ||
1277 | } | ||
1278 | |||
1279 | if (!faulty) | ||
1280 | { | ||
1281 | itm = eina_hash_iterator_data_new(f->map); | ||
1282 | EINA_ITERATOR_FOREACH(itm, m) | ||
1283 | { | ||
1284 | if ((unsigned char *) addr < (((unsigned char *)m->map) + m->length) && | ||
1285 | (((unsigned char *) addr) + page_size) >= (unsigned char *) m->map) | ||
1286 | { | ||
1287 | m->faulty = EINA_TRUE; | ||
1288 | faulty = EINA_TRUE; | ||
1289 | break; | ||
1290 | } | ||
1291 | } | ||
1292 | eina_iterator_free(itm); | ||
1293 | } | ||
1294 | |||
1295 | eina_lock_release(&f->lock); | ||
1296 | 1309 | ||
1297 | if (faulty) break; | 1310 | if (info->type == EINA_FILE_UNKNOWN) |
1311 | { | ||
1312 | if (S_ISREG(buf.st_mode)) | ||
1313 | info->type = EINA_FILE_REG; | ||
1314 | else if (S_ISDIR(buf.st_mode)) | ||
1315 | info->type = EINA_FILE_DIR; | ||
1316 | else if (S_ISCHR(buf.st_mode)) | ||
1317 | info->type = EINA_FILE_CHR; | ||
1318 | else if (S_ISBLK(buf.st_mode)) | ||
1319 | info->type = EINA_FILE_BLK; | ||
1320 | else if (S_ISFIFO(buf.st_mode)) | ||
1321 | info->type = EINA_FILE_FIFO; | ||
1322 | else if (S_ISLNK(buf.st_mode)) | ||
1323 | info->type = EINA_FILE_LNK; | ||
1324 | else if (S_ISSOCK(buf.st_mode)) | ||
1325 | info->type = EINA_FILE_SOCK; | ||
1326 | else | ||
1327 | info->type = EINA_FILE_UNKNOWN; | ||
1298 | } | 1328 | } |
1299 | eina_iterator_free(itf); | ||
1300 | 1329 | ||
1301 | eina_lock_release(&_eina_file_lock_cache); | 1330 | st->dev = buf.st_dev; |
1331 | st->ino = buf.st_ino; | ||
1332 | st->mode = buf.st_mode; | ||
1333 | st->nlink = buf.st_nlink; | ||
1334 | st->uid = buf.st_uid; | ||
1335 | st->gid = buf.st_gid; | ||
1336 | st->rdev = buf.st_rdev; | ||
1337 | st->size = buf.st_size; | ||
1338 | st->blksize = buf.st_blksize; | ||
1339 | st->blocks = buf.st_blocks; | ||
1340 | st->atime = buf.st_atime; | ||
1341 | st->mtime = buf.st_mtime; | ||
1342 | st->ctime = buf.st_ctime; | ||
1343 | #ifdef _STAT_VER_LINUX | ||
1344 | # if (defined __USE_MISC && defined st_mtime) | ||
1345 | st->atimensec = buf.st_atim.tv_nsec; | ||
1346 | st->mtimensec = buf.st_mtim.tv_nsec; | ||
1347 | st->ctimensec = buf.st_ctim.tv_nsec; | ||
1348 | # else | ||
1349 | st->atimensec = buf.st_atimensec; | ||
1350 | st->mtimensec = buf.st_mtimensec; | ||
1351 | st->ctimensec = buf.st_ctimensec; | ||
1352 | # endif | ||
1353 | #else | ||
1354 | st->atimensec = 0; | ||
1355 | st->mtimensec = 0; | ||
1356 | st->ctimensec = 0; | ||
1357 | #endif | ||
1358 | return 0; | ||
1302 | } | 1359 | } |
1303 | |||
diff --git a/libraries/eina/src/lib/eina_file_win32.c b/libraries/eina/src/lib/eina_file_win32.c index 1cd8665..5c20fdd 100644 --- a/libraries/eina/src/lib/eina_file_win32.c +++ b/libraries/eina/src/lib/eina_file_win32.c | |||
@@ -1,1021 +1,1214 @@ | |||
1 | /* EINA - EFL data type library | 1 | /* EINA - EFL data type library |
2 | * Copyright (C) 2010 Vincent Torri | 2 | * Copyright (C) 2010 Vincent Torri |
3 | * | 3 | * |
4 | * This library is free software; you can redistribute it and/or | 4 | * This library is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU Lesser General Public | 5 | * modify it under the terms of the GNU Lesser General Public |
6 | * License as published by the Free Software Foundation; either | 6 | * License as published by the Free Software Foundation; either |
7 | * version 2.1 of the License, or (at your option) any later version. | 7 | * version 2.1 of the License, or (at your option) any later version. |
8 | * | 8 | * |
9 | * This library is distributed in the hope that it will be useful, | 9 | * This library is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 | * Lesser General Public License for more details. | 12 | * Lesser General Public License for more details. |
13 | * | 13 | * |
14 | * You should have received a copy of the GNU Lesser General Public | 14 | * You should have received a copy of the GNU Lesser General Public |
15 | * License along with this library; | 15 | * License along with this library; |
16 | * if not, see <http://www.gnu.org/licenses/>. | 16 | * if not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | 18 | ||
19 | #ifdef HAVE_CONFIG_H | 19 | #ifdef HAVE_CONFIG_H |
20 | # include "config.h" | 20 | # include "config.h" |
21 | #endif | 21 | #endif |
22 | 22 | ||
23 | #ifdef HAVE_ALLOCA_H | 23 | #ifdef HAVE_ALLOCA_H |
24 | # include <alloca.h> | 24 | # include <alloca.h> |
25 | #elif defined __GNUC__ | 25 | #elif defined __GNUC__ |
26 | # define alloca __builtin_alloca | 26 | # define alloca __builtin_alloca |
27 | #elif defined _AIX | 27 | #elif defined _AIX |
28 | # define alloca __alloca | 28 | # define alloca __alloca |
29 | #elif defined _MSC_VER | 29 | #elif defined _MSC_VER |
30 | # include <malloc.h> | 30 | # include <malloc.h> |
31 | # define alloca _alloca | 31 | # define alloca _alloca |
32 | #else | 32 | #else |
33 | # include <stddef.h> | 33 | # include <stddef.h> |
34 | # ifdef __cplusplus | 34 | # ifdef __cplusplus |
35 | extern "C" | 35 | extern "C" |
36 | # endif | 36 | # endif |
37 | void *alloca (size_t); | 37 | void *alloca (size_t); |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | #define WIN32_LEAN_AND_MEAN | 40 | #include <sys/types.h> |
41 | #include <windows.h> | 41 | #include <sys/stat.h> |
42 | #undef WIN32_LEAN_AND_MEAN | 42 | |
43 | 43 | #define WIN32_LEAN_AND_MEAN | |
44 | //#include <Evil.h> | 44 | #include <windows.h> |
45 | 45 | #undef WIN32_LEAN_AND_MEAN | |
46 | #include "eina_config.h" | 46 | |
47 | #include "eina_private.h" | 47 | #include <Evil.h> |
48 | 48 | ||
49 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | 49 | #include "eina_config.h" |
50 | #include "eina_safety_checks.h" | 50 | #include "eina_private.h" |
51 | #include "eina_file.h" | 51 | |
52 | #include "eina_stringshare.h" | 52 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ |
53 | #include "eina_hash.h" | 53 | #include "eina_safety_checks.h" |
54 | #include "eina_list.h" | 54 | #include "eina_file.h" |
55 | 55 | #include "eina_stringshare.h" | |
56 | /*============================================================================* | 56 | #include "eina_hash.h" |
57 | * Local * | 57 | #include "eina_list.h" |
58 | *============================================================================*/ | 58 | #include "eina_lock.h" |
59 | 59 | #include "eina_log.h" | |
60 | /** | 60 | |
61 | * @cond LOCAL | 61 | /*============================================================================* |
62 | */ | 62 | * Local * |
63 | 63 | *============================================================================*/ | |
64 | #ifndef EINA_LOG_COLOR_DEFAULT | 64 | |
65 | #define EINA_LOG_COLOR_DEFAULT EINA_COLOR_CYAN | 65 | /** |
66 | #endif | 66 | * @cond LOCAL |
67 | 67 | */ | |
68 | #ifdef ERR | 68 | |
69 | #undef ERR | 69 | #ifndef EINA_LOG_COLOR_DEFAULT |
70 | #endif | 70 | #define EINA_LOG_COLOR_DEFAULT EINA_COLOR_CYAN |
71 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_file_log_dom, __VA_ARGS__) | 71 | #endif |
72 | 72 | ||
73 | #ifdef WRN | 73 | #ifdef ERR |
74 | #undef WRN | 74 | #undef ERR |
75 | #endif | 75 | #endif |
76 | #define WRN(...) EINA_LOG_DOM_WARN(_eina_file_log_dom, __VA_ARGS__) | 76 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_file_log_dom, __VA_ARGS__) |
77 | 77 | ||
78 | #ifdef DBG | 78 | #ifdef WRN |
79 | #undef DBG | 79 | #undef WRN |
80 | #endif | 80 | #endif |
81 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_file_log_dom, __VA_ARGS__) | 81 | #define WRN(...) EINA_LOG_DOM_WARN(_eina_file_log_dom, __VA_ARGS__) |
82 | 82 | ||
83 | #ifdef MAP_FAILED | 83 | #ifdef DBG |
84 | # undef MAP_FAILED | 84 | #undef DBG |
85 | #endif | 85 | #endif |
86 | #define MAP_FAILED ((void *)-1) | 86 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_file_log_dom, __VA_ARGS__) |
87 | 87 | ||
88 | typedef struct _Eina_File_Iterator Eina_File_Iterator; | 88 | #ifdef MAP_FAILED |
89 | typedef struct _Eina_File_Direct_Iterator Eina_File_Direct_Iterator; | 89 | # undef MAP_FAILED |
90 | typedef struct _Eina_File_Map Eina_File_Map; | 90 | #endif |
91 | 91 | #define MAP_FAILED ((void *)-1) | |
92 | struct _Eina_File_Iterator | 92 | |
93 | { | 93 | typedef struct _Eina_File_Iterator Eina_File_Iterator; |
94 | Eina_Iterator iterator; | 94 | typedef struct _Eina_File_Direct_Iterator Eina_File_Direct_Iterator; |
95 | 95 | typedef struct _Eina_File_Map Eina_File_Map; | |
96 | WIN32_FIND_DATA data; | 96 | |
97 | HANDLE handle; | 97 | struct _Eina_File_Iterator |
98 | size_t length; | 98 | { |
99 | Eina_Bool is_last : 1; | 99 | Eina_Iterator iterator; |
100 | 100 | ||
101 | char dir[1]; | 101 | WIN32_FIND_DATA data; |
102 | }; | 102 | HANDLE handle; |
103 | 103 | size_t length; | |
104 | struct _Eina_File_Direct_Iterator | 104 | Eina_Bool is_last : 1; |
105 | { | 105 | |
106 | Eina_Iterator iterator; | 106 | char dir[1]; |
107 | 107 | }; | |
108 | WIN32_FIND_DATA data; | 108 | |
109 | HANDLE handle; | 109 | struct _Eina_File_Direct_Iterator |
110 | size_t length; | 110 | { |
111 | Eina_Bool is_last : 1; | 111 | Eina_Iterator iterator; |
112 | 112 | ||
113 | Eina_File_Direct_Info info; | 113 | WIN32_FIND_DATA data; |
114 | 114 | HANDLE handle; | |
115 | char dir[1]; | 115 | size_t length; |
116 | }; | 116 | Eina_Bool is_last : 1; |
117 | 117 | ||
118 | struct _Eina_File | 118 | Eina_File_Direct_Info info; |
119 | { | 119 | |
120 | const char *filename; | 120 | char dir[1]; |
121 | 121 | }; | |
122 | Eina_Hash *map; | 122 | |
123 | Eina_Hash *rmap; | 123 | struct _Eina_File |
124 | void *global_map; | 124 | { |
125 | 125 | const char *filename; | |
126 | ULONGLONG length; | 126 | |
127 | ULONGLONG mtime; | 127 | Eina_Hash *map; |
128 | 128 | Eina_Hash *rmap; | |
129 | int refcount; | 129 | void *global_map; |
130 | int global_refcount; | 130 | |
131 | 131 | Eina_Lock lock; | |
132 | HANDLE handle; | 132 | |
133 | HANDLE fm; | 133 | ULONGLONG length; |
134 | 134 | ULONGLONG mtime; | |
135 | Eina_Bool shared : 1; | 135 | |
136 | Eina_Bool delete_me : 1; | 136 | int refcount; |
137 | }; | 137 | int global_refcount; |
138 | 138 | ||
139 | struct _Eina_File_Map | 139 | HANDLE handle; |
140 | { | 140 | HANDLE fm; |
141 | void *map; | 141 | |
142 | 142 | Eina_Bool shared : 1; | |
143 | unsigned long int offset; | 143 | Eina_Bool delete_me : 1; |
144 | unsigned long int length; | 144 | }; |
145 | 145 | ||
146 | int refcount; | 146 | struct _Eina_File_Map |
147 | }; | 147 | { |
148 | 148 | void *map; | |
149 | static Eina_Hash *_eina_file_cache = NULL; | 149 | |
150 | static Eina_List *_eina_file_cache_lru = NULL; | 150 | unsigned long int offset; |
151 | static Eina_List *_eina_file_cache_delete = NULL; | 151 | unsigned long int length; |
152 | 152 | ||
153 | static int _eina_file_log_dom = -1; | 153 | int refcount; |
154 | 154 | }; | |
155 | static void | 155 | |
156 | _eina_file_win32_backslash_change(char *dir) | 156 | static Eina_Hash *_eina_file_cache = NULL; |
157 | { | 157 | static Eina_Lock _eina_file_lock_cache; |
158 | char *tmp; | 158 | |
159 | 159 | static int _eina_file_log_dom = -1; | |
160 | tmp = dir; | 160 | |
161 | while (*tmp) | 161 | static void |
162 | { | 162 | _eina_file_win32_backslash_change(char *dir) |
163 | if (*tmp == '/') *tmp = '\\'; | 163 | { |
164 | tmp++; | 164 | char *tmp; |
165 | } | 165 | |
166 | } | 166 | tmp = dir; |
167 | 167 | while (*tmp) | |
168 | static Eina_Bool | 168 | { |
169 | _eina_file_win32_is_dir(const char *dir) | 169 | if (*tmp == '/') *tmp = '\\'; |
170 | { | 170 | tmp++; |
171 | #ifdef UNICODE | 171 | } |
172 | wchar_t *wdir = NULL; | 172 | } |
173 | #endif | 173 | |
174 | DWORD attr; | 174 | static Eina_Bool |
175 | 175 | _eina_file_win32_is_dir(const char *dir) | |
176 | /* check if it's a directory */ | 176 | { |
177 | #ifdef UNICODE | 177 | #ifdef UNICODE |
178 | wdir = evil_char_to_wchar(dir); | 178 | wchar_t *wdir = NULL; |
179 | if (!wdir) | 179 | #endif |
180 | return EINA_FALSE; | 180 | DWORD attr; |
181 | 181 | ||
182 | attr = GetFileAttributes(wdir); | 182 | /* check if it's a directory */ |
183 | free(wdir); | 183 | #ifdef UNICODE |
184 | #else | 184 | wdir = evil_char_to_wchar(dir); |
185 | attr = GetFileAttributes(dir); | 185 | if (!wdir) |
186 | #endif | 186 | return EINA_FALSE; |
187 | 187 | ||
188 | if (attr == 0xFFFFFFFF) | 188 | attr = GetFileAttributes(wdir); |
189 | return EINA_FALSE; | 189 | free(wdir); |
190 | 190 | #else | |
191 | if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) | 191 | attr = GetFileAttributes(dir); |
192 | return EINA_FALSE; | 192 | #endif |
193 | 193 | ||
194 | return EINA_TRUE; | 194 | if (attr == 0xFFFFFFFF) |
195 | } | 195 | return EINA_FALSE; |
196 | 196 | ||
197 | static char * | 197 | if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) |
198 | _eina_file_win32_dir_new(const char *dir) | 198 | return EINA_FALSE; |
199 | { | 199 | |
200 | char *new_dir; | 200 | return EINA_TRUE; |
201 | size_t length; | 201 | } |
202 | 202 | ||
203 | length = strlen(dir); | 203 | static char * |
204 | 204 | _eina_file_win32_dir_new(const char *dir) | |
205 | new_dir = (char *)malloc(sizeof(char) * length + 5); | 205 | { |
206 | if (!new_dir) | 206 | char *new_dir; |
207 | return NULL; | 207 | size_t length; |
208 | 208 | ||
209 | memcpy(new_dir, dir, length); | 209 | length = strlen(dir); |
210 | memcpy(new_dir + length, "\\*.*", 5); | 210 | |
211 | _eina_file_win32_backslash_change(new_dir); | 211 | new_dir = (char *)malloc(sizeof(char) * length + 5); |
212 | 212 | if (!new_dir) | |
213 | return new_dir; | 213 | return NULL; |
214 | } | 214 | |
215 | 215 | memcpy(new_dir, dir, length); | |
216 | static HANDLE | 216 | memcpy(new_dir + length, "\\*.*", 5); |
217 | _eina_file_win32_first_file(const char *dir, WIN32_FIND_DATA *fd) | 217 | _eina_file_win32_backslash_change(new_dir); |
218 | { | 218 | |
219 | HANDLE h; | 219 | return new_dir; |
220 | #ifdef UNICODE | 220 | } |
221 | wchar_t *wdir = NULL; | 221 | |
222 | 222 | static HANDLE | |
223 | wdir = evil_char_to_wchar(dir); | 223 | _eina_file_win32_first_file(const char *dir, WIN32_FIND_DATA *fd) |
224 | if (!wdir) | 224 | { |
225 | return NULL; | 225 | HANDLE h; |
226 | 226 | #ifdef UNICODE | |
227 | h = FindFirstFile(wdir, fd); | 227 | wchar_t *wdir = NULL; |
228 | free(wdir); | 228 | |
229 | #else | 229 | wdir = evil_char_to_wchar(dir); |
230 | h = FindFirstFile(dir, fd); | 230 | if (!wdir) |
231 | #endif | 231 | return NULL; |
232 | 232 | ||
233 | if (!h) | 233 | h = FindFirstFile(wdir, fd); |
234 | return NULL; | 234 | free(wdir); |
235 | 235 | #else | |
236 | while ((fd->cFileName[0] == '.') && | 236 | h = FindFirstFile(dir, fd); |
237 | ((fd->cFileName[1] == '\0') || | 237 | #endif |
238 | ((fd->cFileName[1] == '.') && (fd->cFileName[2] == '\0')))) | 238 | |
239 | { | 239 | if (!h) |
240 | if (!FindNextFile(h, fd)) | 240 | return NULL; |
241 | return NULL; | 241 | |
242 | } | 242 | while ((fd->cFileName[0] == '.') && |
243 | 243 | ((fd->cFileName[1] == '\0') || | |
244 | return h; | 244 | ((fd->cFileName[1] == '.') && (fd->cFileName[2] == '\0')))) |
245 | } | 245 | { |
246 | 246 | if (!FindNextFile(h, fd)) | |
247 | static Eina_Bool | 247 | return NULL; |
248 | _eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) | 248 | } |
249 | { | 249 | |
250 | #ifdef UNICODE | 250 | return h; |
251 | wchar_t *old_name; | 251 | } |
252 | #else | 252 | |
253 | char *old_name; | 253 | static Eina_Bool |
254 | #endif | 254 | _eina_file_win32_ls_iterator_next(Eina_File_Iterator *it, void **data) |
255 | char *name; | 255 | { |
256 | char *cname; | 256 | #ifdef UNICODE |
257 | size_t length; | 257 | wchar_t *old_name; |
258 | Eina_Bool is_last; | 258 | #else |
259 | Eina_Bool res = EINA_TRUE; | 259 | char *old_name; |
260 | 260 | #endif | |
261 | if (it->handle == INVALID_HANDLE_VALUE) | 261 | char *name; |
262 | return EINA_FALSE; | 262 | char *cname; |
263 | 263 | size_t length; | |
264 | is_last = it->is_last; | 264 | Eina_Bool is_last; |
265 | #ifdef UNICODE | 265 | Eina_Bool res = EINA_TRUE; |
266 | old_name = _wcsdup(it->data.cFileName); | 266 | |
267 | #else | 267 | if (it->handle == INVALID_HANDLE_VALUE) |
268 | old_name = _strdup(it->data.cFileName); | 268 | return EINA_FALSE; |
269 | #endif | 269 | |
270 | if (!old_name) | 270 | is_last = it->is_last; |
271 | return EINA_FALSE; | 271 | #ifdef UNICODE |
272 | 272 | old_name = _wcsdup(it->data.cFileName); | |
273 | do { | 273 | #else |
274 | if (!FindNextFile(it->handle, &it->data)) | 274 | old_name = _strdup(it->data.cFileName); |
275 | { | 275 | #endif |
276 | if (GetLastError() == ERROR_NO_MORE_FILES) | 276 | if (!old_name) |
277 | it->is_last = EINA_TRUE; | 277 | return EINA_FALSE; |
278 | else | 278 | |
279 | res = EINA_FALSE; | 279 | do { |
280 | } | 280 | if (!FindNextFile(it->handle, &it->data)) |
281 | } while ((it->data.cFileName[0] == '.') && | 281 | { |
282 | ((it->data.cFileName[1] == '\0') || | 282 | if (GetLastError() == ERROR_NO_MORE_FILES) |
283 | ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ | 283 | it->is_last = EINA_TRUE; |
284 | 284 | else | |
285 | #ifdef UNICODE | 285 | res = EINA_FALSE; |
286 | cname = evil_wchar_to_char(old_name); | 286 | } |
287 | if (!cname) | 287 | } while ((it->data.cFileName[0] == '.') && |
288 | return EINA_FALSE; | 288 | ((it->data.cFileName[1] == '\0') || |
289 | #else | 289 | ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ |
290 | cname = old_name; | 290 | |
291 | #endif | 291 | #ifdef UNICODE |
292 | 292 | cname = evil_wchar_to_char(old_name); | |
293 | length = strlen(cname); | 293 | if (!cname) |
294 | name = alloca(length + 2 + it->length); | 294 | return EINA_FALSE; |
295 | 295 | #else | |
296 | memcpy(name, it->dir, it->length); | 296 | cname = old_name; |
297 | memcpy(name + it->length, "\\", 1); | 297 | #endif |
298 | memcpy(name + it->length + 1, cname, length + 1); | 298 | |
299 | 299 | length = strlen(cname); | |
300 | *data = (char *)eina_stringshare_add(name); | 300 | name = alloca(length + 2 + it->length); |
301 | 301 | ||
302 | #ifdef UNICODE | 302 | memcpy(name, it->dir, it->length); |
303 | free(cname); | 303 | memcpy(name + it->length, "\\", 1); |
304 | #endif | 304 | memcpy(name + it->length + 1, cname, length + 1); |
305 | free(old_name); | 305 | |
306 | 306 | *data = (char *)eina_stringshare_add(name); | |
307 | if (is_last) | 307 | |
308 | res = EINA_FALSE; | 308 | #ifdef UNICODE |
309 | 309 | free(cname); | |
310 | return res; | 310 | #endif |
311 | } | 311 | free(old_name); |
312 | 312 | ||
313 | static HANDLE | 313 | if (is_last) |
314 | _eina_file_win32_ls_iterator_container(Eina_File_Iterator *it) | 314 | res = EINA_FALSE; |
315 | { | 315 | |
316 | return it->handle; | 316 | return res; |
317 | } | 317 | } |
318 | 318 | ||
319 | static void | 319 | static HANDLE |
320 | _eina_file_win32_ls_iterator_free(Eina_File_Iterator *it) | 320 | _eina_file_win32_ls_iterator_container(Eina_File_Iterator *it) |
321 | { | 321 | { |
322 | if (it->handle != INVALID_HANDLE_VALUE) | 322 | return it->handle; |
323 | FindClose(it->handle); | 323 | } |
324 | 324 | ||
325 | EINA_MAGIC_SET(&it->iterator, 0); | 325 | static void |
326 | free(it); | 326 | _eina_file_win32_ls_iterator_free(Eina_File_Iterator *it) |
327 | } | 327 | { |
328 | 328 | if (it->handle != INVALID_HANDLE_VALUE) | |
329 | static Eina_Bool | 329 | FindClose(it->handle); |
330 | _eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) | 330 | |
331 | { | 331 | EINA_MAGIC_SET(&it->iterator, 0); |
332 | #ifdef UNICODE | 332 | free(it); |
333 | wchar_t *old_name; | 333 | } |
334 | #else | 334 | |
335 | char *old_name; | 335 | static Eina_Bool |
336 | #endif | 336 | _eina_file_win32_direct_ls_iterator_next(Eina_File_Direct_Iterator *it, void **data) |
337 | char *cname; | 337 | { |
338 | size_t length; | 338 | #ifdef UNICODE |
339 | DWORD attr; | 339 | wchar_t *old_name; |
340 | Eina_Bool is_last; | 340 | #else |
341 | Eina_Bool res = EINA_TRUE; | 341 | char *old_name; |
342 | 342 | #endif | |
343 | if (it->handle == INVALID_HANDLE_VALUE) | 343 | char *cname; |
344 | return EINA_FALSE; | 344 | size_t length; |
345 | 345 | DWORD attr; | |
346 | attr = it->data.dwFileAttributes; | 346 | Eina_Bool is_last; |
347 | is_last = it->is_last; | 347 | Eina_Bool res = EINA_TRUE; |
348 | #ifdef UNICODE | 348 | |
349 | old_name = _wcsdup(it->data.cFileName); | 349 | if (it->handle == INVALID_HANDLE_VALUE) |
350 | #else | 350 | return EINA_FALSE; |
351 | old_name = _strdup(it->data.cFileName); | 351 | |
352 | #endif | 352 | attr = it->data.dwFileAttributes; |
353 | if (!old_name) | 353 | is_last = it->is_last; |
354 | return EINA_FALSE; | 354 | #ifdef UNICODE |
355 | 355 | old_name = _wcsdup(it->data.cFileName); | |
356 | do { | 356 | #else |
357 | if (!FindNextFile(it->handle, &it->data)) | 357 | old_name = _strdup(it->data.cFileName); |
358 | { | 358 | #endif |
359 | if (GetLastError() == ERROR_NO_MORE_FILES) | 359 | if (!old_name) |
360 | it->is_last = EINA_TRUE; | 360 | return EINA_FALSE; |
361 | else | 361 | |
362 | res = EINA_FALSE; | 362 | do { |
363 | } | 363 | if (!FindNextFile(it->handle, &it->data)) |
364 | 364 | { | |
365 | #ifdef UNICODE | 365 | if (GetLastError() == ERROR_NO_MORE_FILES) |
366 | length = wcslen(old_name); | 366 | it->is_last = EINA_TRUE; |
367 | #else | 367 | else |
368 | length = strlen(old_name); | 368 | res = EINA_FALSE; |
369 | #endif | 369 | } |
370 | if (it->info.name_start + length + 1 >= PATH_MAX) | 370 | |
371 | { | 371 | #ifdef UNICODE |
372 | free(old_name); | 372 | length = wcslen(old_name); |
373 | #ifdef UNICODE | 373 | #else |
374 | old_name = _wcsdup(it->data.cFileName); | 374 | length = strlen(old_name); |
375 | #else | 375 | #endif |
376 | old_name = _strdup(it->data.cFileName); | 376 | if (it->info.name_start + length + 1 >= PATH_MAX) |
377 | #endif | 377 | { |
378 | continue; | 378 | free(old_name); |
379 | } | 379 | #ifdef UNICODE |
380 | 380 | old_name = _wcsdup(it->data.cFileName); | |
381 | } while ((it->data.cFileName[0] == '.') && | 381 | #else |
382 | ((it->data.cFileName[1] == '\0') || | 382 | old_name = _strdup(it->data.cFileName); |
383 | ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ | 383 | #endif |
384 | 384 | continue; | |
385 | #ifdef UNICODE | 385 | } |
386 | cname = evil_wchar_to_char(old_name); | 386 | |
387 | if (!cname) | 387 | } while ((it->data.cFileName[0] == '.') && |
388 | return EINA_FALSE; | 388 | ((it->data.cFileName[1] == '\0') || |
389 | #else | 389 | ((it->data.cFileName[1] == '.') && (it->data.cFileName[2] == '\0')))); /* FIXME: what about UNICODE ? */ |
390 | cname = old_name; | 390 | |
391 | #endif | 391 | #ifdef UNICODE |
392 | 392 | cname = evil_wchar_to_char(old_name); | |
393 | memcpy(it->info.path + it->info.name_start, cname, length); | 393 | if (!cname) |
394 | it->info.name_length = length; | 394 | return EINA_FALSE; |
395 | it->info.path_length = it->info.name_start + length; | 395 | #else |
396 | it->info.path[it->info.path_length] = '\0'; | 396 | cname = old_name; |
397 | 397 | #endif | |
398 | if (attr & FILE_ATTRIBUTE_DIRECTORY) | 398 | |
399 | it->info.type = EINA_FILE_DIR; | 399 | memcpy(it->info.path + it->info.name_start, cname, length); |
400 | else if (attr & FILE_ATTRIBUTE_REPARSE_POINT) | 400 | it->info.name_length = length; |
401 | it->info.type = EINA_FILE_LNK; | 401 | it->info.path_length = it->info.name_start + length; |
402 | else if (attr & (FILE_ATTRIBUTE_ARCHIVE | | 402 | it->info.path[it->info.path_length] = '\0'; |
403 | FILE_ATTRIBUTE_COMPRESSED | | 403 | |
404 | FILE_ATTRIBUTE_COMPRESSED | | 404 | if (attr & FILE_ATTRIBUTE_DIRECTORY) |
405 | FILE_ATTRIBUTE_HIDDEN | | 405 | it->info.type = EINA_FILE_DIR; |
406 | FILE_ATTRIBUTE_NORMAL | | 406 | else if (attr & FILE_ATTRIBUTE_REPARSE_POINT) |
407 | FILE_ATTRIBUTE_SPARSE_FILE | | 407 | it->info.type = EINA_FILE_LNK; |
408 | FILE_ATTRIBUTE_TEMPORARY)) | 408 | else if (attr & (FILE_ATTRIBUTE_ARCHIVE | |
409 | it->info.type = EINA_FILE_REG; | 409 | FILE_ATTRIBUTE_COMPRESSED | |
410 | else | 410 | FILE_ATTRIBUTE_COMPRESSED | |
411 | it->info.type = EINA_FILE_UNKNOWN; | 411 | FILE_ATTRIBUTE_HIDDEN | |
412 | 412 | FILE_ATTRIBUTE_NORMAL | | |
413 | *data = &it->info; | 413 | FILE_ATTRIBUTE_SPARSE_FILE | |
414 | 414 | FILE_ATTRIBUTE_TEMPORARY)) | |
415 | #ifdef UNICODE | 415 | it->info.type = EINA_FILE_REG; |
416 | free(cname); | 416 | else |
417 | #endif | 417 | it->info.type = EINA_FILE_UNKNOWN; |
418 | 418 | ||
419 | free(old_name); | 419 | *data = &it->info; |
420 | 420 | ||
421 | if (is_last) | 421 | #ifdef UNICODE |
422 | res = EINA_FALSE; | 422 | free(cname); |
423 | 423 | #endif | |
424 | return res; | 424 | |
425 | } | 425 | free(old_name); |
426 | 426 | ||
427 | static HANDLE | 427 | if (is_last) |
428 | _eina_file_win32_direct_ls_iterator_container(Eina_File_Direct_Iterator *it) | 428 | res = EINA_FALSE; |
429 | { | 429 | |
430 | return it->handle; | 430 | return res; |
431 | } | 431 | } |
432 | 432 | ||
433 | static void | 433 | static HANDLE |
434 | _eina_file_win32_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) | 434 | _eina_file_win32_direct_ls_iterator_container(Eina_File_Direct_Iterator *it) |
435 | { | 435 | { |
436 | if (it->handle != INVALID_HANDLE_VALUE) | 436 | return it->handle; |
437 | FindClose(it->handle); | 437 | } |
438 | 438 | ||
439 | EINA_MAGIC_SET(&it->iterator, 0); | 439 | static void |
440 | free(it); | 440 | _eina_file_win32_direct_ls_iterator_free(Eina_File_Direct_Iterator *it) |
441 | } | 441 | { |
442 | 442 | if (it->handle != INVALID_HANDLE_VALUE) | |
443 | static void | 443 | FindClose(it->handle); |
444 | _eina_file_real_close(Eina_File *file) | 444 | |
445 | { | 445 | EINA_MAGIC_SET(&it->iterator, 0); |
446 | eina_hash_free(file->rmap); | 446 | free(it); |
447 | eina_hash_free(file->map); | 447 | } |
448 | 448 | ||
449 | if (file->global_map != MAP_FAILED) | 449 | static void |
450 | UnmapViewOfFile(file->global_map); | 450 | _eina_file_real_close(Eina_File *file) |
451 | 451 | { | |
452 | CloseHandle(file->fm); | 452 | eina_hash_free(file->rmap); |
453 | CloseHandle(file->handle); | 453 | eina_hash_free(file->map); |
454 | 454 | ||
455 | eina_stringshare_del(file->filename); | 455 | if (file->global_map != MAP_FAILED) |
456 | 456 | UnmapViewOfFile(file->global_map); | |
457 | free(file); | 457 | |
458 | } | 458 | CloseHandle(file->fm); |
459 | 459 | CloseHandle(file->handle); | |
460 | static void | 460 | |
461 | _eina_file_map_close(Eina_File_Map *map) | 461 | free(file); |
462 | { | 462 | } |
463 | if (map->map != MAP_FAILED) | 463 | |
464 | UnmapViewOfFile(map->map); | 464 | static void |
465 | free(map); | 465 | _eina_file_map_close(Eina_File_Map *map) |
466 | } | 466 | { |
467 | 467 | if (map->map != MAP_FAILED) | |
468 | static unsigned int | 468 | UnmapViewOfFile(map->map); |
469 | _eina_file_map_key_length(const void *key __UNUSED__) | 469 | free(map); |
470 | { | 470 | } |
471 | return sizeof (unsigned long int) * 2; | 471 | |
472 | } | 472 | static unsigned int |
473 | 473 | _eina_file_map_key_length(const void *key __UNUSED__) | |
474 | static int | 474 | { |
475 | _eina_file_map_key_cmp(const unsigned long int *key1, int key1_length __UNUSED__, | 475 | return sizeof (unsigned long int) * 2; |
476 | const unsigned long int *key2, int key2_length __UNUSED__) | 476 | } |
477 | { | 477 | |
478 | if (key1[0] - key2[0] == 0) return key1[1] - key2[1]; | 478 | static int |
479 | return key1[0] - key2[0]; | 479 | _eina_file_map_key_cmp(const unsigned long int *key1, int key1_length __UNUSED__, |
480 | } | 480 | const unsigned long int *key2, int key2_length __UNUSED__) |
481 | 481 | { | |
482 | static int | 482 | if (key1[0] - key2[0] == 0) return key1[1] - key2[1]; |
483 | _eina_file_map_key_hash(const unsigned long int *key, int key_length __UNUSED__) | 483 | return key1[0] - key2[0]; |
484 | { | 484 | } |
485 | return eina_hash_int64(&key[0], sizeof (unsigned long int)) | 485 | |
486 | ^ eina_hash_int64(&key[1], sizeof (unsigned long int)); | 486 | static int |
487 | } | 487 | _eina_file_map_key_hash(const unsigned long int *key, int key_length __UNUSED__) |
488 | 488 | { | |
489 | Eina_Bool | 489 | return eina_hash_int64(&key[0], sizeof (unsigned long int)) |
490 | eina_file_init(void) | 490 | ^ eina_hash_int64(&key[1], sizeof (unsigned long int)); |
491 | { | 491 | } |
492 | _eina_file_log_dom = eina_log_domain_register("eina_file", | 492 | |
493 | EINA_LOG_COLOR_DEFAULT); | 493 | static char * |
494 | if (_eina_file_log_dom < 0) | 494 | _eina_file_win32_escape(const char *path, size_t *length) |
495 | { | 495 | { |
496 | EINA_LOG_ERR("Could not register log domain: eina_file"); | 496 | char *result = strdup(path ? path : ""); |
497 | return EINA_FALSE; | 497 | char *p = result; |
498 | } | 498 | char *q = result; |
499 | 499 | size_t len; | |
500 | _eina_file_cache = eina_hash_string_djb2_new(EINA_FREE_CB(_eina_file_real_close)); | 500 | |
501 | if (!_eina_file_cache) | 501 | if (!result) |
502 | { | 502 | return NULL; |
503 | ERR("Could not create cache."); | 503 | |
504 | eina_log_domain_unregister(_eina_file_log_dom); | 504 | if (length) len = *length; |
505 | _eina_file_log_dom = -1; | 505 | else len = strlen(result); |
506 | return EINA_FALSE; | 506 | |
507 | } | 507 | while ((p = strchr(p, '/'))) |
508 | 508 | { | |
509 | return EINA_TRUE; | 509 | // remove double `/' |
510 | } | 510 | if (p[1] == '/') |
511 | 511 | { | |
512 | Eina_Bool | 512 | memmove(p, p + 1, --len - (p - result)); |
513 | eina_file_shutdown(void) | 513 | result[len] = '\0'; |
514 | { | 514 | } |
515 | Eina_File *f; | 515 | else |
516 | Eina_List *l; | 516 | if (p[1] == '.' |
517 | 517 | && p[2] == '.') | |
518 | EINA_LIST_FREE(_eina_file_cache_delete, f) | 518 | { |
519 | _eina_file_real_close(f); | 519 | // remove `/../' |
520 | 520 | if (p[3] == '/') | |
521 | EINA_LIST_FOREACH(_eina_file_cache_lru, l, f) | 521 | { |
522 | eina_hash_del(_eina_file_cache, f->filename, f); | 522 | char tmp; |
523 | 523 | ||
524 | if (eina_hash_population(_eina_file_cache) > 0) | 524 | len -= p + 3 - q; |
525 | { | 525 | memmove(q, p + 3, len - (q - result)); |
526 | Eina_Iterator *it; | 526 | result[len] = '\0'; |
527 | const char *key; | 527 | p = q; |
528 | 528 | ||
529 | it = eina_hash_iterator_key_new(_eina_file_cache); | 529 | /* Update q correctly. */ |
530 | EINA_ITERATOR_FOREACH(it, key) | 530 | tmp = *p; |
531 | ERR("File [%s] still open !", key); | 531 | *p = '\0'; |
532 | eina_iterator_free(it); | 532 | q = strrchr(result, '/'); |
533 | } | 533 | if (!q) q = result; |
534 | 534 | *p = tmp; | |
535 | eina_hash_free(_eina_file_cache); | 535 | } |
536 | 536 | else | |
537 | eina_log_domain_unregister(_eina_file_log_dom); | 537 | // remove '/..$' |
538 | _eina_file_log_dom = -1; | 538 | if (p[3] == '\0') |
539 | return EINA_TRUE; | 539 | { |
540 | } | 540 | len -= p + 2 - q; |
541 | 541 | result[len] = '\0'; | |
542 | 542 | q = p; | |
543 | /** | 543 | ++p; |
544 | * @endcond | 544 | } |
545 | */ | 545 | else |
546 | 546 | { | |
547 | /*============================================================================* | 547 | q = p; |
548 | * Global * | 548 | ++p; |
549 | *============================================================================*/ | 549 | } |
550 | 550 | } | |
551 | /*============================================================================* | 551 | else |
552 | * API * | 552 | { |
553 | *============================================================================*/ | 553 | q = p; |
554 | 554 | ++p; | |
555 | EAPI Eina_Bool | 555 | } |
556 | eina_file_dir_list(const char *dir, | 556 | } |
557 | Eina_Bool recursive, | 557 | |
558 | Eina_File_Dir_List_Cb cb, | 558 | if (length) |
559 | void *data) | 559 | *length = len; |
560 | { | 560 | |
561 | WIN32_FIND_DATA file; | 561 | return result; |
562 | HANDLE h; | 562 | } |
563 | char *new_dir; | 563 | |
564 | 564 | ||
565 | EINA_SAFETY_ON_NULL_RETURN_VAL(cb, EINA_FALSE); | 565 | /** |
566 | EINA_SAFETY_ON_NULL_RETURN_VAL(dir, EINA_FALSE); | 566 | * @endcond |
567 | EINA_SAFETY_ON_TRUE_RETURN_VAL(dir[0] == '\0', EINA_FALSE); | 567 | */ |
568 | 568 | ||
569 | if (!_eina_file_win32_is_dir(dir)) | 569 | /*============================================================================* |
570 | return EINA_FALSE; | 570 | * Global * |
571 | 571 | *============================================================================*/ | |
572 | new_dir = _eina_file_win32_dir_new(dir); | 572 | |
573 | if (!new_dir) | 573 | Eina_Bool |
574 | return EINA_FALSE; | 574 | eina_file_init(void) |
575 | 575 | { | |
576 | h = _eina_file_win32_first_file(new_dir, &file); | 576 | _eina_file_log_dom = eina_log_domain_register("eina_file", |
577 | 577 | EINA_LOG_COLOR_DEFAULT); | |
578 | if (h == INVALID_HANDLE_VALUE) | 578 | if (_eina_file_log_dom < 0) |
579 | return EINA_FALSE; | 579 | { |
580 | 580 | EINA_LOG_ERR("Could not register log domain: eina_file"); | |
581 | do | 581 | return EINA_FALSE; |
582 | { | 582 | } |
583 | char *filename; | 583 | |
584 | 584 | _eina_file_cache = eina_hash_string_djb2_new(NULL); | |
585 | # ifdef UNICODE | 585 | if (!_eina_file_cache) |
586 | filename = evil_wchar_to_char(file.cFileName); | 586 | { |
587 | # else | 587 | ERR("Could not create cache."); |
588 | filename = file.cFileName; | 588 | eina_log_domain_unregister(_eina_file_log_dom); |
589 | # endif /* ! UNICODE */ | 589 | _eina_file_log_dom = -1; |
590 | if (!strcmp(filename, ".") || !strcmp(filename, "..")) | 590 | return EINA_FALSE; |
591 | continue; | 591 | } |
592 | 592 | ||
593 | cb(filename, dir, data); | 593 | eina_lock_new(&_eina_file_lock_cache); |
594 | 594 | ||
595 | if (recursive == EINA_TRUE) | 595 | return EINA_TRUE; |
596 | { | 596 | } |
597 | char *path; | 597 | |
598 | 598 | Eina_Bool | |
599 | path = alloca(strlen(dir) + strlen(filename) + 2); | 599 | eina_file_shutdown(void) |
600 | strcpy(path, dir); | 600 | { |
601 | strcat(path, "/"); | 601 | if (eina_hash_population(_eina_file_cache) > 0) |
602 | strcat(path, filename); | 602 | { |
603 | 603 | Eina_Iterator *it; | |
604 | if (!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) | 604 | const char *key; |
605 | continue; | 605 | |
606 | 606 | it = eina_hash_iterator_key_new(_eina_file_cache); | |
607 | eina_file_dir_list(path, recursive, cb, data); | 607 | EINA_ITERATOR_FOREACH(it, key) |
608 | } | 608 | ERR("File [%s] still open !", key); |
609 | 609 | eina_iterator_free(it); | |
610 | # ifdef UNICODE | 610 | } |
611 | free(filename); | 611 | |
612 | # endif /* UNICODE */ | 612 | eina_hash_free(_eina_file_cache); |
613 | 613 | ||
614 | } while (FindNextFile(h, &file)); | 614 | eina_lock_free(&_eina_file_lock_cache); |
615 | FindClose(h); | 615 | |
616 | 616 | eina_log_domain_unregister(_eina_file_log_dom); | |
617 | return EINA_TRUE; | 617 | _eina_file_log_dom = -1; |
618 | } | 618 | return EINA_TRUE; |
619 | 619 | } | |
620 | EAPI Eina_Array * | 620 | |
621 | eina_file_split(char *path) | 621 | /*============================================================================* |
622 | { | 622 | * API * |
623 | Eina_Array *ea; | 623 | *============================================================================*/ |
624 | char *current; | 624 | |
625 | size_t length; | 625 | |
626 | 626 | EAPI char * | |
627 | EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); | 627 | eina_file_path_sanitize(const char *path) |
628 | 628 | { | |
629 | ea = eina_array_new(16); | 629 | char *result = NULL; |
630 | 630 | size_t len; | |
631 | if (!ea) | 631 | |
632 | return NULL; | 632 | if (!path) return NULL; |
633 | 633 | ||
634 | for (current = strchr(path, '\\'); | 634 | len = strlen(path); |
635 | current; | 635 | if (len < 3) return NULL; |
636 | path = current + 1, current = strchr(path, '\\')) | 636 | |
637 | { | 637 | if (!evil_path_is_absolute(path)) |
638 | length = current - path; | 638 | { |
639 | 639 | DWORD l; | |
640 | if (length <= 0) | 640 | |
641 | continue; | 641 | l = GetCurrentDirectory(0, NULL); |
642 | 642 | if (l > 0) | |
643 | eina_array_push(ea, path); | 643 | { |
644 | *current = '\0'; | 644 | char *cwd; |
645 | } | 645 | DWORD l2; |
646 | 646 | ||
647 | if (*path != '\0') | 647 | cwd = alloca(sizeof(char) * (l + 1)); |
648 | eina_array_push(ea, path); | 648 | l2 = GetCurrentDirectory(l + 1, cwd); |
649 | 649 | if (l2 == l) | |
650 | return ea; | 650 | { |
651 | } | 651 | char *tmp; |
652 | 652 | ||
653 | EAPI Eina_Iterator * | 653 | len += l + 2; |
654 | eina_file_ls(const char *dir) | 654 | tmp = alloca(sizeof (char) * len); |
655 | { | 655 | snprintf(tmp, len, "%s/%s", cwd, path); |
656 | Eina_File_Iterator *it; | 656 | tmp[len - 1] = '\0'; |
657 | char *new_dir; | 657 | result = tmp; |
658 | size_t length; | 658 | } |
659 | 659 | } | |
660 | if (!dir || !*dir) | 660 | } |
661 | return NULL; | 661 | |
662 | 662 | return _eina_file_win32_escape(result ? result : path, &len); | |
663 | if (!_eina_file_win32_is_dir(dir)) | 663 | } |
664 | return NULL; | 664 | |
665 | 665 | EAPI Eina_Bool | |
666 | length = strlen(dir); | 666 | eina_file_dir_list(const char *dir, |
667 | 667 | Eina_Bool recursive, | |
668 | it = calloc(1, sizeof (Eina_File_Iterator) + length); | 668 | Eina_File_Dir_List_Cb cb, |
669 | if (!it) | 669 | void *data) |
670 | return NULL; | 670 | { |
671 | 671 | WIN32_FIND_DATA file; | |
672 | EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); | 672 | HANDLE h; |
673 | 673 | char *new_dir; | |
674 | new_dir = _eina_file_win32_dir_new(dir); | 674 | |
675 | if (!new_dir) | 675 | EINA_SAFETY_ON_NULL_RETURN_VAL(cb, EINA_FALSE); |
676 | goto free_it; | 676 | EINA_SAFETY_ON_NULL_RETURN_VAL(dir, EINA_FALSE); |
677 | 677 | EINA_SAFETY_ON_TRUE_RETURN_VAL(dir[0] == '\0', EINA_FALSE); | |
678 | it->handle = _eina_file_win32_first_file(new_dir, &it->data); | 678 | |
679 | free(new_dir); | 679 | if (!_eina_file_win32_is_dir(dir)) |
680 | if (it->handle == INVALID_HANDLE_VALUE) | 680 | return EINA_FALSE; |
681 | goto free_it; | 681 | |
682 | 682 | new_dir = _eina_file_win32_dir_new(dir); | |
683 | memcpy(it->dir, dir, length + 1); | 683 | if (!new_dir) |
684 | if (dir[length - 1] != '\\') | 684 | return EINA_FALSE; |
685 | it->length = length; | 685 | |
686 | else | 686 | h = _eina_file_win32_first_file(new_dir, &file); |
687 | it->length = length - 1; | 687 | |
688 | _eina_file_win32_backslash_change(it->dir); | 688 | if (h == INVALID_HANDLE_VALUE) |
689 | 689 | return EINA_FALSE; | |
690 | it->iterator.version = EINA_ITERATOR_VERSION; | 690 | |
691 | it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_ls_iterator_next); | 691 | do |
692 | it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_ls_iterator_container); | 692 | { |
693 | it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_ls_iterator_free); | 693 | char *filename; |
694 | 694 | ||
695 | return &it->iterator; | 695 | # ifdef UNICODE |
696 | 696 | filename = evil_wchar_to_char(file.cFileName); | |
697 | free_it: | 697 | # else |
698 | free(it); | 698 | filename = file.cFileName; |
699 | 699 | # endif /* ! UNICODE */ | |
700 | return NULL; | 700 | if (!strcmp(filename, ".") || !strcmp(filename, "..")) |
701 | } | 701 | continue; |
702 | 702 | ||
703 | EAPI Eina_Iterator * | 703 | cb(filename, dir, data); |
704 | eina_file_direct_ls(const char *dir) | 704 | |
705 | { | 705 | if (recursive == EINA_TRUE) |
706 | Eina_File_Direct_Iterator *it; | 706 | { |
707 | char *new_dir; | 707 | char *path; |
708 | size_t length; | 708 | |
709 | 709 | path = alloca(strlen(dir) + strlen(filename) + 2); | |
710 | if (!dir || !*dir) | 710 | strcpy(path, dir); |
711 | return NULL; | 711 | strcat(path, "/"); |
712 | 712 | strcat(path, filename); | |
713 | length = strlen(dir); | 713 | |
714 | 714 | if (!(file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) | |
715 | if (length + 12 + 2 >= MAX_PATH) | 715 | continue; |
716 | return NULL; | 716 | |
717 | 717 | eina_file_dir_list(path, recursive, cb, data); | |
718 | it = calloc(1, sizeof(Eina_File_Direct_Iterator) + length); | 718 | } |
719 | if (!it) | 719 | |
720 | return NULL; | 720 | # ifdef UNICODE |
721 | 721 | free(filename); | |
722 | EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); | 722 | # endif /* UNICODE */ |
723 | 723 | ||
724 | new_dir = _eina_file_win32_dir_new(dir); | 724 | } while (FindNextFile(h, &file)); |
725 | if (!new_dir) | 725 | FindClose(h); |
726 | goto free_it; | 726 | |
727 | 727 | return EINA_TRUE; | |
728 | it->handle = _eina_file_win32_first_file(new_dir, &it->data); | 728 | } |
729 | free(new_dir); | 729 | |
730 | if (it->handle == INVALID_HANDLE_VALUE) | 730 | EAPI Eina_Array * |
731 | goto free_it; | 731 | eina_file_split(char *path) |
732 | 732 | { | |
733 | memcpy(it->dir, dir, length + 1); | 733 | Eina_Array *ea; |
734 | it->length = length; | 734 | char *current; |
735 | _eina_file_win32_backslash_change(it->dir); | 735 | size_t length; |
736 | 736 | ||
737 | memcpy(it->info.path, dir, length); | 737 | EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); |
738 | if (dir[length - 1] == '\\') | 738 | |
739 | it->info.name_start = length; | 739 | ea = eina_array_new(16); |
740 | else | 740 | |
741 | { | 741 | if (!ea) |
742 | it->info.path[length] = '\\'; | 742 | return NULL; |
743 | it->info.name_start = length + 1; | 743 | |
744 | } | 744 | for (current = strchr(path, '\\'); |
745 | _eina_file_win32_backslash_change(it->info.path); | 745 | current; |
746 | 746 | path = current + 1, current = strchr(path, '\\')) | |
747 | it->iterator.version = EINA_ITERATOR_VERSION; | 747 | { |
748 | it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_direct_ls_iterator_next); | 748 | length = current - path; |
749 | it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_direct_ls_iterator_container); | 749 | |
750 | it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_direct_ls_iterator_free); | 750 | if (length <= 0) |
751 | 751 | continue; | |
752 | return &it->iterator; | 752 | |
753 | 753 | eina_array_push(ea, path); | |
754 | free_it: | 754 | *current = '\0'; |
755 | free(it); | 755 | } |
756 | 756 | ||
757 | return NULL; | 757 | if (*path != '\0') |
758 | } | 758 | eina_array_push(ea, path); |
759 | 759 | ||
760 | EAPI Eina_Iterator * | 760 | return ea; |
761 | eina_file_stat_ls(const char *dir) | 761 | } |
762 | { | 762 | |
763 | return eina_file_direct_ls(dir); | 763 | EAPI Eina_Iterator * |
764 | } | 764 | eina_file_ls(const char *dir) |
765 | 765 | { | |
766 | EAPI Eina_File * | 766 | Eina_File_Iterator *it; |
767 | eina_file_open(const char *filename, Eina_Bool shared) | 767 | char *new_dir; |
768 | { | 768 | size_t length; |
769 | Eina_File *file; | 769 | |
770 | Eina_File *n; | 770 | EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL); |
771 | HANDLE handle; | 771 | |
772 | HANDLE fm; | 772 | if (!dir || !*dir) |
773 | WIN32_FILE_ATTRIBUTE_DATA fad; | 773 | return NULL; |
774 | ULARGE_INTEGER length; | 774 | |
775 | ULARGE_INTEGER mtime; | 775 | if (!_eina_file_win32_is_dir(dir)) |
776 | Eina_Bool create = EINA_FALSE; | 776 | return NULL; |
777 | 777 | ||
778 | /* FIXME: always open absolute path (need to fix filename according to current | 778 | length = strlen(dir); |
779 | directory) */ | 779 | |
780 | 780 | it = calloc(1, sizeof (Eina_File_Iterator) + length); | |
781 | /* FIXME: how to emulate shm_open ? Just OpenFileMapping ? */ | 781 | if (!it) |
782 | #if 0 | 782 | return NULL; |
783 | if (shared) | 783 | |
784 | handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, | 784 | EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); |
785 | NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, | 785 | |
786 | NULL); | 786 | new_dir = _eina_file_win32_dir_new(dir); |
787 | else | 787 | if (!new_dir) |
788 | #endif | 788 | goto free_it; |
789 | handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, | 789 | |
790 | NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, | 790 | it->handle = _eina_file_win32_first_file(new_dir, &it->data); |
791 | NULL); | 791 | free(new_dir); |
792 | 792 | if (it->handle == INVALID_HANDLE_VALUE) | |
793 | if (handle == INVALID_HANDLE_VALUE) | 793 | goto free_it; |
794 | return NULL; | 794 | |
795 | 795 | memcpy(it->dir, dir, length + 1); | |
796 | fm = CreateFileMapping(handle, NULL, PAGE_READONLY, 0, 0, NULL); | 796 | if (dir[length - 1] != '\\') |
797 | if (!fm) | 797 | it->length = length; |
798 | goto close_handle; | 798 | else |
799 | 799 | it->length = length - 1; | |
800 | if (!GetFileAttributesEx(filename, GetFileExInfoStandard, &fad)) | 800 | _eina_file_win32_backslash_change(it->dir); |
801 | goto close_fm; | 801 | |
802 | 802 | it->iterator.version = EINA_ITERATOR_VERSION; | |
803 | length.u.LowPart = fad.nFileSizeLow; | 803 | it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_ls_iterator_next); |
804 | length.u.HighPart = fad.nFileSizeHigh; | 804 | it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_ls_iterator_container); |
805 | mtime.u.LowPart = fad.ftLastWriteTime.dwLowDateTime; | 805 | it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_ls_iterator_free); |
806 | mtime.u.HighPart = fad.ftLastWriteTime.dwHighDateTime; | 806 | |
807 | 807 | return &it->iterator; | |
808 | file = eina_hash_find(_eina_file_cache, filename); | 808 | |
809 | if (file && | 809 | free_it: |
810 | (file->mtime != mtime.QuadPart || file->length != length.QuadPart)) | 810 | free(it); |
811 | { | 811 | |
812 | create = EINA_TRUE; | 812 | return NULL; |
813 | 813 | } | |
814 | if (file->refcount == 0) | 814 | |
815 | { | 815 | EAPI Eina_Iterator * |
816 | _eina_file_cache_lru = eina_list_prepend(_eina_file_cache_lru, file); | 816 | eina_file_direct_ls(const char *dir) |
817 | eina_hash_del(_eina_file_cache, file->filename, file); | 817 | { |
818 | 818 | Eina_File_Direct_Iterator *it; | |
819 | file = NULL; | 819 | char *new_dir; |
820 | } | 820 | size_t length; |
821 | else if (!file->delete_me) | 821 | |
822 | { | 822 | EINA_SAFETY_ON_NULL_RETURN_VAL(dir, NULL); |
823 | file->delete_me = EINA_TRUE; | 823 | |
824 | _eina_file_cache_delete = eina_list_prepend(_eina_file_cache_delete, file); | 824 | if (!dir || !*dir) |
825 | } | 825 | return NULL; |
826 | } | 826 | |
827 | 827 | length = strlen(dir); | |
828 | if (!file || create) | 828 | |
829 | { | 829 | if (length + 12 + 2 >= MAX_PATH) |
830 | n = calloc(1, sizeof (Eina_File)); | 830 | return NULL; |
831 | if (!n) | 831 | |
832 | goto close_fm; | 832 | it = calloc(1, sizeof(Eina_File_Direct_Iterator) + length); |
833 | 833 | if (!it) | |
834 | n->filename = eina_stringshare_add(filename); | 834 | return NULL; |
835 | n->map = eina_hash_new(EINA_KEY_LENGTH(_eina_file_map_key_length), | 835 | |
836 | EINA_KEY_CMP(_eina_file_map_key_cmp), | 836 | EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR); |
837 | EINA_KEY_HASH(_eina_file_map_key_hash), | 837 | |
838 | EINA_FREE_CB(_eina_file_map_close), | 838 | new_dir = _eina_file_win32_dir_new(dir); |
839 | 3); | 839 | if (!new_dir) |
840 | n->rmap = eina_hash_pointer_new(NULL); | 840 | goto free_it; |
841 | n->global_map = MAP_FAILED; | 841 | |
842 | n->length = length.QuadPart; | 842 | it->handle = _eina_file_win32_first_file(new_dir, &it->data); |
843 | n->mtime = mtime.QuadPart; | 843 | free(new_dir); |
844 | n->refcount = 0; | 844 | if (it->handle == INVALID_HANDLE_VALUE) |
845 | n->handle = handle; | 845 | goto free_it; |
846 | n->fm = fm; | 846 | |
847 | n->shared = shared; | 847 | memcpy(it->dir, dir, length + 1); |
848 | n->delete_me = EINA_FALSE; | 848 | it->length = length; |
849 | 849 | _eina_file_win32_backslash_change(it->dir); | |
850 | eina_hash_set(_eina_file_cache, filename, n); | 850 | |
851 | } | 851 | memcpy(it->info.path, dir, length); |
852 | else | 852 | if (dir[length - 1] == '\\') |
853 | { | 853 | it->info.name_start = length; |
854 | CloseHandle(fm); | 854 | else |
855 | CloseHandle(handle); | 855 | { |
856 | 856 | it->info.path[length] = '\\'; | |
857 | n = file; | 857 | it->info.name_start = length + 1; |
858 | 858 | } | |
859 | if (n->refcount == 0) | 859 | _eina_file_win32_backslash_change(it->info.path); |
860 | _eina_file_cache_lru = eina_list_remove(_eina_file_cache_lru, n); | 860 | |
861 | } | 861 | it->iterator.version = EINA_ITERATOR_VERSION; |
862 | 862 | it->iterator.next = FUNC_ITERATOR_NEXT(_eina_file_win32_direct_ls_iterator_next); | |
863 | n->refcount++; | 863 | it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_eina_file_win32_direct_ls_iterator_container); |
864 | 864 | it->iterator.free = FUNC_ITERATOR_FREE(_eina_file_win32_direct_ls_iterator_free); | |
865 | return n; | 865 | |
866 | 866 | return &it->iterator; | |
867 | close_fm: | 867 | |
868 | CloseHandle(fm); | 868 | free_it: |
869 | close_handle: | 869 | free(it); |
870 | CloseHandle(handle); | 870 | |
871 | 871 | return NULL; | |
872 | return NULL; | 872 | } |
873 | } | 873 | |
874 | 874 | EAPI Eina_Iterator * | |
875 | EAPI void | 875 | eina_file_stat_ls(const char *dir) |
876 | eina_file_close(Eina_File *file) | 876 | { |
877 | { | 877 | return eina_file_direct_ls(dir); |
878 | file->refcount--; | 878 | } |
879 | 879 | ||
880 | if (file->refcount != 0) return ; | 880 | EAPI Eina_File * |
881 | 881 | eina_file_open(const char *path, Eina_Bool shared) | |
882 | if (file->delete_me) | 882 | { |
883 | { | 883 | Eina_File *file; |
884 | _eina_file_cache_delete = eina_list_remove(_eina_file_cache_delete, file); | 884 | Eina_File *n; |
885 | _eina_file_real_close(file); | 885 | char *filename; |
886 | } | 886 | HANDLE handle; |
887 | else | 887 | HANDLE fm; |
888 | { | 888 | WIN32_FILE_ATTRIBUTE_DATA fad; |
889 | _eina_file_cache_lru = eina_list_prepend(_eina_file_cache_lru, file); | 889 | ULARGE_INTEGER length; |
890 | } | 890 | ULARGE_INTEGER mtime; |
891 | } | 891 | |
892 | 892 | EINA_SAFETY_ON_NULL_RETURN_VAL(path, NULL); | |
893 | EAPI size_t | 893 | |
894 | eina_file_size_get(Eina_File *file) | 894 | filename = eina_file_path_sanitize(path); |
895 | { | 895 | if (!filename) return NULL; |
896 | return file->length; | 896 | |
897 | } | 897 | /* FIXME: how to emulate shm_open ? Just OpenFileMapping ? */ |
898 | 898 | #if 0 | |
899 | EAPI time_t | 899 | if (shared) |
900 | eina_file_mtime_get(Eina_File *file) | 900 | handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, |
901 | { | 901 | NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, |
902 | return file->mtime; | 902 | NULL); |
903 | } | 903 | else |
904 | 904 | #endif | |
905 | EAPI const char * | 905 | handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, |
906 | eina_file_filename_get(Eina_File *file) | 906 | NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, |
907 | { | 907 | NULL); |
908 | return file->filename; | 908 | |
909 | } | 909 | if (handle == INVALID_HANDLE_VALUE) |
910 | 910 | return NULL; | |
911 | EAPI void * | 911 | |
912 | eina_file_map_all(Eina_File *file, Eina_File_Populate rule __UNUSED__) | 912 | fm = CreateFileMapping(handle, NULL, PAGE_READONLY, 0, 0, NULL); |
913 | { | 913 | if (!fm) |
914 | if (file->global_map == MAP_FAILED) | 914 | goto close_handle; |
915 | { | 915 | |
916 | void *data; | 916 | if (!GetFileAttributesEx(filename, GetFileExInfoStandard, &fad)) |
917 | 917 | goto close_fm; | |
918 | data = MapViewOfFile(file->fm, FILE_MAP_READ, | 918 | |
919 | 0, 0, file->length); | 919 | length.u.LowPart = fad.nFileSizeLow; |
920 | if (!data) | 920 | length.u.HighPart = fad.nFileSizeHigh; |
921 | file->global_map = MAP_FAILED; | 921 | mtime.u.LowPart = fad.ftLastWriteTime.dwLowDateTime; |
922 | else | 922 | mtime.u.HighPart = fad.ftLastWriteTime.dwHighDateTime; |
923 | file->global_map = data; | 923 | |
924 | } | 924 | eina_lock_take(&_eina_file_lock_cache); |
925 | 925 | ||
926 | if (file->global_map != MAP_FAILED) | 926 | file = eina_hash_find(_eina_file_cache, filename); |
927 | { | 927 | if (file && |
928 | file->global_refcount++; | 928 | (file->mtime != mtime.QuadPart || file->length != length.QuadPart)) |
929 | return file->global_map; | 929 | { |
930 | } | 930 | file->delete_me = EINA_TRUE; |
931 | 931 | eina_hash_del(_eina_file_cache, file->filename, file); | |
932 | return NULL; | 932 | _eina_file_real_close(file); |
933 | } | 933 | file = NULL; |
934 | 934 | } | |
935 | EAPI void * | 935 | |
936 | eina_file_map_new(Eina_File *file, Eina_File_Populate rule, | 936 | if (!file) |
937 | unsigned long int offset, unsigned long int length) | 937 | { |
938 | { | 938 | n = malloc(sizeof (Eina_File) + strlen(filename) + 1); |
939 | Eina_File_Map *map; | 939 | if (!n) |
940 | unsigned long int key[2]; | 940 | { |
941 | 941 | eina_lock_release(&_eina_file_lock_cache); | |
942 | if (offset > file->length) | 942 | goto close_fm; |
943 | return NULL; | 943 | } |
944 | if (offset + length > file->length) | 944 | |
945 | return NULL; | 945 | n->filename = (char*) (n + 1); |
946 | 946 | strcpy((char*) n->filename, filename); | |
947 | if (offset == 0 && length == file->length) | 947 | n->map = eina_hash_new(EINA_KEY_LENGTH(_eina_file_map_key_length), |
948 | return eina_file_map_all(file, rule); | 948 | EINA_KEY_CMP(_eina_file_map_key_cmp), |
949 | 949 | EINA_KEY_HASH(_eina_file_map_key_hash), | |
950 | key[0] = offset; | 950 | EINA_FREE_CB(_eina_file_map_close), |
951 | key[1] = length; | 951 | 3); |
952 | 952 | n->rmap = eina_hash_pointer_new(NULL); | |
953 | map = eina_hash_find(file->map, &key); | 953 | n->global_map = MAP_FAILED; |
954 | if (!map) | 954 | n->global_refcount = 0; |
955 | { | 955 | n->length = length.QuadPart; |
956 | void *data; | 956 | n->mtime = mtime.QuadPart; |
957 | 957 | n->refcount = 0; | |
958 | map = malloc(sizeof (Eina_File_Map)); | 958 | n->handle = handle; |
959 | if (!map) return NULL; | 959 | n->fm = fm; |
960 | 960 | n->shared = shared; | |
961 | data = MapViewOfFile(file->fm, FILE_MAP_READ, | 961 | n->delete_me = EINA_FALSE; |
962 | offset & 0xffff0000, | 962 | eina_lock_new(&n->lock); |
963 | offset & 0x0000ffff, | 963 | eina_hash_direct_add(_eina_file_cache, n->filename, n); |
964 | length); | 964 | } |
965 | if (!data) | 965 | else |
966 | map->map = MAP_FAILED; | 966 | { |
967 | else | 967 | CloseHandle(fm); |
968 | map->map = data; | 968 | CloseHandle(handle); |
969 | 969 | ||
970 | map->offset = offset; | 970 | n = file; |
971 | map->length = length; | 971 | } |
972 | map->refcount = 0; | 972 | eina_lock_take(&n->lock); |
973 | 973 | n->refcount++; | |
974 | if (map->map == MAP_FAILED) | 974 | eina_lock_release(&n->lock); |
975 | { | 975 | |
976 | free(map); | 976 | eina_lock_release(&_eina_file_lock_cache); |
977 | return NULL; | 977 | |
978 | } | 978 | free(filename); |
979 | 979 | ||
980 | eina_hash_add(file->map, &key, map); | 980 | return n; |
981 | eina_hash_direct_add(file->rmap, map->map, map); | 981 | |
982 | } | 982 | close_fm: |
983 | 983 | CloseHandle(fm); | |
984 | map->refcount++; | 984 | close_handle: |
985 | 985 | CloseHandle(handle); | |
986 | return map->map; | 986 | |
987 | } | 987 | return NULL; |
988 | 988 | } | |
989 | EAPI void | 989 | |
990 | eina_file_map_free(Eina_File *file, void *map) | 990 | EAPI void |
991 | { | 991 | eina_file_close(Eina_File *file) |
992 | if (file->global_map == map) | 992 | { |
993 | { | 993 | EINA_SAFETY_ON_NULL_RETURN(file); |
994 | file->global_refcount--; | 994 | |
995 | 995 | eina_lock_take(&file->lock); | |
996 | if (file->global_refcount > 0) return ; | 996 | file->refcount--; |
997 | 997 | eina_lock_release(&file->lock); | |
998 | /* FIXME: are we sure that file->global_map != MAP_FAILED ? */ | 998 | |
999 | if (file->global_map != MAP_FAILED) | 999 | if (file->refcount != 0) return ; |
1000 | UnmapViewOfFile(file->global_map); | 1000 | eina_lock_take(&_eina_file_lock_cache); |
1001 | file->global_map = MAP_FAILED; | 1001 | |
1002 | } | 1002 | eina_hash_del(_eina_file_cache, file->filename, file); |
1003 | else | 1003 | _eina_file_real_close(file); |
1004 | { | 1004 | |
1005 | Eina_File_Map *em; | 1005 | eina_lock_release(&_eina_file_lock_cache); |
1006 | unsigned long int key[2]; | 1006 | } |
1007 | 1007 | ||
1008 | em = eina_hash_find(file->rmap, &map); | 1008 | EAPI size_t |
1009 | if (!em) return ; | 1009 | eina_file_size_get(Eina_File *file) |
1010 | 1010 | { | |
1011 | em->refcount--; | 1011 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); |
1012 | 1012 | return file->length; | |
1013 | if (em->refcount > 0) return ; | 1013 | } |
1014 | 1014 | ||
1015 | key[0] = em->offset; | 1015 | EAPI time_t |
1016 | key[1] = em->length; | 1016 | eina_file_mtime_get(Eina_File *file) |
1017 | 1017 | { | |
1018 | eina_hash_del(file->rmap, &map, em); | 1018 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, 0); |
1019 | eina_hash_del(file->map, &key, em); | 1019 | return file->mtime; |
1020 | } | 1020 | } |
1021 | } | 1021 | |
1022 | EAPI const char * | ||
1023 | eina_file_filename_get(Eina_File *file) | ||
1024 | { | ||
1025 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); | ||
1026 | return file->filename; | ||
1027 | } | ||
1028 | |||
1029 | EAPI Eina_Iterator *eina_file_xattr_get(Eina_File *file __UNUSED__) | ||
1030 | { | ||
1031 | return NULL; | ||
1032 | } | ||
1033 | |||
1034 | EAPI Eina_Iterator *eina_file_xattr_value_get(Eina_File *file __UNUSED__) | ||
1035 | { | ||
1036 | return NULL; | ||
1037 | } | ||
1038 | |||
1039 | EAPI void * | ||
1040 | eina_file_map_all(Eina_File *file, Eina_File_Populate rule __UNUSED__) | ||
1041 | { | ||
1042 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); | ||
1043 | |||
1044 | eina_lock_take(&file->lock); | ||
1045 | if (file->global_map == MAP_FAILED) | ||
1046 | { | ||
1047 | void *data; | ||
1048 | |||
1049 | data = MapViewOfFile(file->fm, FILE_MAP_READ, | ||
1050 | 0, 0, file->length); | ||
1051 | if (!data) | ||
1052 | file->global_map = MAP_FAILED; | ||
1053 | else | ||
1054 | file->global_map = data; | ||
1055 | } | ||
1056 | |||
1057 | if (file->global_map != MAP_FAILED) | ||
1058 | { | ||
1059 | file->global_refcount++; | ||
1060 | return file->global_map; | ||
1061 | } | ||
1062 | |||
1063 | eina_lock_release(&file->lock); | ||
1064 | return NULL; | ||
1065 | } | ||
1066 | |||
1067 | EAPI void * | ||
1068 | eina_file_map_new(Eina_File *file, Eina_File_Populate rule, | ||
1069 | unsigned long int offset, unsigned long int length) | ||
1070 | { | ||
1071 | Eina_File_Map *map; | ||
1072 | unsigned long int key[2]; | ||
1073 | |||
1074 | EINA_SAFETY_ON_NULL_RETURN_VAL(file, NULL); | ||
1075 | |||
1076 | if (offset > file->length) | ||
1077 | return NULL; | ||
1078 | if (offset + length > file->length) | ||
1079 | return NULL; | ||
1080 | |||
1081 | if (offset == 0 && length == file->length) | ||
1082 | return eina_file_map_all(file, rule); | ||
1083 | |||
1084 | key[0] = offset; | ||
1085 | key[1] = length; | ||
1086 | |||
1087 | eina_lock_take(&file->lock); | ||
1088 | |||
1089 | map = eina_hash_find(file->map, &key); | ||
1090 | if (!map) | ||
1091 | { | ||
1092 | void *data; | ||
1093 | |||
1094 | map = malloc(sizeof (Eina_File_Map)); | ||
1095 | if (!map) | ||
1096 | { | ||
1097 | eina_lock_release(&file->lock); | ||
1098 | return NULL; | ||
1099 | } | ||
1100 | |||
1101 | data = MapViewOfFile(file->fm, FILE_MAP_READ, | ||
1102 | offset & 0xffff0000, | ||
1103 | offset & 0x0000ffff, | ||
1104 | length); | ||
1105 | if (!data) | ||
1106 | map->map = MAP_FAILED; | ||
1107 | else | ||
1108 | map->map = data; | ||
1109 | |||
1110 | map->offset = offset; | ||
1111 | map->length = length; | ||
1112 | map->refcount = 0; | ||
1113 | |||
1114 | if (map->map == MAP_FAILED) | ||
1115 | { | ||
1116 | free(map); | ||
1117 | eina_lock_release(&file->lock); | ||
1118 | return NULL; | ||
1119 | } | ||
1120 | |||
1121 | eina_hash_add(file->map, &key, map); | ||
1122 | eina_hash_direct_add(file->rmap, map->map, map); | ||
1123 | } | ||
1124 | |||
1125 | map->refcount++; | ||
1126 | |||
1127 | eina_lock_release(&file->lock); | ||
1128 | |||
1129 | return map->map; | ||
1130 | } | ||
1131 | |||
1132 | EAPI void | ||
1133 | eina_file_map_free(Eina_File *file, void *map) | ||
1134 | { | ||
1135 | EINA_SAFETY_ON_NULL_RETURN(file); | ||
1136 | |||
1137 | eina_lock_take(&file->lock); | ||
1138 | |||
1139 | if (file->global_map == map) | ||
1140 | { | ||
1141 | file->global_refcount--; | ||
1142 | |||
1143 | if (file->global_refcount > 0) goto on_exit; | ||
1144 | |||
1145 | UnmapViewOfFile(file->global_map); | ||
1146 | file->global_map = MAP_FAILED; | ||
1147 | } | ||
1148 | else | ||
1149 | { | ||
1150 | Eina_File_Map *em; | ||
1151 | unsigned long int key[2]; | ||
1152 | |||
1153 | em = eina_hash_find(file->rmap, &map); | ||
1154 | if (!em) goto on_exit; | ||
1155 | |||
1156 | em->refcount--; | ||
1157 | |||
1158 | if (em->refcount > 0) goto on_exit; | ||
1159 | |||
1160 | key[0] = em->offset; | ||
1161 | key[1] = em->length; | ||
1162 | |||
1163 | eina_hash_del(file->rmap, &map, em); | ||
1164 | eina_hash_del(file->map, &key, em); | ||
1165 | } | ||
1166 | |||
1167 | on_exit: | ||
1168 | eina_lock_release(&file->lock); | ||
1169 | } | ||
1170 | |||
1171 | EAPI int | ||
1172 | eina_file_statat(void *container __UNUSED__, Eina_File_Direct_Info *info, Eina_Stat *st) | ||
1173 | { | ||
1174 | struct __stat64 buf; | ||
1175 | |||
1176 | EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1); | ||
1177 | EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1); | ||
1178 | |||
1179 | if (stat64(info->path, &buf)) | ||
1180 | { | ||
1181 | if (info->type != EINA_FILE_LNK) | ||
1182 | info->type = EINA_FILE_UNKNOWN; | ||
1183 | return -1; | ||
1184 | } | ||
1185 | |||
1186 | if (info->type == EINA_FILE_UNKNOWN) | ||
1187 | { | ||
1188 | if (S_ISREG(buf.st_mode)) | ||
1189 | info->type = EINA_FILE_REG; | ||
1190 | else if (S_ISDIR(buf.st_mode)) | ||
1191 | info->type = EINA_FILE_DIR; | ||
1192 | else | ||
1193 | info->type = EINA_FILE_UNKNOWN; | ||
1194 | } | ||
1195 | |||
1196 | st->dev = buf.st_dev; | ||
1197 | st->ino = buf.st_ino; | ||
1198 | st->mode = buf.st_mode; | ||
1199 | st->nlink = buf.st_nlink; | ||
1200 | st->uid = buf.st_uid; | ||
1201 | st->gid = buf.st_gid; | ||
1202 | st->rdev = buf.st_rdev; | ||
1203 | st->size = buf.st_size; | ||
1204 | st->blksize = 0; | ||
1205 | st->blocks = 0; | ||
1206 | st->atime = buf.st_atime; | ||
1207 | st->mtime = buf.st_mtime; | ||
1208 | st->ctime = buf.st_ctime; | ||
1209 | st->atimensec = 0; | ||
1210 | st->mtimensec = 0; | ||
1211 | st->ctimensec = 0; | ||
1212 | |||
1213 | return 0; | ||
1214 | } | ||
diff --git a/libraries/eina/src/lib/eina_inlist.c b/libraries/eina/src/lib/eina_inlist.c index 75a2cc1..c80f87b 100644 --- a/libraries/eina/src/lib/eina_inlist.c +++ b/libraries/eina/src/lib/eina_inlist.c | |||
@@ -430,6 +430,8 @@ eina_inlist_find(Eina_Inlist *list, Eina_Inlist *item) | |||
430 | { | 430 | { |
431 | Eina_Inlist *l; | 431 | Eina_Inlist *l; |
432 | 432 | ||
433 | EINA_SAFETY_ON_NULL_RETURN_VAL(item, NULL); | ||
434 | |||
433 | for (l = list; l; l = l->next) { | 435 | for (l = list; l; l = l->next) { |
434 | if (l == item) | 436 | if (l == item) |
435 | return item; | 437 | return item; |
@@ -559,6 +561,9 @@ eina_inlist_sorted_insert(Eina_Inlist *list, | |||
559 | int cur = 0; | 561 | int cur = 0; |
560 | int count; | 562 | int count; |
561 | 563 | ||
564 | EINA_SAFETY_ON_NULL_RETURN_VAL(item, list); | ||
565 | EINA_SAFETY_ON_NULL_RETURN_VAL(func, list); | ||
566 | |||
562 | if (!list) return eina_inlist_append(NULL, item); | 567 | if (!list) return eina_inlist_append(NULL, item); |
563 | 568 | ||
564 | if (!list->next) | 569 | if (!list->next) |
diff --git a/libraries/eina/src/lib/eina_list.c b/libraries/eina/src/lib/eina_list.c index d45cffd..c85855f 100644 --- a/libraries/eina/src/lib/eina_list.c +++ b/libraries/eina/src/lib/eina_list.c | |||
@@ -1026,7 +1026,7 @@ eina_list_clone(const Eina_List *list) | |||
1026 | } | 1026 | } |
1027 | 1027 | ||
1028 | EAPI Eina_List * | 1028 | EAPI Eina_List * |
1029 | eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) | 1029 | eina_list_sort(Eina_List *list, unsigned int limit, Eina_Compare_Cb func) |
1030 | { | 1030 | { |
1031 | unsigned int i = 0; | 1031 | unsigned int i = 0; |
1032 | unsigned int n = 0; | 1032 | unsigned int n = 0; |
@@ -1040,14 +1040,14 @@ eina_list_sort(Eina_List *list, unsigned int size, Eina_Compare_Cb func) | |||
1040 | 1040 | ||
1041 | EINA_MAGIC_CHECK_LIST(list, NULL); | 1041 | EINA_MAGIC_CHECK_LIST(list, NULL); |
1042 | 1042 | ||
1043 | /* if the caller specified an invalid size, sort the whole list */ | 1043 | /* if the caller specified an invalid limit, sort the whole list */ |
1044 | if ((size == 0) || | 1044 | if ((limit == 0) || |
1045 | (size > list->accounting->count)) | 1045 | (limit > list->accounting->count)) |
1046 | size = list->accounting->count; | 1046 | limit = list->accounting->count; |
1047 | 1047 | ||
1048 | if (size != list->accounting->count) | 1048 | if (limit != list->accounting->count) |
1049 | { | 1049 | { |
1050 | unsort = eina_list_nth_list(list, size); | 1050 | unsort = eina_list_nth_list(list, limit); |
1051 | if (unsort) | 1051 | if (unsort) |
1052 | unsort->prev->next = NULL; | 1052 | unsort->prev->next = NULL; |
1053 | } | 1053 | } |
@@ -1172,6 +1172,7 @@ eina_list_split_list(Eina_List *list, Eina_List *relative, Eina_List **right) | |||
1172 | next->prev = NULL; | 1172 | next->prev = NULL; |
1173 | next->accounting = _eina_list_mempool_accounting_new(next); | 1173 | next->accounting = _eina_list_mempool_accounting_new(next); |
1174 | next->accounting->last = list->accounting->last; | 1174 | next->accounting->last = list->accounting->last; |
1175 | next->accounting->count = 0; | ||
1175 | *right = next; | 1176 | *right = next; |
1176 | 1177 | ||
1177 | itr = next; | 1178 | itr = next; |
diff --git a/libraries/eina/src/lib/eina_magic.c b/libraries/eina/src/lib/eina_magic.c index d1f71cc..a42db2d 100644 --- a/libraries/eina/src/lib/eina_magic.c +++ b/libraries/eina/src/lib/eina_magic.c | |||
@@ -102,13 +102,8 @@ _eina_magic_strings_alloc(void) | |||
102 | tmp = realloc(_eina_magic_strings, sizeof(Eina_Magic_String) * size); | 102 | tmp = realloc(_eina_magic_strings, sizeof(Eina_Magic_String) * size); |
103 | if (!tmp) | 103 | if (!tmp) |
104 | { | 104 | { |
105 | #ifdef _WIN32 | ||
106 | ERR("could not realloc magic_strings from %Iu to %Iu buckets.", | ||
107 | _eina_magic_strings_allocated, size); | ||
108 | #else | ||
109 | ERR("could not realloc magic_strings from %zu to %zu buckets.", | 105 | ERR("could not realloc magic_strings from %zu to %zu buckets.", |
110 | _eina_magic_strings_allocated, size); | 106 | _eina_magic_strings_allocated, size); |
111 | #endif | ||
112 | return NULL; | 107 | return NULL; |
113 | } | 108 | } |
114 | 109 | ||
diff --git a/libraries/eina/src/lib/eina_main.c b/libraries/eina/src/lib/eina_main.c index 79f8a36..f233929 100644 --- a/libraries/eina/src/lib/eina_main.c +++ b/libraries/eina/src/lib/eina_main.c | |||
@@ -69,6 +69,7 @@ | |||
69 | #include "eina_inlist.h" | 69 | #include "eina_inlist.h" |
70 | #include "eina_inarray.h" | 70 | #include "eina_inarray.h" |
71 | #include "eina_value.h" | 71 | #include "eina_value.h" |
72 | #include "eina_model.h" | ||
72 | 73 | ||
73 | /*============================================================================* | 74 | /*============================================================================* |
74 | * Local * | 75 | * Local * |
@@ -153,6 +154,7 @@ EAPI Eina_Inlist *_eina_tracking = NULL; | |||
153 | S(file); | 154 | S(file); |
154 | S(prefix); | 155 | S(prefix); |
155 | S(value); | 156 | S(value); |
157 | S(model); | ||
156 | #undef S | 158 | #undef S |
157 | 159 | ||
158 | struct eina_desc_setup | 160 | struct eina_desc_setup |
@@ -189,7 +191,8 @@ static const struct eina_desc_setup _eina_desc_setup[] = { | |||
189 | S(simple_xml), | 191 | S(simple_xml), |
190 | S(file), | 192 | S(file), |
191 | S(prefix), | 193 | S(prefix), |
192 | S(value) | 194 | S(value), |
195 | S(model) | ||
193 | #undef S | 196 | #undef S |
194 | }; | 197 | }; |
195 | static const size_t _eina_desc_setup_len = sizeof(_eina_desc_setup) / | 198 | static const size_t _eina_desc_setup_len = sizeof(_eina_desc_setup) / |
diff --git a/libraries/eina/src/lib/eina_matrixsparse.c b/libraries/eina/src/lib/eina_matrixsparse.c index 3ac0439..59cd66b 100644 --- a/libraries/eina/src/lib/eina_matrixsparse.c +++ b/libraries/eina/src/lib/eina_matrixsparse.c | |||
@@ -1078,6 +1078,8 @@ eina_matrixsparse_size_set(Eina_Matrixsparse *m, | |||
1078 | 1078 | ||
1079 | r = r->next; | 1079 | r = r->next; |
1080 | _eina_matrixsparse_row_free(r_aux, free_func, user_data); | 1080 | _eina_matrixsparse_row_free(r_aux, free_func, user_data); |
1081 | if ((update_last_used_row) && (m->last_used == r_aux)) | ||
1082 | m->last_used = r; | ||
1081 | } | 1083 | } |
1082 | else | 1084 | else |
1083 | { | 1085 | { |
diff --git a/libraries/eina/src/lib/eina_module.c b/libraries/eina/src/lib/eina_module.c index 26df980..f4f3242 100644 --- a/libraries/eina/src/lib/eina_module.c +++ b/libraries/eina/src/lib/eina_module.c | |||
@@ -58,6 +58,10 @@ void *alloca (size_t); | |||
58 | # include <Escape.h> | 58 | # include <Escape.h> |
59 | #endif | 59 | #endif |
60 | 60 | ||
61 | #ifdef HAVE_EXOTIC_H | ||
62 | # include <Exotic.h> | ||
63 | #endif | ||
64 | |||
61 | #include "eina_config.h" | 65 | #include "eina_config.h" |
62 | #include "eina_private.h" | 66 | #include "eina_private.h" |
63 | #include "eina_error.h" | 67 | #include "eina_error.h" |
diff --git a/libraries/eina/src/lib/eina_prefix.c b/libraries/eina/src/lib/eina_prefix.c index 5b4b0c0..2322311 100644 --- a/libraries/eina/src/lib/eina_prefix.c +++ b/libraries/eina/src/lib/eina_prefix.c | |||
@@ -30,15 +30,15 @@ | |||
30 | #endif | 30 | #endif |
31 | #ifdef HAVE_ALLOCA_H | 31 | #ifdef HAVE_ALLOCA_H |
32 | # include <alloca.h> | 32 | # include <alloca.h> |
33 | #elif defined __GNUC__ | 33 | #elif !defined alloca |
34 | # define alloca __builtin_alloca | 34 | # ifdef __GNUC__ |
35 | #elif defined _AIX | 35 | # define alloca __builtin_alloca |
36 | # define alloca __alloca | 36 | # elif defined _AIX |
37 | #elif defined _MSC_VER | 37 | # define alloca __alloca |
38 | # include <malloc.h> | 38 | # elif defined _MSC_VER |
39 | # define alloca _alloca | 39 | # include <malloc.h> |
40 | #else | 40 | # define alloca _alloca |
41 | # ifndef HAVE_ALLOCA | 41 | # elif !defined HAVE_ALLOCA |
42 | # ifdef __cplusplus | 42 | # ifdef __cplusplus |
43 | extern "C" | 43 | extern "C" |
44 | # endif | 44 | # endif |
@@ -237,7 +237,7 @@ _try_argv(Eina_Prefix *pfx, const char *argv0) | |||
237 | DBG("Try argv0 = %s", argv0); | 237 | DBG("Try argv0 = %s", argv0); |
238 | /* 1. is argv0 abs path? */ | 238 | /* 1. is argv0 abs path? */ |
239 | #ifdef _WIN32 | 239 | #ifdef _WIN32 |
240 | if (argv0[0] && (argv0[1] == ':')) | 240 | if (evil_path_is_absolute(argv0)) |
241 | #else | 241 | #else |
242 | if (argv0[0] == DSEP_C) | 242 | if (argv0[0] == DSEP_C) |
243 | #endif | 243 | #endif |
@@ -533,7 +533,7 @@ eina_prefix_new(const char *argv0, void *symbol, const char *envprefix, | |||
533 | { | 533 | { |
534 | DBG("Dlinfo dli_fname = %s", info_dl.dli_fname); | 534 | DBG("Dlinfo dli_fname = %s", info_dl.dli_fname); |
535 | # ifdef _WIN32 | 535 | # ifdef _WIN32 |
536 | if (info_dl.dli_fname[0] && (info_dl.dli_fname[1] == ':')) | 536 | if (evil_path_is_absolute(info_dl.dli_fname)) |
537 | # else | 537 | # else |
538 | if (info_dl.dli_fname[0] == DSEP_C) | 538 | if (info_dl.dli_fname[0] == DSEP_C) |
539 | # endif | 539 | # endif |
diff --git a/libraries/eina/src/lib/eina_private.h b/libraries/eina/src/lib/eina_private.h index e31ab47..49df565 100644 --- a/libraries/eina/src/lib/eina_private.h +++ b/libraries/eina/src/lib/eina_private.h | |||
@@ -95,6 +95,8 @@ | |||
95 | #define EINA_MAGIC_INARRAY_ITERATOR 0x98761271 | 95 | #define EINA_MAGIC_INARRAY_ITERATOR 0x98761271 |
96 | #define EINA_MAGIC_INARRAY_ACCESSOR 0x98761272 | 96 | #define EINA_MAGIC_INARRAY_ACCESSOR 0x98761272 |
97 | 97 | ||
98 | #define EINA_MAGIC_MODEL 0x98761280 | ||
99 | |||
98 | #define EINA_MAGIC_CLASS 0x9877CB30 | 100 | #define EINA_MAGIC_CLASS 0x9877CB30 |
99 | 101 | ||
100 | /* undef the following, we want out version */ | 102 | /* undef the following, we want out version */ |
diff --git a/libraries/eina/src/lib/eina_rbtree.c b/libraries/eina/src/lib/eina_rbtree.c index 5f1232c..a9d777a 100644 --- a/libraries/eina/src/lib/eina_rbtree.c +++ b/libraries/eina/src/lib/eina_rbtree.c | |||
@@ -1,5 +1,6 @@ | |||
1 | /* EINA - EFL data type library | 1 | /* EINA - EFL data type library |
2 | * Copyright (C) 2008 Cedric Bail | 2 | * Copyright (C) 2008 Cedric Bail |
3 | * Copyright (C) 2011 Alexandre Becoulet | ||
3 | * | 4 | * |
4 | * This library is free software; you can redistribute it and/or | 5 | * This library is free software; you can redistribute it and/or |
5 | * modify it under the terms of the GNU Lesser General Public | 6 | * modify it under the terms of the GNU Lesser General Public |
@@ -23,6 +24,7 @@ | |||
23 | #include <stdlib.h> | 24 | #include <stdlib.h> |
24 | #include <stdio.h> | 25 | #include <stdio.h> |
25 | #include <string.h> | 26 | #include <string.h> |
27 | #include <stdint.h> | ||
26 | 28 | ||
27 | #include "eina_config.h" | 29 | #include "eina_config.h" |
28 | #include "eina_private.h" | 30 | #include "eina_private.h" |
@@ -244,9 +246,9 @@ static inline Eina_Rbtree * | |||
244 | _eina_rbtree_inline_single_rotation(Eina_Rbtree *node, | 246 | _eina_rbtree_inline_single_rotation(Eina_Rbtree *node, |
245 | Eina_Rbtree_Direction dir) | 247 | Eina_Rbtree_Direction dir) |
246 | { | 248 | { |
247 | Eina_Rbtree *save = node->son[!dir]; | 249 | Eina_Rbtree *save = node->son[dir ^ 1]; |
248 | 250 | ||
249 | node->son[!dir] = save->son[dir]; | 251 | node->son[dir ^ 1] = save->son[dir]; |
250 | save->son[dir] = node; | 252 | save->son[dir] = node; |
251 | 253 | ||
252 | node->color = EINA_RBTREE_RED; | 254 | node->color = EINA_RBTREE_RED; |
@@ -259,7 +261,7 @@ static inline Eina_Rbtree * | |||
259 | _eina_rbtree_inline_double_rotation(Eina_Rbtree *node, | 261 | _eina_rbtree_inline_double_rotation(Eina_Rbtree *node, |
260 | Eina_Rbtree_Direction dir) | 262 | Eina_Rbtree_Direction dir) |
261 | { | 263 | { |
262 | node->son[!dir] = _eina_rbtree_inline_single_rotation(node->son[!dir], !dir); | 264 | node->son[dir ^ 1] = _eina_rbtree_inline_single_rotation(node->son[dir ^ 1], dir ^ 1); |
263 | return _eina_rbtree_inline_single_rotation(node, dir); | 265 | return _eina_rbtree_inline_single_rotation(node, dir); |
264 | } | 266 | } |
265 | 267 | ||
@@ -277,87 +279,64 @@ eina_rbtree_inline_insert(Eina_Rbtree *root, | |||
277 | Eina_Rbtree_Cmp_Node_Cb cmp, | 279 | Eina_Rbtree_Cmp_Node_Cb cmp, |
278 | const void *data) | 280 | const void *data) |
279 | { | 281 | { |
280 | Eina_Rbtree head; | 282 | Eina_Rbtree **r = &root; |
281 | Eina_Rbtree *g, *t; /* Grandparent & parent */ | 283 | Eina_Rbtree *q = root; |
282 | Eina_Rbtree *p, *q; /* Iterator & parent */ | 284 | uintptr_t stack[48]; |
283 | /* WARNING: | 285 | unsigned int s = 0; |
284 | Compiler is not able to understand the underlying algorithm and don't know that | ||
285 | first top node is always black, so it will never use last before running the loop | ||
286 | one time. | ||
287 | */ | ||
288 | Eina_Rbtree_Direction dir, last; | ||
289 | 286 | ||
290 | EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); | 287 | EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); |
291 | EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); | 288 | EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); |
292 | 289 | ||
293 | if (!node) | 290 | /* Find insertion leaf */ |
294 | return root; | 291 | while (q != NULL) |
295 | 292 | { | |
296 | _eina_rbtree_node_init(node); | 293 | Eina_Rbtree_Direction dir = cmp(q, node, (void *)data); |
297 | |||
298 | if (!root) | ||
299 | { | ||
300 | root = node; | ||
301 | goto end_add; | ||
302 | } | ||
303 | |||
304 | memset(&head, 0, sizeof (Eina_Rbtree)); | ||
305 | last = dir = EINA_RBTREE_LEFT; | ||
306 | |||
307 | /* Set up helpers */ | ||
308 | t = &head; | ||
309 | g = p = NULL; | ||
310 | q = t->son[1] = root; | ||
311 | |||
312 | /* Search down the tree */ | ||
313 | for (;; ) | ||
314 | { | ||
315 | if (!q) | ||
316 | /* Insert new node at the bottom */ | ||
317 | p->son[dir] = q = node; | ||
318 | else if (_eina_rbtree_is_red(q->son[0]) | ||
319 | && _eina_rbtree_is_red(q->son[1])) | ||
320 | { | ||
321 | /* Color flip */ | ||
322 | q->color = EINA_RBTREE_RED; | ||
323 | q->son[0]->color = EINA_RBTREE_BLACK; | ||
324 | q->son[1]->color = EINA_RBTREE_BLACK; | ||
325 | } | ||
326 | |||
327 | /* Fix red violation */ | ||
328 | if (_eina_rbtree_is_red(q) && _eina_rbtree_is_red(p)) | ||
329 | { | ||
330 | Eina_Rbtree_Direction dir2; | ||
331 | 294 | ||
332 | dir2 = (t->son[1] == g) ? EINA_RBTREE_RIGHT : EINA_RBTREE_LEFT; | 295 | /* Keep path in stack */ |
296 | stack[s++] = (uintptr_t)r | dir; | ||
333 | 297 | ||
334 | if (q == p->son[last]) | 298 | r = q->son + dir; |
335 | t->son[dir2] = _eina_rbtree_inline_single_rotation(g, !last); | 299 | q = *r; |
336 | else | 300 | } |
337 | t->son[dir2] = _eina_rbtree_inline_double_rotation(g, !last); | ||
338 | } | ||
339 | |||
340 | /* Stop if found */ | ||
341 | if (q == node) | ||
342 | break; | ||
343 | |||
344 | last = dir; | ||
345 | dir = cmp(q, node, (void *)data); | ||
346 | 301 | ||
347 | /* Update helpers */ | 302 | /* Insert */ |
348 | if ( g ) | 303 | *r = node; |
349 | t = g; | 304 | _eina_rbtree_node_init(node); |
350 | |||
351 | g = p, p = q; | ||
352 | q = q->son[dir]; | ||
353 | } | ||
354 | 305 | ||
355 | root = head.son[1]; | 306 | /* Rebalance */ |
307 | while (s > 0) | ||
308 | { | ||
309 | Eina_Rbtree *a, *b; | ||
310 | uintptr_t top = stack[--s]; /* Pop link pointer and direction */ | ||
311 | Eina_Rbtree_Direction dir = top & 1; | ||
312 | |||
313 | r = (Eina_Rbtree **)(top & ~(uintptr_t)1); | ||
314 | q = *r; | ||
315 | |||
316 | a = q->son[dir]; | ||
317 | /* Rebalance done ? */ | ||
318 | if (a == NULL || a->color == EINA_RBTREE_BLACK) | ||
319 | break; | ||
320 | |||
321 | b = q->son[dir ^ 1]; | ||
322 | if (b != NULL && b->color == EINA_RBTREE_RED) | ||
323 | { | ||
324 | q->color = EINA_RBTREE_RED; | ||
325 | b->color = a->color = EINA_RBTREE_BLACK; | ||
326 | } | ||
327 | else | ||
328 | { | ||
329 | Eina_Rbtree *c = a->son[dir]; | ||
330 | Eina_Rbtree *d = a->son[dir ^ 1]; | ||
331 | |||
332 | if (c != NULL && c->color == EINA_RBTREE_RED) | ||
333 | *r = _eina_rbtree_inline_single_rotation(*r, dir ^ 1); | ||
334 | else if (d != NULL && d->color == EINA_RBTREE_RED) | ||
335 | *r = _eina_rbtree_inline_double_rotation(*r, dir ^ 1); | ||
336 | } | ||
337 | } | ||
356 | 338 | ||
357 | end_add: | ||
358 | /* Make root black */ | ||
359 | root->color = EINA_RBTREE_BLACK; | 339 | root->color = EINA_RBTREE_BLACK; |
360 | |||
361 | return root; | 340 | return root; |
362 | } | 341 | } |
363 | 342 | ||
@@ -367,122 +346,144 @@ eina_rbtree_inline_remove(Eina_Rbtree *root, | |||
367 | Eina_Rbtree_Cmp_Node_Cb cmp, | 346 | Eina_Rbtree_Cmp_Node_Cb cmp, |
368 | const void *data) | 347 | const void *data) |
369 | { | 348 | { |
370 | Eina_Rbtree head; | 349 | Eina_Rbtree *l0, *l1, *r, **rt = &root; |
371 | Eina_Rbtree *q, *p; | ||
372 | Eina_Rbtree *f = NULL; | ||
373 | Eina_Rbtree_Direction dir; | 350 | Eina_Rbtree_Direction dir; |
351 | uintptr_t stack[48]; | ||
352 | unsigned int s = 0; | ||
374 | 353 | ||
375 | EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); | 354 | EINA_SAFETY_ON_NULL_RETURN_VAL(node, root); |
376 | EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); | 355 | EINA_SAFETY_ON_NULL_RETURN_VAL( cmp, root); |
377 | 356 | ||
378 | if (!root || !node) | 357 | /* Item search loop */ |
379 | return root; | 358 | for (r = *rt; r != NULL; r = *rt) |
380 | 359 | { | |
381 | memset(&head, 0, sizeof(Eina_Rbtree)); | 360 | if (r == node) |
382 | 361 | goto found; | |
383 | dir = EINA_RBTREE_RIGHT; | ||
384 | q = &head; | ||
385 | p = NULL; | ||
386 | q->son[EINA_RBTREE_RIGHT] = root; | ||
387 | |||
388 | /* Search and push a red down */ | ||
389 | while (q->son[dir]) | ||
390 | { | ||
391 | Eina_Rbtree_Direction last = dir; | ||
392 | Eina_Rbtree *g; | ||
393 | |||
394 | /* Update helpers */ | ||
395 | g = p; p = q; | ||
396 | q = q->son[dir]; | ||
397 | dir = cmp(q, node, (void *)data); | ||
398 | |||
399 | /* Save parent node found */ | ||
400 | if (q == node) | ||
401 | f = p; | ||
402 | 362 | ||
403 | /* Push the red node down */ | 363 | dir = cmp(r, node, (void*)data); |
404 | if (!_eina_rbtree_is_red(q) | 364 | stack[s++] = (uintptr_t)rt | dir; |
405 | && !_eina_rbtree_is_red(q->son[dir])) | 365 | rt = r->son + dir; |
406 | { | 366 | } |
407 | if (_eina_rbtree_is_red(q->son[!dir])) | 367 | return root; |
408 | q = p->son[last] = _eina_rbtree_inline_single_rotation(q, dir); | ||
409 | else if (!_eina_rbtree_is_red(q->son[!dir])) | ||
410 | { | ||
411 | Eina_Rbtree *s = p->son[!last]; | ||
412 | |||
413 | if (s) | ||
414 | { | ||
415 | if (!_eina_rbtree_is_red(s->son[EINA_RBTREE_LEFT]) | ||
416 | && !_eina_rbtree_is_red(s->son[EINA_RBTREE_RIGHT])) | ||
417 | { | ||
418 | /* Color flip */ | ||
419 | p->color = EINA_RBTREE_BLACK; | ||
420 | p->son[EINA_RBTREE_LEFT]->color = EINA_RBTREE_RED; | ||
421 | p->son[EINA_RBTREE_RIGHT]->color = EINA_RBTREE_RED; | ||
422 | } | ||
423 | else | ||
424 | { | ||
425 | Eina_Rbtree_Direction dir2; | ||
426 | |||
427 | dir2 = g->son[1] == | ||
428 | p ? EINA_RBTREE_RIGHT : EINA_RBTREE_LEFT; | ||
429 | |||
430 | if (_eina_rbtree_is_red(s->son[last])) | ||
431 | { | ||
432 | g->son[dir2] = | ||
433 | _eina_rbtree_inline_double_rotation(p, last); | ||
434 | if (f == g) | ||
435 | { | ||
436 | p = g->son[dir2]->son[last]; | ||
437 | f = g->son[dir2]; | ||
438 | } | ||
439 | } | ||
440 | else if (_eina_rbtree_is_red(s->son[!last])) | ||
441 | { | ||
442 | g->son[dir2] = | ||
443 | _eina_rbtree_inline_single_rotation(p, last); | ||
444 | if (f == g) | ||
445 | { | ||
446 | p = g->son[dir2]->son[last]; | ||
447 | f = g->son[dir2]; | ||
448 | } | ||
449 | } | ||
450 | |||
451 | /* Ensure correct coloring */ | ||
452 | q->color = g->son[dir2]->color = EINA_RBTREE_RED; | ||
453 | g->son[dir2]->son[EINA_RBTREE_LEFT]->color = | ||
454 | EINA_RBTREE_BLACK; | ||
455 | g->son[dir2]->son[EINA_RBTREE_RIGHT]->color = | ||
456 | EINA_RBTREE_BLACK; | ||
457 | } | ||
458 | } | ||
459 | } | ||
460 | } | ||
461 | } | ||
462 | |||
463 | /* Replace and remove if found */ | ||
464 | if (f) | ||
465 | { | ||
466 | /* 'q' should take the place of 'node' parent */ | ||
467 | f->son[f->son[1] == node] = q; | ||
468 | |||
469 | /* Switch the link from the parent to q's son */ | ||
470 | p->son[p->son[1] == q] = q->son[!q->son[0]]; | ||
471 | |||
472 | /* Put q at the place of node */ | ||
473 | q->son[0] = node->son[0]; | ||
474 | q->son[1] = node->son[1]; | ||
475 | q->color = node->color; | ||
476 | |||
477 | /* Reset node link */ | ||
478 | node->son[0] = NULL; | ||
479 | node->son[1] = NULL; | ||
480 | } | ||
481 | 368 | ||
482 | root = head.son[1]; | 369 | found: |
483 | if (root) | 370 | /* remove entry */ |
371 | l0 = node->son[0]; | ||
372 | l1 = node->son[1]; | ||
373 | |||
374 | if (l0 != NULL && l1 != NULL) /* two links case */ | ||
375 | { | ||
376 | Eina_Rbtree *q, **t, **p; | ||
377 | uintptr_t ss; | ||
378 | |||
379 | stack[s++] = (uintptr_t)rt | 1; | ||
380 | ss = s; /* keep predecessor right link stack index */ | ||
381 | |||
382 | /* find predecessor */ | ||
383 | p = node->son + 1; | ||
384 | q = *p; | ||
385 | |||
386 | while (1) | ||
387 | { | ||
388 | t = q->son; | ||
389 | q = *t; | ||
390 | if (q == NULL) | ||
391 | break; | ||
392 | stack[s++] = (uintptr_t)p | 0; | ||
393 | p = t; | ||
394 | } | ||
395 | |||
396 | /* detach predecessor */ | ||
397 | q = *p; | ||
398 | *p = q->son[1]; | ||
399 | |||
400 | int c = q->color; | ||
401 | |||
402 | /* replace entry by predecessor */ | ||
403 | memcpy(q, node, sizeof(Eina_Rbtree)); | ||
404 | *rt = q; | ||
405 | |||
406 | if (c == EINA_RBTREE_RED) | ||
407 | goto end; | ||
408 | |||
409 | /* fix stack for replaced entry */ | ||
410 | if (s > ss) | ||
411 | stack[ss] = (uintptr_t)(q->son + 1) | 0; | ||
412 | } | ||
413 | else /* single link case */ | ||
414 | { | ||
415 | if (l0 == NULL) | ||
416 | l0 = l1; | ||
417 | |||
418 | *rt = l0; | ||
419 | |||
420 | if (node->color == EINA_RBTREE_RED) | ||
421 | goto end; /* removed red */ | ||
422 | |||
423 | if (l0 != NULL && l0->color == EINA_RBTREE_RED) | ||
424 | { | ||
425 | /* red child replace removed black */ | ||
426 | l0->color = EINA_RBTREE_BLACK; | ||
427 | goto end; | ||
428 | } | ||
429 | } | ||
430 | |||
431 | /* rebalance */ | ||
432 | while (s > 0) | ||
433 | { | ||
434 | Eina_Rbtree *q; | ||
435 | uintptr_t st = stack[--s]; | ||
436 | |||
437 | rt = (Eina_Rbtree**)(st & ~(uintptr_t)1); | ||
438 | dir = st & 1; | ||
439 | r = *rt; | ||
440 | q = r->son[dir ^ 1]; | ||
441 | |||
442 | if (q != NULL && q->color == EINA_RBTREE_RED) | ||
443 | { | ||
444 | *rt = _eina_rbtree_inline_single_rotation(*rt, dir); | ||
445 | q = r->son[dir ^ 1]; | ||
446 | rt = (*rt)->son + dir; | ||
447 | } | ||
448 | |||
449 | if (q != NULL) | ||
450 | { | ||
451 | int r_color = r->color; | ||
452 | Eina_Rbtree *nd = q->son[dir ^ 1]; | ||
453 | |||
454 | if (nd != NULL && nd->color == EINA_RBTREE_RED) | ||
455 | { | ||
456 | *rt = _eina_rbtree_inline_single_rotation(*rt, dir); | ||
457 | } | ||
458 | else | ||
459 | { | ||
460 | Eina_Rbtree *d = q->son[dir]; | ||
461 | |||
462 | if (d != NULL && d->color == EINA_RBTREE_RED) | ||
463 | { | ||
464 | *rt = _eina_rbtree_inline_double_rotation(*rt, dir); | ||
465 | } | ||
466 | else | ||
467 | { | ||
468 | r->color = EINA_RBTREE_BLACK; | ||
469 | q->color = EINA_RBTREE_RED; | ||
470 | if (r_color == EINA_RBTREE_RED) | ||
471 | break; | ||
472 | continue; | ||
473 | } | ||
474 | } | ||
475 | |||
476 | r = *rt; | ||
477 | r->color = r_color; | ||
478 | r->son[1]->color = r->son[0]->color = EINA_RBTREE_BLACK; | ||
479 | |||
480 | break; | ||
481 | } | ||
482 | } | ||
483 | |||
484 | end: | ||
485 | if (root != NULL) | ||
484 | root->color = EINA_RBTREE_BLACK; | 486 | root->color = EINA_RBTREE_BLACK; |
485 | |||
486 | return root; | 487 | return root; |
487 | } | 488 | } |
488 | 489 | ||
diff --git a/libraries/eina/src/lib/eina_sched.c b/libraries/eina/src/lib/eina_sched.c index 8c7f7fe..b8e7000 100644 --- a/libraries/eina/src/lib/eina_sched.c +++ b/libraries/eina/src/lib/eina_sched.c | |||
@@ -41,7 +41,7 @@ | |||
41 | #include "eina_sched.h" | 41 | #include "eina_sched.h" |
42 | #include "eina_log.h" | 42 | #include "eina_log.h" |
43 | 43 | ||
44 | #define RTNICENESS 5 | 44 | #define RTNICENESS 1 |
45 | #define NICENESS 5 | 45 | #define NICENESS 5 |
46 | 46 | ||
47 | EAPI void | 47 | EAPI void |
@@ -62,10 +62,14 @@ eina_sched_prio_drop(void) | |||
62 | 62 | ||
63 | if (EINA_UNLIKELY(pol == SCHED_RR || pol == SCHED_FIFO)) | 63 | if (EINA_UNLIKELY(pol == SCHED_RR || pol == SCHED_FIFO)) |
64 | { | 64 | { |
65 | prio = sched_get_priority_max(pol); | 65 | param.sched_priority -= RTNICENESS; |
66 | param.sched_priority += RTNICENESS; | 66 | |
67 | if (prio > 0 && param.sched_priority > prio) | 67 | /* We don't change the policy */ |
68 | param.sched_priority = prio; | 68 | if (param.sched_priority < 1) |
69 | { | ||
70 | EINA_LOG_INFO("RT prio < 1, setting to 1 instead"); | ||
71 | param.sched_priority = 1; | ||
72 | } | ||
69 | 73 | ||
70 | pthread_setschedparam(pthread_id, pol, ¶m); | 74 | pthread_setschedparam(pthread_id, pol, ¶m); |
71 | } | 75 | } |
@@ -78,7 +82,10 @@ eina_sched_prio_drop(void) | |||
78 | { | 82 | { |
79 | prio += NICENESS; | 83 | prio += NICENESS; |
80 | if (prio > 19) | 84 | if (prio > 19) |
81 | prio = 19; | 85 | { |
86 | EINA_LOG_INFO("Max niceness reached; keeping max (19)"); | ||
87 | prio = 19; | ||
88 | } | ||
82 | 89 | ||
83 | setpriority(PRIO_PROCESS, 0, prio); | 90 | setpriority(PRIO_PROCESS, 0, prio); |
84 | } | 91 | } |
diff --git a/libraries/eina/src/lib/eina_share_common.c b/libraries/eina/src/lib/eina_share_common.c index 90e1868..776e429 100644 --- a/libraries/eina/src/lib/eina_share_common.c +++ b/libraries/eina/src/lib/eina_share_common.c | |||
@@ -76,7 +76,6 @@ | |||
76 | #include "eina_hash.h" | 76 | #include "eina_hash.h" |
77 | #include "eina_rbtree.h" | 77 | #include "eina_rbtree.h" |
78 | #include "eina_error.h" | 78 | #include "eina_error.h" |
79 | #include "eina_log.h" | ||
80 | #include "eina_lock.h" | 79 | #include "eina_lock.h" |
81 | 80 | ||
82 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | 81 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ |
@@ -126,8 +125,6 @@ typedef struct _Eina_Share_Common Eina_Share_Common; | |||
126 | typedef struct _Eina_Share_Common_Node Eina_Share_Common_Node; | 125 | typedef struct _Eina_Share_Common_Node Eina_Share_Common_Node; |
127 | typedef struct _Eina_Share_Common_Head Eina_Share_Common_Head; | 126 | typedef struct _Eina_Share_Common_Head Eina_Share_Common_Head; |
128 | 127 | ||
129 | int _eina_share_common_log_dom = -1; | ||
130 | |||
131 | struct _Eina_Share | 128 | struct _Eina_Share |
132 | { | 129 | { |
133 | Eina_Share_Common *share; | 130 | Eina_Share_Common *share; |
@@ -600,28 +597,8 @@ eina_share_common_init(Eina_Share **_share, | |||
600 | share = *_share = calloc(sizeof(Eina_Share), 1); | 597 | share = *_share = calloc(sizeof(Eina_Share), 1); |
601 | if (!share) goto on_error; | 598 | if (!share) goto on_error; |
602 | 599 | ||
603 | if (_eina_share_common_log_dom < 0) /*Only register if not already */ | ||
604 | _eina_share_common_log_dom = eina_log_domain_register( | ||
605 | "eina_share", | ||
606 | EINA_LOG_COLOR_DEFAULT); | ||
607 | |||
608 | if (_eina_share_common_log_dom < 0) | ||
609 | { | ||
610 | EINA_LOG_ERR("Could not register log domain: eina_share_common"); | ||
611 | goto on_error; | ||
612 | } | ||
613 | |||
614 | share->share = calloc(1, sizeof(Eina_Share_Common)); | 600 | share->share = calloc(1, sizeof(Eina_Share_Common)); |
615 | if (!share->share) | 601 | if (!share->share) goto on_error; |
616 | { | ||
617 | if (_eina_share_common_log_dom > 0) | ||
618 | { | ||
619 | eina_log_domain_unregister(_eina_share_common_log_dom); | ||
620 | _eina_share_common_log_dom = -1; | ||
621 | } | ||
622 | |||
623 | goto on_error; | ||
624 | } | ||
625 | 602 | ||
626 | share->node_magic = node_magic; | 603 | share->node_magic = node_magic; |
627 | #define EMS(n) eina_magic_string_static_set(n, n ## _STR) | 604 | #define EMS(n) eina_magic_string_static_set(n, n ## _STR) |
@@ -678,11 +655,6 @@ eina_share_common_shutdown(Eina_Share **_share) | |||
678 | MAGIC_FREE(share->share); | 655 | MAGIC_FREE(share->share); |
679 | 656 | ||
680 | _eina_share_common_population_shutdown(share); | 657 | _eina_share_common_population_shutdown(share); |
681 | if (_eina_share_common_log_dom > 0) /* Only free if necessary */ | ||
682 | { | ||
683 | eina_log_domain_unregister(_eina_share_common_log_dom); | ||
684 | _eina_share_common_log_dom = -1; | ||
685 | } | ||
686 | 658 | ||
687 | eina_lock_release(&_mutex_big); | 659 | eina_lock_release(&_mutex_big); |
688 | 660 | ||
@@ -833,7 +805,7 @@ eina_share_common_ref(Eina_Share *share, const char *str) | |||
833 | } | 805 | } |
834 | 806 | ||
835 | 807 | ||
836 | void | 808 | Eina_Bool |
837 | eina_share_common_del(Eina_Share *share, const char *str) | 809 | eina_share_common_del(Eina_Share *share, const char *str) |
838 | { | 810 | { |
839 | unsigned int slen; | 811 | unsigned int slen; |
@@ -843,7 +815,7 @@ eina_share_common_del(Eina_Share *share, const char *str) | |||
843 | int hash_num, hash; | 815 | int hash_num, hash; |
844 | 816 | ||
845 | if (!str) | 817 | if (!str) |
846 | return; | 818 | return EINA_TRUE; |
847 | 819 | ||
848 | eina_lock_take(&_mutex_big); | 820 | eina_lock_take(&_mutex_big); |
849 | 821 | ||
@@ -857,7 +829,7 @@ eina_share_common_del(Eina_Share *share, const char *str) | |||
857 | { | 829 | { |
858 | node->references--; | 830 | node->references--; |
859 | eina_lock_release(&_mutex_big); | 831 | eina_lock_release(&_mutex_big); |
860 | return; | 832 | return EINA_TRUE; |
861 | } | 833 | } |
862 | 834 | ||
863 | node->references = 0; | 835 | node->references = 0; |
@@ -871,7 +843,7 @@ eina_share_common_del(Eina_Share *share, const char *str) | |||
871 | if (!ed) | 843 | if (!ed) |
872 | goto on_error; | 844 | goto on_error; |
873 | 845 | ||
874 | EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(ed, eina_lock_release(&_mutex_big)); | 846 | EINA_MAGIC_CHECK_SHARE_COMMON_HEAD(ed, eina_lock_release(&_mutex_big), EINA_FALSE); |
875 | 847 | ||
876 | if (!_eina_share_common_head_remove_node(ed, node)) | 848 | if (!_eina_share_common_head_remove_node(ed, node)) |
877 | goto on_error; | 849 | goto on_error; |
@@ -886,12 +858,12 @@ eina_share_common_del(Eina_Share *share, const char *str) | |||
886 | 858 | ||
887 | eina_lock_release(&_mutex_big); | 859 | eina_lock_release(&_mutex_big); |
888 | 860 | ||
889 | return; | 861 | return EINA_TRUE; |
890 | 862 | ||
891 | on_error: | 863 | on_error: |
892 | eina_lock_release(&_mutex_big); | 864 | eina_lock_release(&_mutex_big); |
893 | /* possible segfault happened before here, but... */ | 865 | /* possible segfault happened before here, but... */ |
894 | CRITICAL("EEEK trying to del non-shared share_common \"%s\"", str); | 866 | return EINA_FALSE; |
895 | } | 867 | } |
896 | 868 | ||
897 | int | 869 | int |
diff --git a/libraries/eina/src/lib/eina_share_common.h b/libraries/eina/src/lib/eina_share_common.h index 002c652..6bc11ef 100644 --- a/libraries/eina/src/lib/eina_share_common.h +++ b/libraries/eina/src/lib/eina_share_common.h | |||
@@ -71,7 +71,7 @@ const char *eina_share_common_add_length(Eina_Share *share, | |||
71 | unsigned int null_size) | 71 | unsigned int null_size) |
72 | EINA_WARN_UNUSED_RESULT; | 72 | EINA_WARN_UNUSED_RESULT; |
73 | const char *eina_share_common_ref(Eina_Share *share, const char *str); | 73 | const char *eina_share_common_ref(Eina_Share *share, const char *str); |
74 | void eina_share_common_del(Eina_Share *share, const char *str); | 74 | Eina_Bool eina_share_common_del(Eina_Share *share, const char *str) EINA_WARN_UNUSED_RESULT; |
75 | int eina_share_common_length(Eina_Share *share, | 75 | int eina_share_common_length(Eina_Share *share, |
76 | const char *str) EINA_CONST | 76 | const char *str) EINA_CONST |
77 | EINA_WARN_UNUSED_RESULT; | 77 | EINA_WARN_UNUSED_RESULT; |
@@ -83,21 +83,4 @@ void eina_share_common_dump(Eina_Share *share, void (*additional_dump)( | |||
83 | void eina_share_common_population_add(Eina_Share *share, int slen); | 83 | void eina_share_common_population_add(Eina_Share *share, int slen); |
84 | void eina_share_common_population_del(Eina_Share *share, int slen); | 84 | void eina_share_common_population_del(Eina_Share *share, int slen); |
85 | 85 | ||
86 | /* Share logging */ | 86 | #endif /* EINA_SHARE_COMMON_H_ */ |
87 | #ifdef CRITICAL | ||
88 | #undef CRITICAL | ||
89 | #endif | ||
90 | #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_common_log_dom, __VA_ARGS__) | ||
91 | |||
92 | #ifdef ERR | ||
93 | #undef ERR | ||
94 | #endif | ||
95 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_share_common_log_dom, __VA_ARGS__) | ||
96 | |||
97 | #ifdef DBG | ||
98 | #undef DBG | ||
99 | #endif | ||
100 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_share_common_log_dom, __VA_ARGS__) | ||
101 | extern int _eina_share_common_log_dom; | ||
102 | |||
103 | #endif /* EINA_STRINGSHARE_H_ */ | ||
diff --git a/libraries/eina/src/lib/eina_stringshare.c b/libraries/eina/src/lib/eina_stringshare.c index 478b300..f371fcd 100644 --- a/libraries/eina/src/lib/eina_stringshare.c +++ b/libraries/eina/src/lib/eina_stringshare.c | |||
@@ -55,12 +55,30 @@ void *alloca (size_t); | |||
55 | #include "eina_private.h" | 55 | #include "eina_private.h" |
56 | #include "eina_error.h" | 56 | #include "eina_error.h" |
57 | #include "eina_log.h" | 57 | #include "eina_log.h" |
58 | #include "eina_stringshare.h" | ||
59 | #include "eina_lock.h" | 58 | #include "eina_lock.h" |
59 | #include "eina_share_common.h" | ||
60 | 60 | ||
61 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | 61 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ |
62 | #include "eina_safety_checks.h" | 62 | #include "eina_safety_checks.h" |
63 | #include "eina_share_common.h" | 63 | #include "eina_stringshare.h" |
64 | |||
65 | |||
66 | #ifdef CRITICAL | ||
67 | #undef CRITICAL | ||
68 | #endif | ||
69 | #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_stringshare_log_dom, __VA_ARGS__) | ||
70 | |||
71 | #ifdef ERR | ||
72 | #undef ERR | ||
73 | #endif | ||
74 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_share_stringshare_log_dom, __VA_ARGS__) | ||
75 | |||
76 | #ifdef DBG | ||
77 | #undef DBG | ||
78 | #endif | ||
79 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_share_stringshare_log_dom, __VA_ARGS__) | ||
80 | |||
81 | static int _eina_share_stringshare_log_dom = -1; | ||
64 | 82 | ||
65 | /* The actual share */ | 83 | /* The actual share */ |
66 | static Eina_Share *stringshare_share; | 84 | static Eina_Share *stringshare_share; |
@@ -447,11 +465,8 @@ _eina_stringshare_small_bucket_dump(Eina_Stringshare_Small_Bucket *bucket, | |||
447 | for (i = 0; i < bucket->count; i++, s++, l++, r++) | 465 | for (i = 0; i < bucket->count; i++, s++, l++, r++) |
448 | { | 466 | { |
449 | int dups; | 467 | int dups; |
450 | #ifdef _WIN32 | 468 | |
451 | printf("DDD: %5hu %5hu '%s'\n", *l, *r, *s); | ||
452 | #else | ||
453 | printf("DDD: %5hhu %5hu '%s'\n", *l, *r, *s); | 469 | printf("DDD: %5hhu %5hu '%s'\n", *l, *r, *s); |
454 | #endif | ||
455 | 470 | ||
456 | dups = (*r - 1); | 471 | dups = (*r - 1); |
457 | 472 | ||
@@ -500,11 +515,29 @@ Eina_Bool | |||
500 | eina_stringshare_init(void) | 515 | eina_stringshare_init(void) |
501 | { | 516 | { |
502 | Eina_Bool ret; | 517 | Eina_Bool ret; |
518 | |||
519 | if (_eina_share_stringshare_log_dom < 0) | ||
520 | { | ||
521 | _eina_share_stringshare_log_dom = eina_log_domain_register | ||
522 | ("eina_stringshare", EINA_LOG_COLOR_DEFAULT); | ||
523 | |||
524 | if (_eina_share_stringshare_log_dom < 0) | ||
525 | { | ||
526 | EINA_LOG_ERR("Could not register log domain: eina_stringshare"); | ||
527 | return EINA_FALSE; | ||
528 | } | ||
529 | } | ||
530 | |||
503 | ret = eina_share_common_init(&stringshare_share, | 531 | ret = eina_share_common_init(&stringshare_share, |
504 | EINA_MAGIC_STRINGSHARE_NODE, | 532 | EINA_MAGIC_STRINGSHARE_NODE, |
505 | EINA_MAGIC_STRINGSHARE_NODE_STR); | 533 | EINA_MAGIC_STRINGSHARE_NODE_STR); |
506 | if (ret) | 534 | if (ret) |
507 | _eina_stringshare_small_init(); | 535 | _eina_stringshare_small_init(); |
536 | else | ||
537 | { | ||
538 | eina_log_domain_unregister(_eina_share_stringshare_log_dom); | ||
539 | _eina_share_stringshare_log_dom = -1; | ||
540 | } | ||
508 | 541 | ||
509 | return ret; | 542 | return ret; |
510 | } | 543 | } |
@@ -526,6 +559,13 @@ eina_stringshare_shutdown(void) | |||
526 | Eina_Bool ret; | 559 | Eina_Bool ret; |
527 | _eina_stringshare_small_shutdown(); | 560 | _eina_stringshare_small_shutdown(); |
528 | ret = eina_share_common_shutdown(&stringshare_share); | 561 | ret = eina_share_common_shutdown(&stringshare_share); |
562 | |||
563 | if (_eina_share_stringshare_log_dom >= 0) | ||
564 | { | ||
565 | eina_log_domain_unregister(_eina_share_stringshare_log_dom); | ||
566 | _eina_share_stringshare_log_dom = -1; | ||
567 | } | ||
568 | |||
529 | return ret; | 569 | return ret; |
530 | } | 570 | } |
531 | 571 | ||
@@ -534,7 +574,7 @@ eina_stringshare_shutdown(void) | |||
534 | *============================================================================*/ | 574 | *============================================================================*/ |
535 | 575 | ||
536 | EAPI void | 576 | EAPI void |
537 | eina_stringshare_del(const char *str) | 577 | eina_stringshare_del(Eina_Stringshare *str) |
538 | { | 578 | { |
539 | int slen; | 579 | int slen; |
540 | 580 | ||
@@ -564,16 +604,17 @@ eina_stringshare_del(const char *str) | |||
564 | return; | 604 | return; |
565 | } | 605 | } |
566 | 606 | ||
567 | eina_share_common_del(stringshare_share, str); | 607 | if (!eina_share_common_del(stringshare_share, str)) |
608 | CRITICAL("EEEK trying to del non-shared stringshare \"%s\"", str); | ||
568 | } | 609 | } |
569 | 610 | ||
570 | EAPI const char * | 611 | EAPI Eina_Stringshare * |
571 | eina_stringshare_add_length(const char *str, unsigned int slen) | 612 | eina_stringshare_add_length(const char *str, unsigned int slen) |
572 | { | 613 | { |
573 | if ((!str) || (slen <= 0)) | 614 | if ((!str) || (slen <= 0)) |
574 | return ""; | 615 | return ""; |
575 | else if (slen == 1) | 616 | else if (slen == 1) |
576 | return (const char *)_eina_stringshare_single + ((*str) << 1); | 617 | return (Eina_Stringshare *) _eina_stringshare_single + ((*str) << 1); |
577 | else if (slen < 4) | 618 | else if (slen < 4) |
578 | { | 619 | { |
579 | const char *s; | 620 | const char *s; |
@@ -588,7 +629,7 @@ eina_stringshare_add_length(const char *str, unsigned int slen) | |||
588 | sizeof(char), sizeof(char)); | 629 | sizeof(char), sizeof(char)); |
589 | } | 630 | } |
590 | 631 | ||
591 | EAPI const char * | 632 | EAPI Eina_Stringshare * |
592 | eina_stringshare_add(const char *str) | 633 | eina_stringshare_add(const char *str) |
593 | { | 634 | { |
594 | int slen; | 635 | int slen; |
@@ -609,7 +650,7 @@ eina_stringshare_add(const char *str) | |||
609 | return eina_stringshare_add_length(str, slen); | 650 | return eina_stringshare_add_length(str, slen); |
610 | } | 651 | } |
611 | 652 | ||
612 | EAPI const char * | 653 | EAPI Eina_Stringshare * |
613 | eina_stringshare_printf(const char *fmt, ...) | 654 | eina_stringshare_printf(const char *fmt, ...) |
614 | { | 655 | { |
615 | va_list args; | 656 | va_list args; |
@@ -633,7 +674,7 @@ eina_stringshare_printf(const char *fmt, ...) | |||
633 | return ret; | 674 | return ret; |
634 | } | 675 | } |
635 | 676 | ||
636 | EAPI const char * | 677 | EAPI Eina_Stringshare * |
637 | eina_stringshare_vprintf(const char *fmt, va_list args) | 678 | eina_stringshare_vprintf(const char *fmt, va_list args) |
638 | { | 679 | { |
639 | char *tmp; | 680 | char *tmp; |
@@ -654,7 +695,7 @@ eina_stringshare_vprintf(const char *fmt, va_list args) | |||
654 | return ret; | 695 | return ret; |
655 | } | 696 | } |
656 | 697 | ||
657 | EAPI const char * | 698 | EAPI Eina_Stringshare * |
658 | eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) | 699 | eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) |
659 | { | 700 | { |
660 | va_list args; | 701 | va_list args; |
@@ -679,8 +720,8 @@ eina_stringshare_nprintf(unsigned int len, const char *fmt, ...) | |||
679 | return eina_stringshare_add_length(tmp, len); | 720 | return eina_stringshare_add_length(tmp, len); |
680 | } | 721 | } |
681 | 722 | ||
682 | EAPI const char * | 723 | EAPI Eina_Stringshare * |
683 | eina_stringshare_ref(const char *str) | 724 | eina_stringshare_ref(Eina_Stringshare *str) |
684 | { | 725 | { |
685 | int slen; | 726 | int slen; |
686 | 727 | ||
@@ -721,7 +762,7 @@ eina_stringshare_ref(const char *str) | |||
721 | } | 762 | } |
722 | 763 | ||
723 | EAPI int | 764 | EAPI int |
724 | eina_stringshare_strlen(const char *str) | 765 | eina_stringshare_strlen(Eina_Stringshare *str) |
725 | { | 766 | { |
726 | int len; | 767 | int len; |
727 | /* special cases */ | 768 | /* special cases */ |
@@ -737,7 +778,7 @@ eina_stringshare_strlen(const char *str) | |||
737 | if (str[3] == '\0') | 778 | if (str[3] == '\0') |
738 | return 3; | 779 | return 3; |
739 | 780 | ||
740 | len = eina_share_common_length(stringshare_share, (const char *)str); | 781 | len = eina_share_common_length(stringshare_share, (Eina_Stringshare *) str); |
741 | len = (len > 0) ? len / (int)sizeof(char) : -1; | 782 | len = (len > 0) ? len / (int)sizeof(char) : -1; |
742 | return len; | 783 | return len; |
743 | } | 784 | } |
diff --git a/libraries/eina/src/lib/eina_unicode.c b/libraries/eina/src/lib/eina_unicode.c index 342e3cb..7505906 100644 --- a/libraries/eina/src/lib/eina_unicode.c +++ b/libraries/eina/src/lib/eina_unicode.c | |||
@@ -15,10 +15,18 @@ | |||
15 | * You should have received a copy of the GNU Lesser General Public | 15 | * You should have received a copy of the GNU Lesser General Public |
16 | * License along with this library; | 16 | * License along with this library; |
17 | * if not, see <http://www.gnu.org/licenses/>. | 17 | * if not, see <http://www.gnu.org/licenses/>. |
18 | |||
19 | */ | 18 | */ |
20 | 19 | ||
21 | #include <Eina.h> | 20 | #ifdef HAVE_CONFIG_H |
21 | # include "config.h" | ||
22 | #endif | ||
23 | |||
24 | #include "eina_config.h" | ||
25 | #include "eina_private.h" | ||
26 | #include <string.h> | ||
27 | |||
28 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | ||
29 | #include "eina_safety_checks.h" | ||
22 | #include "eina_unicode.h" | 30 | #include "eina_unicode.h" |
23 | 31 | ||
24 | /* FIXME: check if sizeof(wchar_t) == sizeof(Eina_Unicode) if so, | 32 | /* FIXME: check if sizeof(wchar_t) == sizeof(Eina_Unicode) if so, |
@@ -30,6 +38,9 @@ EAPI const Eina_Unicode *EINA_UNICODE_EMPTY_STRING = _EINA_UNICODE_EMPTY_STRING; | |||
30 | EAPI int | 38 | EAPI int |
31 | eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode *b) | 39 | eina_unicode_strcmp(const Eina_Unicode *a, const Eina_Unicode *b) |
32 | { | 40 | { |
41 | EINA_SAFETY_ON_NULL_RETURN_VAL(a, -1); | ||
42 | EINA_SAFETY_ON_NULL_RETURN_VAL(b, -1); | ||
43 | |||
33 | for (; *a && *a == *b; a++, b++) | 44 | for (; *a && *a == *b; a++, b++) |
34 | ; | 45 | ; |
35 | if (*a == *b) | 46 | if (*a == *b) |
@@ -45,6 +56,9 @@ eina_unicode_strcpy(Eina_Unicode *dest, const Eina_Unicode *source) | |||
45 | { | 56 | { |
46 | Eina_Unicode *ret = dest; | 57 | Eina_Unicode *ret = dest; |
47 | 58 | ||
59 | EINA_SAFETY_ON_NULL_RETURN_VAL(dest, NULL); | ||
60 | EINA_SAFETY_ON_NULL_RETURN_VAL(source, NULL); | ||
61 | |||
48 | while (*source) | 62 | while (*source) |
49 | *dest++ = *source++; | 63 | *dest++ = *source++; |
50 | *dest = 0; | 64 | *dest = 0; |
@@ -56,6 +70,9 @@ eina_unicode_strncpy(Eina_Unicode *dest, const Eina_Unicode *source, size_t n) | |||
56 | { | 70 | { |
57 | Eina_Unicode *ret = dest; | 71 | Eina_Unicode *ret = dest; |
58 | 72 | ||
73 | EINA_SAFETY_ON_NULL_RETURN_VAL(dest, NULL); | ||
74 | EINA_SAFETY_ON_NULL_RETURN_VAL(source, NULL); | ||
75 | |||
59 | for ( ; n && *source ; n--) | 76 | for ( ; n && *source ; n--) |
60 | *dest++ = *source++; | 77 | *dest++ = *source++; |
61 | for (; n; n--) | 78 | for (; n; n--) |
@@ -67,6 +84,9 @@ EAPI size_t | |||
67 | eina_unicode_strlen(const Eina_Unicode *ustr) | 84 | eina_unicode_strlen(const Eina_Unicode *ustr) |
68 | { | 85 | { |
69 | const Eina_Unicode *end; | 86 | const Eina_Unicode *end; |
87 | |||
88 | EINA_SAFETY_ON_NULL_RETURN_VAL(ustr, 0); | ||
89 | |||
70 | for (end = ustr; *end; end++) | 90 | for (end = ustr; *end; end++) |
71 | ; | 91 | ; |
72 | return end - ustr; | 92 | return end - ustr; |
@@ -77,6 +97,9 @@ eina_unicode_strnlen(const Eina_Unicode *ustr, int n) | |||
77 | { | 97 | { |
78 | const Eina_Unicode *end; | 98 | const Eina_Unicode *end; |
79 | const Eina_Unicode *last = ustr + n; /* technically not portable ;-) */ | 99 | const Eina_Unicode *last = ustr + n; /* technically not portable ;-) */ |
100 | |||
101 | EINA_SAFETY_ON_NULL_RETURN_VAL(ustr, 0); | ||
102 | |||
80 | for (end = ustr; end < last && *end; end++) | 103 | for (end = ustr; end < last && *end; end++) |
81 | ; | 104 | ; |
82 | return end - ustr; | 105 | return end - ustr; |
@@ -90,7 +113,9 @@ eina_unicode_strndup(const Eina_Unicode *text, size_t n) | |||
90 | { | 113 | { |
91 | Eina_Unicode *ustr; | 114 | Eina_Unicode *ustr; |
92 | 115 | ||
93 | ustr = (Eina_Unicode *) malloc((n + 1) * sizeof(Eina_Unicode)); | 116 | EINA_SAFETY_ON_NULL_RETURN_VAL(text, NULL); |
117 | |||
118 | ustr = malloc((n + 1) * sizeof(Eina_Unicode)); | ||
94 | memcpy(ustr, text, n * sizeof(Eina_Unicode)); | 119 | memcpy(ustr, text, n * sizeof(Eina_Unicode)); |
95 | ustr[n] = 0; | 120 | ustr[n] = 0; |
96 | return ustr; | 121 | return ustr; |
@@ -101,6 +126,8 @@ eina_unicode_strdup(const Eina_Unicode *text) | |||
101 | { | 126 | { |
102 | size_t len; | 127 | size_t len; |
103 | 128 | ||
129 | EINA_SAFETY_ON_NULL_RETURN_VAL(text, NULL); | ||
130 | |||
104 | len = eina_unicode_strlen(text); | 131 | len = eina_unicode_strlen(text); |
105 | return eina_unicode_strndup(text, len); | 132 | return eina_unicode_strndup(text, len); |
106 | } | 133 | } |
@@ -110,6 +137,9 @@ eina_unicode_strstr(const Eina_Unicode *haystack, const Eina_Unicode *needle) | |||
110 | { | 137 | { |
111 | const Eina_Unicode *i, *j; | 138 | const Eina_Unicode *i, *j; |
112 | 139 | ||
140 | EINA_SAFETY_ON_NULL_RETURN_VAL(haystack, NULL); | ||
141 | EINA_SAFETY_ON_NULL_RETURN_VAL(needle, NULL); | ||
142 | |||
113 | for (i = haystack; *i; i++) | 143 | for (i = haystack; *i; i++) |
114 | { | 144 | { |
115 | haystack = i; /* set this location as the base position */ | 145 | haystack = i; /* set this location as the base position */ |
@@ -131,6 +161,8 @@ eina_unicode_escape(const Eina_Unicode *str) | |||
131 | Eina_Unicode *s2, *d; | 161 | Eina_Unicode *s2, *d; |
132 | const Eina_Unicode *s; | 162 | const Eina_Unicode *s; |
133 | 163 | ||
164 | EINA_SAFETY_ON_NULL_RETURN_VAL(str, NULL); | ||
165 | |||
134 | s2 = malloc((eina_unicode_strlen(str) * 2) + 1); | 166 | s2 = malloc((eina_unicode_strlen(str) * 2) + 1); |
135 | if (!s2) | 167 | if (!s2) |
136 | return NULL; | 168 | return NULL; |
@@ -165,6 +197,9 @@ eina_unicode_utf8_get_next(const char *buf, int *iindex) | |||
165 | Eina_Unicode r; | 197 | Eina_Unicode r; |
166 | unsigned char d; | 198 | unsigned char d; |
167 | 199 | ||
200 | EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); | ||
201 | EINA_SAFETY_ON_NULL_RETURN_VAL(iindex, 0); | ||
202 | |||
168 | /* if this char is the null terminator, exit */ | 203 | /* if this char is the null terminator, exit */ |
169 | if ((d = buf[ind++]) == 0) return 0; | 204 | if ((d = buf[ind++]) == 0) return 0; |
170 | 205 | ||
@@ -266,8 +301,12 @@ error: | |||
266 | EAPI Eina_Unicode | 301 | EAPI Eina_Unicode |
267 | eina_unicode_utf8_get_prev(const char *buf, int *iindex) | 302 | eina_unicode_utf8_get_prev(const char *buf, int *iindex) |
268 | { | 303 | { |
269 | int r; | 304 | int r, ind; |
270 | int ind = *iindex; | 305 | |
306 | EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); | ||
307 | EINA_SAFETY_ON_NULL_RETURN_VAL(iindex, 0); | ||
308 | |||
309 | ind = *iindex; | ||
271 | /* First obtain the codepoint at iindex */ | 310 | /* First obtain the codepoint at iindex */ |
272 | r = eina_unicode_utf8_get_next(buf, &ind); | 311 | r = eina_unicode_utf8_get_next(buf, &ind); |
273 | 312 | ||
@@ -292,6 +331,8 @@ eina_unicode_utf8_get_len(const char *buf) | |||
292 | /* returns the number of utf8 characters (not bytes) in the string */ | 331 | /* returns the number of utf8 characters (not bytes) in the string */ |
293 | int i = 0, len = 0; | 332 | int i = 0, len = 0; |
294 | 333 | ||
334 | EINA_SAFETY_ON_NULL_RETURN_VAL(buf, 0); | ||
335 | |||
295 | while (eina_unicode_utf8_get_next(buf, &i)) | 336 | while (eina_unicode_utf8_get_next(buf, &i)) |
296 | len++; | 337 | len++; |
297 | 338 | ||
@@ -306,6 +347,8 @@ eina_unicode_utf8_to_unicode(const char *utf, int *_len) | |||
306 | int ind; | 347 | int ind; |
307 | Eina_Unicode *buf, *uind; | 348 | Eina_Unicode *buf, *uind; |
308 | 349 | ||
350 | EINA_SAFETY_ON_NULL_RETURN_VAL(utf, NULL); | ||
351 | |||
309 | len = eina_unicode_utf8_get_len(utf); | 352 | len = eina_unicode_utf8_get_len(utf); |
310 | if (_len) | 353 | if (_len) |
311 | *_len = len; | 354 | *_len = len; |
@@ -328,6 +371,8 @@ eina_unicode_unicode_to_utf8(const Eina_Unicode *uni, int *_len) | |||
328 | char *ind; | 371 | char *ind; |
329 | int ulen, len; | 372 | int ulen, len; |
330 | 373 | ||
374 | EINA_SAFETY_ON_NULL_RETURN_VAL(uni, NULL); | ||
375 | |||
331 | ulen = eina_unicode_strlen(uni); | 376 | ulen = eina_unicode_strlen(uni); |
332 | buf = (char *) calloc(ulen + 1, EINA_UNICODE_UTF8_BYTES_PER_CHAR); | 377 | buf = (char *) calloc(ulen + 1, EINA_UNICODE_UTF8_BYTES_PER_CHAR); |
333 | 378 | ||
diff --git a/libraries/eina/src/lib/eina_ustringshare.c b/libraries/eina/src/lib/eina_ustringshare.c index 3992dc6..33be242 100644 --- a/libraries/eina/src/lib/eina_ustringshare.c +++ b/libraries/eina/src/lib/eina_ustringshare.c | |||
@@ -27,11 +27,38 @@ | |||
27 | * | 27 | * |
28 | */ | 28 | */ |
29 | 29 | ||
30 | #include "eina_share_common.h" | 30 | #ifdef HAVE_CONFIG_H |
31 | #include "eina_unicode.h" | 31 | # include "config.h" |
32 | #endif | ||
33 | |||
34 | #include "eina_config.h" | ||
32 | #include "eina_private.h" | 35 | #include "eina_private.h" |
36 | #include "eina_unicode.h" | ||
37 | #include "eina_log.h" | ||
38 | #include "eina_share_common.h" | ||
39 | |||
40 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | ||
41 | #include "eina_safety_checks.h" | ||
33 | #include "eina_ustringshare.h" | 42 | #include "eina_ustringshare.h" |
34 | 43 | ||
44 | |||
45 | #ifdef CRITICAL | ||
46 | #undef CRITICAL | ||
47 | #endif | ||
48 | #define CRITICAL(...) EINA_LOG_DOM_CRIT(_eina_share_ustringshare_log_dom, __VA_ARGS__) | ||
49 | |||
50 | #ifdef ERR | ||
51 | #undef ERR | ||
52 | #endif | ||
53 | #define ERR(...) EINA_LOG_DOM_ERR(_eina_share_ustringshare_log_dom, __VA_ARGS__) | ||
54 | |||
55 | #ifdef DBG | ||
56 | #undef DBG | ||
57 | #endif | ||
58 | #define DBG(...) EINA_LOG_DOM_DBG(_eina_share_ustringshare_log_dom, __VA_ARGS__) | ||
59 | |||
60 | static int _eina_share_ustringshare_log_dom = -1; | ||
61 | |||
35 | /* The actual share */ | 62 | /* The actual share */ |
36 | static Eina_Share *ustringshare_share; | 63 | static Eina_Share *ustringshare_share; |
37 | static const char EINA_MAGIC_USTRINGSHARE_NODE_STR[] = "Eina UStringshare Node"; | 64 | static const char EINA_MAGIC_USTRINGSHARE_NODE_STR[] = "Eina UStringshare Node"; |
@@ -54,9 +81,31 @@ static const char EINA_MAGIC_USTRINGSHARE_NODE_STR[] = "Eina UStringshare Node"; | |||
54 | Eina_Bool | 81 | Eina_Bool |
55 | eina_ustringshare_init(void) | 82 | eina_ustringshare_init(void) |
56 | { | 83 | { |
57 | return eina_share_common_init(&ustringshare_share, | 84 | Eina_Bool ret; |
58 | EINA_MAGIC_USTRINGSHARE_NODE, | 85 | |
59 | EINA_MAGIC_USTRINGSHARE_NODE_STR); | 86 | if (_eina_share_ustringshare_log_dom < 0) |
87 | { | ||
88 | _eina_share_ustringshare_log_dom = eina_log_domain_register | ||
89 | ("eina_ustringshare", EINA_LOG_COLOR_DEFAULT); | ||
90 | |||
91 | if (_eina_share_ustringshare_log_dom < 0) | ||
92 | { | ||
93 | EINA_LOG_ERR("Could not register log domain: eina_ustringshare"); | ||
94 | return EINA_FALSE; | ||
95 | } | ||
96 | } | ||
97 | |||
98 | ret = eina_share_common_init(&ustringshare_share, | ||
99 | EINA_MAGIC_USTRINGSHARE_NODE, | ||
100 | EINA_MAGIC_USTRINGSHARE_NODE_STR); | ||
101 | |||
102 | if (!ret) | ||
103 | { | ||
104 | eina_log_domain_unregister(_eina_share_ustringshare_log_dom); | ||
105 | _eina_share_ustringshare_log_dom = -1; | ||
106 | } | ||
107 | |||
108 | return ret; | ||
60 | } | 109 | } |
61 | 110 | ||
62 | /** | 111 | /** |
@@ -75,6 +124,13 @@ eina_ustringshare_shutdown(void) | |||
75 | { | 124 | { |
76 | Eina_Bool ret; | 125 | Eina_Bool ret; |
77 | ret = eina_share_common_shutdown(&ustringshare_share); | 126 | ret = eina_share_common_shutdown(&ustringshare_share); |
127 | |||
128 | if (_eina_share_ustringshare_log_dom >= 0) | ||
129 | { | ||
130 | eina_log_domain_unregister(_eina_share_ustringshare_log_dom); | ||
131 | _eina_share_ustringshare_log_dom = -1; | ||
132 | } | ||
133 | |||
78 | return ret; | 134 | return ret; |
79 | } | 135 | } |
80 | 136 | ||
@@ -88,7 +144,8 @@ eina_ustringshare_del(const Eina_Unicode *str) | |||
88 | if (!str) | 144 | if (!str) |
89 | return; | 145 | return; |
90 | 146 | ||
91 | eina_share_common_del(ustringshare_share,(const char *)str); | 147 | if (!eina_share_common_del(ustringshare_share, (const char *)str)) |
148 | CRITICAL("EEEK trying to del non-shared ustringshare \"%s\"", (const char *)str); | ||
92 | } | 149 | } |
93 | 150 | ||
94 | EAPI const Eina_Unicode * | 151 | EAPI const Eina_Unicode * |
diff --git a/libraries/eina/src/lib/eina_value.c b/libraries/eina/src/lib/eina_value.c index ba8af52..b8df693 100644 --- a/libraries/eina/src/lib/eina_value.c +++ b/libraries/eina/src/lib/eina_value.c | |||
@@ -49,6 +49,10 @@ void *alloca (size_t); | |||
49 | #include <inttypes.h> /* PRId64 and PRIu64 */ | 49 | #include <inttypes.h> /* PRId64 and PRIu64 */ |
50 | #include <sys/time.h> /* struct timeval */ | 50 | #include <sys/time.h> /* struct timeval */ |
51 | 51 | ||
52 | #ifdef HAVE_EVIL | ||
53 | # include <Evil.h> | ||
54 | #endif | ||
55 | |||
52 | #include "eina_config.h" | 56 | #include "eina_config.h" |
53 | #include "eina_private.h" | 57 | #include "eina_private.h" |
54 | #include "eina_error.h" | 58 | #include "eina_error.h" |
@@ -60,6 +64,7 @@ void *alloca (size_t); | |||
60 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ | 64 | /* undefs EINA_ARG_NONULL() so NULL checks are not compiled out! */ |
61 | #include "eina_safety_checks.h" | 65 | #include "eina_safety_checks.h" |
62 | #include "eina_value.h" | 66 | #include "eina_value.h" |
67 | #include "eina_model.h" /* uses eina_value.h */ | ||
63 | 68 | ||
64 | /*============================================================================* | 69 | /*============================================================================* |
65 | * Local * | 70 | * Local * |
@@ -168,7 +173,7 @@ _eina_value_type_uchar_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
168 | unsigned int other_mem = v; | 173 | unsigned int other_mem = v; |
169 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 174 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
170 | } | 175 | } |
171 | else if (convert == EINA_VALUE_TYPE_ULONG) | 176 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
172 | { | 177 | { |
173 | unsigned long other_mem = v; | 178 | unsigned long other_mem = v; |
174 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 179 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
@@ -317,7 +322,7 @@ _eina_value_type_ushort_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
317 | unsigned int other_mem = v; | 322 | unsigned int other_mem = v; |
318 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 323 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
319 | } | 324 | } |
320 | else if (convert == EINA_VALUE_TYPE_ULONG) | 325 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
321 | { | 326 | { |
322 | unsigned long other_mem = v; | 327 | unsigned long other_mem = v; |
323 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 328 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
@@ -470,7 +475,7 @@ _eina_value_type_uint_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
470 | unsigned int other_mem = v; | 475 | unsigned int other_mem = v; |
471 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 476 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
472 | } | 477 | } |
473 | else if (convert == EINA_VALUE_TYPE_ULONG) | 478 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
474 | { | 479 | { |
475 | unsigned long other_mem = v; | 480 | unsigned long other_mem = v; |
476 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 481 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
@@ -627,7 +632,7 @@ _eina_value_type_ulong_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
627 | return EINA_FALSE; | 632 | return EINA_FALSE; |
628 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 633 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
629 | } | 634 | } |
630 | else if (convert == EINA_VALUE_TYPE_ULONG) | 635 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
631 | { | 636 | { |
632 | unsigned long other_mem = v; | 637 | unsigned long other_mem = v; |
633 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 638 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
@@ -786,7 +791,7 @@ _eina_value_type_uint64_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
786 | return EINA_FALSE; | 791 | return EINA_FALSE; |
787 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 792 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
788 | } | 793 | } |
789 | else if (convert == EINA_VALUE_TYPE_ULONG) | 794 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
790 | { | 795 | { |
791 | unsigned long other_mem = v; | 796 | unsigned long other_mem = v; |
792 | if (EINA_UNLIKELY((sizeof(other_mem) != sizeof(v)) && | 797 | if (EINA_UNLIKELY((sizeof(other_mem) != sizeof(v)) && |
@@ -950,7 +955,7 @@ _eina_value_type_char_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
950 | return EINA_FALSE; | 955 | return EINA_FALSE; |
951 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 956 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
952 | } | 957 | } |
953 | else if (convert == EINA_VALUE_TYPE_ULONG) | 958 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
954 | { | 959 | { |
955 | unsigned long other_mem = v; | 960 | unsigned long other_mem = v; |
956 | if (EINA_UNLIKELY(v < 0)) | 961 | if (EINA_UNLIKELY(v < 0)) |
@@ -1107,7 +1112,7 @@ _eina_value_type_short_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
1107 | return EINA_FALSE; | 1112 | return EINA_FALSE; |
1108 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1113 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1109 | } | 1114 | } |
1110 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1115 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1111 | { | 1116 | { |
1112 | unsigned long other_mem = v; | 1117 | unsigned long other_mem = v; |
1113 | if (EINA_UNLIKELY(v < 0)) | 1118 | if (EINA_UNLIKELY(v < 0)) |
@@ -1270,7 +1275,7 @@ _eina_value_type_int_convert_to(const Eina_Value_Type *type __UNUSED__, const Ei | |||
1270 | return EINA_FALSE; | 1275 | return EINA_FALSE; |
1271 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1276 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1272 | } | 1277 | } |
1273 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1278 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1274 | { | 1279 | { |
1275 | unsigned long other_mem = v; | 1280 | unsigned long other_mem = v; |
1276 | if (EINA_UNLIKELY(v < 0)) | 1281 | if (EINA_UNLIKELY(v < 0)) |
@@ -1439,7 +1444,7 @@ _eina_value_type_long_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
1439 | return EINA_FALSE; | 1444 | return EINA_FALSE; |
1440 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1445 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1441 | } | 1446 | } |
1442 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1447 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1443 | { | 1448 | { |
1444 | unsigned long other_mem = v; | 1449 | unsigned long other_mem = v; |
1445 | if (EINA_UNLIKELY(v < 0)) | 1450 | if (EINA_UNLIKELY(v < 0)) |
@@ -1612,7 +1617,7 @@ _eina_value_type_int64_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
1612 | return EINA_FALSE; | 1617 | return EINA_FALSE; |
1613 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1618 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1614 | } | 1619 | } |
1615 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1620 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1616 | { | 1621 | { |
1617 | unsigned long other_mem = v; | 1622 | unsigned long other_mem = v; |
1618 | if (EINA_UNLIKELY(v < 0)) | 1623 | if (EINA_UNLIKELY(v < 0)) |
@@ -1792,7 +1797,7 @@ _eina_value_type_float_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
1792 | return EINA_FALSE; | 1797 | return EINA_FALSE; |
1793 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1798 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1794 | } | 1799 | } |
1795 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1800 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1796 | { | 1801 | { |
1797 | unsigned long other_mem = v; | 1802 | unsigned long other_mem = v; |
1798 | if (EINA_UNLIKELY(v < 0)) | 1803 | if (EINA_UNLIKELY(v < 0)) |
@@ -1978,7 +1983,7 @@ _eina_value_type_double_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
1978 | return EINA_FALSE; | 1983 | return EINA_FALSE; |
1979 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 1984 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
1980 | } | 1985 | } |
1981 | else if (convert == EINA_VALUE_TYPE_ULONG) | 1986 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
1982 | { | 1987 | { |
1983 | unsigned long other_mem = v; | 1988 | unsigned long other_mem = v; |
1984 | if (EINA_UNLIKELY(v < 0)) | 1989 | if (EINA_UNLIKELY(v < 0)) |
@@ -2146,7 +2151,7 @@ _eina_value_type_string_common_convert_to(const Eina_Value_Type *type __UNUSED__ | |||
2146 | return EINA_FALSE; | 2151 | return EINA_FALSE; |
2147 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 2152 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
2148 | } | 2153 | } |
2149 | else if (convert == EINA_VALUE_TYPE_ULONG) | 2154 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
2150 | { | 2155 | { |
2151 | unsigned long other_mem; | 2156 | unsigned long other_mem; |
2152 | if ((sscanf(v, "%lu", &other_mem) != 1) && | 2157 | if ((sscanf(v, "%lu", &other_mem) != 1) && |
@@ -2248,7 +2253,11 @@ static Eina_Bool | |||
2248 | _eina_value_type_stringshare_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | 2253 | _eina_value_type_stringshare_flush(const Eina_Value_Type *type __UNUSED__, void *mem) |
2249 | { | 2254 | { |
2250 | const char **tmem = mem; | 2255 | const char **tmem = mem; |
2251 | if (*tmem) eina_stringshare_del(*tmem); | 2256 | if (*tmem) |
2257 | { | ||
2258 | eina_stringshare_del(*tmem); | ||
2259 | *tmem = NULL; | ||
2260 | } | ||
2252 | return EINA_TRUE; | 2261 | return EINA_TRUE; |
2253 | } | 2262 | } |
2254 | 2263 | ||
@@ -2257,8 +2266,7 @@ _eina_value_type_stringshare_copy(const Eina_Value_Type *type __UNUSED__, const | |||
2257 | { | 2266 | { |
2258 | const char * const*s = src; | 2267 | const char * const*s = src; |
2259 | const char **d = dst; | 2268 | const char **d = dst; |
2260 | *d = *s; | 2269 | *d = eina_stringshare_add(*s); |
2261 | eina_stringshare_ref(*d); | ||
2262 | return EINA_TRUE; | 2270 | return EINA_TRUE; |
2263 | } | 2271 | } |
2264 | 2272 | ||
@@ -2280,7 +2288,11 @@ static Eina_Bool | |||
2280 | _eina_value_type_string_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | 2288 | _eina_value_type_string_flush(const Eina_Value_Type *type __UNUSED__, void *mem) |
2281 | { | 2289 | { |
2282 | char **tmem = mem; | 2290 | char **tmem = mem; |
2283 | if (*tmem) free(*tmem); | 2291 | if (*tmem) |
2292 | { | ||
2293 | free(*tmem); | ||
2294 | *tmem = NULL; | ||
2295 | } | ||
2284 | return EINA_TRUE; | 2296 | return EINA_TRUE; |
2285 | } | 2297 | } |
2286 | 2298 | ||
@@ -2308,19 +2320,24 @@ _eina_value_type_string_vset(const Eina_Value_Type *type __UNUSED__, void *mem, | |||
2308 | { | 2320 | { |
2309 | char **tmem = mem; | 2321 | char **tmem = mem; |
2310 | const char *str = va_arg(args, const char *); | 2322 | const char *str = va_arg(args, const char *); |
2311 | free(*tmem); | 2323 | eina_error_set(0); |
2312 | if (str == NULL) | 2324 | if (str == *tmem) return EINA_TRUE; |
2313 | *tmem = NULL; | 2325 | if (!str) |
2326 | { | ||
2327 | free(*tmem); | ||
2328 | *tmem = NULL; | ||
2329 | } | ||
2314 | else | 2330 | else |
2315 | { | 2331 | { |
2316 | *tmem = strdup(str); | 2332 | char *tmp = strdup(str); |
2317 | if (*tmem == NULL) | 2333 | if (!tmp) |
2318 | { | 2334 | { |
2319 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 2335 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
2320 | return EINA_FALSE; | 2336 | return EINA_FALSE; |
2321 | } | 2337 | } |
2338 | free(*tmem); | ||
2339 | *tmem = tmp; | ||
2322 | } | 2340 | } |
2323 | eina_error_set(0); | ||
2324 | return EINA_TRUE; | 2341 | return EINA_TRUE; |
2325 | } | 2342 | } |
2326 | 2343 | ||
@@ -2329,19 +2346,24 @@ _eina_value_type_string_pset(const Eina_Value_Type *type __UNUSED__, void *mem, | |||
2329 | { | 2346 | { |
2330 | char **tmem = mem; | 2347 | char **tmem = mem; |
2331 | const char * const *str = ptr; | 2348 | const char * const *str = ptr; |
2332 | free(*tmem); | 2349 | eina_error_set(0); |
2333 | if (*str == NULL) | 2350 | if (*str == *tmem) return EINA_TRUE; |
2334 | *tmem = NULL; | 2351 | if (!*str) |
2352 | { | ||
2353 | free(*tmem); | ||
2354 | *tmem = NULL; | ||
2355 | } | ||
2335 | else | 2356 | else |
2336 | { | 2357 | { |
2337 | *tmem = strdup(*str); | 2358 | char *tmp = strdup(*str); |
2338 | if (*tmem == NULL) | 2359 | if (!tmp) |
2339 | { | 2360 | { |
2340 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 2361 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
2341 | return EINA_FALSE; | 2362 | return EINA_FALSE; |
2342 | } | 2363 | } |
2364 | free(*tmem); | ||
2365 | *tmem = tmp; | ||
2343 | } | 2366 | } |
2344 | eina_error_set(0); | ||
2345 | return EINA_TRUE; | 2367 | return EINA_TRUE; |
2346 | } | 2368 | } |
2347 | 2369 | ||
@@ -2505,12 +2527,13 @@ _eina_value_type_array_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
2505 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) | 2527 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) |
2506 | { | 2528 | { |
2507 | Eina_Strbuf *str = eina_strbuf_new(); | 2529 | Eina_Strbuf *str = eina_strbuf_new(); |
2530 | const char *ptr; | ||
2508 | if (!tmem->array) eina_strbuf_append(str, "[]"); | 2531 | if (!tmem->array) eina_strbuf_append(str, "[]"); |
2509 | else | 2532 | else |
2510 | { | 2533 | { |
2511 | const Eina_Value_Type *subtype = tmem->subtype; | 2534 | const Eina_Value_Type *subtype = tmem->subtype; |
2512 | unsigned char sz; | 2535 | unsigned char sz; |
2513 | const char *ptr, *ptr_end; | 2536 | const char *ptr_end; |
2514 | Eina_Value tmp; | 2537 | Eina_Value tmp; |
2515 | Eina_Bool first = EINA_TRUE; | 2538 | Eina_Bool first = EINA_TRUE; |
2516 | 2539 | ||
@@ -2551,10 +2574,10 @@ _eina_value_type_array_convert_to(const Eina_Value_Type *type __UNUSED__, const | |||
2551 | } | 2574 | } |
2552 | 2575 | ||
2553 | eina_strbuf_append_char(str, ']'); | 2576 | eina_strbuf_append_char(str, ']'); |
2554 | ptr = eina_strbuf_string_get(str); | ||
2555 | ret = eina_value_type_pset(convert, convert_mem, &ptr); | ||
2556 | eina_strbuf_free(str); | ||
2557 | } | 2577 | } |
2578 | ptr = eina_strbuf_string_get(str); | ||
2579 | ret = eina_value_type_pset(convert, convert_mem, &ptr); | ||
2580 | eina_strbuf_free(str); | ||
2558 | } | 2581 | } |
2559 | else if ((tmem->array) && (tmem->array->len == 1)) | 2582 | else if ((tmem->array) && (tmem->array->len == 1)) |
2560 | { | 2583 | { |
@@ -2606,43 +2629,51 @@ _eina_value_type_array_convert_from(const Eina_Value_Type *type, const Eina_Valu | |||
2606 | } | 2629 | } |
2607 | 2630 | ||
2608 | static Eina_Bool | 2631 | static Eina_Bool |
2609 | _eina_value_type_array_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) | 2632 | _eina_value_type_array_pset(const Eina_Value_Type *type, void *mem, const void *ptr) |
2610 | { | 2633 | { |
2611 | Eina_Value_Array *tmem = mem; | 2634 | Eina_Value_Array *tmem = mem; |
2612 | const Eina_Value_Array *desc = ptr; | 2635 | const Eina_Value_Array *desc = ptr; |
2613 | Eina_Inarray *desc_array; | 2636 | Eina_Inarray *desc_array; |
2614 | 2637 | ||
2638 | eina_error_set(0); | ||
2615 | if ((!tmem->subtype) && (!desc->subtype)) | 2639 | if ((!tmem->subtype) && (!desc->subtype)) |
2616 | return EINA_TRUE; | 2640 | return EINA_TRUE; |
2617 | 2641 | ||
2618 | desc_array = desc->array; | 2642 | desc_array = desc->array; |
2619 | if (desc_array) | 2643 | if (desc_array) |
2620 | { | 2644 | { |
2645 | Eina_Value_Array tmp; | ||
2646 | |||
2621 | EINA_SAFETY_ON_FALSE_RETURN_VAL | 2647 | EINA_SAFETY_ON_FALSE_RETURN_VAL |
2622 | (desc_array->member_size == desc->subtype->value_size, EINA_FALSE); | 2648 | (desc_array->member_size == desc->subtype->value_size, EINA_FALSE); |
2649 | |||
2650 | if (desc_array == tmem->array) | ||
2651 | { | ||
2652 | tmem->subtype = desc->subtype; | ||
2653 | return EINA_TRUE; | ||
2654 | } | ||
2655 | |||
2656 | if (!_eina_value_type_array_copy(type, desc, &tmp)) | ||
2657 | return EINA_FALSE; | ||
2658 | |||
2659 | _eina_value_type_array_flush(type, tmem); | ||
2660 | memcpy(tmem, &tmp, sizeof(tmp)); | ||
2661 | return EINA_TRUE; | ||
2623 | } | 2662 | } |
2624 | 2663 | ||
2625 | if (tmem->array) | 2664 | if (tmem->array) |
2626 | { | 2665 | { |
2627 | _eina_value_type_array_flush_elements(tmem); | 2666 | _eina_value_type_array_flush_elements(tmem); |
2628 | if (desc_array) | 2667 | eina_inarray_setup(tmem->array, desc->subtype->value_size, desc->step); |
2629 | eina_inarray_free(tmem->array); | ||
2630 | else | ||
2631 | eina_inarray_setup(tmem->array, desc->subtype->value_size, | ||
2632 | desc->step); | ||
2633 | } | 2668 | } |
2634 | else if (!desc_array) | 2669 | else |
2635 | { | 2670 | { |
2636 | tmem->array = eina_inarray_new(desc->subtype->value_size, desc->step); | 2671 | tmem->array = eina_inarray_new(desc->subtype->value_size, desc->step); |
2637 | if (!tmem->array) | 2672 | if (!tmem->array) |
2638 | return EINA_FALSE; | 2673 | return EINA_FALSE; |
2639 | } | 2674 | } |
2640 | 2675 | ||
2641 | if (desc_array) | ||
2642 | tmem->array = desc_array; | ||
2643 | |||
2644 | tmem->subtype = desc->subtype; | 2676 | tmem->subtype = desc->subtype; |
2645 | |||
2646 | return EINA_TRUE; | 2677 | return EINA_TRUE; |
2647 | } | 2678 | } |
2648 | 2679 | ||
@@ -2821,13 +2852,13 @@ _eina_value_type_list_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
2821 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) | 2852 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) |
2822 | { | 2853 | { |
2823 | Eina_Strbuf *str = eina_strbuf_new(); | 2854 | Eina_Strbuf *str = eina_strbuf_new(); |
2855 | const char *s; | ||
2824 | if (!tmem->list) eina_strbuf_append(str, "[]"); | 2856 | if (!tmem->list) eina_strbuf_append(str, "[]"); |
2825 | else | 2857 | else |
2826 | { | 2858 | { |
2827 | const Eina_Value_Type *subtype = tmem->subtype; | 2859 | const Eina_Value_Type *subtype = tmem->subtype; |
2828 | const Eina_List *node; | 2860 | const Eina_List *node; |
2829 | Eina_Value tmp; | 2861 | Eina_Value tmp; |
2830 | const char *s; | ||
2831 | Eina_Bool first = EINA_TRUE; | 2862 | Eina_Bool first = EINA_TRUE; |
2832 | 2863 | ||
2833 | eina_value_setup(&tmp, EINA_VALUE_TYPE_STRING); | 2864 | eina_value_setup(&tmp, EINA_VALUE_TYPE_STRING); |
@@ -2867,10 +2898,10 @@ _eina_value_type_list_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
2867 | } | 2898 | } |
2868 | 2899 | ||
2869 | eina_strbuf_append_char(str, ']'); | 2900 | eina_strbuf_append_char(str, ']'); |
2870 | s = eina_strbuf_string_get(str); | ||
2871 | ret = eina_value_type_pset(convert, convert_mem, &s); | ||
2872 | eina_strbuf_free(str); | ||
2873 | } | 2901 | } |
2902 | s = eina_strbuf_string_get(str); | ||
2903 | ret = eina_value_type_pset(convert, convert_mem, &s); | ||
2904 | eina_strbuf_free(str); | ||
2874 | } | 2905 | } |
2875 | else if ((tmem->list) && (tmem->list->next == NULL)) | 2906 | else if ((tmem->list) && (tmem->list->next == NULL)) |
2876 | { | 2907 | { |
@@ -2932,18 +2963,36 @@ _eina_value_type_list_convert_from(const Eina_Value_Type *type, const Eina_Value | |||
2932 | } | 2963 | } |
2933 | 2964 | ||
2934 | static Eina_Bool | 2965 | static Eina_Bool |
2935 | _eina_value_type_list_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) | 2966 | _eina_value_type_list_pset(const Eina_Value_Type *type, void *mem, const void *ptr) |
2936 | { | 2967 | { |
2937 | Eina_Value_List *tmem = mem; | 2968 | Eina_Value_List *tmem = mem; |
2938 | const Eina_Value_List *desc = ptr; | 2969 | const Eina_Value_List *desc = ptr; |
2939 | 2970 | ||
2971 | eina_error_set(0); | ||
2940 | if ((!tmem->subtype) && (!desc->subtype)) | 2972 | if ((!tmem->subtype) && (!desc->subtype)) |
2941 | return EINA_TRUE; | 2973 | return EINA_TRUE; |
2942 | 2974 | ||
2975 | if ((tmem->list) && (tmem->list == desc->list)) | ||
2976 | { | ||
2977 | tmem->subtype = desc->subtype; | ||
2978 | return EINA_TRUE; | ||
2979 | } | ||
2980 | |||
2981 | if (desc->list) | ||
2982 | { | ||
2983 | Eina_Value_List tmp; | ||
2984 | |||
2985 | if (!_eina_value_type_list_copy(type, desc, &tmp)) | ||
2986 | return EINA_FALSE; | ||
2987 | |||
2988 | _eina_value_type_list_flush(type, tmem); | ||
2989 | memcpy(tmem, &tmp, sizeof(tmp)); | ||
2990 | return EINA_TRUE; | ||
2991 | } | ||
2992 | |||
2943 | _eina_value_type_list_flush_elements(tmem); | 2993 | _eina_value_type_list_flush_elements(tmem); |
2944 | tmem->subtype = desc->subtype; | ||
2945 | tmem->list = desc->list; | ||
2946 | 2994 | ||
2995 | tmem->subtype = desc->subtype; | ||
2947 | return EINA_TRUE; | 2996 | return EINA_TRUE; |
2948 | } | 2997 | } |
2949 | 2998 | ||
@@ -2995,6 +3044,7 @@ _eina_value_type_hash_flush_each(const Eina_Hash *hash __UNUSED__, const void *k | |||
2995 | { | 3044 | { |
2996 | struct _eina_value_type_hash_flush_each_ctx *ctx = user_data; | 3045 | struct _eina_value_type_hash_flush_each_ctx *ctx = user_data; |
2997 | ctx->ret &= eina_value_type_flush(ctx->subtype, mem); | 3046 | ctx->ret &= eina_value_type_flush(ctx->subtype, mem); |
3047 | free(mem); | ||
2998 | return EINA_TRUE; | 3048 | return EINA_TRUE; |
2999 | } | 3049 | } |
3000 | 3050 | ||
@@ -3239,11 +3289,11 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
3239 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) | 3289 | (convert == EINA_VALUE_TYPE_STRINGSHARE)) |
3240 | { | 3290 | { |
3241 | Eina_Strbuf *str = eina_strbuf_new(); | 3291 | Eina_Strbuf *str = eina_strbuf_new(); |
3292 | const char *s; | ||
3242 | if (!tmem->hash) eina_strbuf_append(str, "{}"); | 3293 | if (!tmem->hash) eina_strbuf_append(str, "{}"); |
3243 | else | 3294 | else |
3244 | { | 3295 | { |
3245 | struct _eina_value_type_hash_convert_to_string_each_ctx ctx; | 3296 | struct _eina_value_type_hash_convert_to_string_each_ctx ctx; |
3246 | const char *s; | ||
3247 | 3297 | ||
3248 | ctx.subtype = tmem->subtype; | 3298 | ctx.subtype = tmem->subtype; |
3249 | ctx.str = str; | 3299 | ctx.str = str; |
@@ -3257,10 +3307,10 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
3257 | &ctx); | 3307 | &ctx); |
3258 | 3308 | ||
3259 | eina_strbuf_append_char(str, '}'); | 3309 | eina_strbuf_append_char(str, '}'); |
3260 | s = eina_strbuf_string_get(str); | ||
3261 | ret = eina_value_type_pset(convert, convert_mem, &s); | ||
3262 | eina_strbuf_free(str); | ||
3263 | } | 3310 | } |
3311 | s = eina_strbuf_string_get(str); | ||
3312 | ret = eina_value_type_pset(convert, convert_mem, &s); | ||
3313 | eina_strbuf_free(str); | ||
3264 | } | 3314 | } |
3265 | else if ((tmem->hash) && (eina_hash_population(tmem->hash) == 1)) | 3315 | else if ((tmem->hash) && (eina_hash_population(tmem->hash) == 1)) |
3266 | { | 3316 | { |
@@ -3288,22 +3338,38 @@ _eina_value_type_hash_convert_to(const Eina_Value_Type *type __UNUSED__, const E | |||
3288 | } | 3338 | } |
3289 | 3339 | ||
3290 | static Eina_Bool | 3340 | static Eina_Bool |
3291 | _eina_value_type_hash_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) | 3341 | _eina_value_type_hash_pset(const Eina_Value_Type *type, void *mem, const void *ptr) |
3292 | { | 3342 | { |
3293 | Eina_Value_Hash *tmem = mem; | 3343 | Eina_Value_Hash *tmem = mem; |
3294 | const Eina_Value_Hash *desc = ptr; | 3344 | const Eina_Value_Hash *desc = ptr; |
3295 | 3345 | ||
3346 | eina_error_set(0); | ||
3296 | if ((!tmem->subtype) && (!desc->subtype)) | 3347 | if ((!tmem->subtype) && (!desc->subtype)) |
3297 | return EINA_TRUE; | 3348 | return EINA_TRUE; |
3298 | 3349 | ||
3299 | if (tmem->hash) _eina_value_type_hash_flush_elements(tmem); | 3350 | if ((tmem->hash) && (tmem->hash == desc->hash)) |
3351 | { | ||
3352 | tmem->subtype = desc->subtype; | ||
3353 | return EINA_TRUE; | ||
3354 | } | ||
3300 | 3355 | ||
3301 | if (desc->hash) | 3356 | if (desc->hash) |
3302 | tmem->hash = desc->hash; | 3357 | { |
3303 | else if (!_eina_value_type_hash_create(tmem)) | 3358 | Eina_Value_Hash tmp; |
3304 | return EINA_FALSE; | 3359 | |
3360 | if (!_eina_value_type_hash_copy(type, desc, &tmp)) | ||
3361 | return EINA_FALSE; | ||
3362 | |||
3363 | _eina_value_type_hash_flush(type, tmem); | ||
3364 | memcpy(tmem, &tmp, sizeof(tmp)); | ||
3365 | return EINA_TRUE; | ||
3366 | } | ||
3367 | |||
3368 | if (tmem->hash) _eina_value_type_hash_flush_elements(tmem); | ||
3305 | 3369 | ||
3306 | tmem->subtype = desc->subtype; | 3370 | tmem->subtype = desc->subtype; |
3371 | if (!_eina_value_type_hash_create(tmem)) | ||
3372 | return EINA_FALSE; | ||
3307 | 3373 | ||
3308 | return EINA_TRUE; | 3374 | return EINA_TRUE; |
3309 | } | 3375 | } |
@@ -3424,7 +3490,7 @@ _eina_value_type_timeval_convert_to(const Eina_Value_Type *type __UNUSED__, cons | |||
3424 | return EINA_FALSE; | 3490 | return EINA_FALSE; |
3425 | return eina_value_type_pset(convert, convert_mem, &other_mem); | 3491 | return eina_value_type_pset(convert, convert_mem, &other_mem); |
3426 | } | 3492 | } |
3427 | else if (convert == EINA_VALUE_TYPE_ULONG) | 3493 | else if ((convert == EINA_VALUE_TYPE_ULONG) || (convert == EINA_VALUE_TYPE_TIMESTAMP)) |
3428 | { | 3494 | { |
3429 | unsigned long other_mem = v.tv_sec; | 3495 | unsigned long other_mem = v.tv_sec; |
3430 | if (EINA_UNLIKELY(v.tv_sec < 0)) | 3496 | if (EINA_UNLIKELY(v.tv_sec < 0)) |
@@ -3570,6 +3636,8 @@ _eina_value_type_blob_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | |||
3570 | Eina_Value_Blob *tmem = mem; | 3636 | Eina_Value_Blob *tmem = mem; |
3571 | if ((ops) && (ops->free)) | 3637 | if ((ops) && (ops->free)) |
3572 | ops->free(ops, (void *)tmem->memory, tmem->size); | 3638 | ops->free(ops, (void *)tmem->memory, tmem->size); |
3639 | tmem->memory = NULL; | ||
3640 | tmem->size = 0; | ||
3573 | return EINA_TRUE; | 3641 | return EINA_TRUE; |
3574 | } | 3642 | } |
3575 | 3643 | ||
@@ -3776,6 +3844,14 @@ _eina_value_type_blob_pset(const Eina_Value_Type *type __UNUSED__, void *mem, co | |||
3776 | Eina_Value_Blob *tmem = mem; | 3844 | Eina_Value_Blob *tmem = mem; |
3777 | const Eina_Value_Blob *desc = ptr; | 3845 | const Eina_Value_Blob *desc = ptr; |
3778 | 3846 | ||
3847 | eina_error_set(0); | ||
3848 | if ((tmem->memory) && (tmem->memory == desc->memory)) | ||
3849 | { | ||
3850 | tmem->ops = desc->ops; | ||
3851 | tmem->size = desc->size; | ||
3852 | return EINA_TRUE; | ||
3853 | } | ||
3854 | |||
3779 | if ((ops) && (ops->free)) | 3855 | if ((ops) && (ops->free)) |
3780 | ops->free(ops, (void *)tmem->memory, tmem->size); | 3856 | ops->free(ops, (void *)tmem->memory, tmem->size); |
3781 | 3857 | ||
@@ -3872,6 +3948,7 @@ _eina_value_struct_operations_stringshare_find_member(const Eina_Value_Struct_Op | |||
3872 | return itr; | 3948 | return itr; |
3873 | } | 3949 | } |
3874 | 3950 | ||
3951 | itr = desc->members; | ||
3875 | name = eina_stringshare_add(name); | 3952 | name = eina_stringshare_add(name); |
3876 | eina_stringshare_del(name); /* we'll not use the contents, this is fine */ | 3953 | eina_stringshare_del(name); /* we'll not use the contents, this is fine */ |
3877 | /* stringshare and look again */ | 3954 | /* stringshare and look again */ |
@@ -3955,6 +4032,13 @@ _eina_value_type_struct_setup(const Eina_Value_Type *type __UNUSED__, void *mem) | |||
3955 | } | 4032 | } |
3956 | 4033 | ||
3957 | static Eina_Bool | 4034 | static Eina_Bool |
4035 | _eina_value_type_struct_setup_member(const Eina_Value_Struct_Member *member, Eina_Value_Struct *st) | ||
4036 | { | ||
4037 | unsigned char *base = st->memory; | ||
4038 | return eina_value_type_setup(member->type, base + member->offset); | ||
4039 | } | ||
4040 | |||
4041 | static Eina_Bool | ||
3958 | _eina_value_type_struct_flush_member(const Eina_Value_Struct_Member *member, Eina_Value_Struct *st) | 4042 | _eina_value_type_struct_flush_member(const Eina_Value_Struct_Member *member, Eina_Value_Struct *st) |
3959 | { | 4043 | { |
3960 | unsigned char *base = st->memory; | 4044 | unsigned char *base = st->memory; |
@@ -3969,6 +4053,9 @@ _eina_value_type_struct_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | |||
3969 | Eina_Value_Struct *tmem = mem; | 4053 | Eina_Value_Struct *tmem = mem; |
3970 | Eina_Bool ret = EINA_TRUE; | 4054 | Eina_Bool ret = EINA_TRUE; |
3971 | 4055 | ||
4056 | if ((!tmem->desc) || (!tmem->memory)) | ||
4057 | return EINA_TRUE; | ||
4058 | |||
3972 | itr = tmem->desc->members; | 4059 | itr = tmem->desc->members; |
3973 | if (tmem->desc->member_count > 0) | 4060 | if (tmem->desc->member_count > 0) |
3974 | { | 4061 | { |
@@ -3989,6 +4076,9 @@ _eina_value_type_struct_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | |||
3989 | else | 4076 | else |
3990 | free(tmem->memory); | 4077 | free(tmem->memory); |
3991 | 4078 | ||
4079 | tmem->memory = NULL; | ||
4080 | tmem->desc = NULL; | ||
4081 | |||
3992 | return ret; | 4082 | return ret; |
3993 | } | 4083 | } |
3994 | 4084 | ||
@@ -4012,6 +4102,9 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void | |||
4012 | 4102 | ||
4013 | *d = *s; | 4103 | *d = *s; |
4014 | 4104 | ||
4105 | if ((!s->desc) || (!s->memory)) | ||
4106 | return EINA_TRUE; | ||
4107 | |||
4015 | ops = _eina_value_type_struct_ops_get(src); | 4108 | ops = _eina_value_type_struct_ops_get(src); |
4016 | if ((ops) && (ops->copy)) | 4109 | if ((ops) && (ops->copy)) |
4017 | { | 4110 | { |
@@ -4021,7 +4114,10 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void | |||
4021 | return EINA_TRUE; | 4114 | return EINA_TRUE; |
4022 | } | 4115 | } |
4023 | 4116 | ||
4024 | d->memory = malloc(s->desc->size); | 4117 | if ((ops) && (ops->alloc)) |
4118 | d->memory = ops->alloc(ops, s->desc); | ||
4119 | else | ||
4120 | d->memory = malloc(s->desc->size); | ||
4025 | if (!d->memory) | 4121 | if (!d->memory) |
4026 | { | 4122 | { |
4027 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 4123 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
@@ -4043,14 +4139,17 @@ _eina_value_type_struct_copy(const Eina_Value_Type *type __UNUSED__, const void | |||
4043 | goto error; | 4139 | goto error; |
4044 | } | 4140 | } |
4045 | 4141 | ||
4046 | |||
4047 | return EINA_TRUE; | 4142 | return EINA_TRUE; |
4048 | 4143 | ||
4049 | error: | 4144 | error: |
4050 | itr--; | 4145 | itr--; |
4051 | for (; itr >= s->desc->members; itr--) | 4146 | for (; itr >= s->desc->members; itr--) |
4052 | _eina_value_type_struct_flush_member(itr, d); | 4147 | _eina_value_type_struct_flush_member(itr, d); |
4053 | free(d->memory); | 4148 | |
4149 | if ((ops) && (ops->free)) | ||
4150 | ops->free(ops, s->desc, d->memory); | ||
4151 | else | ||
4152 | free(d->memory); | ||
4054 | return EINA_FALSE; | 4153 | return EINA_FALSE; |
4055 | } | 4154 | } |
4056 | 4155 | ||
@@ -4072,7 +4171,9 @@ _eina_value_type_struct_compare(const Eina_Value_Type *type __UNUSED__, const vo | |||
4072 | const Eina_Value_Struct_Member *itr; | 4171 | const Eina_Value_Struct_Member *itr; |
4073 | int cmp = 0; | 4172 | int cmp = 0; |
4074 | 4173 | ||
4075 | if (ta->desc != tb->desc) | 4174 | if ((!ta->desc) && (!tb->desc)) |
4175 | return 0; | ||
4176 | else if (ta->desc != tb->desc) | ||
4076 | { | 4177 | { |
4077 | eina_error_set(EINA_ERROR_VALUE_FAILED); | 4178 | eina_error_set(EINA_ERROR_VALUE_FAILED); |
4078 | return -1; | 4179 | return -1; |
@@ -4236,11 +4337,12 @@ _eina_value_type_struct_desc_check(const Eina_Value_Struct_Desc *desc) | |||
4236 | } | 4337 | } |
4237 | 4338 | ||
4238 | static Eina_Bool | 4339 | static Eina_Bool |
4239 | _eina_value_type_struct_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) | 4340 | _eina_value_type_struct_pset(const Eina_Value_Type *type, void *mem, const void *ptr) |
4240 | { | 4341 | { |
4241 | const Eina_Value_Struct_Operations *ops = _eina_value_type_struct_ops_get(mem); | 4342 | const Eina_Value_Struct_Operations *ops; |
4242 | Eina_Value_Struct *tmem = mem; | 4343 | Eina_Value_Struct *tmem = mem; |
4243 | const Eina_Value_Struct *desc = ptr; | 4344 | const Eina_Value_Struct *desc = ptr; |
4345 | const Eina_Value_Struct_Member *itr; | ||
4244 | 4346 | ||
4245 | if (!_eina_value_type_struct_desc_check(desc->desc)) | 4347 | if (!_eina_value_type_struct_desc_check(desc->desc)) |
4246 | { | 4348 | { |
@@ -4248,30 +4350,71 @@ _eina_value_type_struct_pset(const Eina_Value_Type *type __UNUSED__, void *mem, | |||
4248 | return EINA_FALSE; | 4350 | return EINA_FALSE; |
4249 | } | 4351 | } |
4250 | 4352 | ||
4251 | if ((ops) && (ops->free)) | 4353 | eina_error_set(0); |
4252 | ops->free(ops, tmem->desc, tmem->memory); | 4354 | if ((tmem->memory) && (tmem->memory == desc->memory)) |
4253 | else | 4355 | { |
4254 | free(tmem->memory); | 4356 | tmem->desc = desc->desc; |
4357 | return EINA_TRUE; | ||
4358 | } | ||
4255 | 4359 | ||
4256 | *tmem = *desc; | 4360 | if (desc->memory) |
4361 | { | ||
4362 | Eina_Value_Struct tmp; | ||
4363 | |||
4364 | if (!_eina_value_type_struct_copy(type, desc, &tmp)) | ||
4365 | return EINA_FALSE; | ||
4366 | |||
4367 | _eina_value_type_struct_flush(type, tmem); | ||
4368 | memcpy(tmem, &tmp, sizeof(tmp)); | ||
4369 | return EINA_TRUE; | ||
4370 | } | ||
4371 | |||
4372 | if (tmem->memory) _eina_value_type_struct_flush(type, mem); | ||
4373 | |||
4374 | tmem->desc = desc->desc; | ||
4257 | 4375 | ||
4258 | ops = _eina_value_type_struct_ops_get(desc); | 4376 | ops = _eina_value_type_struct_ops_get(desc); |
4377 | if ((ops) && (ops->alloc)) | ||
4378 | tmem->memory = ops->alloc(ops, tmem->desc); | ||
4379 | else | ||
4380 | tmem->memory = malloc(tmem->desc->size); | ||
4381 | |||
4259 | if (!tmem->memory) | 4382 | if (!tmem->memory) |
4260 | { | 4383 | { |
4261 | if ((ops) && (ops->alloc)) | 4384 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); |
4262 | tmem->memory = ops->alloc(ops, tmem->desc); | 4385 | return EINA_FALSE; |
4263 | else | 4386 | } |
4264 | tmem->memory = malloc(tmem->desc->size); | ||
4265 | 4387 | ||
4266 | if (!tmem->memory) | 4388 | itr = tmem->desc->members; |
4267 | { | 4389 | if (tmem->desc->member_count > 0) |
4268 | eina_error_set(EINA_ERROR_OUT_OF_MEMORY); | 4390 | { |
4269 | return EINA_FALSE; | 4391 | const Eina_Value_Struct_Member *itr_end; |
4270 | } | 4392 | itr_end = itr + tmem->desc->member_count; |
4393 | for (; itr < itr_end; itr++) | ||
4394 | if (!_eina_value_type_struct_setup_member(itr, tmem)) | ||
4395 | goto error; | ||
4396 | } | ||
4397 | else | ||
4398 | { | ||
4399 | for (; itr->name != NULL; itr++) | ||
4400 | if (!_eina_value_type_struct_setup_member(itr, tmem)) | ||
4401 | goto error; | ||
4271 | } | 4402 | } |
4272 | 4403 | ||
4273 | eina_error_set(0); | ||
4274 | return EINA_TRUE; | 4404 | return EINA_TRUE; |
4405 | |||
4406 | error: | ||
4407 | itr--; | ||
4408 | for (; itr >= tmem->desc->members; itr--) | ||
4409 | _eina_value_type_struct_flush_member(itr, tmem); | ||
4410 | |||
4411 | if ((ops) && (ops->free)) | ||
4412 | ops->free(ops, tmem->desc, tmem->memory); | ||
4413 | else | ||
4414 | free(tmem->memory); | ||
4415 | tmem->memory = NULL; | ||
4416 | tmem->desc = NULL; | ||
4417 | return EINA_FALSE; | ||
4275 | } | 4418 | } |
4276 | 4419 | ||
4277 | static Eina_Bool | 4420 | static Eina_Bool |
@@ -4304,6 +4447,130 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_STRUCT = { | |||
4304 | _eina_value_type_struct_pget | 4447 | _eina_value_type_struct_pget |
4305 | }; | 4448 | }; |
4306 | 4449 | ||
4450 | static Eina_Bool | ||
4451 | _eina_value_type_model_setup(const Eina_Value_Type *type __UNUSED__, void *mem) | ||
4452 | { | ||
4453 | Eina_Model **tmem = mem; | ||
4454 | *tmem = NULL; | ||
4455 | return EINA_TRUE; | ||
4456 | } | ||
4457 | |||
4458 | static Eina_Bool | ||
4459 | _eina_value_type_model_flush(const Eina_Value_Type *type __UNUSED__, void *mem) | ||
4460 | { | ||
4461 | Eina_Model **tmem = mem; | ||
4462 | if (*tmem) | ||
4463 | { | ||
4464 | eina_model_unref(*tmem); | ||
4465 | *tmem = NULL; | ||
4466 | } | ||
4467 | return EINA_TRUE; | ||
4468 | } | ||
4469 | |||
4470 | static Eina_Bool | ||
4471 | _eina_value_type_model_copy(const Eina_Value_Type *type __UNUSED__, const void *src, void *dst) | ||
4472 | { | ||
4473 | const Eina_Model * const *s = src; | ||
4474 | Eina_Model **d = dst; | ||
4475 | if (*s) | ||
4476 | *d = eina_model_copy(*s); /* is it better to deep-copy? */ | ||
4477 | else | ||
4478 | *d = NULL; | ||
4479 | return EINA_TRUE; | ||
4480 | } | ||
4481 | |||
4482 | static int | ||
4483 | _eina_value_type_model_compare(const Eina_Value_Type *type __UNUSED__, const void *a, const void *b) | ||
4484 | { | ||
4485 | const Eina_Model * const *ta = a; | ||
4486 | const Eina_Model * const *tb = b; | ||
4487 | |||
4488 | if ((!*ta) && (!*tb)) return 0; | ||
4489 | else if (!*ta) return 1; | ||
4490 | else if (!*tb) return -1; | ||
4491 | else return eina_model_compare(*ta, *tb); | ||
4492 | } | ||
4493 | |||
4494 | static Eina_Bool | ||
4495 | _eina_value_type_model_convert_to(const Eina_Value_Type *type __UNUSED__, const Eina_Value_Type *convert, const void *type_mem, void *convert_mem) | ||
4496 | { | ||
4497 | const Eina_Model *v = *(const Eina_Model **)type_mem; | ||
4498 | |||
4499 | eina_error_set(0); | ||
4500 | |||
4501 | if (convert == EINA_VALUE_TYPE_STRINGSHARE || | ||
4502 | convert == EINA_VALUE_TYPE_STRING) | ||
4503 | { | ||
4504 | char *other_mem = v ? eina_model_to_string(v) : NULL; | ||
4505 | Eina_Bool ret = eina_value_type_pset(convert, convert_mem, &other_mem); | ||
4506 | free(other_mem); | ||
4507 | return ret; | ||
4508 | } | ||
4509 | else | ||
4510 | { | ||
4511 | eina_error_set(EINA_ERROR_VALUE_FAILED); | ||
4512 | return EINA_FALSE; | ||
4513 | } | ||
4514 | |||
4515 | return EINA_TRUE; | ||
4516 | } | ||
4517 | |||
4518 | static Eina_Bool | ||
4519 | _eina_value_type_model_vset(const Eina_Value_Type *type __UNUSED__, void *mem, va_list args) | ||
4520 | { | ||
4521 | Eina_Model **tmem = mem, *tmp; | ||
4522 | |||
4523 | tmp = va_arg(args, Eina_Model *); | ||
4524 | |||
4525 | if (tmp) eina_model_ref(tmp); | ||
4526 | if (*tmem) eina_model_unref(*tmem); | ||
4527 | |||
4528 | *tmem = tmp; | ||
4529 | |||
4530 | return EINA_TRUE; | ||
4531 | } | ||
4532 | |||
4533 | static Eina_Bool | ||
4534 | _eina_value_type_model_pset(const Eina_Value_Type *type __UNUSED__, void *mem, const void *ptr) | ||
4535 | { | ||
4536 | Eina_Model **tmem = mem; | ||
4537 | Eina_Model **p = (Eina_Model **)ptr; | ||
4538 | |||
4539 | eina_error_set(0); | ||
4540 | if (*tmem == *p) return EINA_TRUE; | ||
4541 | |||
4542 | if (*p) eina_model_ref(*p); | ||
4543 | if (*tmem) eina_model_unref(*tmem); | ||
4544 | |||
4545 | *tmem = *p; | ||
4546 | |||
4547 | return EINA_TRUE; | ||
4548 | } | ||
4549 | |||
4550 | static Eina_Bool | ||
4551 | _eina_value_type_model_pget(const Eina_Value_Type *type __UNUSED__, const void *mem, void *ptr) | ||
4552 | { | ||
4553 | Eina_Model **tmem = (Eina_Model **)mem; | ||
4554 | Eina_Model **p = ptr; | ||
4555 | *p = *tmem; | ||
4556 | return EINA_TRUE; | ||
4557 | } | ||
4558 | |||
4559 | static const Eina_Value_Type _EINA_VALUE_TYPE_MODEL = { | ||
4560 | EINA_VALUE_TYPE_VERSION, | ||
4561 | sizeof(Eina_Model *), | ||
4562 | "Eina_Model", | ||
4563 | _eina_value_type_model_setup, | ||
4564 | _eina_value_type_model_flush, | ||
4565 | _eina_value_type_model_copy, | ||
4566 | _eina_value_type_model_compare, | ||
4567 | _eina_value_type_model_convert_to, | ||
4568 | NULL, /* no convert from */ | ||
4569 | _eina_value_type_model_vset, | ||
4570 | _eina_value_type_model_pset, | ||
4571 | _eina_value_type_model_pget | ||
4572 | }; | ||
4573 | |||
4307 | /* keep all basic types inlined in an array so we can compare if it's | 4574 | /* keep all basic types inlined in an array so we can compare if it's |
4308 | * a basic type using pointer arithmetic. | 4575 | * a basic type using pointer arithmetic. |
4309 | * | 4576 | * |
@@ -4506,6 +4773,20 @@ static const Eina_Value_Type _EINA_VALUE_TYPE_BASICS[] = { | |||
4506 | _eina_value_type_string_vset, | 4773 | _eina_value_type_string_vset, |
4507 | _eina_value_type_string_pset, | 4774 | _eina_value_type_string_pset, |
4508 | _eina_value_type_string_common_pget | 4775 | _eina_value_type_string_common_pget |
4776 | }, | ||
4777 | { | ||
4778 | EINA_VALUE_TYPE_VERSION, | ||
4779 | sizeof(unsigned long), | ||
4780 | "timestamp", | ||
4781 | _eina_value_type_ulong_setup, | ||
4782 | _eina_value_type_ulong_flush, | ||
4783 | _eina_value_type_ulong_copy, | ||
4784 | _eina_value_type_ulong_compare, | ||
4785 | _eina_value_type_ulong_convert_to, | ||
4786 | NULL, /* no convert from */ | ||
4787 | _eina_value_type_ulong_vset, | ||
4788 | _eina_value_type_ulong_pset, | ||
4789 | _eina_value_type_ulong_pget | ||
4509 | } | 4790 | } |
4510 | }; | 4791 | }; |
4511 | 4792 | ||
@@ -4722,11 +5003,12 @@ eina_value_init(void) | |||
4722 | EINA_VALUE_TYPE_DOUBLE = _EINA_VALUE_TYPE_BASICS + 11; | 5003 | EINA_VALUE_TYPE_DOUBLE = _EINA_VALUE_TYPE_BASICS + 11; |
4723 | EINA_VALUE_TYPE_STRINGSHARE = _EINA_VALUE_TYPE_BASICS + 12; | 5004 | EINA_VALUE_TYPE_STRINGSHARE = _EINA_VALUE_TYPE_BASICS + 12; |
4724 | EINA_VALUE_TYPE_STRING = _EINA_VALUE_TYPE_BASICS + 13; | 5005 | EINA_VALUE_TYPE_STRING = _EINA_VALUE_TYPE_BASICS + 13; |
5006 | EINA_VALUE_TYPE_TIMESTAMP = _EINA_VALUE_TYPE_BASICS + 14; | ||
4725 | 5007 | ||
4726 | _EINA_VALUE_TYPE_BASICS_START = _EINA_VALUE_TYPE_BASICS + 0; | 5008 | _EINA_VALUE_TYPE_BASICS_START = _EINA_VALUE_TYPE_BASICS + 0; |
4727 | _EINA_VALUE_TYPE_BASICS_END = _EINA_VALUE_TYPE_BASICS + 13; | 5009 | _EINA_VALUE_TYPE_BASICS_END = _EINA_VALUE_TYPE_BASICS + 14; |
4728 | 5010 | ||
4729 | EINA_SAFETY_ON_FALSE_RETURN_VAL((sizeof(_EINA_VALUE_TYPE_BASICS)/sizeof(_EINA_VALUE_TYPE_BASICS[0])) == 14, EINA_FALSE); | 5011 | EINA_SAFETY_ON_FALSE_RETURN_VAL((sizeof(_EINA_VALUE_TYPE_BASICS)/sizeof(_EINA_VALUE_TYPE_BASICS[0])) == 15, EINA_FALSE); |
4730 | 5012 | ||
4731 | 5013 | ||
4732 | EINA_VALUE_TYPE_ARRAY = &_EINA_VALUE_TYPE_ARRAY; | 5014 | EINA_VALUE_TYPE_ARRAY = &_EINA_VALUE_TYPE_ARRAY; |
@@ -4735,6 +5017,7 @@ eina_value_init(void) | |||
4735 | EINA_VALUE_TYPE_TIMEVAL = &_EINA_VALUE_TYPE_TIMEVAL; | 5017 | EINA_VALUE_TYPE_TIMEVAL = &_EINA_VALUE_TYPE_TIMEVAL; |
4736 | EINA_VALUE_TYPE_BLOB = &_EINA_VALUE_TYPE_BLOB; | 5018 | EINA_VALUE_TYPE_BLOB = &_EINA_VALUE_TYPE_BLOB; |
4737 | EINA_VALUE_TYPE_STRUCT = &_EINA_VALUE_TYPE_STRUCT; | 5019 | EINA_VALUE_TYPE_STRUCT = &_EINA_VALUE_TYPE_STRUCT; |
5020 | EINA_VALUE_TYPE_MODEL = &_EINA_VALUE_TYPE_MODEL; | ||
4738 | 5021 | ||
4739 | EINA_VALUE_BLOB_OPERATIONS_MALLOC = &_EINA_VALUE_BLOB_OPERATIONS_MALLOC; | 5022 | EINA_VALUE_BLOB_OPERATIONS_MALLOC = &_EINA_VALUE_BLOB_OPERATIONS_MALLOC; |
4740 | 5023 | ||
@@ -4800,6 +5083,7 @@ EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UCHAR = NULL; | |||
4800 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_USHORT = NULL; | 5083 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_USHORT = NULL; |
4801 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT = NULL; | 5084 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT = NULL; |
4802 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_ULONG = NULL; | 5085 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_ULONG = NULL; |
5086 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_TIMESTAMP = NULL; | ||
4803 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT64 = NULL; | 5087 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_UINT64 = NULL; |
4804 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_CHAR = NULL; | 5088 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_CHAR = NULL; |
4805 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_SHORT = NULL; | 5089 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_SHORT = NULL; |
@@ -4816,6 +5100,7 @@ EAPI const Eina_Value_Type *EINA_VALUE_TYPE_HASH = NULL; | |||
4816 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_TIMEVAL = NULL; | 5100 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_TIMEVAL = NULL; |
4817 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_BLOB = NULL; | 5101 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_BLOB = NULL; |
4818 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT = NULL; | 5102 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_STRUCT = NULL; |
5103 | EAPI const Eina_Value_Type *EINA_VALUE_TYPE_MODEL = NULL; | ||
4819 | 5104 | ||
4820 | EAPI const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC = NULL; | 5105 | EAPI const Eina_Value_Blob_Operations *EINA_VALUE_BLOB_OPERATIONS_MALLOC = NULL; |
4821 | 5106 | ||
diff --git a/libraries/eina/src/modules/Makefile.in b/libraries/eina/src/modules/Makefile.in index 1ee8386..62d4a09 100644 --- a/libraries/eina/src/modules/Makefile.in +++ b/libraries/eina/src/modules/Makefile.in | |||
@@ -36,20 +36,24 @@ host_triplet = @host@ | |||
36 | subdir = src/modules | 36 | subdir = src/modules |
37 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 37 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
38 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 38 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
39 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 39 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
40 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 40 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
41 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 41 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
42 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 42 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
43 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 43 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
44 | $(top_srcdir)/m4/efl_examples.m4 \ | 44 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
45 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 45 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
46 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 46 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
47 | $(top_srcdir)/m4/efl_threads.m4 \ | 47 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
48 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 48 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
49 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 49 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
50 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 50 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
51 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 51 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
52 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 52 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
53 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
54 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
55 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
56 | $(top_srcdir)/configure.ac | ||
53 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
54 | $(ACLOCAL_M4) | 58 | $(ACLOCAL_M4) |
55 | mkinstalldirs = $(install_sh) -d | 59 | mkinstalldirs = $(install_sh) -d |
@@ -150,13 +154,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
150 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 154 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
151 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 155 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
152 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 156 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
157 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
153 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 158 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
154 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 159 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
155 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 160 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
156 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 161 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
157 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 162 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
158 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 163 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
159 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
160 | EINA_LIBS = @EINA_LIBS@ | 164 | EINA_LIBS = @EINA_LIBS@ |
161 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 165 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
162 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 166 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -166,6 +170,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
166 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 170 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
167 | EVIL_LIBS = @EVIL_LIBS@ | 171 | EVIL_LIBS = @EVIL_LIBS@ |
168 | EXEEXT = @EXEEXT@ | 172 | EXEEXT = @EXEEXT@ |
173 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
174 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
169 | FGREP = @FGREP@ | 175 | FGREP = @FGREP@ |
170 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 176 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
171 | GLIB_LIBS = @GLIB_LIBS@ | 177 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -201,6 +207,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
201 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 207 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
202 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 208 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
203 | PKG_CONFIG = @PKG_CONFIG@ | 209 | PKG_CONFIG = @PKG_CONFIG@ |
210 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
211 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
204 | RANLIB = @RANLIB@ | 212 | RANLIB = @RANLIB@ |
205 | SED = @SED@ | 213 | SED = @SED@ |
206 | SET_MAKE = @SET_MAKE@ | 214 | SET_MAKE = @SET_MAKE@ |
diff --git a/libraries/eina/src/modules/mp/Makefile.in b/libraries/eina/src/modules/mp/Makefile.in index d3a6dd9..7283b72 100644 --- a/libraries/eina/src/modules/mp/Makefile.in +++ b/libraries/eina/src/modules/mp/Makefile.in | |||
@@ -43,20 +43,24 @@ host_triplet = @host@ | |||
43 | subdir = src/modules/mp | 43 | subdir = src/modules/mp |
44 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 44 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
45 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 45 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
46 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 46 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
47 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 47 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
48 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 48 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
49 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 49 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
50 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 50 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
51 | $(top_srcdir)/m4/efl_examples.m4 \ | 51 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
52 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 52 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
53 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 53 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
54 | $(top_srcdir)/m4/efl_threads.m4 \ | 54 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
55 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 55 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
56 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 56 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
57 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 57 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
58 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 58 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
59 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 59 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
60 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
61 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
62 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
63 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 65 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(install_sh) -d | 66 | mkinstalldirs = $(install_sh) -d |
@@ -158,13 +162,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
158 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 162 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
159 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 163 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
160 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 164 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
165 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
161 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 166 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
162 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 167 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
163 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 168 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
164 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 169 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
165 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 170 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
166 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 171 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
167 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
168 | EINA_LIBS = @EINA_LIBS@ | 172 | EINA_LIBS = @EINA_LIBS@ |
169 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 173 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
170 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 174 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -174,6 +178,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
174 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 178 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
175 | EVIL_LIBS = @EVIL_LIBS@ | 179 | EVIL_LIBS = @EVIL_LIBS@ |
176 | EXEEXT = @EXEEXT@ | 180 | EXEEXT = @EXEEXT@ |
181 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
182 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
177 | FGREP = @FGREP@ | 183 | FGREP = @FGREP@ |
178 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 184 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
179 | GLIB_LIBS = @GLIB_LIBS@ | 185 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -209,6 +215,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
209 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 215 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
210 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 216 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
211 | PKG_CONFIG = @PKG_CONFIG@ | 217 | PKG_CONFIG = @PKG_CONFIG@ |
218 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
219 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
212 | RANLIB = @RANLIB@ | 220 | RANLIB = @RANLIB@ |
213 | SED = @SED@ | 221 | SED = @SED@ |
214 | SET_MAKE = @SET_MAKE@ | 222 | SET_MAKE = @SET_MAKE@ |
diff --git a/libraries/eina/src/modules/mp/buddy/Makefile.am b/libraries/eina/src/modules/mp/buddy/Makefile.am index c699c9d..c0a6cd7 100644 --- a/libraries/eina/src/modules/mp/buddy/Makefile.am +++ b/libraries/eina/src/modules/mp/buddy/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EFL_EINA_BUILD@ | 9 | @EFL_EINA_BUILD@ |
11 | 10 | ||
12 | controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) | 11 | controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/modules/mp/buddy/Makefile.in b/libraries/eina/src/modules/mp/buddy/Makefile.in index 5619b2c..449c511 100644 --- a/libraries/eina/src/modules/mp/buddy/Makefile.in +++ b/libraries/eina/src/modules/mp/buddy/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/buddy | 37 | subdir = src/modules/mp/buddy |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EFL_EINA_BUILD@ | 308 | @EFL_EINA_BUILD@ |
302 | 309 | ||
303 | controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) | 310 | controllerdir = $(libdir)/eina/modules/mp/buddy/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/modules/mp/chained_pool/Makefile.am b/libraries/eina/src/modules/mp/chained_pool/Makefile.am index 815bab7..42d0d7e 100644 --- a/libraries/eina/src/modules/mp/chained_pool/Makefile.am +++ b/libraries/eina/src/modules/mp/chained_pool/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EFL_EINA_BUILD@ \ | 9 | @EFL_EINA_BUILD@ \ |
11 | @VALGRIND_CFLAGS@ | 10 | @VALGRIND_CFLAGS@ |
12 | 11 | ||
diff --git a/libraries/eina/src/modules/mp/chained_pool/Makefile.in b/libraries/eina/src/modules/mp/chained_pool/Makefile.in index 03b639f..78299a4 100644 --- a/libraries/eina/src/modules/mp/chained_pool/Makefile.in +++ b/libraries/eina/src/modules/mp/chained_pool/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/chained_pool | 37 | subdir = src/modules/mp/chained_pool |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EFL_EINA_BUILD@ \ | 308 | @EFL_EINA_BUILD@ \ |
302 | @VALGRIND_CFLAGS@ | 309 | @VALGRIND_CFLAGS@ |
303 | 310 | ||
diff --git a/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c b/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c index 020d0ad..e56df4c 100644 --- a/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c +++ b/libraries/eina/src/modules/mp/chained_pool/eina_chained_mempool.c | |||
@@ -52,7 +52,7 @@ | |||
52 | #include "eina_private.h" | 52 | #include "eina_private.h" |
53 | 53 | ||
54 | #ifndef NVALGRIND | 54 | #ifndef NVALGRIND |
55 | # include <valgrind/memcheck.h> | 55 | # include <memcheck.h> |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | #if defined DEBUG || defined EINA_DEBUG_MALLOC | 58 | #if defined DEBUG || defined EINA_DEBUG_MALLOC |
diff --git a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am index 4a27b3e..242b446 100644 --- a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am +++ b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EMEMOA_CFLAGS@ \ | 9 | @EMEMOA_CFLAGS@ \ |
11 | @EFL_EINA_BUILD@ | 10 | @EFL_EINA_BUILD@ |
12 | 11 | ||
diff --git a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in index ccc4f1a..d16d123 100644 --- a/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in +++ b/libraries/eina/src/modules/mp/ememoa_fixed/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/ememoa_fixed | 37 | subdir = src/modules/mp/ememoa_fixed |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EMEMOA_CFLAGS@ \ | 308 | @EMEMOA_CFLAGS@ \ |
302 | @EFL_EINA_BUILD@ | 309 | @EFL_EINA_BUILD@ |
303 | 310 | ||
diff --git a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am index 2814e31..249541a 100644 --- a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am +++ b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EMEMOA_CFLAGS@ \ | 9 | @EMEMOA_CFLAGS@ \ |
11 | @EFL_EINA_BUILD@ | 10 | @EFL_EINA_BUILD@ |
12 | 11 | ||
diff --git a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in index 8b0ec6e..18a43a5 100644 --- a/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in +++ b/libraries/eina/src/modules/mp/ememoa_unknown/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/ememoa_unknown | 37 | subdir = src/modules/mp/ememoa_unknown |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EMEMOA_CFLAGS@ \ | 308 | @EMEMOA_CFLAGS@ \ |
302 | @EFL_EINA_BUILD@ | 309 | @EFL_EINA_BUILD@ |
303 | 310 | ||
diff --git a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am index caf239e..1f2527b 100644 --- a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am +++ b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EFL_EINA_BUILD@ | 9 | @EFL_EINA_BUILD@ |
11 | 10 | ||
12 | controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) | 11 | controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in index 337f820..2a6b782 100644 --- a/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in +++ b/libraries/eina/src/modules/mp/fixed_bitmap/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/fixed_bitmap | 37 | subdir = src/modules/mp/fixed_bitmap |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EFL_EINA_BUILD@ | 308 | @EFL_EINA_BUILD@ |
302 | 309 | ||
303 | controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) | 310 | controllerdir = $(libdir)/eina/modules/mp/fixed_bitmap/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/modules/mp/one_big/Makefile.am b/libraries/eina/src/modules/mp/one_big/Makefile.am index 8ca1a62..35069a2 100644 --- a/libraries/eina/src/modules/mp/one_big/Makefile.am +++ b/libraries/eina/src/modules/mp/one_big/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EFL_EINA_BUILD@ \ | 9 | @EFL_EINA_BUILD@ \ |
11 | @VALGRIND_CFLAGS@ | 10 | @VALGRIND_CFLAGS@ |
12 | 11 | ||
diff --git a/libraries/eina/src/modules/mp/one_big/Makefile.in b/libraries/eina/src/modules/mp/one_big/Makefile.in index c8560c9..4a2c229 100644 --- a/libraries/eina/src/modules/mp/one_big/Makefile.in +++ b/libraries/eina/src/modules/mp/one_big/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/one_big | 37 | subdir = src/modules/mp/one_big |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EFL_EINA_BUILD@ \ | 308 | @EFL_EINA_BUILD@ \ |
302 | @VALGRIND_CFLAGS@ | 309 | @VALGRIND_CFLAGS@ |
303 | 310 | ||
diff --git a/libraries/eina/src/modules/mp/one_big/eina_one_big.c b/libraries/eina/src/modules/mp/one_big/eina_one_big.c index dadec65..1159378 100644 --- a/libraries/eina/src/modules/mp/one_big/eina_one_big.c +++ b/libraries/eina/src/modules/mp/one_big/eina_one_big.c | |||
@@ -42,7 +42,7 @@ | |||
42 | #include "eina_lock.h" | 42 | #include "eina_lock.h" |
43 | 43 | ||
44 | #ifndef NVALGRIND | 44 | #ifndef NVALGRIND |
45 | # include <valgrind/memcheck.h> | 45 | # include <memcheck.h> |
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | #include "eina_private.h" | 48 | #include "eina_private.h" |
diff --git a/libraries/eina/src/modules/mp/pass_through/Makefile.am b/libraries/eina/src/modules/mp/pass_through/Makefile.am index 8f48974..33bd58c 100644 --- a/libraries/eina/src/modules/mp/pass_through/Makefile.am +++ b/libraries/eina/src/modules/mp/pass_through/Makefile.am | |||
@@ -6,7 +6,6 @@ AM_CPPFLAGS = \ | |||
6 | -I$(top_builddir)/src/include \ | 6 | -I$(top_builddir)/src/include \ |
7 | -I$(top_srcdir)/src/lib \ | 7 | -I$(top_srcdir)/src/lib \ |
8 | -I$(top_builddir)/src/lib \ | 8 | -I$(top_builddir)/src/lib \ |
9 | @EINA_CPPFLAGS@ \ | ||
10 | @EFL_EINA_BUILD@ | 9 | @EFL_EINA_BUILD@ |
11 | 10 | ||
12 | controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) | 11 | controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/modules/mp/pass_through/Makefile.in b/libraries/eina/src/modules/mp/pass_through/Makefile.in index f5664be..5c84e6b 100644 --- a/libraries/eina/src/modules/mp/pass_through/Makefile.in +++ b/libraries/eina/src/modules/mp/pass_through/Makefile.in | |||
@@ -37,20 +37,24 @@ host_triplet = @host@ | |||
37 | subdir = src/modules/mp/pass_through | 37 | subdir = src/modules/mp/pass_through |
38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 38 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 39 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
40 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 40 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
41 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 41 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
42 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 42 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
43 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 43 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
44 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 44 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
45 | $(top_srcdir)/m4/efl_examples.m4 \ | 45 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
46 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 46 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
47 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 47 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
48 | $(top_srcdir)/m4/efl_threads.m4 \ | 48 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
49 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 49 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
50 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 50 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
51 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 51 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
52 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 52 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
53 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 53 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
54 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
55 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
56 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
57 | $(top_srcdir)/configure.ac | ||
54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 58 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | $(ACLOCAL_M4) | 59 | $(ACLOCAL_M4) |
56 | mkinstalldirs = $(install_sh) -d | 60 | mkinstalldirs = $(install_sh) -d |
@@ -166,13 +170,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
166 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 170 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
167 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 171 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
168 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 172 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
173 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
169 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 174 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
170 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 175 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
171 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 176 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
172 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 177 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
173 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 178 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
174 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 179 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
175 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
176 | EINA_LIBS = @EINA_LIBS@ | 180 | EINA_LIBS = @EINA_LIBS@ |
177 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 181 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
178 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 182 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -182,6 +186,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
182 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 186 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
183 | EVIL_LIBS = @EVIL_LIBS@ | 187 | EVIL_LIBS = @EVIL_LIBS@ |
184 | EXEEXT = @EXEEXT@ | 188 | EXEEXT = @EXEEXT@ |
189 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
190 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
185 | FGREP = @FGREP@ | 191 | FGREP = @FGREP@ |
186 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 192 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
187 | GLIB_LIBS = @GLIB_LIBS@ | 193 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -217,6 +223,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
217 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 223 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
218 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 224 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
219 | PKG_CONFIG = @PKG_CONFIG@ | 225 | PKG_CONFIG = @PKG_CONFIG@ |
226 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
227 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
220 | RANLIB = @RANLIB@ | 228 | RANLIB = @RANLIB@ |
221 | SED = @SED@ | 229 | SED = @SED@ |
222 | SET_MAKE = @SET_MAKE@ | 230 | SET_MAKE = @SET_MAKE@ |
@@ -297,7 +305,6 @@ AM_CPPFLAGS = \ | |||
297 | -I$(top_builddir)/src/include \ | 305 | -I$(top_builddir)/src/include \ |
298 | -I$(top_srcdir)/src/lib \ | 306 | -I$(top_srcdir)/src/lib \ |
299 | -I$(top_builddir)/src/lib \ | 307 | -I$(top_builddir)/src/lib \ |
300 | @EINA_CPPFLAGS@ \ | ||
301 | @EFL_EINA_BUILD@ | 308 | @EFL_EINA_BUILD@ |
302 | 309 | ||
303 | controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) | 310 | controllerdir = $(libdir)//eina/modules/mp/pass_through/$(MODULE_ARCH) |
diff --git a/libraries/eina/src/tests/Makefile.am b/libraries/eina/src/tests/Makefile.am index 7e05ba9..cf500f5 100644 --- a/libraries/eina/src/tests/Makefile.am +++ b/libraries/eina/src/tests/Makefile.am | |||
@@ -66,7 +66,8 @@ eina_test_strbuf.c \ | |||
66 | eina_test_str.c \ | 66 | eina_test_str.c \ |
67 | eina_test_quadtree.c \ | 67 | eina_test_quadtree.c \ |
68 | eina_test_simple_xml_parser.c \ | 68 | eina_test_simple_xml_parser.c \ |
69 | eina_test_value.c | 69 | eina_test_value.c \ |
70 | eina_test_model.c | ||
70 | 71 | ||
71 | eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm | 72 | eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm |
72 | 73 | ||
diff --git a/libraries/eina/src/tests/Makefile.in b/libraries/eina/src/tests/Makefile.in index c56211a..81e58ba 100644 --- a/libraries/eina/src/tests/Makefile.in +++ b/libraries/eina/src/tests/Makefile.in | |||
@@ -43,20 +43,24 @@ host_triplet = @host@ | |||
43 | subdir = src/tests | 43 | subdir = src/tests |
44 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | 44 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in |
45 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | 45 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
46 | am__aclocal_m4_deps = $(top_srcdir)/m4/efl_attribute.m4 \ | 46 | am__aclocal_m4_deps = $(top_srcdir)/m4/eina/eina_bench.m4 \ |
47 | $(top_srcdir)/m4/efl_benchmark.m4 \ | 47 | $(top_srcdir)/m4/eina/eina_check.m4 \ |
48 | $(top_srcdir)/m4/efl_compiler_flag.m4 \ | 48 | $(top_srcdir)/m4/common/efl_attribute.m4 \ |
49 | $(top_srcdir)/m4/efl_coverage.m4 $(top_srcdir)/m4/efl_cpu.m4 \ | 49 | $(top_srcdir)/m4/common/efl_benchmark.m4 \ |
50 | $(top_srcdir)/m4/efl_doxygen.m4 \ | 50 | $(top_srcdir)/m4/common/efl_compiler_flag.m4 \ |
51 | $(top_srcdir)/m4/efl_examples.m4 \ | 51 | $(top_srcdir)/m4/common/efl_coverage.m4 \ |
52 | $(top_srcdir)/m4/efl_fnmatch.m4 \ | 52 | $(top_srcdir)/m4/common/efl_cpu.m4 \ |
53 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | 53 | $(top_srcdir)/m4/common/efl_doxygen.m4 \ |
54 | $(top_srcdir)/m4/efl_threads.m4 \ | 54 | $(top_srcdir)/m4/common/efl_examples.m4 \ |
55 | $(top_srcdir)/m4/efl_voltron.m4 $(top_srcdir)/m4/eina_bench.m4 \ | 55 | $(top_srcdir)/m4/common/efl_fnmatch.m4 \ |
56 | $(top_srcdir)/m4/eina_check.m4 $(top_srcdir)/m4/libtool.m4 \ | 56 | $(top_srcdir)/m4/common/efl_path_max.m4 \ |
57 | $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ | 57 | $(top_srcdir)/m4/common/efl_tests.m4 \ |
58 | $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ | 58 | $(top_srcdir)/m4/common/efl_threads.m4 \ |
59 | $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac | 59 | $(top_srcdir)/m4/common/efl_voltron.m4 \ |
60 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
61 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
62 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ | ||
63 | $(top_srcdir)/configure.ac | ||
60 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | 64 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
61 | $(ACLOCAL_M4) | 65 | $(ACLOCAL_M4) |
62 | mkinstalldirs = $(install_sh) -d | 66 | mkinstalldirs = $(install_sh) -d |
@@ -159,7 +163,8 @@ am__eina_suite_SOURCES_DIST = eina_suite.c eina_test_fp.c \ | |||
159 | eina_test_rectangle.c eina_test_list.c \ | 163 | eina_test_rectangle.c eina_test_list.c \ |
160 | eina_test_matrixsparse.c eina_test_tiler.c eina_test_strbuf.c \ | 164 | eina_test_matrixsparse.c eina_test_tiler.c eina_test_strbuf.c \ |
161 | eina_test_str.c eina_test_quadtree.c \ | 165 | eina_test_str.c eina_test_quadtree.c \ |
162 | eina_test_simple_xml_parser.c eina_test_value.c | 166 | eina_test_simple_xml_parser.c eina_test_value.c \ |
167 | eina_test_model.c | ||
163 | @EFL_ENABLE_TESTS_TRUE@am_eina_suite_OBJECTS = eina_suite.$(OBJEXT) \ | 168 | @EFL_ENABLE_TESTS_TRUE@am_eina_suite_OBJECTS = eina_suite.$(OBJEXT) \ |
164 | @EFL_ENABLE_TESTS_TRUE@ eina_test_fp.$(OBJEXT) \ | 169 | @EFL_ENABLE_TESTS_TRUE@ eina_test_fp.$(OBJEXT) \ |
165 | @EFL_ENABLE_TESTS_TRUE@ eina_test_stringshare.$(OBJEXT) \ | 170 | @EFL_ENABLE_TESTS_TRUE@ eina_test_stringshare.$(OBJEXT) \ |
@@ -195,7 +200,8 @@ am__eina_suite_SOURCES_DIST = eina_suite.c eina_test_fp.c \ | |||
195 | @EFL_ENABLE_TESTS_TRUE@ eina_test_str.$(OBJEXT) \ | 200 | @EFL_ENABLE_TESTS_TRUE@ eina_test_str.$(OBJEXT) \ |
196 | @EFL_ENABLE_TESTS_TRUE@ eina_test_quadtree.$(OBJEXT) \ | 201 | @EFL_ENABLE_TESTS_TRUE@ eina_test_quadtree.$(OBJEXT) \ |
197 | @EFL_ENABLE_TESTS_TRUE@ eina_test_simple_xml_parser.$(OBJEXT) \ | 202 | @EFL_ENABLE_TESTS_TRUE@ eina_test_simple_xml_parser.$(OBJEXT) \ |
198 | @EFL_ENABLE_TESTS_TRUE@ eina_test_value.$(OBJEXT) | 203 | @EFL_ENABLE_TESTS_TRUE@ eina_test_value.$(OBJEXT) \ |
204 | @EFL_ENABLE_TESTS_TRUE@ eina_test_model.$(OBJEXT) | ||
199 | eina_suite_OBJECTS = $(am_eina_suite_OBJECTS) | 205 | eina_suite_OBJECTS = $(am_eina_suite_OBJECTS) |
200 | @EFL_ENABLE_TESTS_TRUE@eina_suite_DEPENDENCIES = \ | 206 | @EFL_ENABLE_TESTS_TRUE@eina_suite_DEPENDENCIES = \ |
201 | @EFL_ENABLE_TESTS_TRUE@ $(top_builddir)/src/lib/libeina.la | 207 | @EFL_ENABLE_TESTS_TRUE@ $(top_builddir)/src/lib/libeina.la |
@@ -296,13 +302,13 @@ EINA_CONFIGURE_DEFAULT_MEMPOOL = @EINA_CONFIGURE_DEFAULT_MEMPOOL@ | |||
296 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ | 302 | EINA_CONFIGURE_ENABLE_LOG = @EINA_CONFIGURE_ENABLE_LOG@ |
297 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ | 303 | EINA_CONFIGURE_HAVE_DEBUG_THREADS = @EINA_CONFIGURE_HAVE_DEBUG_THREADS@ |
298 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ | 304 | EINA_CONFIGURE_HAVE_DIRENT_H = @EINA_CONFIGURE_HAVE_DIRENT_H@ |
305 | EINA_CONFIGURE_HAVE_EXOTIC = @EINA_CONFIGURE_HAVE_EXOTIC@ | ||
299 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ | 306 | EINA_CONFIGURE_HAVE_INTTYPES_H = @EINA_CONFIGURE_HAVE_INTTYPES_H@ |
300 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ | 307 | EINA_CONFIGURE_HAVE_ON_OFF_THREADS = @EINA_CONFIGURE_HAVE_ON_OFF_THREADS@ |
301 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ | 308 | EINA_CONFIGURE_HAVE_STDINT_H = @EINA_CONFIGURE_HAVE_STDINT_H@ |
302 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ | 309 | EINA_CONFIGURE_HAVE_THREADS = @EINA_CONFIGURE_HAVE_THREADS@ |
303 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ | 310 | EINA_CONFIGURE_MAGIC_DEBUG = @EINA_CONFIGURE_MAGIC_DEBUG@ |
304 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ | 311 | EINA_CONFIGURE_SAFETY_CHECKS = @EINA_CONFIGURE_SAFETY_CHECKS@ |
305 | EINA_CPPFLAGS = @EINA_CPPFLAGS@ | ||
306 | EINA_LIBS = @EINA_LIBS@ | 312 | EINA_LIBS = @EINA_LIBS@ |
307 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ | 313 | EINA_SIZEOF_WCHAR_T = @EINA_SIZEOF_WCHAR_T@ |
308 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ | 314 | EMEMOA_CFLAGS = @EMEMOA_CFLAGS@ |
@@ -312,6 +318,8 @@ ESCAPE_LIBS = @ESCAPE_LIBS@ | |||
312 | EVIL_CFLAGS = @EVIL_CFLAGS@ | 318 | EVIL_CFLAGS = @EVIL_CFLAGS@ |
313 | EVIL_LIBS = @EVIL_LIBS@ | 319 | EVIL_LIBS = @EVIL_LIBS@ |
314 | EXEEXT = @EXEEXT@ | 320 | EXEEXT = @EXEEXT@ |
321 | EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ | ||
322 | EXOTIC_LIBS = @EXOTIC_LIBS@ | ||
315 | FGREP = @FGREP@ | 323 | FGREP = @FGREP@ |
316 | GLIB_CFLAGS = @GLIB_CFLAGS@ | 324 | GLIB_CFLAGS = @GLIB_CFLAGS@ |
317 | GLIB_LIBS = @GLIB_LIBS@ | 325 | GLIB_LIBS = @GLIB_LIBS@ |
@@ -347,6 +355,8 @@ PACKAGE_URL = @PACKAGE_URL@ | |||
347 | PACKAGE_VERSION = @PACKAGE_VERSION@ | 355 | PACKAGE_VERSION = @PACKAGE_VERSION@ |
348 | PATH_SEPARATOR = @PATH_SEPARATOR@ | 356 | PATH_SEPARATOR = @PATH_SEPARATOR@ |
349 | PKG_CONFIG = @PKG_CONFIG@ | 357 | PKG_CONFIG = @PKG_CONFIG@ |
358 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
359 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
350 | RANLIB = @RANLIB@ | 360 | RANLIB = @RANLIB@ |
351 | SED = @SED@ | 361 | SED = @SED@ |
352 | SET_MAKE = @SET_MAKE@ | 362 | SET_MAKE = @SET_MAKE@ |
@@ -465,7 +475,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/lib -I$(top_srcdir)/src/include \ | |||
465 | @EFL_ENABLE_TESTS_TRUE@eina_test_str.c \ | 475 | @EFL_ENABLE_TESTS_TRUE@eina_test_str.c \ |
466 | @EFL_ENABLE_TESTS_TRUE@eina_test_quadtree.c \ | 476 | @EFL_ENABLE_TESTS_TRUE@eina_test_quadtree.c \ |
467 | @EFL_ENABLE_TESTS_TRUE@eina_test_simple_xml_parser.c \ | 477 | @EFL_ENABLE_TESTS_TRUE@eina_test_simple_xml_parser.c \ |
468 | @EFL_ENABLE_TESTS_TRUE@eina_test_value.c | 478 | @EFL_ENABLE_TESTS_TRUE@eina_test_value.c \ |
479 | @EFL_ENABLE_TESTS_TRUE@eina_test_model.c | ||
469 | 480 | ||
470 | @EFL_ENABLE_TESTS_TRUE@eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm | 481 | @EFL_ENABLE_TESTS_TRUE@eina_suite_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/libeina.la -lm |
471 | @EFL_ENABLE_TESTS_TRUE@cxx_compile_test_SOURCES = cxx_compile_test.cxx | 482 | @EFL_ENABLE_TESTS_TRUE@cxx_compile_test_SOURCES = cxx_compile_test.cxx |
@@ -704,6 +715,7 @@ distclean-compile: | |||
704 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_main.Po@am__quote@ | 715 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_main.Po@am__quote@ |
705 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_matrixsparse.Po@am__quote@ | 716 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_matrixsparse.Po@am__quote@ |
706 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_mempool.Po@am__quote@ | 717 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_mempool.Po@am__quote@ |
718 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_model.Po@am__quote@ | ||
707 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_module.Po@am__quote@ | 719 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_module.Po@am__quote@ |
708 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_quadtree.Po@am__quote@ | 720 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_quadtree.Po@am__quote@ |
709 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_rbtree.Po@am__quote@ | 721 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eina_test_rbtree.Po@am__quote@ |
diff --git a/libraries/eina/src/tests/eina_suite.c b/libraries/eina/src/tests/eina_suite.c index 648a717..b34d016 100644 --- a/libraries/eina/src/tests/eina_suite.c +++ b/libraries/eina/src/tests/eina_suite.c | |||
@@ -68,6 +68,7 @@ static const Eina_Test_Case etc[] = { | |||
68 | { "Sched", eina_test_sched }, | 68 | { "Sched", eina_test_sched }, |
69 | { "Simple Xml Parser", eina_test_simple_xml_parser}, | 69 | { "Simple Xml Parser", eina_test_simple_xml_parser}, |
70 | { "Value", eina_test_value }, | 70 | { "Value", eina_test_value }, |
71 | { "Model", eina_test_model }, | ||
71 | { NULL, NULL } | 72 | { NULL, NULL } |
72 | }; | 73 | }; |
73 | 74 | ||
@@ -137,6 +138,8 @@ static void _mempool_init(void) | |||
137 | static void _mempool_shutdown(void) | 138 | static void _mempool_shutdown(void) |
138 | { | 139 | { |
139 | eina_module_list_free(_modules); | 140 | eina_module_list_free(_modules); |
141 | if (_modules) | ||
142 | eina_array_free(_modules); | ||
140 | /* TODO delete the list */ | 143 | /* TODO delete the list */ |
141 | eina_shutdown(); | 144 | eina_shutdown(); |
142 | } | 145 | } |
diff --git a/libraries/eina/src/tests/eina_suite.h b/libraries/eina/src/tests/eina_suite.h index 6eaaec7..d399298 100644 --- a/libraries/eina/src/tests/eina_suite.h +++ b/libraries/eina/src/tests/eina_suite.h | |||
@@ -56,5 +56,6 @@ void eina_test_fp(TCase *tc); | |||
56 | void eina_test_sched(TCase *tc); | 56 | void eina_test_sched(TCase *tc); |
57 | void eina_test_simple_xml_parser(TCase *tc); | 57 | void eina_test_simple_xml_parser(TCase *tc); |
58 | void eina_test_value(TCase *tc); | 58 | void eina_test_value(TCase *tc); |
59 | void eina_test_model(TCase *tc); | ||
59 | 60 | ||
60 | #endif /* EINA_SUITE_H_ */ | 61 | #endif /* EINA_SUITE_H_ */ |
diff --git a/libraries/eina/src/tests/eina_test_clist.c b/libraries/eina/src/tests/eina_test_clist.c index 901c0e8..115afc2 100644 --- a/libraries/eina/src/tests/eina_test_clist.c +++ b/libraries/eina/src/tests/eina_test_clist.c | |||
@@ -6,7 +6,7 @@ | |||
6 | #include <string.h> | 6 | #include <string.h> |
7 | #include <assert.h> | 7 | #include <assert.h> |
8 | 8 | ||
9 | #include <Eina.h> | 9 | #include "Eina.h" |
10 | #include "eina_suite.h" | 10 | #include "eina_suite.h" |
11 | 11 | ||
12 | Eina_Clist string_list = EINA_CLIST_INIT(string_list); | 12 | Eina_Clist string_list = EINA_CLIST_INIT(string_list); |
diff --git a/libraries/eina/src/tests/eina_test_counter.c b/libraries/eina/src/tests/eina_test_counter.c index 2a3f30d..4d956fd 100644 --- a/libraries/eina/src/tests/eina_test_counter.c +++ b/libraries/eina/src/tests/eina_test_counter.c | |||
@@ -27,6 +27,43 @@ | |||
27 | #include "Eina.h" | 27 | #include "Eina.h" |
28 | #include "eina_safety_checks.h" | 28 | #include "eina_safety_checks.h" |
29 | 29 | ||
30 | #ifdef EINA_SAFETY_CHECKS | ||
31 | struct log_ctx { | ||
32 | const char *msg; | ||
33 | const char *fnc; | ||
34 | Eina_Bool did; | ||
35 | }; | ||
36 | |||
37 | /* tests should not output on success, just uncomment this for debugging */ | ||
38 | //#define SHOW_LOG 1 | ||
39 | |||
40 | static void | ||
41 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
42 | { | ||
43 | struct log_ctx *ctx = data; | ||
44 | va_list cp_args; | ||
45 | const char *str; | ||
46 | |||
47 | va_copy(cp_args, args); | ||
48 | str = va_arg(cp_args, const char *); | ||
49 | va_end(cp_args); | ||
50 | |||
51 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
52 | ck_assert_str_eq(fmt, "%s"); | ||
53 | ck_assert_str_eq(ctx->msg, str); | ||
54 | ck_assert_str_eq(ctx->fnc, fnc); | ||
55 | ctx->did = EINA_TRUE; | ||
56 | |||
57 | #ifdef SHOW_LOG | ||
58 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
59 | #else | ||
60 | (void)d; | ||
61 | (void)file; | ||
62 | (void)line; | ||
63 | #endif | ||
64 | } | ||
65 | #endif | ||
66 | |||
30 | START_TEST(eina_counter_simple) | 67 | START_TEST(eina_counter_simple) |
31 | { | 68 | { |
32 | Eina_Counter *cnt; | 69 | Eina_Counter *cnt; |
@@ -61,6 +98,7 @@ START_TEST(eina_counter_simple) | |||
61 | dump = eina_counter_dump(cnt); | 98 | dump = eina_counter_dump(cnt); |
62 | fail_if(!dump); | 99 | fail_if(!dump); |
63 | 100 | ||
101 | /* TODO: parse dump and check if it's right */ | ||
64 | fprintf(stderr, "%s", dump); | 102 | fprintf(stderr, "%s", dump); |
65 | 103 | ||
66 | free(dump); | 104 | free(dump); |
@@ -86,13 +124,65 @@ START_TEST(eina_counter_break) | |||
86 | 124 | ||
87 | #ifdef EINA_SAFETY_CHECKS | 125 | #ifdef EINA_SAFETY_CHECKS |
88 | { | 126 | { |
127 | struct log_ctx ctx; | ||
89 | char *dump; | 128 | char *dump; |
90 | 129 | ||
130 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
131 | ctx.msg = _msg; \ | ||
132 | ctx.fnc = fn; \ | ||
133 | ctx.did = EINA_FALSE | ||
134 | |||
135 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
136 | |||
137 | #ifdef SHOW_LOG | ||
91 | fprintf(stderr, "you should have a safety check failure below:\n"); | 138 | fprintf(stderr, "you should have a safety check failure below:\n"); |
139 | #endif | ||
140 | TEST_MAGIC_SAFETY("eina_counter_new", | ||
141 | "safety check failed: name == NULL"); | ||
142 | cnt = eina_counter_new(NULL); | ||
143 | fail_if(cnt); | ||
144 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
145 | fail_unless(ctx.did); | ||
146 | |||
147 | #ifdef SHOW_LOG | ||
148 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
149 | #endif | ||
150 | TEST_MAGIC_SAFETY("eina_counter_free", | ||
151 | "safety check failed: counter == NULL"); | ||
152 | eina_counter_free(NULL); | ||
153 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
154 | fail_unless(ctx.did); | ||
155 | |||
156 | #ifdef SHOW_LOG | ||
157 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
158 | #endif | ||
159 | TEST_MAGIC_SAFETY("eina_counter_start", | ||
160 | "safety check failed: counter == NULL"); | ||
161 | eina_counter_start(NULL); | ||
162 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
163 | fail_unless(ctx.did); | ||
164 | |||
165 | #ifdef SHOW_LOG | ||
166 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
167 | #endif | ||
168 | TEST_MAGIC_SAFETY("eina_counter_stop", | ||
169 | "safety check failed: counter == NULL"); | ||
170 | eina_counter_stop(NULL, 0); | ||
171 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
172 | fail_unless(ctx.did); | ||
173 | |||
174 | |||
175 | #ifdef SHOW_LOG | ||
176 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
177 | #endif | ||
178 | TEST_MAGIC_SAFETY("eina_counter_dump", | ||
179 | "safety check failed: counter == NULL"); | ||
92 | dump = eina_counter_dump(NULL); | 180 | dump = eina_counter_dump(NULL); |
93 | fail_if(dump); | 181 | fail_if(dump); |
94 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 182 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
95 | free(dump); | 183 | fail_unless(ctx.did); |
184 | |||
185 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
96 | } | 186 | } |
97 | #endif | 187 | #endif |
98 | 188 | ||
diff --git a/libraries/eina/src/tests/eina_test_error.c b/libraries/eina/src/tests/eina_test_error.c index 506f406..57f6950 100644 --- a/libraries/eina/src/tests/eina_test_error.c +++ b/libraries/eina/src/tests/eina_test_error.c | |||
@@ -33,6 +33,41 @@ | |||
33 | 33 | ||
34 | #define TEST_TEXT "The big test\n" | 34 | #define TEST_TEXT "The big test\n" |
35 | 35 | ||
36 | struct log_ctx { | ||
37 | const char *msg; | ||
38 | const char *fnc; | ||
39 | Eina_Bool did; | ||
40 | }; | ||
41 | |||
42 | /* tests should not output on success, just uncomment this for debugging */ | ||
43 | //#define SHOW_LOG 1 | ||
44 | |||
45 | static void | ||
46 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
47 | { | ||
48 | struct log_ctx *ctx = data; | ||
49 | va_list cp_args; | ||
50 | const char *str; | ||
51 | |||
52 | va_copy(cp_args, args); | ||
53 | str = va_arg(cp_args, const char *); | ||
54 | va_end(cp_args); | ||
55 | |||
56 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
57 | ck_assert_str_eq(fmt, "%s"); | ||
58 | ck_assert_str_eq(ctx->msg, str); | ||
59 | ck_assert_str_eq(ctx->fnc, fnc); | ||
60 | ctx->did = EINA_TRUE; | ||
61 | |||
62 | #ifdef SHOW_LOG | ||
63 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
64 | #else | ||
65 | (void)d; | ||
66 | (void)file; | ||
67 | (void)line; | ||
68 | #endif | ||
69 | } | ||
70 | |||
36 | START_TEST(eina_error_errno) | 71 | START_TEST(eina_error_errno) |
37 | { | 72 | { |
38 | int test; | 73 | int test; |
@@ -52,8 +87,157 @@ START_TEST(eina_error_errno) | |||
52 | } | 87 | } |
53 | END_TEST | 88 | END_TEST |
54 | 89 | ||
90 | START_TEST(eina_error_test_find) | ||
91 | { | ||
92 | int test, r; | ||
93 | const char *str; | ||
94 | |||
95 | eina_init(); | ||
96 | |||
97 | test = eina_error_msg_register(TEST_TEXT); | ||
98 | ck_assert_int_ne(test, 0); | ||
99 | |||
100 | str = eina_error_msg_get(test); | ||
101 | fail_unless(str != NULL); | ||
102 | ck_assert_str_eq(str, TEST_TEXT); | ||
103 | |||
104 | eina_error_set(test); | ||
105 | fail_if(eina_error_get() != test); | ||
106 | |||
107 | r = eina_error_find(TEST_TEXT); | ||
108 | ck_assert_int_eq(r, test); | ||
109 | |||
110 | eina_shutdown(); | ||
111 | } | ||
112 | END_TEST | ||
113 | |||
114 | START_TEST(eina_error_test_modify) | ||
115 | { | ||
116 | int test, r; | ||
117 | const char *str, smsg[] = "Do not copy this string"; | ||
118 | |||
119 | eina_init(); | ||
120 | |||
121 | test = eina_error_msg_register("Some Test Error"); | ||
122 | ck_assert_int_ne(test, 0); | ||
123 | |||
124 | str = eina_error_msg_get(test); | ||
125 | fail_unless(str != NULL); | ||
126 | ck_assert_str_eq(str, "Some Test Error"); | ||
127 | |||
128 | eina_error_set(test); | ||
129 | fail_if(eina_error_get() != test); | ||
130 | |||
131 | fail_unless(eina_error_msg_modify(test, "ABCDE")); | ||
132 | |||
133 | r = eina_error_find("ABCDE"); | ||
134 | ck_assert_int_eq(r, test); | ||
135 | |||
136 | test = eina_error_msg_static_register(smsg); | ||
137 | ck_assert_int_ne(test, 0); | ||
138 | |||
139 | str = eina_error_msg_get(test); | ||
140 | fail_unless(str != NULL); | ||
141 | fail_unless(str == smsg); | ||
142 | |||
143 | fail_unless(eina_error_msg_modify(test, "Change that!")); | ||
144 | r = eina_error_find("Change that!"); | ||
145 | ck_assert_int_eq(r, test); | ||
146 | |||
147 | eina_shutdown(); | ||
148 | } | ||
149 | END_TEST | ||
150 | |||
151 | START_TEST(eina_error_test_lots) | ||
152 | { | ||
153 | char buf[64]; | ||
154 | int codes[512]; | ||
155 | unsigned int i; | ||
156 | |||
157 | eina_init(); | ||
158 | |||
159 | for (i = 0; i < sizeof(codes)/sizeof(codes[0]); i++) | ||
160 | { | ||
161 | snprintf(buf, sizeof(buf), "myerr-%d", i); | ||
162 | codes[i] = eina_error_msg_register(buf); | ||
163 | ck_assert_int_ne(codes[i], 0); | ||
164 | } | ||
165 | |||
166 | for (i = 0; i < sizeof(codes)/sizeof(codes[0]); i++) | ||
167 | { | ||
168 | int found; | ||
169 | |||
170 | snprintf(buf, sizeof(buf), "myerr-%d", i); | ||
171 | |||
172 | found = eina_error_find(buf); | ||
173 | ck_assert_int_eq(codes[i], found); | ||
174 | } | ||
175 | |||
176 | eina_shutdown(); | ||
177 | } | ||
178 | END_TEST | ||
179 | |||
180 | #ifdef EINA_SAFETY_CHECKS | ||
181 | START_TEST(eina_error_test_failures) | ||
182 | { | ||
183 | struct log_ctx ctx; | ||
184 | |||
185 | eina_init(); | ||
186 | |||
187 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
188 | |||
189 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
190 | ctx.msg = _msg; \ | ||
191 | ctx.fnc = fn; \ | ||
192 | ctx.did = EINA_FALSE | ||
193 | |||
194 | TEST_MAGIC_SAFETY("eina_error_msg_register", | ||
195 | "safety check failed: msg == NULL"); | ||
196 | ck_assert_int_eq(eina_error_msg_register(NULL), 0); | ||
197 | fail_unless(ctx.did); | ||
198 | |||
199 | TEST_MAGIC_SAFETY("eina_error_msg_static_register", | ||
200 | "safety check failed: msg == NULL"); | ||
201 | ck_assert_int_eq(eina_error_msg_static_register(NULL), 0); | ||
202 | fail_unless(ctx.did); | ||
203 | |||
204 | ck_assert_int_eq(eina_error_msg_modify(0, "X"), EINA_FALSE); | ||
205 | ck_assert_int_eq(eina_error_msg_modify(4096, "X"), EINA_FALSE); | ||
206 | |||
207 | TEST_MAGIC_SAFETY("eina_error_msg_modify", | ||
208 | "safety check failed: msg == NULL"); | ||
209 | ck_assert_int_eq(eina_error_msg_modify(EINA_ERROR_OUT_OF_MEMORY, NULL), | ||
210 | EINA_FALSE); | ||
211 | fail_unless(ctx.did); | ||
212 | |||
213 | ck_assert_str_eq(eina_error_msg_get(EINA_ERROR_OUT_OF_MEMORY), | ||
214 | "Out of memory"); | ||
215 | |||
216 | TEST_MAGIC_SAFETY("eina_error_find", | ||
217 | "safety check failed: msg == NULL"); | ||
218 | ck_assert_int_eq(eina_error_find(NULL), 0); | ||
219 | fail_unless(ctx.did); | ||
220 | |||
221 | ck_assert_int_eq(eina_error_find("Non-existent Error..."), 0); | ||
222 | |||
223 | fail_if(eina_error_msg_get(0)); | ||
224 | fail_if(eina_error_msg_get(4096)); | ||
225 | |||
226 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
227 | |||
228 | eina_shutdown(); | ||
229 | } | ||
230 | END_TEST | ||
231 | #endif | ||
232 | |||
55 | void | 233 | void |
56 | eina_test_error(TCase *tc) | 234 | eina_test_error(TCase *tc) |
57 | { | 235 | { |
58 | tcase_add_test(tc, eina_error_errno); | 236 | tcase_add_test(tc, eina_error_errno); |
237 | tcase_add_test(tc, eina_error_test_find); | ||
238 | tcase_add_test(tc, eina_error_test_modify); | ||
239 | tcase_add_test(tc, eina_error_test_lots); | ||
240 | #ifdef EINA_SAFETY_CHECKS | ||
241 | tcase_add_test(tc, eina_error_test_failures); | ||
242 | #endif | ||
59 | } | 243 | } |
diff --git a/libraries/eina/src/tests/eina_test_file.c b/libraries/eina/src/tests/eina_test_file.c index 55e9976..a3ba998 100644 --- a/libraries/eina/src/tests/eina_test_file.c +++ b/libraries/eina/src/tests/eina_test_file.c | |||
@@ -28,6 +28,44 @@ | |||
28 | #include "Eina.h" | 28 | #include "Eina.h" |
29 | #include "eina_safety_checks.h" | 29 | #include "eina_safety_checks.h" |
30 | 30 | ||
31 | #ifdef EINA_SAFETY_CHECKS | ||
32 | struct log_ctx { | ||
33 | const char *msg; | ||
34 | const char *fnc; | ||
35 | Eina_Bool did; | ||
36 | }; | ||
37 | |||
38 | /* tests should not output on success, just uncomment this for debugging */ | ||
39 | //#define SHOW_LOG 1 | ||
40 | |||
41 | static void | ||
42 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
43 | { | ||
44 | struct log_ctx *ctx = data; | ||
45 | va_list cp_args; | ||
46 | const char *str; | ||
47 | |||
48 | va_copy(cp_args, args); | ||
49 | str = va_arg(cp_args, const char *); | ||
50 | va_end(cp_args); | ||
51 | |||
52 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
53 | ck_assert_str_eq(fmt, "%s"); | ||
54 | ck_assert_str_eq(ctx->msg, str); | ||
55 | ck_assert_str_eq(ctx->fnc, fnc); | ||
56 | ctx->did = EINA_TRUE; | ||
57 | |||
58 | #ifdef SHOW_LOG | ||
59 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
60 | #else | ||
61 | (void)d; | ||
62 | (void)file; | ||
63 | (void)line; | ||
64 | #endif | ||
65 | } | ||
66 | #endif | ||
67 | |||
68 | |||
31 | START_TEST(eina_file_split_simple) | 69 | START_TEST(eina_file_split_simple) |
32 | { | 70 | { |
33 | Eina_Array *ea; | 71 | Eina_Array *ea; |
@@ -35,10 +73,26 @@ START_TEST(eina_file_split_simple) | |||
35 | eina_init(); | 73 | eina_init(); |
36 | 74 | ||
37 | #ifdef EINA_SAFETY_CHECKS | 75 | #ifdef EINA_SAFETY_CHECKS |
76 | #ifdef SHOW_LOG | ||
38 | fprintf(stderr, "you should have a safety check failure below:\n"); | 77 | fprintf(stderr, "you should have a safety check failure below:\n"); |
78 | #endif | ||
79 | struct log_ctx ctx; | ||
80 | |||
81 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
82 | ctx.msg = _msg; \ | ||
83 | ctx.fnc = fn; \ | ||
84 | ctx.did = EINA_FALSE | ||
85 | |||
86 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
87 | |||
88 | TEST_MAGIC_SAFETY("eina_file_split", "safety check failed: path == NULL"); | ||
39 | ea = eina_file_split(NULL); | 89 | ea = eina_file_split(NULL); |
40 | fail_if(ea); | 90 | fail_if(ea); |
41 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 91 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
92 | fail_unless(ctx.did); | ||
93 | |||
94 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
95 | #undef TEST_MAGIC_SAFETY | ||
42 | #endif | 96 | #endif |
43 | 97 | ||
44 | #ifdef _WIN32 | 98 | #ifdef _WIN32 |
diff --git a/libraries/eina/src/tests/eina_test_inlist.c b/libraries/eina/src/tests/eina_test_inlist.c index c27f393..a8631e7 100644 --- a/libraries/eina/src/tests/eina_test_inlist.c +++ b/libraries/eina/src/tests/eina_test_inlist.c | |||
@@ -34,6 +34,43 @@ struct _Eina_Test_Inlist | |||
34 | EINA_INLIST; | 34 | EINA_INLIST; |
35 | }; | 35 | }; |
36 | 36 | ||
37 | #ifdef EINA_SAFETY_CHECKS | ||
38 | struct log_ctx { | ||
39 | const char *msg; | ||
40 | const char *fnc; | ||
41 | Eina_Bool did; | ||
42 | }; | ||
43 | |||
44 | /* tests should not output on success, just uncomment this for debugging */ | ||
45 | //#define SHOW_LOG 1 | ||
46 | |||
47 | static void | ||
48 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
49 | { | ||
50 | struct log_ctx *ctx = data; | ||
51 | va_list cp_args; | ||
52 | const char *str; | ||
53 | |||
54 | va_copy(cp_args, args); | ||
55 | str = va_arg(cp_args, const char *); | ||
56 | va_end(cp_args); | ||
57 | |||
58 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
59 | ck_assert_str_eq(fmt, "%s"); | ||
60 | ck_assert_str_eq(ctx->msg, str); | ||
61 | ck_assert_str_eq(ctx->fnc, fnc); | ||
62 | ctx->did = EINA_TRUE; | ||
63 | |||
64 | #ifdef SHOW_LOG | ||
65 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
66 | #else | ||
67 | (void)d; | ||
68 | (void)file; | ||
69 | (void)line; | ||
70 | #endif | ||
71 | } | ||
72 | #endif | ||
73 | |||
37 | static Eina_Test_Inlist * | 74 | static Eina_Test_Inlist * |
38 | _eina_test_inlist_build(int i) | 75 | _eina_test_inlist_build(int i) |
39 | { | 76 | { |
@@ -52,6 +89,10 @@ START_TEST(eina_inlist_simple) | |||
52 | Eina_Test_Inlist *tmp; | 89 | Eina_Test_Inlist *tmp; |
53 | Eina_Test_Inlist *prev; | 90 | Eina_Test_Inlist *prev; |
54 | int i = 0; | 91 | int i = 0; |
92 | #ifdef EINA_SAFETY_CHECKS | ||
93 | Eina_Inlist *bkp; | ||
94 | struct log_ctx ctx; | ||
95 | #endif | ||
55 | 96 | ||
56 | fail_if(!eina_init()); | 97 | fail_if(!eina_init()); |
57 | 98 | ||
@@ -106,16 +147,142 @@ START_TEST(eina_inlist_simple) | |||
106 | } | 147 | } |
107 | 148 | ||
108 | #ifdef EINA_SAFETY_CHECKS | 149 | #ifdef EINA_SAFETY_CHECKS |
150 | bkp = lst; | ||
151 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
152 | |||
153 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
154 | ctx.msg = _msg; \ | ||
155 | ctx.fnc = fn; \ | ||
156 | ctx.did = EINA_FALSE | ||
157 | |||
158 | #ifdef SHOW_LOG | ||
109 | fprintf(stderr, "you should have a safety check failure below:\n"); | 159 | fprintf(stderr, "you should have a safety check failure below:\n"); |
160 | #endif | ||
110 | { | 161 | { |
111 | Eina_Inlist *tmp2 = eina_inlist_remove(NULL, EINA_INLIST_GET(tmp)); | 162 | Eina_Inlist *tmp2; |
163 | |||
164 | TEST_MAGIC_SAFETY("eina_inlist_remove", | ||
165 | "safety check failed: list == NULL"); | ||
166 | |||
167 | tmp2 = eina_inlist_remove(NULL, EINA_INLIST_GET(tmp)); | ||
112 | fail_if(tmp2 != NULL); | 168 | fail_if(tmp2 != NULL); |
113 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 169 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
170 | fail_unless(ctx.did); | ||
114 | } | 171 | } |
115 | 172 | ||
116 | fprintf(stderr, "you should have a safety check failure below:\n"); | 173 | #ifdef SHOW_LOG |
174 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
175 | #endif | ||
176 | TEST_MAGIC_SAFETY("eina_inlist_remove", | ||
177 | "safety check failed: item == NULL"); | ||
117 | lst = eina_inlist_remove(lst, NULL); | 178 | lst = eina_inlist_remove(lst, NULL); |
118 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 179 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
180 | fail_unless(ctx.did); | ||
181 | |||
182 | #ifdef SHOW_LOG | ||
183 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
184 | #endif | ||
185 | TEST_MAGIC_SAFETY("eina_inlist_append", | ||
186 | "safety check failed: new_l == NULL"); | ||
187 | lst = eina_inlist_append(lst, NULL); | ||
188 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
189 | fail_unless(ctx.did); | ||
190 | |||
191 | #ifdef SHOW_LOG | ||
192 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
193 | #endif | ||
194 | TEST_MAGIC_SAFETY("eina_inlist_append_relative", | ||
195 | "safety check failed: new_l == NULL"); | ||
196 | lst = eina_inlist_append_relative(lst, NULL, NULL); | ||
197 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
198 | fail_unless(ctx.did); | ||
199 | |||
200 | #ifdef SHOW_LOG | ||
201 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
202 | #endif | ||
203 | TEST_MAGIC_SAFETY("eina_inlist_prepend", | ||
204 | "safety check failed: new_l == NULL"); | ||
205 | lst = eina_inlist_prepend(lst, NULL); | ||
206 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
207 | fail_unless(ctx.did); | ||
208 | |||
209 | #ifdef SHOW_LOG | ||
210 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
211 | #endif | ||
212 | TEST_MAGIC_SAFETY("eina_inlist_prepend_relative", | ||
213 | "safety check failed: new_l == NULL"); | ||
214 | lst = eina_inlist_prepend_relative(lst, NULL, NULL); | ||
215 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
216 | fail_unless(ctx.did); | ||
217 | |||
218 | #ifdef SHOW_LOG | ||
219 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
220 | #endif | ||
221 | TEST_MAGIC_SAFETY("eina_inlist_find", | ||
222 | "safety check failed: item == NULL"); | ||
223 | lst = eina_inlist_find(lst, NULL); | ||
224 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
225 | fail_unless(ctx.did); | ||
226 | |||
227 | #ifdef SHOW_LOG | ||
228 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
229 | #endif | ||
230 | TEST_MAGIC_SAFETY("eina_inlist_demote", | ||
231 | "safety check failed: list == NULL"); | ||
232 | lst = eina_inlist_demote(NULL, NULL); | ||
233 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
234 | fail_unless(ctx.did); | ||
235 | |||
236 | #ifdef SHOW_LOG | ||
237 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
238 | #endif | ||
239 | TEST_MAGIC_SAFETY("eina_inlist_demote", | ||
240 | "safety check failed: item == NULL"); | ||
241 | lst = eina_inlist_demote((void*)1L, NULL); | ||
242 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
243 | fail_unless(ctx.did); | ||
244 | lst = NULL; | ||
245 | |||
246 | #ifdef SHOW_LOG | ||
247 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
248 | #endif | ||
249 | TEST_MAGIC_SAFETY("eina_inlist_promote", | ||
250 | "safety check failed: list == NULL"); | ||
251 | lst = eina_inlist_promote(NULL, NULL); | ||
252 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
253 | fail_unless(ctx.did); | ||
254 | |||
255 | #ifdef SHOW_LOG | ||
256 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
257 | #endif | ||
258 | TEST_MAGIC_SAFETY("eina_inlist_promote", | ||
259 | "safety check failed: item == NULL"); | ||
260 | lst = eina_inlist_promote((void*)1L, NULL); | ||
261 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
262 | fail_unless(ctx.did); | ||
263 | lst = NULL; | ||
264 | |||
265 | #ifdef SHOW_LOG | ||
266 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
267 | #endif | ||
268 | TEST_MAGIC_SAFETY("eina_inlist_sorted_insert", | ||
269 | "safety check failed: item == NULL"); | ||
270 | lst = eina_inlist_sorted_insert(NULL, NULL, NULL); | ||
271 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
272 | fail_unless(ctx.did); | ||
273 | |||
274 | #ifdef SHOW_LOG | ||
275 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
276 | #endif | ||
277 | TEST_MAGIC_SAFETY("eina_inlist_sorted_insert", | ||
278 | "safety check failed: func == NULL"); | ||
279 | lst = eina_inlist_sorted_insert(NULL, (void*)1L, NULL); | ||
280 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | ||
281 | fail_unless(ctx.did); | ||
282 | lst = NULL; | ||
283 | |||
284 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
285 | lst = bkp; | ||
119 | #endif | 286 | #endif |
120 | 287 | ||
121 | tmp = EINA_INLIST_CONTAINER_GET(lst, Eina_Test_Inlist); | 288 | tmp = EINA_INLIST_CONTAINER_GET(lst, Eina_Test_Inlist); |
diff --git a/libraries/eina/src/tests/eina_test_list.c b/libraries/eina/src/tests/eina_test_list.c index 6e08847..ce70d03 100644 --- a/libraries/eina/src/tests/eina_test_list.c +++ b/libraries/eina/src/tests/eina_test_list.c | |||
@@ -338,10 +338,50 @@ START_TEST(eina_test_sorted_insert) | |||
338 | } | 338 | } |
339 | END_TEST | 339 | END_TEST |
340 | 340 | ||
341 | START_TEST(eina_test_list_split) | ||
342 | { | ||
343 | Eina_List *left = NULL, *right = NULL ; | ||
344 | Eina_List *list = NULL; | ||
345 | Eina_List *l; | ||
346 | void *list_data; | ||
347 | int i; | ||
348 | |||
349 | eina_init(); | ||
350 | |||
351 | list = eina_list_append(list, "tigh"); | ||
352 | list = eina_list_append(list, "adar"); | ||
353 | list = eina_list_append(list, "baltar"); | ||
354 | list = eina_list_append(list, "roslin"); | ||
355 | list = eina_list_append(list, "baltar"); | ||
356 | list = eina_list_append(list, "roslin"); | ||
357 | list = eina_list_append(list, "baltar"); | ||
358 | list = eina_list_append(list, "roslin"); | ||
359 | |||
360 | fail_if(list == NULL); | ||
361 | fail_if(eina_list_count(list) != 8); | ||
362 | |||
363 | for ( i = 0; i < 200; i++) | ||
364 | { | ||
365 | left = eina_list_split_list(list, eina_list_nth_list(list, i % 2), &right); | ||
366 | |||
367 | if (i % 2 == 0) | ||
368 | fail_if(eina_list_count(left) == 1 && eina_list_count(right) + eina_list_count(left) == i + 7); | ||
369 | else | ||
370 | fail_if(eina_list_count(left) == 2 && eina_list_count(right) + eina_list_count(left) == i + 7); | ||
371 | |||
372 | list = eina_list_merge(left, right); | ||
373 | list = eina_list_append(list, "roslin"); | ||
374 | } | ||
375 | |||
376 | eina_shutdown(); | ||
377 | } | ||
378 | END_TEST | ||
379 | |||
341 | void | 380 | void |
342 | eina_test_list(TCase *tc) | 381 | eina_test_list(TCase *tc) |
343 | { | 382 | { |
344 | tcase_add_test(tc, eina_test_simple); | 383 | tcase_add_test(tc, eina_test_simple); |
345 | tcase_add_test(tc, eina_test_merge); | 384 | tcase_add_test(tc, eina_test_merge); |
346 | tcase_add_test(tc, eina_test_sorted_insert); | 385 | tcase_add_test(tc, eina_test_sorted_insert); |
386 | tcase_add_test(tc, eina_test_list_split); | ||
347 | } | 387 | } |
diff --git a/libraries/eina/src/tests/eina_test_log.c b/libraries/eina/src/tests/eina_test_log.c index ba17d5f..e0f0363 100644 --- a/libraries/eina/src/tests/eina_test_log.c +++ b/libraries/eina/src/tests/eina_test_log.c | |||
@@ -27,18 +27,119 @@ | |||
27 | #include "eina_suite.h" | 27 | #include "eina_suite.h" |
28 | #include "Eina.h" | 28 | #include "Eina.h" |
29 | 29 | ||
30 | START_TEST(eina_log_macro) | 30 | struct log_ctx { |
31 | int level; | ||
32 | int line; | ||
33 | const char *msg; | ||
34 | const char *fnc; | ||
35 | const char *dom; | ||
36 | Eina_Bool did; | ||
37 | }; | ||
38 | |||
39 | /* tests should not output on success, just uncomment this for debugging */ | ||
40 | //#define SHOW_LOG 1 | ||
41 | |||
42 | static void | ||
43 | _eina_test_log(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
31 | { | 44 | { |
45 | struct log_ctx *ctx = data; | ||
46 | ck_assert_int_eq(ctx->level, level); | ||
47 | ck_assert_int_eq(ctx->line, line); | ||
48 | ck_assert_str_eq(ctx->msg, fmt); | ||
49 | ck_assert_str_eq(ctx->fnc, fnc); | ||
50 | ck_assert_str_eq(file, __FILE__); | ||
51 | ctx->did = EINA_TRUE; | ||
52 | #ifdef SHOW_LOG | ||
53 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
54 | #else | ||
55 | (void)d; | ||
56 | #endif | ||
57 | } | ||
58 | |||
59 | static void | ||
60 | _eina_test_log_domain(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
61 | { | ||
62 | struct log_ctx *ctx = data; | ||
63 | ck_assert_int_eq(ctx->level, level); | ||
64 | ck_assert_int_eq(ctx->line, line); | ||
65 | ck_assert_str_eq(ctx->msg, fmt); | ||
66 | ck_assert_str_eq(ctx->fnc, fnc); | ||
67 | ck_assert_str_eq(file, __FILE__); | ||
68 | ck_assert_str_eq(ctx->dom, d->name); | ||
69 | ctx->did = EINA_TRUE; | ||
70 | #ifdef SHOW_LOG | ||
71 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
72 | #endif | ||
73 | } | ||
74 | |||
75 | static void | ||
76 | _eina_test_log_safety(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
77 | { | ||
78 | struct log_ctx *ctx = data; | ||
79 | va_list cp_args; | ||
80 | const char *str; | ||
81 | |||
82 | va_copy(cp_args, args); | ||
83 | str = va_arg(cp_args, const char *); | ||
84 | va_end(cp_args); | ||
85 | |||
86 | ck_assert_int_eq(ctx->level, level); | ||
87 | ck_assert_str_eq(fmt, "%s"); | ||
88 | ck_assert_str_eq(ctx->msg, str); | ||
89 | ck_assert_str_eq(ctx->fnc, fnc); | ||
90 | ctx->did = EINA_TRUE; | ||
91 | |||
92 | #ifdef SHOW_LOG | ||
93 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
94 | #else | ||
95 | (void)d; | ||
96 | (void)file; | ||
97 | (void)line; | ||
98 | #endif | ||
99 | } | ||
100 | |||
101 | START_TEST(eina_log_macro) | ||
102 | { | ||
103 | struct log_ctx ctx; | ||
104 | int oldlevel; | ||
105 | |||
32 | fail_if(!eina_init()); | 106 | fail_if(!eina_init()); |
33 | 107 | ||
108 | oldlevel = eina_log_level_get(); | ||
34 | eina_log_level_set(EINA_LOG_LEVEL_DBG); | 109 | eina_log_level_set(EINA_LOG_LEVEL_DBG); |
35 | eina_log_print_cb_set(eina_log_print_cb_file, stderr); | 110 | eina_log_print_cb_set(_eina_test_log, &ctx); |
111 | |||
112 | #define TEST_LOG_CTX(lvl, _msg) \ | ||
113 | ctx.level = lvl; \ | ||
114 | ctx.line = __LINE__ + 1; \ | ||
115 | ctx.msg = _msg; \ | ||
116 | ctx.fnc = __FUNCTION__; \ | ||
117 | ctx.did = EINA_FALSE | ||
118 | |||
119 | TEST_LOG_CTX(EINA_LOG_LEVEL_CRITICAL, "Critical message"); | ||
120 | EINA_LOG_CRIT("Critical message"); | ||
121 | fail_unless(ctx.did); | ||
122 | |||
123 | TEST_LOG_CTX(EINA_LOG_LEVEL_ERR, "An error"); | ||
124 | EINA_LOG_ERR("An error"); | ||
125 | fail_unless(ctx.did); | ||
36 | 126 | ||
37 | EINA_LOG_CRIT("Critical message\n"); | 127 | TEST_LOG_CTX(EINA_LOG_LEVEL_WARN, "A warning"); |
38 | EINA_LOG_ERR("An error\n"); | 128 | EINA_LOG_WARN("A warning"); |
39 | EINA_LOG_INFO("An info\n"); | 129 | fail_unless(ctx.did); |
40 | EINA_LOG_WARN("A warning\n"); | 130 | |
41 | EINA_LOG_DBG("A debug\n"); | 131 | TEST_LOG_CTX(EINA_LOG_LEVEL_INFO, "An info"); |
132 | EINA_LOG_INFO("An info"); | ||
133 | fail_unless(ctx.did); | ||
134 | |||
135 | TEST_LOG_CTX(EINA_LOG_LEVEL_DBG, "A debug"); | ||
136 | EINA_LOG_DBG("A debug"); | ||
137 | fail_unless(ctx.did); | ||
138 | |||
139 | #undef TEST_LOG_CTX | ||
140 | |||
141 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
142 | eina_log_level_set(oldlevel); | ||
42 | 143 | ||
43 | eina_shutdown(); | 144 | eina_shutdown(); |
44 | } | 145 | } |
@@ -46,16 +147,54 @@ END_TEST | |||
46 | 147 | ||
47 | START_TEST(eina_log_domains_macros) | 148 | START_TEST(eina_log_domains_macros) |
48 | { | 149 | { |
150 | struct log_ctx ctx; | ||
151 | int oldlevel; | ||
152 | |||
49 | fail_if(!eina_init()); | 153 | fail_if(!eina_init()); |
50 | 154 | ||
155 | /* make global log level blocker */ | ||
156 | oldlevel = eina_log_level_get(); | ||
157 | eina_log_level_set(EINA_LOG_LEVEL_CRITICAL); | ||
158 | eina_log_print_cb_set(_eina_test_log_domain, &ctx); | ||
159 | |||
51 | int d = eina_log_domain_register("MyDomain", EINA_COLOR_GREEN); | 160 | int d = eina_log_domain_register("MyDomain", EINA_COLOR_GREEN); |
52 | fail_if(d < 0); | 161 | fail_if(d < 0); |
53 | 162 | ||
54 | EINA_LOG_DOM_CRIT(d, "A critical message\n"); | 163 | /* make specific domain permissive */ |
55 | EINA_LOG_DOM_ERR(d, "An error\n"); | 164 | eina_log_domain_level_set("MyDomain", EINA_LOG_LEVEL_DBG); |
56 | EINA_LOG_DOM_WARN(d, "A warning\n"); | 165 | |
57 | EINA_LOG_DOM_DBG(d, "A debug\n"); | 166 | #define TEST_LOG_CTX(lvl, _msg) \ |
58 | EINA_LOG_DOM_INFO(d, "An info\n"); | 167 | ctx.level = lvl; \ |
168 | ctx.line = __LINE__ + 1; \ | ||
169 | ctx.msg = _msg; \ | ||
170 | ctx.fnc = __FUNCTION__; \ | ||
171 | ctx.dom = "MyDomain"; \ | ||
172 | ctx.did = EINA_FALSE | ||
173 | |||
174 | TEST_LOG_CTX(EINA_LOG_LEVEL_CRITICAL, "A critical message"); | ||
175 | EINA_LOG_DOM_CRIT(d, "A critical message"); | ||
176 | fail_unless(ctx.did); | ||
177 | |||
178 | TEST_LOG_CTX(EINA_LOG_LEVEL_ERR, "An error"); | ||
179 | EINA_LOG_DOM_ERR(d, "An error"); | ||
180 | fail_unless(ctx.did); | ||
181 | |||
182 | TEST_LOG_CTX(EINA_LOG_LEVEL_WARN, "A warning"); | ||
183 | EINA_LOG_DOM_WARN(d, "A warning"); | ||
184 | fail_unless(ctx.did); | ||
185 | |||
186 | TEST_LOG_CTX(EINA_LOG_LEVEL_INFO, "An info"); | ||
187 | EINA_LOG_DOM_INFO(d, "An info"); | ||
188 | fail_unless(ctx.did); | ||
189 | |||
190 | TEST_LOG_CTX(EINA_LOG_LEVEL_DBG, "A debug"); | ||
191 | EINA_LOG_DOM_DBG(d, "A debug"); | ||
192 | fail_unless(ctx.did); | ||
193 | |||
194 | #undef TEST_LOG_CTX | ||
195 | |||
196 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
197 | eina_log_level_set(oldlevel); | ||
59 | 198 | ||
60 | eina_shutdown(); | 199 | eina_shutdown(); |
61 | } | 200 | } |
@@ -120,6 +259,8 @@ END_TEST | |||
120 | 259 | ||
121 | START_TEST(eina_log_level_indexes) | 260 | START_TEST(eina_log_level_indexes) |
122 | { | 261 | { |
262 | struct log_ctx ctx; | ||
263 | |||
123 | fail_if(!eina_init()); | 264 | fail_if(!eina_init()); |
124 | fail_if(!eina_threads_init()); | 265 | fail_if(!eina_threads_init()); |
125 | fail_if(!eina_threads_init()); | 266 | fail_if(!eina_threads_init()); |
@@ -127,11 +268,41 @@ START_TEST(eina_log_level_indexes) | |||
127 | int d = eina_log_domain_register("Levels", EINA_COLOR_GREEN); | 268 | int d = eina_log_domain_register("Levels", EINA_COLOR_GREEN); |
128 | fail_if(d < 0); | 269 | fail_if(d < 0); |
129 | 270 | ||
271 | eina_log_print_cb_set(_eina_test_log_domain, &ctx); | ||
272 | |||
273 | #define TEST_LOG_CTX(lvl, _msg) \ | ||
274 | ctx.level = lvl; \ | ||
275 | ctx.line = __LINE__ + 1; \ | ||
276 | ctx.msg = _msg; \ | ||
277 | ctx.fnc = __FUNCTION__; \ | ||
278 | ctx.dom = "Levels"; \ | ||
279 | ctx.did = EINA_FALSE; | ||
280 | |||
130 | // Displayed unless user sets level lower than -1 | 281 | // Displayed unless user sets level lower than -1 |
131 | EINA_LOG(d, -1, "Negative index message\n"); | 282 | eina_log_domain_level_set("Levels", -1); |
283 | TEST_LOG_CTX(-1, "Negative index message"); | ||
284 | EINA_LOG(d, -1, "Negative index message"); | ||
285 | fail_unless(ctx.did); | ||
286 | |||
287 | eina_log_domain_level_set("Levels", -2); | ||
288 | TEST_LOG_CTX(-1, "Negative index message"); | ||
289 | EINA_LOG(d, -1, "Negative index message"); | ||
290 | fail_if(ctx.did); | ||
132 | 291 | ||
133 | // Displayed only if user sets level 6 or higher | 292 | // Displayed only if user sets level 6 or higher |
134 | EINA_LOG(d, 6, "Higher level debug\n"); | 293 | eina_log_domain_level_set("Levels", 6); |
294 | TEST_LOG_CTX(6, "Higher level debug"); | ||
295 | EINA_LOG(d, 6, "Higher level debug"); | ||
296 | fail_unless(ctx.did); | ||
297 | |||
298 | eina_log_domain_level_set("Levels", 5); | ||
299 | TEST_LOG_CTX(6, "Higher level debug"); | ||
300 | EINA_LOG(d, 6, "Higher level debug"); | ||
301 | fail_if(ctx.did); | ||
302 | |||
303 | #undef TEST_LOG_CTX | ||
304 | |||
305 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
135 | 306 | ||
136 | eina_threads_shutdown(); | 307 | eina_threads_shutdown(); |
137 | eina_threads_shutdown(); | 308 | eina_threads_shutdown(); |
@@ -141,6 +312,7 @@ END_TEST | |||
141 | 312 | ||
142 | START_TEST(eina_log_customize) | 313 | START_TEST(eina_log_customize) |
143 | { | 314 | { |
315 | struct log_ctx ctx; | ||
144 | int d; | 316 | int d; |
145 | 317 | ||
146 | /* please don't define EINA_LOG_LEVELS for it */ | 318 | /* please don't define EINA_LOG_LEVELS for it */ |
@@ -182,11 +354,28 @@ START_TEST(eina_log_customize) | |||
182 | fail_if(eina_log_domain_registered_level_get(d) != 890); | 354 | fail_if(eina_log_domain_registered_level_get(d) != 890); |
183 | 355 | ||
184 | eina_log_domain_unregister(d); | 356 | eina_log_domain_unregister(d); |
357 | |||
358 | #ifdef EINA_SAFETY_CHECKS | ||
359 | #ifdef SHOW_LOG | ||
185 | fputs("NOTE: You should see a failed safety check or " | 360 | fputs("NOTE: You should see a failed safety check or " |
186 | "a crash if compiled without safety checks support.\n", | 361 | "a crash if compiled without safety checks support.\n", |
187 | stderr); | 362 | stderr); |
363 | #endif | ||
188 | eina_log_abort_on_critical_set(EINA_FALSE); | 364 | eina_log_abort_on_critical_set(EINA_FALSE); |
365 | eina_log_function_disable_set(EINA_FALSE); | ||
366 | |||
367 | eina_log_print_cb_set(_eina_test_log_safety, &ctx); | ||
368 | ctx.level = EINA_LOG_LEVEL_ERR; | ||
369 | ctx.msg = "safety check failed: _log_domains[domain].deleted is true"; | ||
370 | ctx.fnc = "eina_log_domain_registered_level_get"; | ||
371 | ctx.did = EINA_FALSE; | ||
189 | fail_if(eina_log_domain_registered_level_get(d) != EINA_LOG_LEVEL_UNKNOWN); | 372 | fail_if(eina_log_domain_registered_level_get(d) != EINA_LOG_LEVEL_UNKNOWN); |
373 | fail_unless(ctx.did); | ||
374 | |||
375 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
376 | #else | ||
377 | #warning "Compiled without safety checks" | ||
378 | #endif | ||
190 | 379 | ||
191 | #undef test_set_get_bool | 380 | #undef test_set_get_bool |
192 | #undef test_set_get | 381 | #undef test_set_get |
diff --git a/libraries/eina/src/tests/eina_test_magic.c b/libraries/eina/src/tests/eina_test_magic.c index d2c3d49..d0a374e 100644 --- a/libraries/eina/src/tests/eina_test_magic.c +++ b/libraries/eina/src/tests/eina_test_magic.c | |||
@@ -40,21 +40,95 @@ struct _Eina_Magic_Struct | |||
40 | EINA_MAGIC | 40 | EINA_MAGIC |
41 | }; | 41 | }; |
42 | 42 | ||
43 | struct log_ctx { | ||
44 | const char *msg; | ||
45 | const char *fnc; | ||
46 | Eina_Bool did; | ||
47 | }; | ||
48 | |||
49 | /* tests should not output on success, just uncomment this for debugging */ | ||
50 | //#define SHOW_LOG 1 | ||
51 | |||
52 | static void | ||
53 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
54 | { | ||
55 | struct log_ctx *ctx = data; | ||
56 | va_list cp_args; | ||
57 | const char *str; | ||
58 | |||
59 | va_copy(cp_args, args); | ||
60 | str = va_arg(cp_args, const char *); | ||
61 | va_end(cp_args); | ||
62 | |||
63 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
64 | ck_assert_str_eq(fmt, "%s"); | ||
65 | ck_assert_str_eq(ctx->msg, str); | ||
66 | ck_assert_str_eq(ctx->fnc, fnc); | ||
67 | ctx->did = EINA_TRUE; | ||
68 | |||
69 | #ifdef SHOW_LOG | ||
70 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
71 | #else | ||
72 | (void)d; | ||
73 | (void)file; | ||
74 | (void)line; | ||
75 | #endif | ||
76 | } | ||
77 | |||
78 | static void | ||
79 | _eina_test_magic_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
80 | { | ||
81 | struct log_ctx *ctx = data; | ||
82 | |||
83 | ck_assert_int_eq(level, EINA_LOG_LEVEL_CRITICAL); | ||
84 | ck_assert_str_eq(ctx->msg, fmt); | ||
85 | ck_assert_str_eq(ctx->fnc, fnc); | ||
86 | ctx->did = EINA_TRUE; | ||
87 | |||
88 | #ifdef SHOW_LOG | ||
89 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
90 | #else | ||
91 | (void)d; | ||
92 | (void)file; | ||
93 | (void)line; | ||
94 | #endif | ||
95 | } | ||
96 | |||
97 | #ifdef EINA_SAFETY_CHECKS | ||
98 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
99 | ctx.msg = _msg; \ | ||
100 | ctx.fnc = fn; \ | ||
101 | ctx.did = EINA_FALSE | ||
102 | #endif | ||
103 | |||
43 | START_TEST(eina_magic_simple) | 104 | START_TEST(eina_magic_simple) |
44 | { | 105 | { |
45 | Eina_Magic_Struct *ems = NULL; | 106 | Eina_Magic_Struct *ems = NULL; |
107 | struct log_ctx ctx; | ||
46 | 108 | ||
47 | eina_init(); | 109 | eina_init(); |
48 | 110 | ||
111 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
112 | |||
49 | eina_magic_string_set(EINA_MAGIC_TEST, EINA_MAGIC_STRING); | 113 | eina_magic_string_set(EINA_MAGIC_TEST, EINA_MAGIC_STRING); |
50 | 114 | ||
51 | #ifdef EINA_SAFETY_CHECKS | 115 | #ifdef EINA_SAFETY_CHECKS |
116 | #ifdef SHOW_LOG | ||
52 | fprintf(stderr, "you should have a safety check failure below:\n"); | 117 | fprintf(stderr, "you should have a safety check failure below:\n"); |
118 | #endif | ||
119 | TEST_MAGIC_SAFETY("eina_magic_string_set", | ||
120 | "safety check failed: magic_name == NULL"); | ||
53 | eina_magic_string_set(EINA_MAGIC_TEST2, NULL); | 121 | eina_magic_string_set(EINA_MAGIC_TEST2, NULL); |
54 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 122 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
123 | fail_unless(ctx.did); | ||
55 | 124 | ||
125 | #ifdef SHOW_LOG | ||
56 | fprintf(stderr, "you should have a safety check failure below:\n"); | 126 | fprintf(stderr, "you should have a safety check failure below:\n"); |
127 | #endif | ||
128 | TEST_MAGIC_SAFETY("eina_magic_string_set", | ||
129 | "safety check failed: magic_name == NULL"); | ||
57 | eina_magic_string_set(EINA_MAGIC_TEST2, NULL); | 130 | eina_magic_string_set(EINA_MAGIC_TEST2, NULL); |
131 | fail_unless(ctx.did); | ||
58 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); | 132 | fail_if(eina_error_get() != EINA_ERROR_SAFETY_FAILED); |
59 | #endif | 133 | #endif |
60 | 134 | ||
@@ -64,10 +138,22 @@ START_TEST(eina_magic_simple) | |||
64 | fail_if(strcmp(eina_magic_string_get( | 138 | fail_if(strcmp(eina_magic_string_get( |
65 | EINA_MAGIC_TEST), EINA_MAGIC_STRING) != 0); | 139 | EINA_MAGIC_TEST), EINA_MAGIC_STRING) != 0); |
66 | 140 | ||
141 | eina_log_print_cb_set(_eina_test_magic_print_cb, &ctx); | ||
142 | |||
67 | #ifdef EINA_MAGIC_DEBUG | 143 | #ifdef EINA_MAGIC_DEBUG |
68 | fail_if(EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); | 144 | fail_if(EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); |
145 | #ifdef SHOW_LOG | ||
69 | fprintf(stderr, "you should see 'Input handle pointer is NULL' below\n"); | 146 | fprintf(stderr, "you should see 'Input handle pointer is NULL' below\n"); |
147 | #endif | ||
148 | TEST_MAGIC_SAFETY(__FUNCTION__, | ||
149 | "*** Eina Magic Check Failed !!!\n" | ||
150 | " Input handle pointer is NULL !\n" | ||
151 | "*** NAUGHTY PROGRAMMER!!!\n" | ||
152 | "*** SPANK SPANK SPANK!!!\n" | ||
153 | "*** Now go fix your code. Tut tut tut!\n" | ||
154 | "\n"); | ||
70 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); | 155 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); |
156 | fail_unless(ctx.did); | ||
71 | 157 | ||
72 | ems = malloc(sizeof (Eina_Magic_Struct)); | 158 | ems = malloc(sizeof (Eina_Magic_Struct)); |
73 | fail_if(!ems); | 159 | fail_if(!ems); |
@@ -76,15 +162,39 @@ START_TEST(eina_magic_simple) | |||
76 | fail_if(!EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); | 162 | fail_if(!EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST)); |
77 | 163 | ||
78 | EINA_MAGIC_SET(ems, EINA_MAGIC_NONE); | 164 | EINA_MAGIC_SET(ems, EINA_MAGIC_NONE); |
165 | #ifdef SHOW_LOG | ||
79 | fprintf(stderr, | 166 | fprintf(stderr, |
80 | "you should see 'Input handle has already been freed' below\n"); | 167 | "you should see 'Input handle has already been freed' below\n"); |
168 | #endif | ||
169 | TEST_MAGIC_SAFETY(__FUNCTION__, | ||
170 | "*** Eina Magic Check Failed !!!\n" | ||
171 | " Input handle has already been freed!\n" | ||
172 | "*** NAUGHTY PROGRAMMER!!!\n" | ||
173 | "*** SPANK SPANK SPANK!!!\n" | ||
174 | "*** Now go fix your code. Tut tut tut!\n" | ||
175 | "\n"); | ||
81 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); | 176 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); |
177 | fail_unless(ctx.did); | ||
82 | 178 | ||
83 | EINA_MAGIC_SET(ems, 42424242); | 179 | EINA_MAGIC_SET(ems, 42424242); |
180 | #ifdef SHOW_LOG | ||
84 | fprintf(stderr, "you should see 'Input handle is wrong type' below\n"); | 181 | fprintf(stderr, "you should see 'Input handle is wrong type' below\n"); |
182 | #endif | ||
183 | TEST_MAGIC_SAFETY(__FUNCTION__, | ||
184 | "*** Eina Magic Check Failed !!!\n" | ||
185 | " Input handle is wrong type\n" | ||
186 | " Expected: %08x - %s\n" | ||
187 | " Supplied: %08x - %s\n" | ||
188 | "*** NAUGHTY PROGRAMMER!!!\n" | ||
189 | "*** SPANK SPANK SPANK!!!\n" | ||
190 | "*** Now go fix your code. Tut tut tut!\n" | ||
191 | "\n"); | ||
85 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); | 192 | EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST); |
193 | fail_unless(ctx.did); | ||
86 | #endif | 194 | #endif |
87 | 195 | ||
196 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
197 | |||
88 | eina_shutdown(); | 198 | eina_shutdown(); |
89 | } | 199 | } |
90 | END_TEST | 200 | END_TEST |
diff --git a/libraries/eina/src/tests/eina_test_simple_xml_parser.c b/libraries/eina/src/tests/eina_test_simple_xml_parser.c index 94e6a2a..7093019 100644 --- a/libraries/eina/src/tests/eina_test_simple_xml_parser.c +++ b/libraries/eina/src/tests/eina_test_simple_xml_parser.c | |||
@@ -44,15 +44,17 @@ START_TEST(eina_simple_xml_parser_node_dump) | |||
44 | char *buf; | 44 | char *buf; |
45 | 45 | ||
46 | fseek(f, 0, SEEK_SET); | 46 | fseek(f, 0, SEEK_SET); |
47 | buf = malloc(sz); | 47 | buf = malloc(sz + 1); |
48 | if (buf) | 48 | if (buf) |
49 | { | 49 | { |
50 | if (fread(buf, 1, sz, f)) | 50 | if (fread(buf, 1, sz, f)) |
51 | { | 51 | { |
52 | Eina_Simple_XML_Node_Root *root = eina_simple_xml_node_load | 52 | Eina_Simple_XML_Node_Root *root = eina_simple_xml_node_load |
53 | (buf, sz, EINA_TRUE); | 53 | (buf, sz, EINA_TRUE); |
54 | buf[sz] = '\0'; | ||
54 | char *out = eina_simple_xml_node_dump(&root->base, " "); | 55 | char *out = eina_simple_xml_node_dump(&root->base, " "); |
55 | puts(out); | 56 | //puts(out); |
57 | ck_assert_str_eq(out, buf); | ||
56 | free(out); | 58 | free(out); |
57 | eina_simple_xml_node_root_free(root); | 59 | eina_simple_xml_node_root_free(root); |
58 | free(buf); | 60 | free(buf); |
diff --git a/libraries/eina/src/tests/eina_test_ustr.c b/libraries/eina/src/tests/eina_test_ustr.c index eaeba9d..75126cc 100644 --- a/libraries/eina/src/tests/eina_test_ustr.c +++ b/libraries/eina/src/tests/eina_test_ustr.c | |||
@@ -28,6 +28,43 @@ | |||
28 | #include "eina_suite.h" | 28 | #include "eina_suite.h" |
29 | #include "Eina.h" | 29 | #include "Eina.h" |
30 | 30 | ||
31 | #ifdef EINA_SAFETY_CHECKS | ||
32 | struct log_ctx { | ||
33 | const char *msg; | ||
34 | const char *fnc; | ||
35 | Eina_Bool did; | ||
36 | }; | ||
37 | |||
38 | /* tests should not output on success, just uncomment this for debugging */ | ||
39 | //#define SHOW_LOG 1 | ||
40 | |||
41 | static void | ||
42 | _eina_test_safety_print_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int line, const char *fmt, void *data, va_list args __UNUSED__) | ||
43 | { | ||
44 | struct log_ctx *ctx = data; | ||
45 | va_list cp_args; | ||
46 | const char *str; | ||
47 | |||
48 | va_copy(cp_args, args); | ||
49 | str = va_arg(cp_args, const char *); | ||
50 | va_end(cp_args); | ||
51 | |||
52 | ck_assert_int_eq(level, EINA_LOG_LEVEL_ERR); | ||
53 | ck_assert_str_eq(fmt, "%s"); | ||
54 | ck_assert_str_eq(ctx->msg, str); | ||
55 | ck_assert_str_eq(ctx->fnc, fnc); | ||
56 | ctx->did = EINA_TRUE; | ||
57 | |||
58 | #ifdef SHOW_LOG | ||
59 | eina_log_print_cb_stderr(d, level, file, fnc, line, fmt, NULL, args); | ||
60 | #else | ||
61 | (void)d; | ||
62 | (void)file; | ||
63 | (void)line; | ||
64 | #endif | ||
65 | } | ||
66 | #endif | ||
67 | |||
31 | static const Eina_Unicode STR1[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; | 68 | static const Eina_Unicode STR1[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; |
32 | static const Eina_Unicode STR2[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'f', 'f', 0}; | 69 | static const Eina_Unicode STR2[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'f', 'f', 0}; |
33 | static const Eina_Unicode STR3[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; | 70 | static const Eina_Unicode STR3[] = {'P', 'a', 'n', 't', 's',' ', 'O', 'n', 0}; |
@@ -126,14 +163,42 @@ START_TEST(eina_unicode_strncpy_test) | |||
126 | rv = eina_unicode_strncpy(buf, STR1, 0); | 163 | rv = eina_unicode_strncpy(buf, STR1, 0); |
127 | fail_if(buf[0] != '7'); | 164 | fail_if(buf[0] != '7'); |
128 | 165 | ||
129 | /* may segfault */ | 166 | #ifdef EINA_SAFETY_CHECKS |
130 | buf[0] = '7'; | 167 | { |
131 | rv = eina_unicode_strncpy(buf, NULL, 0); | 168 | struct log_ctx ctx; |
132 | fail_if(buf[0] != '7'); | 169 | |
170 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
171 | ctx.msg = _msg; \ | ||
172 | ctx.fnc = fn; \ | ||
173 | ctx.did = EINA_FALSE | ||
174 | |||
175 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
133 | 176 | ||
134 | /* Hopefully won't segfault */ | 177 | /* may segfault */ |
135 | rv = eina_unicode_strncpy(NULL, STR1, 0); | 178 | buf[0] = '7'; |
136 | fail_if(rv != NULL); | 179 | #ifdef SHOW_LOG |
180 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
181 | #endif | ||
182 | TEST_MAGIC_SAFETY("eina_unicode_strncpy", | ||
183 | "safety check failed: source == NULL"); | ||
184 | rv = eina_unicode_strncpy(buf, NULL, 0); | ||
185 | fail_if(buf[0] != '7'); | ||
186 | fail_unless(ctx.did); | ||
187 | |||
188 | /* Hopefully won't segfault */ | ||
189 | #ifdef SHOW_LOG | ||
190 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
191 | #endif | ||
192 | TEST_MAGIC_SAFETY("eina_unicode_strncpy", | ||
193 | "safety check failed: dest == NULL"); | ||
194 | rv = eina_unicode_strncpy(NULL, STR1, 0); | ||
195 | fail_if(rv != NULL); | ||
196 | fail_unless(ctx.did); | ||
197 | |||
198 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
199 | #undef TEST_MAGIC_SAFETY | ||
200 | } | ||
201 | #endif | ||
137 | 202 | ||
138 | eina_shutdown(); | 203 | eina_shutdown(); |
139 | } | 204 | } |
@@ -151,8 +216,30 @@ START_TEST(eina_ustr_strlen_test) | |||
151 | fail_if(eina_unicode_strlen(STR3) != 8); | 216 | fail_if(eina_unicode_strlen(STR3) != 8); |
152 | fail_if(eina_unicode_strlen(STR4) != 1); | 217 | fail_if(eina_unicode_strlen(STR4) != 1); |
153 | fail_if(eina_unicode_strlen(EMPTYSTR) != 0); | 218 | fail_if(eina_unicode_strlen(EMPTYSTR) != 0); |
154 | /* Eina unicode doesn't take NULL */ | 219 | |
155 | // fail_if(eina_unicode_strlen(NULL)); | 220 | #ifdef EINA_SAFETY_CHECKS |
221 | { | ||
222 | struct log_ctx ctx; | ||
223 | |||
224 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
225 | ctx.msg = _msg; \ | ||
226 | ctx.fnc = fn; \ | ||
227 | ctx.did = EINA_FALSE | ||
228 | |||
229 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
230 | |||
231 | #ifdef SHOW_LOG | ||
232 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
233 | #endif | ||
234 | TEST_MAGIC_SAFETY("eina_unicode_strlen", | ||
235 | "safety check failed: ustr == NULL"); | ||
236 | fail_if(eina_unicode_strlen(NULL)); | ||
237 | fail_unless(ctx.did); | ||
238 | |||
239 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
240 | #undef TEST_MAGIC_SAFETY | ||
241 | } | ||
242 | #endif | ||
156 | 243 | ||
157 | eina_shutdown(); | 244 | eina_shutdown(); |
158 | } | 245 | } |
@@ -174,7 +261,30 @@ START_TEST(eina_unicode_strnlen_test) | |||
174 | fail_if(eina_unicode_strnlen(STR2,3) != 3); | 261 | fail_if(eina_unicode_strnlen(STR2,3) != 3); |
175 | fail_if(eina_unicode_strnlen(STR3,3) != 3); | 262 | fail_if(eina_unicode_strnlen(STR3,3) != 3); |
176 | fail_if(eina_unicode_strnlen(EMPTYSTR,1) != 0); | 263 | fail_if(eina_unicode_strnlen(EMPTYSTR,1) != 0); |
177 | fail_if(eina_unicode_strnlen(NULL,0) != 0); | 264 | |
265 | #ifdef EINA_SAFETY_CHECKS | ||
266 | { | ||
267 | struct log_ctx ctx; | ||
268 | |||
269 | #define TEST_MAGIC_SAFETY(fn, _msg) \ | ||
270 | ctx.msg = _msg; \ | ||
271 | ctx.fnc = fn; \ | ||
272 | ctx.did = EINA_FALSE | ||
273 | |||
274 | eina_log_print_cb_set(_eina_test_safety_print_cb, &ctx); | ||
275 | |||
276 | #ifdef SHOW_LOG | ||
277 | fprintf(stderr, "you should have a safety check failure below:\n"); | ||
278 | #endif | ||
279 | TEST_MAGIC_SAFETY("eina_unicode_strnlen", | ||
280 | "safety check failed: ustr == NULL"); | ||
281 | fail_if(eina_unicode_strnlen(NULL,0) != 0); | ||
282 | fail_unless(ctx.did); | ||
283 | |||
284 | eina_log_print_cb_set(eina_log_print_cb_stderr, NULL); | ||
285 | #undef TEST_MAGIC_SAFETY | ||
286 | } | ||
287 | #endif | ||
178 | 288 | ||
179 | eina_shutdown(); | 289 | eina_shutdown(); |
180 | } | 290 | } |
diff --git a/libraries/eina/src/tests/eina_test_value.c b/libraries/eina/src/tests/eina_test_value.c index 2d04c2f..94a5ab7 100644 --- a/libraries/eina/src/tests/eina_test_value.c +++ b/libraries/eina/src/tests/eina_test_value.c | |||
@@ -1140,8 +1140,10 @@ START_TEST(eina_value_test_array) | |||
1140 | fail_unless(eina_inarray_append(inarray, &c) >= 0); | 1140 | fail_unless(eina_inarray_append(inarray, &c) >= 0); |
1141 | desc.subtype = EINA_VALUE_TYPE_CHAR; | 1141 | desc.subtype = EINA_VALUE_TYPE_CHAR; |
1142 | desc.step = 0; | 1142 | desc.step = 0; |
1143 | desc.array = inarray; /* will be adopted and freed by value */ | 1143 | desc.array = inarray; |
1144 | fail_unless(eina_value_set(value, desc)); /* manually configure */ | 1144 | fail_unless(eina_value_set(value, desc)); /* manually configure */ |
1145 | eina_inarray_free(inarray); | ||
1146 | |||
1145 | fail_unless(eina_value_array_get(value, 0, &c)); | 1147 | fail_unless(eina_value_array_get(value, 0, &c)); |
1146 | fail_unless(c == 11); | 1148 | fail_unless(c == 11); |
1147 | fail_unless(eina_value_array_get(value, 1, &c)); | 1149 | fail_unless(eina_value_array_get(value, 1, &c)); |
@@ -1242,11 +1244,13 @@ START_TEST(eina_value_test_list) | |||
1242 | 1244 | ||
1243 | desc.subtype = EINA_VALUE_TYPE_STRING; | 1245 | desc.subtype = EINA_VALUE_TYPE_STRING; |
1244 | desc.list = NULL; | 1246 | desc.list = NULL; |
1245 | desc.list = eina_list_append(desc.list, strdup("hello")); | 1247 | desc.list = eina_list_append(desc.list, "hello"); |
1246 | desc.list = eina_list_append(desc.list, strdup("world")); | 1248 | desc.list = eina_list_append(desc.list, "world"); |
1247 | desc.list = eina_list_append(desc.list, strdup("eina")); | 1249 | desc.list = eina_list_append(desc.list, "eina"); |
1248 | fail_unless(eina_list_count(desc.list) == 3); | 1250 | fail_unless(eina_list_count(desc.list) == 3); |
1249 | fail_unless(eina_value_set(value, desc)); | 1251 | fail_unless(eina_value_set(value, desc)); |
1252 | eina_list_free(desc.list); | ||
1253 | |||
1250 | fail_unless(eina_value_list_get(value, 0, &s)); | 1254 | fail_unless(eina_value_list_get(value, 0, &s)); |
1251 | fail_unless(s != NULL); | 1255 | fail_unless(s != NULL); |
1252 | fail_unless(strcmp(s, "hello") == 0); | 1256 | fail_unless(strcmp(s, "hello") == 0); |
@@ -1351,14 +1355,17 @@ START_TEST(eina_value_test_hash) | |||
1351 | fail_unless(desc.hash != NULL); | 1355 | fail_unless(desc.hash != NULL); |
1352 | /* watch out hash pointer is to a size of subtype->value_size! */ | 1356 | /* watch out hash pointer is to a size of subtype->value_size! */ |
1353 | ptr = malloc(sizeof(char *)); | 1357 | ptr = malloc(sizeof(char *)); |
1354 | *ptr = strdup("there"); | 1358 | *ptr = "there"; |
1355 | fail_unless(eina_hash_add(desc.hash, "hi", ptr)); | 1359 | fail_unless(eina_hash_add(desc.hash, "hi", ptr)); |
1356 | ptr = malloc(sizeof(char *)); | 1360 | ptr = malloc(sizeof(char *)); |
1357 | *ptr = strdup("y"); | 1361 | *ptr = "y"; |
1358 | fail_unless(eina_hash_add(desc.hash, "x", ptr)); | 1362 | fail_unless(eina_hash_add(desc.hash, "x", ptr)); |
1359 | |||
1360 | fail_unless(eina_value_set(value, desc)); | 1363 | fail_unless(eina_value_set(value, desc)); |
1361 | 1364 | ||
1365 | free(eina_hash_find(desc.hash, "hi")); | ||
1366 | free(eina_hash_find(desc.hash, "x")); | ||
1367 | eina_hash_free(desc.hash); | ||
1368 | |||
1362 | fail_unless(eina_value_hash_get(value, "hi", &s)); | 1369 | fail_unless(eina_value_hash_get(value, "hi", &s)); |
1363 | fail_unless(s != NULL); | 1370 | fail_unless(s != NULL); |
1364 | fail_unless(strcmp(s, "there") == 0); | 1371 | fail_unless(strcmp(s, "there") == 0); |
@@ -1606,6 +1613,20 @@ START_TEST(eina_value_test_struct) | |||
1606 | fail_unless(eina_value_struct_get(value, "c", &c)); | 1613 | fail_unless(eina_value_struct_get(value, "c", &c)); |
1607 | fail_unless(c == 0xf); | 1614 | fail_unless(c == 0xf); |
1608 | 1615 | ||
1616 | fail_unless(eina_value_struct_member_value_get | ||
1617 | (value, myst_members + 0, &other)); | ||
1618 | fail_unless(other.type == EINA_VALUE_TYPE_INT); | ||
1619 | fail_unless(eina_value_get(&other, &i)); | ||
1620 | fail_unless(i == 5678); | ||
1621 | eina_value_flush(&other); | ||
1622 | |||
1623 | fail_unless(eina_value_struct_member_value_get | ||
1624 | (value, myst_members + 1, &other)); | ||
1625 | fail_unless(other.type == EINA_VALUE_TYPE_CHAR); | ||
1626 | fail_unless(eina_value_get(&other, &c)); | ||
1627 | fail_unless(c = 0xf); | ||
1628 | eina_value_flush(&other); | ||
1629 | |||
1609 | str = eina_value_to_string(value); | 1630 | str = eina_value_to_string(value); |
1610 | fail_unless(str != NULL); | 1631 | fail_unless(str != NULL); |
1611 | fail_unless(strcmp(str, "{i: 5678, c: 15}") == 0); | 1632 | fail_unless(strcmp(str, "{i: 5678, c: 15}") == 0); |
@@ -1704,6 +1725,7 @@ START_TEST(eina_value_test_struct) | |||
1704 | fail_unless(strcmp(str, "{a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9, j: 10, k: 12, l: 13, m: 14, n: 15, o: 16, p: 17, q: 18, r: 19, s: 20, t: 21, u: 22, v: 23, x: 24}") == 0); | 1725 | fail_unless(strcmp(str, "{a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9, j: 10, k: 12, l: 13, m: 14, n: 15, o: 16, p: 17, q: 18, r: 19, s: 20, t: 21, u: 22, v: 23, x: 24}") == 0); |
1705 | free(str); | 1726 | free(str); |
1706 | 1727 | ||
1728 | eina_value_flush(&other); | ||
1707 | eina_value_free(value); | 1729 | eina_value_free(value); |
1708 | eina_shutdown(); | 1730 | eina_shutdown(); |
1709 | } | 1731 | } |
@@ -1728,7 +1750,7 @@ START_TEST(eina_value_test_array_of_struct) | |||
1728 | EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH, | 1750 | EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH, |
1729 | myst_members, 4, sizeof(struct myst) | 1751 | myst_members, 4, sizeof(struct myst) |
1730 | }; | 1752 | }; |
1731 | Eina_Value *value; | 1753 | Eina_Value *value, array_item; |
1732 | char *str; | 1754 | char *str; |
1733 | int i; | 1755 | int i; |
1734 | 1756 | ||
@@ -1740,20 +1762,17 @@ START_TEST(eina_value_test_array_of_struct) | |||
1740 | for (i = 0; i < 10; i++) | 1762 | for (i = 0; i < 10; i++) |
1741 | { | 1763 | { |
1742 | Eina_Value_Struct desc; | 1764 | Eina_Value_Struct desc; |
1743 | struct myst *st; | 1765 | struct myst st; |
1744 | char buf[64]; | 1766 | char buf[64]; |
1745 | 1767 | ||
1746 | snprintf(buf, sizeof(buf), "item%02d", i); | 1768 | snprintf(buf, sizeof(buf), "item%02d", i); |
1747 | st = malloc(sizeof(struct myst)); | 1769 | st.a = i; |
1748 | fail_unless(st != NULL); | 1770 | st.b = i * 10; |
1749 | st->a = i; | 1771 | st.c = i * 100; |
1750 | st->b = i * 10; | 1772 | st.s = buf; |
1751 | st->c = i * 100; | ||
1752 | st->s = strdup(buf); | ||
1753 | fail_unless(st->s != NULL); | ||
1754 | 1773 | ||
1755 | desc.desc = &myst_desc; | 1774 | desc.desc = &myst_desc; |
1756 | desc.memory = st; | 1775 | desc.memory = &st; |
1757 | fail_unless(eina_value_array_append(value, desc)); | 1776 | fail_unless(eina_value_array_append(value, desc)); |
1758 | } | 1777 | } |
1759 | 1778 | ||
@@ -1773,11 +1792,66 @@ START_TEST(eina_value_test_array_of_struct) | |||
1773 | "]") == 0); | 1792 | "]") == 0); |
1774 | free(str); | 1793 | free(str); |
1775 | 1794 | ||
1795 | eina_value_array_value_get(value, 2, &array_item); | ||
1796 | eina_value_struct_get(&array_item, "a", &i); | ||
1797 | ck_assert_int_eq(i, 2); | ||
1798 | eina_value_struct_get(&array_item, "b", &i); | ||
1799 | ck_assert_int_eq(i, 20); | ||
1800 | eina_value_struct_get(&array_item, "c", &i); | ||
1801 | ck_assert_int_eq(i, 200); | ||
1802 | eina_value_struct_get(&array_item, "s", &str); | ||
1803 | ck_assert_str_eq(str, "item02"); | ||
1804 | eina_value_flush(&array_item); | ||
1805 | |||
1776 | eina_value_free(value); | 1806 | eina_value_free(value); |
1777 | eina_shutdown(); | 1807 | eina_shutdown(); |
1778 | } | 1808 | } |
1779 | END_TEST | 1809 | END_TEST |
1780 | 1810 | ||
1811 | |||
1812 | START_TEST(eina_value_test_model) | ||
1813 | { | ||
1814 | Eina_Value *value, inv; | ||
1815 | Eina_Model *model, *m; | ||
1816 | char *str; | ||
1817 | |||
1818 | eina_init(); | ||
1819 | |||
1820 | value = eina_value_new(EINA_VALUE_TYPE_MODEL); | ||
1821 | fail_unless(value != NULL); | ||
1822 | |||
1823 | model = eina_model_new(EINA_MODEL_TYPE_GENERIC); | ||
1824 | fail_unless(model != NULL); | ||
1825 | |||
1826 | fail_unless(eina_value_setup(&inv, EINA_VALUE_TYPE_INT)); | ||
1827 | fail_unless(eina_value_set(&inv, 1234)); | ||
1828 | fail_unless(eina_model_property_set(model, "i", &inv)); | ||
1829 | eina_value_flush(&inv); | ||
1830 | |||
1831 | fail_unless(eina_value_set(value, model)); | ||
1832 | fail_unless(eina_model_refcount(model) == 2); | ||
1833 | |||
1834 | fail_unless(eina_value_get(value, &m)); | ||
1835 | fail_unless(m == model); | ||
1836 | fail_unless(eina_model_refcount(m) == 2); | ||
1837 | |||
1838 | fail_unless(eina_value_pset(value, &model)); | ||
1839 | fail_unless(eina_model_refcount(model) == 2); | ||
1840 | |||
1841 | str = eina_value_to_string(value); | ||
1842 | fail_unless(str != NULL); | ||
1843 | fail_unless(strcmp(str, "Eina_Model_Type_Generic({i: 1234}, [])") == 0); | ||
1844 | free(str); | ||
1845 | |||
1846 | eina_value_free(value); | ||
1847 | |||
1848 | fail_unless(eina_model_refcount(model) == 1); | ||
1849 | eina_model_unref(model); | ||
1850 | |||
1851 | eina_shutdown(); | ||
1852 | } | ||
1853 | END_TEST | ||
1854 | |||
1781 | void | 1855 | void |
1782 | eina_test_value(TCase *tc) | 1856 | eina_test_value(TCase *tc) |
1783 | { | 1857 | { |
@@ -1796,4 +1870,5 @@ eina_test_value(TCase *tc) | |||
1796 | tcase_add_test(tc, eina_value_test_blob); | 1870 | tcase_add_test(tc, eina_value_test_blob); |
1797 | tcase_add_test(tc, eina_value_test_struct); | 1871 | tcase_add_test(tc, eina_value_test_struct); |
1798 | tcase_add_test(tc, eina_value_test_array_of_struct); | 1872 | tcase_add_test(tc, eina_value_test_array_of_struct); |
1873 | tcase_add_test(tc, eina_value_test_model); | ||
1799 | } | 1874 | } |