EINA API BREAK: no more individual modules init/shutdown.
authorbarbieri <barbieri>
Sun, 6 Sep 2009 22:21:56 +0000 (22:21 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 6 Sep 2009 22:21:56 +0000 (22:21 +0000)
commit252e22b47ee30bebb938a37802a60b362d05fcfa
treeebbcdbbe54e63c8bbfd092606ac6e0a46f7bb969
parentf3607111a882463c98edffc4b852699028d8d4b3
EINA API BREAK: no more individual modules init/shutdown.

Being able to indivually initialize individual modules was initially
"good", but at end it's putting complexities on users that would try
to "optimize" by doing just what they used, but in the end most people
would get them wrong, users would have to do lots of code and etc. At
the end it does not worth.

Most module init just register handful errors and log domains, so are
cheap. The exception is mempool users, that would dlopen() stuff, but
people that are concerned (embedded) can just compile those statically
in eina.

Since at the end any real application would use most of modules, we
actually end saving lots of function calls that would do nothing other
than increment a global counter.

I also did the init/shutdown use an array, making it easier to
maintain. The inital dependencies were analysed by a script I wrote, I
hope it's all right.

Please fix any breakages you find!

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@42300 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
65 files changed:
src/include/eina_array.h
src/include/eina_benchmark.h
src/include/eina_convert.h
src/include/eina_counter.h
src/include/eina_error.h
src/include/eina_hash.h
src/include/eina_list.h
src/include/eina_log.h
src/include/eina_magic.h
src/include/eina_matrixsparse.h
src/include/eina_mempool.h
src/include/eina_module.h
src/include/eina_rectangle.h
src/include/eina_safety_checks.h
src/include/eina_stringshare.h
src/lib/eina_accessor.c
src/lib/eina_array.c
src/lib/eina_benchmark.c
src/lib/eina_convert.c
src/lib/eina_counter.c
src/lib/eina_error.c
src/lib/eina_file.c
src/lib/eina_hash.c
src/lib/eina_inlist.c
src/lib/eina_iterator.c
src/lib/eina_lalloc.c
src/lib/eina_list.c
src/lib/eina_log.c
src/lib/eina_magic.c
src/lib/eina_main.c
src/lib/eina_matrixsparse.c
src/lib/eina_mempool.c
src/lib/eina_module.c
src/lib/eina_rbtree.c
src/lib/eina_rectangle.c
src/lib/eina_safety_checks.c
src/lib/eina_stringshare.c
src/tests/eina_bench.c
src/tests/eina_bench_array.c
src/tests/eina_bench_mempool.c
src/tests/eina_bench_rectangle_pool.c
src/tests/eina_bench_sort.c
src/tests/eina_bench_stringshare.c
src/tests/eina_bench_stringshare_e17.c
src/tests/eina_suite.c
src/tests/eina_test_accessor.c
src/tests/eina_test_array.c
src/tests/eina_test_convert.c
src/tests/eina_test_counter.c
src/tests/eina_test_error.c
src/tests/eina_test_file.c
src/tests/eina_test_hash.c
src/tests/eina_test_inlist.c
src/tests/eina_test_iterator.c
src/tests/eina_test_lalloc.c
src/tests/eina_test_list.c
src/tests/eina_test_log.c
src/tests/eina_test_magic.c
src/tests/eina_test_main.c
src/tests/eina_test_matrixsparse.c
src/tests/eina_test_mempool.c
src/tests/eina_test_module.c
src/tests/eina_test_rbtree.c
src/tests/eina_test_rectangle.c
src/tests/eina_test_stringshare.c