cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c512bb68e7ce8887750da8bb2758cf7a464898a7
commit c512bb68e7ce8887750da8bb2758cf7a464898a7 Author: Cedric BAIL <ced...@osg.samsung.com> Date: Thu Jun 23 10:53:46 2016 -0700 ecore: fix Windows build by properly defining EAPI in all case for internal API user. --- src/Makefile_Ecore.am | 3 ++- src/lib/ecore/ecore_internal.h | 36 ++++++++++++++++++++++++++++++++++++ src/lib/ecore/ecore_private.h | 3 ++- src/lib/elementary/elm_main.c | 4 +--- src/tests/ecore/ecore_test_args.c | 3 +-- 5 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index 612f7e2..ebc113d 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -70,7 +70,8 @@ lib/ecore/ecore_thread_promise.c \ lib/ecore/ecore_throttle.c \ lib/ecore/ecore_exe.c \ lib/ecore/ecore_exe_private.h \ -lib/ecore/ecore_private.h +lib/ecore/ecore_private.h \ +lib/ecore/ecore_internal.h if HAVE_WIN32 lib_ecore_libecore_la_SOURCES += lib/ecore/ecore_exe_win32.c diff --git a/src/lib/ecore/ecore_internal.h b/src/lib/ecore/ecore_internal.h new file mode 100644 index 0000000..3b60063 --- /dev/null +++ b/src/lib/ecore/ecore_internal.h @@ -0,0 +1,36 @@ +// Internal header are to be used only inside efl itself. +#ifndef _ECORE_INTERNAL_H +#define _ECORE_INTERNAL_H + +#ifdef EAPI +# undef EAPI +#endif + +#ifdef _WIN32 +# ifdef EFL_ECORE_BUILD +# ifdef DLL_EXPORT +# define EAPI __declspec(dllexport) +# else +# define EAPI +# endif /* ! DLL_EXPORT */ +# else +# define EAPI __declspec(dllimport) +# endif /* ! EFL_ECORE_BUILD */ +#else +# ifdef __GNUC__ +# if __GNUC__ >= 4 +# define EAPI __attribute__ ((visibility("default"))) +# else +# define EAPI +# endif +# else +# define EAPI +# endif +#endif /* ! _WIN32 */ + +EAPI void ecore_loop_arguments_send(int argc, const char **argv); + +#undef EAPI +#define EAPI + +#endif diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h index 0578627..781846c 100644 --- a/src/lib/ecore/ecore_private.h +++ b/src/lib/ecore/ecore_private.h @@ -3,6 +3,8 @@ #include <assert.h> +#include "ecore_internal.h" + #ifdef EAPI # undef EAPI #endif @@ -149,7 +151,6 @@ EAPI void _ecore_magic_fail(const void *d, Ecore_Magic m, Ecore_Magic req_m, const char *fname); -EAPI void ecore_loop_arguments_send(int argc, const char **argv); void _ecore_time_init(void); diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index 31c2334..9c94541 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -18,6 +18,7 @@ #include <Elementary.h> #include "elm_priv.h" +#include "ecore_internal.h" #define SEMI_BROKEN_QUICKLAUNCH 1 @@ -322,9 +323,6 @@ _sys_lang_changed(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA return ECORE_CALLBACK_PASS_ON; } -// To be used here only, do not copy that anywhere else for now. -EAPI void ecore_loop_arguments_send(int argc, const char **argv); - EAPI int elm_init(int argc, char **argv) { diff --git a/src/tests/ecore/ecore_test_args.c b/src/tests/ecore/ecore_test_args.c index 367640c..e94ab60 100644 --- a/src/tests/ecore/ecore_test_args.c +++ b/src/tests/ecore/ecore_test_args.c @@ -4,8 +4,7 @@ #include <Ecore.h> #include "ecore_suite.h" - -EAPI void ecore_loop_arguments_send(int argc, const char **argv); +#include "ecore_private.h" static const char *args[] = { "a", "b", "c", "d", "e", "f", "g", "h" --