efl: Add Efl.Version struct and APIs
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 29 Jun 2016 02:49:24 +0000 (11:49 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 29 Jun 2016 06:01:34 +0000 (15:01 +0900)
commit45cd0465a49590f8b459e5d2cc340d42467cfecf
tree47611b004162d1102035cd009abdc5d557273922
parenta73e51136f019f24c331529f87edf9c57b04b7dc
efl: Add Efl.Version struct and APIs

The original idea behind knowing the app's version of EFL is not
a great story. It comes from the fact that some bugs exist in
earlier versions of EFL, and some things need to be fixed. But
those fixes may break behaviour for older apps. This patch is
opening the way to the slippery slope of bug compatibility.

Unfortunately this is a requirement if we want to be able to move
forward and not break apps when we fix bugs (behaviour or ABI).

I hope we will not need to implement too many (if any) workaround
such issues. For now, this will only be used as debugging info.

EFL_MAIN() and ELM_MAIN() will both set the app's EFL version
automatically at startup time. Some internal helpers can be added
later to check how the app build-time and run-time version of
EFL differ.

@feature
src/lib/ecore/Ecore_Common.h
src/lib/ecore/ecore_main.c
src/lib/ecore/ecore_private.h
src/lib/ecore/efl_loop.eo
src/lib/efl/interfaces/efl_types.eot