From 9c88bc4933560c74fd97a1cccc29fe6542f71755 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Wed, 20 Dec 2017 18:54:14 +0900 Subject: [PATCH] elm build for osx - try another dotting of i's and crossing of t's try this and fix T6448 ... --- src/lib/eina/eina_types.h | 3 ++- src/lib/elementary/Elementary.h | 12 +++++++++++- src/lib/elementary/elm_module_helper.h | 9 +++++++++ src/modules/elementary/access_output/mod.c | 1 + .../clock_input_ctxpopup/clock_input_ctxpopup.c | 1 + src/modules/elementary/prefs/prefs_iface.c | 1 + src/modules/elementary/test_entry/mod.c | 1 + src/modules/elementary/test_map/mod.c | 1 + src/modules/elementary/web/none/elm_web_none.c | 1 + 9 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/lib/eina/eina_types.h b/src/lib/eina/eina_types.h index 2370596e73..94e6ebc6f3 100644 --- a/src/lib/eina/eina_types.h +++ b/src/lib/eina/eina_types.h @@ -61,7 +61,8 @@ * @brief Used to export functions (by changing visibility). */ # define EAPI -# endif +# define EAPI_WEAK +# endif #endif /* Weak symbols part of EFL API - Note: not weak on all platforms */ diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h index e6197acef7..57192ae4b1 100644 --- a/src/lib/elementary/Elementary.h +++ b/src/lib/elementary/Elementary.h @@ -83,6 +83,9 @@ #ifdef EAPI # undef EAPI #endif +#ifdef EWAPI +# undef EWAPI +#endif #ifdef _WIN32 # ifdef ELEMENTARY_BUILD @@ -94,18 +97,25 @@ # else # define EAPI __declspec(dllimport) # endif /* ! EFL_EVAS_BUILD */ +# define EAPI_WEAK #else # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) +# define EAPI_WEAK __attribute__ ((weak)) # else # define EAPI -# endif +# define EAPI_WEAK +# endif # else # define EAPI +# define EAPI_WEAK # endif #endif /* ! _WIN32 */ +#define EWAPI EAPI EAPI_WEAK + + /* allow usage from c++ */ #ifdef __cplusplus extern "C" diff --git a/src/lib/elementary/elm_module_helper.h b/src/lib/elementary/elm_module_helper.h index f4e7d22a99..6d9840af4b 100644 --- a/src/lib/elementary/elm_module_helper.h +++ b/src/lib/elementary/elm_module_helper.h @@ -8,6 +8,9 @@ #ifdef EAPI # undef EAPI #endif +#ifdef EWAPI +# undef EWAPI +#endif #ifdef _WIN32 # ifdef ELEMENTARY_BUILD @@ -19,16 +22,22 @@ # else # define EAPI __declspec(dllimport) # endif /* ! EFL_EVAS_BUILD */ +# define EAPI_WEAK #else # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) +# define EAPI_WEAK __attribute__ ((weak)) # else # define EAPI +# define EAPI_WEAK # endif # else # define EAPI +# define EAPI_WEAK # endif #endif /* ! _WIN32 */ +#define EWAPI EAPI EAPI_WEAK + #endif diff --git a/src/modules/elementary/access_output/mod.c b/src/modules/elementary/access_output/mod.c index 203f584a3e..f1c9dafd46 100644 --- a/src/modules/elementary/access_output/mod.c +++ b/src/modules/elementary/access_output/mod.c @@ -5,6 +5,7 @@ #include "Elementary.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "elm_module_helper.h" /* to enable this module diff --git a/src/modules/elementary/clock_input_ctxpopup/clock_input_ctxpopup.c b/src/modules/elementary/clock_input_ctxpopup/clock_input_ctxpopup.c index 4626c94be1..d40e82be0b 100644 --- a/src/modules/elementary/clock_input_ctxpopup/clock_input_ctxpopup.c +++ b/src/modules/elementary/clock_input_ctxpopup/clock_input_ctxpopup.c @@ -10,6 +10,7 @@ #include "elm_ctxpopup.eo.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "elm_module_helper.h" #define CLOCK_FIELD_COUNT 8 diff --git a/src/modules/elementary/prefs/prefs_iface.c b/src/modules/elementary/prefs/prefs_iface.c index 0c46a25261..4943cd4566 100644 --- a/src/modules/elementary/prefs/prefs_iface.c +++ b/src/modules/elementary/prefs/prefs_iface.c @@ -5,6 +5,7 @@ #include "Elementary.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "private.h" /* including declaration of each prefs item implementation iface struct */ diff --git a/src/modules/elementary/test_entry/mod.c b/src/modules/elementary/test_entry/mod.c index 8fd4181a6d..0d16e22226 100644 --- a/src/modules/elementary/test_entry/mod.c +++ b/src/modules/elementary/test_entry/mod.c @@ -5,6 +5,7 @@ #include "Elementary.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "elm_module_helper.h" // module api funcs needed diff --git a/src/modules/elementary/test_map/mod.c b/src/modules/elementary/test_map/mod.c index 457f24754e..4d7db03284 100644 --- a/src/modules/elementary/test_map/mod.c +++ b/src/modules/elementary/test_map/mod.c @@ -7,6 +7,7 @@ #include "elm_widget_map.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "elm_module_helper.h" EAPI Eina_Stringshare * diff --git a/src/modules/elementary/web/none/elm_web_none.c b/src/modules/elementary/web/none/elm_web_none.c index bd3024d273..21ebaa9dcc 100644 --- a/src/modules/elementary/web/none/elm_web_none.c +++ b/src/modules/elementary/web/none/elm_web_none.c @@ -10,6 +10,7 @@ #include "elm_widget_web.h" #define ELEMENTARY_BUILD +#undef ELM_MODULE_HELPER_H #include "elm_module_helper.h" #include "elm_web_none.eo.h"