Commit Graph

565 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri e88b62b295 oops! thanks Vincent.
SVN revision: 42230
2009-09-04 03:52:05 +00:00
Gustavo Sverzut Barbieri 4d5fbb7742 loggify array.
this is the last eina module to be converted to eina_log! :-)


SVN revision: 42228
2009-09-04 02:35:24 +00:00
Gustavo Sverzut Barbieri 5ea9ceeafc eina_module must initialize eina_array as it is used.
SVN revision: 42227
2009-09-04 02:34:48 +00:00
Gustavo Sverzut Barbieri dfee09d6b0 make it easier to spot wrong users of eina_log_print()
SVN revision: 42226
2009-09-04 02:34:10 +00:00
Gustavo Sverzut Barbieri 9f8dfea129 loggify rectangle.
SVN revision: 42225
2009-09-04 02:11:44 +00:00
Gustavo Sverzut Barbieri 04489ec727 loggify stringshare, with extensive debug.
note that one can turn per module debug, for example:

   EINA_LOG_LEVEL=4 EINA_LOG_LEVELS=eina_stringshare:0 ./bla

will enable level 4 (debug) for all modules except eina_stringshare
that is forced to 0 (just critical messages).



SVN revision: 42224
2009-09-04 02:03:46 +00:00
Gustavo Sverzut Barbieri 21545b087a loggify stringshare.
SVN revision: 42223
2009-09-04 01:54:37 +00:00
Gustavo Sverzut Barbieri ecbff0cb75 loggify main.
SVN revision: 42222
2009-09-04 01:48:36 +00:00
Gustavo Sverzut Barbieri 8a2c84631c loggify list.
SVN revision: 42221
2009-09-04 01:43:50 +00:00
Gustavo Sverzut Barbieri 8ca1675c51 eina_error: deprecated old logging, move to eina_log.
SVN revision: 42220
2009-09-04 01:37:11 +00:00
Gustavo Sverzut Barbieri 2406791660 loggify benchmark.
SVN revision: 42219
2009-09-04 01:19:19 +00:00
Gustavo Sverzut Barbieri dac152772f loggify mempool.
SVN revision: 42218
2009-09-04 01:13:49 +00:00
Gustavo Sverzut Barbieri 253a9623e9 loggify eina_convert.
SVN revision: 42217
2009-09-04 01:03:27 +00:00
Gustavo Sverzut Barbieri eeb2d38d38 eina_log_vprint() for those that want to wrap it in other functions.
SVN revision: 42216
2009-09-04 00:57:09 +00:00
Gustavo Sverzut Barbieri 0dd3836c56 missing file, sorry.
SVN revision: 42215
2009-09-04 00:56:16 +00:00
Gustavo Sverzut Barbieri 07d2bde900 eina_safety_checks_init()
All these individual init functions are getting messy, some modules
lack them and it's easy to get inconsistent. Safety check needs error
and log, but these need safety checks as well, some modules (lalloc,
rbtree and others) use safety checks but provide no _init().

I want to know if we really gain something to init individual
modules. It should not be that expensive as init should not allocate
heavy resources and the recommendation is to call eina_init() so most
users will do that anyway.

If people agree I'll unmark all *_init() as EAPI and make them private
to eina lib.



SVN revision: 42214
2009-09-04 00:53:19 +00:00
Gustavo Sverzut Barbieri 4d37971d60 eina_safety_checks now uses eina_log.
SVN revision: 42213
2009-09-03 23:36:27 +00:00
Gustavo Sverzut Barbieri cee03dcb3c eina_log: CONVENTION BREAK!!!! automatically adds \n
Automatically add \n to messages. Since we use that prefix, there is
no use to allow messages without \n, it would look a mess.

Some logging systems may not require the trailing newline, for example
logging to xml or syslog, for those you don't need to ignore this char
if present.

Yes, this breaks convention, but better now than latter. And the
results are not so bad.



SVN revision: 42200
2009-09-03 01:39:45 +00:00
Gustavo Sverzut Barbieri 8024360138 eina_log: thread safe logging!
eina_log_threads_enable() and then get thread safe logging with
non-main threads being printed with special notation to easily spot
those.



SVN revision: 42199
2009-09-03 01:31:26 +00:00
Gustavo Sverzut Barbieri d8ee1b3a24 eina_log: fix error handling and handle deleted domains.
EINA_SAFETY_CHECKS will call eina_log, so calling these from inside
eina_log_print() may lead to recursion, that is really bad (although
it seems it would never lead to infinite recursion).

handle d->deleted, also showing error.



SVN revision: 42198
2009-09-03 00:17:27 +00:00
Gustavo Sverzut Barbieri 9fb9b1259d eina_log: fix stderr, improve log output.
* stderr logger was doing prefix properly but user message to stdout, fixed.
 * log is improved:
   * grep-able, it shows the 3 letter level name as prefix, unknown levels
     will have their number printed.
   * colors just on prefix, less polluted output still easy to spot.
   * function names are highlighted.



SVN revision: 42197
2009-09-03 00:07:25 +00:00
Gustavo Sverzut Barbieri 418c99a8e3 eina_log improvements: docs, micro optimizations and stderr logging by default.
* more docs.
 * do not getenv("EINA_LOG_ABORT") everytime, just at init.
 * EINA_UNLIKELY() in some critical paths (not that big impact anyway)
 * eina_log_print_cb_stderr() and use it by default.




SVN revision: 42196
2009-09-02 23:28:00 +00:00
Gustavo Sverzut Barbieri bb717a3be5 less malloc and memory fragmentation.
not that important, but an easy improvement does not hurt.



SVN revision: 42195
2009-09-02 23:11:22 +00:00
Gustavo Sverzut Barbieri 2f8ded1037 loggify eina_module, adding couple of debug info.
SVN revision: 42194
2009-09-02 23:06:55 +00:00
Gustavo Sverzut Barbieri c1e2a300e4 coding style/indent.
SVN revision: 42193
2009-09-02 22:39:41 +00:00
Cedric BAIL 49cb141f10 * eina_magic: Test suite now work when magic debug is disabled.
SVN revision: 42150
2009-09-01 12:17:13 +00:00
dieb 7eff1d432b Remove legacy error code definition from eina log.
SVN revision: 42126
2009-08-31 14:40:48 +00:00
Cedric BAIL 2bc38ddb92 * eina: Add more FP type (f8p24 and f32p32).
SVN revision: 42124
2009-08-31 13:52:17 +00:00
Vincent Torri 8f53c520a4 typo
SVN revision: 42091
2009-08-29 20:53:12 +00:00
Vincent Torri 2a5548f8e9 better fix : if HW_AVAILCPU is defined, we use it, otherwise we use HW_NCPU
SVN revision: 42090
2009-08-29 19:59:26 +00:00
Vincent Torri 841aaa8f52 typo
SVN revision: 42089
2009-08-29 19:29:30 +00:00
Vincent Torri 9f01ad25cf fix for the BSD systems
SVN revision: 42088
2009-08-29 16:39:59 +00:00
Vincent Torri 72b87160a2 * add eina_config.h in all source files. Fix linking with Visual Studio
* move eina_private.h and eina_safety_checks.h just after eina_config.h


SVN revision: 42077
2009-08-28 12:03:34 +00:00
Vincent Torri 5612cf9020 * declare variables at the beginning of the block
* strtol returns a long int

SVN revision: 42063
2009-08-28 07:21:35 +00:00
Vincent Torri bc6ee8c17a fix warning with vc++
SVN revision: 42062
2009-08-28 07:15:49 +00:00
dieb 7bc6284e09 Fix compilation issue reported by Vincent on Windows (stdint and c++ compiler), setup a negative value for flagging the unknown level.
SVN revision: 42049
2009-08-27 21:32:42 +00:00
dieb c891a34a08 Add eina_log module into the main module and global header.
SVN revision: 41985
2009-08-25 21:26:27 +00:00
Gustavo Sverzut Barbieri c8534587f2 do not check for data, eina_iterator_next/eina_accessor_data_get() does that.
SVN revision: 41984
2009-08-25 21:05:00 +00:00
dieb d7bbc05b12 Initial import of the new eina logging API.
* eina_error might be kept for error messages and codes, but it's logging API
  will be deprecated. For now, it's been kept for not breaking others code and
  for a smoother transition.
* Added test for new logging API, also demonstrates usage.


SVN revision: 41960
2009-08-24 21:43:48 +00:00
Vincent Torri 37fc8c9674 fix warning
SVN revision: 41943
2009-08-23 20:37:17 +00:00
Vincent Torri 6e7aecc7c0 * Put definition of alloca before any standard header
files according to the doc
 * define _GNU_SOURCE before the inclusion of alloca
   as features.h inclued by alloca.h, defines some
   macros according to _GNU_SOURCE.



SVN revision: 41940
2009-08-23 09:18:14 +00:00
Vincent Torri 13b23be252 don't do arithmetic on void *
SVN revision: 41885
2009-08-20 11:56:57 +00:00
Vincent Torri 137f6f2d91 -pthread should be passed to eina_chained_mempool_la_LDFLAGS
SVN revision: 41876
2009-08-19 12:15:10 +00:00
Vincent Torri 989ade86dd fix a bit the documentation
SVN revision: 41870
2009-08-19 07:54:13 +00:00
Vincent Torri 2d97e95d2a clean a bit the hamster
SVN revision: 41869
2009-08-19 07:36:39 +00:00
Vincent Torri c45bf860da * remove uneeded semicolons
* fix and add doxygen doc


SVN revision: 41868
2009-08-19 07:09:24 +00:00
Cedric BAIL 0b7407905c * eina_rectangle: Add a local cache to rectangle creation.
SVN revision: 41856
2009-08-18 13:35:33 +00:00
Gustavo Sverzut Barbieri 425ebc47f5 improve docs and simplify macro, by kubo.
Kubo just found that docs could be improved and macro could be
simplified during his learning of EFL. Big bonus he did the
improvements =)



SVN revision: 41799
2009-08-16 00:47:23 +00:00
Cedric BAIL c634e07770 * eina: Fix typo.
SVN revision: 41762
2009-08-14 14:22:25 +00:00
Carsten Haitzler 819c572d1c amazing time hamsters!
SVN revision: 41728
2009-08-13 01:26:08 +00:00
Carsten Haitzler d0c5158f5b eina hamster++
<dieb_> weird, undefined refernce to eina_cpu_count
<raster> you have no cpus!
<dieb_> dammit!
<Sachiel> try eina_hamster_count
<dieb_> lo
<raster> oh god
<raster> now u did it
<raster> i have to add that
<dieb_> heheheh



SVN revision: 41727
2009-08-13 00:47:55 +00:00
Cedric BAIL e713c62730 * eina_stringshare: We should use "unsigned char", because suncc think that char is signed.
SVN revision: 41697
2009-08-12 09:02:09 +00:00
Cedric BAIL 2ba87c1129 * eina: Fix SunPro compiler.
SVN revision: 41690
2009-08-11 14:14:42 +00:00
Cedric BAIL ae1d5b38bb * eina: eina_cpu_count should be multiplatform.
SVN revision: 41689
2009-08-11 14:11:36 +00:00
Rafael Antognolli a67732bb88 Fixed check at the start of eina_list_accessor_get_at.
SVN revision: 41634
2009-08-07 20:28:05 +00:00
Gustavo Sverzut Barbieri 7526d8e309 be more clear in docs.
SVN revision: 41629
2009-08-07 01:35:16 +00:00
Gustavo Sverzut Barbieri 944be7e745 Bugfix eina_list_search_sorted_near_list() add sorted_insert.
eina_list_search_sorted_near_list() was broken and barfed at my face
during development of eina_list_sorted_insert(), so I rewrote it
following more traditional approach, also adding special cases for
head/tail remembering that random access in lists is not as fast as
array. I also simplified that code.

eina_list_sorted_insert() should be fast, O(log2 n) insert, with
special cases to insert already sorted arrays forwards or backwards,
however I believe that it's better to simply append/prepend in those
cases (if known).



SVN revision: 41625
2009-08-06 22:31:45 +00:00
Gustavo Sverzut Barbieri f86aa350c6 allow limit tests to run.
eina_suite TEST1 TEST2 ... is your friend ;-)



SVN revision: 41624
2009-08-06 22:22:56 +00:00
Gustavo Sverzut Barbieri 4f39f6861a API BREAK: eina_list_search_sorted_near_list() gets one more parameter.
This should not impact anybody, at least in SVN I got no hits for this
function.

The new parameter contains the result of the last call to func(), so
we can know if the node is smaller, bigger or exactly the requested
value and don't need to call func() on node to know for sure.



SVN revision: 41623
2009-08-06 19:01:47 +00:00
Gustavo Sverzut Barbieri 638e79b91e smarter eina_list_merge(), more tests.
eina_list_merge() now fixes the smallest list segment, not always the
right. Before if we joined a list 1 to 1000 segments we'd fix all the
1000 instead of the single at left.

Tests to make sure both code paths are being executed.



SVN revision: 41622
2009-08-06 18:35:53 +00:00
Gustavo Sverzut Barbieri 70a599936d oops, consider fixed_bitmap if it was built statically.
SVN revision: 41621
2009-08-06 18:08:14 +00:00
Gustavo Sverzut Barbieri aeef508b8a eina list docs.
* document undocumented functions.
 * note order of magnitude of each function, try to avoid users
   falling into traps.



SVN revision: 41619
2009-08-06 15:50:19 +00:00
Cedric BAIL 2bc76eab5a * eina_rectangle: Forgot to initialise one attribute.
SVN revision: 41606
2009-08-05 14:46:21 +00:00
Cedric BAIL 5784d74daa * eina: Add eina_cpu_count.
SVN revision: 41543
2009-07-30 16:45:15 +00:00
Cedric BAIL e75b89d50c * eina: Handle NULL in eina_list_search_sorted_near_list.
SVN revision: 41467
2009-07-21 15:21:46 +00:00
Gustavo Sverzut Barbieri 14105484aa Eina rectangle missing list init.
Rectangle needs the list module for the pool_new() function. Patch
also adds a check for initialization error on the unit test.

By: Andre Dieb


SVN revision: 41460
2009-07-21 01:55:31 +00:00
Gustavo Sverzut Barbieri 25ac55ae09 update rectangle test to new API.
Guys, when you change API, please change it everywhere and then run tests!

By: Andre Dieb


SVN revision: 41421
2009-07-18 15:58:44 +00:00
Cedric BAIL b02de756a6 * eina: Rename eina_module_list_delete to eina_module_list_flush.
SVN revision: 41385
2009-07-17 11:13:38 +00:00
Cedric BAIL 6ca987941f * eina: Fix declaration according to Vincent Torri review.
SVN revision: 41359
2009-07-16 12:09:29 +00:00
Carsten Haitzler 01062bf98b cast. c++ doesn't like the implied void * -> struct * cast.
SVN revision: 41358
2009-07-16 03:04:56 +00:00
Cedric BAIL a477424685 * eina: Expose an helper for memory pool as Eina_Trash data type.
SVN revision: 41350
2009-07-15 13:13:52 +00:00
Gustavo Sverzut Barbieri a772d03b40 inlist: docs, docs docs
SVN revision: 41328
2009-07-14 15:32:21 +00:00
Gustavo Sverzut Barbieri a6f46561e7 add missing stddef.h, required by offsetof()
SVN revision: 41327
2009-07-14 15:32:01 +00:00
Gustavo Sverzut Barbieri 9af4d08f79 one more safety check: do not remove element if it's not in any list.
This is the best we can do, but what should be done is to check if
element is really from that list.



SVN revision: 41326
2009-07-14 14:00:59 +00:00
Cedric BAIL 729eaf324c * eina: Remove recursion from eina_rectangle.
SVN revision: 41263
2009-07-07 11:24:44 +00:00
Cedric BAIL dbaeb5eaba * eina: Partial fix for ticket #286.
SVN revision: 41241
2009-07-03 12:39:32 +00:00
Vincent Torri 7a3b2110bf * more doc
* check the returned value of eina_error_init() in eina_module_init()


SVN revision: 41218
2009-06-28 06:29:11 +00:00
Vincent Torri c94a92a174 * Remove the use of HAVE___ATTRIBUTE__ (which is defined at
configure time) in an exported header. Use only macros
   defined by the compilers, which is sufficient and simpler.
 * Add missing EINA_DEPRECATED in some cases.


SVN revision: 41199
2009-06-25 19:58:05 +00:00
Vincent Torri 4d5e99df01 add minimum supported version for Windows CE and XP
SVN revision: 41198
2009-06-25 19:55:06 +00:00
Cedric BAIL f60c798f1d * eina: Fix rectangle merge.
SVN revision: 41193
2009-06-25 10:58:16 +00:00
Vincent Torri ebc20c2236 API BREAK: fix Eina API so that it is more consistent with the other EFL
what is modified:

eina_counter_add -> eina_counter_new
eina_counter_delete -> eina_counter_free
eina_lalloc_delete -> eina_lalloc_free
eina_mempool_new -> eina_mempool_add
eina_mempool_delete -> eina_mempool_del
eina_mempool_alloc -> eina_mempool_malloc
eina_tiler_del -> eina_tiler_free

It remains some questions: have the following API a good name:

eina_module_list_delete
eina_list_free
eina_rbtree_delete

(see ticket #286)

If you find any problem, please report in that thread


SVN revision: 41187
2009-06-24 16:56:49 +00:00
Cedric BAIL 3b384b323c * eina: Faster Eina_Rectangle_Pool (should be used by OpenGL engine).
SVN revision: 41185
2009-06-24 13:38:25 +00:00
Cedric BAIL 0c9aead634 Evas_Rectangle are gone. We now use Eina_Rectangle and memory pool is
shared accross the application.


SVN revision: 41170
2009-06-23 13:57:27 +00:00
Vincent Torri 9110d8d574 fix a bit the documentation, but there are still
a lot of doc to write...


SVN revision: 41164
2009-06-22 20:03:58 +00:00
Cedric BAIL b8e164fb01 * eina_rectangle: Fix typo.
SVN revision: 41158
2009-06-22 13:46:05 +00:00
Cedric BAIL 5c5cb1fdb1 * eina: Add a benchmark for eina_rectangle_pool.
SVN revision: 41157
2009-06-22 13:24:13 +00:00
Cedric BAIL 4fa66bcae9 * eina: Evas_Data are gone so unactivate benchmark.
SVN revision: 41156
2009-06-22 13:20:29 +00:00
Cedric BAIL af1e7f5dc9 * eina: Fix API naming for eina_rectangle and add a global allocator.
SVN revision: 41155
2009-06-22 13:16:51 +00:00
Gustavo Sverzut Barbieri 4eb71900a2 and rename static linkage as well.
SVN revision: 41131
2009-06-20 16:31:15 +00:00
Vincent Torri ddee121285 i forgot to rename file...
SVN revision: 41126
2009-06-20 10:17:37 +00:00
Vincent Torri 8021f6beeb formatting
SVN revision: 41120
2009-06-20 06:47:03 +00:00
Vincent Torri 8909bb6b69 * All memory pools can be enabled / disabled
* Allow to pass 'static' to configure memory pools
 * Add fixed_bitmap in the possible statically linked memory pools

For example:

./configure --enable-chained-pool=static --disable-fixed-bitmap


SVN revision: 41119
2009-06-20 06:42:32 +00:00
Cedric BAIL 7a18ab5ebc * eina: Add an eina_hash_stringshare_new.
SVN revision: 41112
2009-06-19 14:44:23 +00:00
Cedric BAIL bba26ef811 * eina: Improve eina hash manipulation for int.
- Faster int key comparison.
	- Key Length callback could now be NULL and 0 will be assumed.


SVN revision: 41100
2009-06-18 12:08:52 +00:00
Lars Munch 7bcbe02a3e Use correct module extension on cygwin
Patch from: booleanlabel at gmail dot com. Thanks.



SVN revision: 41094
2009-06-18 04:06:34 +00:00
Gustavo Sverzut Barbieri 32ff1f0aa4 better error setting and reporting in module loading.
* just set error codes if we know the error.
 * debug dlopen() error using EINA_ERROR_PDBG()



SVN revision: 41057
2009-06-16 14:59:09 +00:00
Vincent Torri 320619b866 Remove trailing slash in the installation directory
Fix installation of the eina modules with automake 1.11


SVN revision: 41013
2009-06-12 07:35:53 +00:00
Cedric BAIL 35526933af * eina: Remove memory leak (patch from Andre Dieb).
SVN revision: 40986
2009-06-09 16:02:20 +00:00
Vincent Torri 5bd14d2a05 * modify the way eina_config.h is built (see eina_config.h.in
and configure.ac)
 * include eina_config.h explicitely in files where the macros
   of eina_config.h are used
 * define eina_magic_string_init()  and eina_magic_string_shutdown()
   even when the mugle option is set (magic disabled)
 * formatting and fix in configure.ac


SVN revision: 40962
2009-06-08 08:27:33 +00:00
Gustavo Sverzut Barbieri df58840124 do not leak module if user do not want it.
SVN revision: 40924
2009-06-06 22:53:03 +00:00