Commit Graph

64 Commits

Author SHA1 Message Date
Carsten Haitzler d0ebc2d804 put a general prefix finder in eina.
SVN revision: 58848
2011-04-24 07:35:30 +00:00
Cedric BAIL 8b276b36c7 eina: add Eina_Object API.
This API is what could be used by all EFL library for their exposed
type (Evas_Object, Ecore_Timer, Ecore_Animator, Eio_File, ...). The
purpose of Eina_Object is to provide an "obscure" pointer that is
infact an ID with a generation count that will never be dereferenced
directly.
   This provide the benefit of always accessing a living object
with 1/256 chance to being the expected generation of it, that will
always be of the right type.
   It also provide asynchronous repacking ability (still highly
inefficient, but not really hard to improve), simple inheritance
with constructor/destructor and link between object.

All this implementation is highly open for comment, idea, review,
fix and change. I didn't got the time to write a sample test right
now. Maybe will come tomorrow. Same for docs.



SVN revision: 58562
2011-04-11 18:00:34 +00:00
Cedric BAIL 30fda98e76 eina: add Eina_Simple_Xml parser by Gustavo.
TODO: fix docs (but today, eina doc need some love again)
      use iconv and handle encoding (can get entity-to-utf8 from evas)
      description of what to do at :
http://marc.info/?l=enlightenment-devel&m=129975452006699&w=3

NOTE: this mean this API is not stable yet and will be broken soon.


SVN revision: 58387
2011-04-06 10:14:03 +00:00
Cedric BAIL cb402e2a5a * eina: we don't plan to provide ABI compatibility until 1.0.
This kind of trick are for after 1.0, if you really need you can
	just pick that patch.


SVN revision: 55075
2010-11-29 23:16:19 +00:00
Cedric BAIL aaae4e223a * eina: eina_array_clean should be inlined from the beginning.
NOTE: to prevent ABI break, I added the old symbol in eina_abi.c.
	So binary/library using eina_array_clean should continue to work
	without any problem.


SVN revision: 55068
2010-11-29 18:32:30 +00:00
Vincent Torri d0458b87eb cosmetic: compile the files in alphabetic order
SVN revision: 54253
2010-11-06 23:40:21 +00:00
Vincent Torri 899983412b * port eina_file_*_ls() on Windows and put the code in another file
* on Windows eina_file_stat_ls() is the same that eina_file_direct_ls()

SVN revision: 54250
2010-11-06 21:00:58 +00:00
Cedric BAIL c7245e24ed * eina: fix amalgamation build.
SVN revision: 53392
2010-10-14 11:07:10 +00:00
Lucas De Marchi a95105a888 Implement function to drop priority of current thread
This function is useful for libraries like ecore and evas that have to
set some worker threads. The first thing these threads should do is to
call this function, so the main thread might continue running without
the worker threads interrupting it too much.



SVN revision: 52651
2010-09-23 20:38:48 +00:00
Tom Hacohen 6a0b488468 Eina: Moved the private headers to src/lib where they belong.
SVN revision: 51388
2010-08-19 08:30:01 +00:00
Vincent Torri ca4497509e i forgot about amalgamation. fix declaration too
SVN revision: 51243
2010-08-17 07:39:53 +00:00
Cedric BAIL 6293bd87fa * eina: fix amalgamation.
SVN revision: 51210
2010-08-16 13:52:34 +00:00
Carsten Haitzler c747bfaadb well got to start somewhere. eina 1.0.0 alpha readied. need to go over
code formatting still (headers specifically). bring doc building
in-line with other efl libs. README is useful now. Changelog waiting
to be filled in for 1.0.0



SVN revision: 51154
2010-08-16 05:40:50 +00:00
Tom Hacohen 32c7a50118 Eina: Fix compilation with --enable-amalgamation.
Sorry dh :P

SVN revision: 50545
2010-07-27 15:15:45 +00:00
Tom Hacohen 279da003e0 Eina: Added Eina_UStrbuf.
Same as Eina_Strbuf but for Eina_Unicode strings.

SVN revision: 50534
2010-07-27 09:05:41 +00:00
Tom Hacohen 3675a5f02b Eina: Add Eina_UStringshare and Eina_Binshare.
Also modified Eina_Stringshare to share most of the code with the two above.
Added Magics for Eina_UStrbuf as well as for UStringshare/Binshare.

SVN revision: 50533
2010-07-27 08:55:23 +00:00
Tom Hacohen 270f765c91 Eina: Added Eina_Unicode.
SVN revision: 50532
2010-07-27 08:22:20 +00:00
Cedric BAIL 07ad9d5139 * eina: add a mempool that just do one big malloc.
SVN revision: 50510
2010-07-26 15:52:43 +00:00
Cedric BAIL 9367b5f7c7 * eina: Add first version of a Quad Tree data type.
NOTE: consider the API experimental and subject to change.


SVN revision: 48424
2010-04-29 17:21:14 +00:00
Carsten Haitzler 87efa72125 apparently fbsd is unaware of expr substr...
SVN revision: 48275
2010-04-24 14:31:23 +00:00
Vincent Torri 8840ed4118 on some platform, iconv.h defines iconv() with a macro,
hence the check with AC_SEARCH_LIBS s not sufficient. So
we link a complete program.


SVN revision: 45981
2010-02-08 13:14:30 +00:00
Vincent Torri e373b2c376 * remove useless iconv_cflags
* put iconv_libs to the correct libtool var


SVN revision: 45794
2010-02-02 06:48:52 +00:00
Sebastian Dransfeld eb29a86306 copy ecore_txt_convert to eina_str_convert
SVN revision: 45790
2010-02-02 04:49:38 +00:00
Sebastian Dransfeld 436249c412 Move ecore_str and ecore_strbuf to eina
SVN revision: 45650
2010-01-27 20:47:47 +00:00
Cedric BAIL 274ab1e01e * eina: Add sin and cos fixed point fonction.
SVN revision: 44287
2009-12-08 18:30:41 +00:00
Vincent Torri 2ccaf85b59 fix compilation of eina_amalgamation.c on Windows
SVN revision: 43513
2009-11-07 16:09:58 +00:00
Vincent Torri 7c24994f18 fix dist/distcheck rule
SVN revision: 43474
2009-11-06 01:02:35 +00:00
Vincent Torri a4d3d53e0d disable amalgamation by default
SVN revision: 43434
2009-11-03 16:52:45 +00:00
Vincent Torri 199400bc7d remove useless $(builddir)/ (also confirmed by a autoconf dev),
as anyway, '$(builddir)' is always '.' make distcheck passes.

Thanks to cantona who reported it.


SVN revision: 43401
2009-11-01 21:00:22 +00:00
Vincent Torri 568f723401 Add some more headers at the top of eina_amalgamation.c.
Fix compilation on Windows CE


SVN revision: 43054
2009-10-13 17:14:50 +00:00
Vincent Torri 47e25ab257 * really export symbols on Windows (EFL_EINA_BUILD not
correctly defined)
 * add evil in the Requires.private field of eina-0.pc.in

SVN revision: 42702
2009-09-25 15:39:53 +00:00
Vincent Torri e2b34b41ee * fix compilation on Windows when using amalgamation
* put alloca declaration at the beginning

SVN revision: 42517
2009-09-16 17:22:01 +00:00
Rafael Antognolli 0e716d559b EINA: Fix compilation when builddir != srcdir.
SVN revision: 42369
2009-09-09 20:37:23 +00:00
Vincent Torri 2d3021f128 * add amalgation support in configure output
* remove a warning when eina_amalgamation.c is deleted but does not exist
 * delete eina_amalgamation.c when doing 'make clean'


SVN revision: 42363
2009-09-09 07:42:08 +00:00
Gustavo Sverzut Barbieri 9b3e482ad2 --enable-amalgamation
This will concatenate all source files in the hope compiler will do a
better job. On my test with static/built in mempools it saves me 4k, I
guess some intra module calls can be saved.



SVN revision: 42315
2009-09-07 05:54:42 +00:00
Vincent Torri d56568b7f9 eina_log uses pthreads now (if enabled), so link libeina against pthread
SVN revision: 42248
2009-09-04 16:25:18 +00:00
Gustavo Sverzut Barbieri 643958705b eina_matrixsparse: welcome sparse matrix implementation and tests.
Sparse Matrix was implemented and tested by Rafael Antognolli and
myself in order to implement optimized large sparse matrix walk in
some products, one of them WebKit-EFL optimizations.

We have done extensive tests, with good code coverage. Similar to
lists/inlists, we keep pointer to last known element and similar to
iterators we keep reference to last accessed row and cell inside
rows. This allows fast sequential access (for i... for j... m[i,j]),
that is our most common usage case.

Rows are kept in a list, with cells inside that row as another
list. It's not similar to most book implementations where cells keep
reference to their sibling cells in other rows as well, we opted to
not do that to save some pointers and make algorithms simpler, still
do great for our use case.

This code was developed on behalf of our client, that wants to remain
unnamed so far. Thanks client ;-)



SVN revision: 42243
2009-09-04 13:43:44 +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
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
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
Vincent Torri 4d5e99df01 add minimum supported version for Windows CE and XP
SVN revision: 41198
2009-06-25 19:55:06 +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 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
Carsten Haitzler ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Carsten Haitzler 691aa040b9 strict-aliasing is gcc 3+ - apply to CFLAGS for libeina.
SVN revision: 39462
2009-03-13 10:24:45 +00:00
Jorge Luis Zapata Muga 75299a9fa3 + Add eina_cpu subsystem: just query cpu simd operations for now.
+ Add eina_tiler subsystem: initially abstraction and import of gustavo's splitter code.

SVN revision: 38793
2009-01-26 16:27:00 +00:00
Carsten Haitzler 430fa42aa4 naruto takahashi's fix for gcc3 patch
SVN revision: 38397
2009-01-01 03:09:48 +00:00
Cedric BAIL 437c220266 Add dladdr and env code for eina_module from Vincent Torri.
SVN revision: 37374
2008-11-01 15:39:53 +00:00
Cedric BAIL 72e45419ec Add Eina_Rectangle_Pool support. Typically help for font handling in OpenGL or
any case where you need to split a rectangle in many differents small rectangle.


SVN revision: 37252
2008-10-27 20:24:12 +00:00
Cedric BAIL 380120ce2a Should fix build outside of the source tree.
SVN revision: 36689
2008-10-15 16:23:14 +00:00