EINA API BREAK: no more individual modules init/shutdown.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
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)
commitab87a2c88410acc335cf1746cb9db0b02bb251c3
treeebbcdbbe54e63c8bbfd092606ac6e0a46f7bb969
parent6803a18057e5be8133aac85d039ca08f8717a50b
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