1 /* A small helper header defining EAPI for elementary modules, it should be 2 * included last in the modules C files. 3 */ 4 5 #ifndef ELM_MODULE_HELPER_H 6 #define ELM_MODULE_HELPER_H 7 8 #ifdef EAPI 9 # undef EAPI 10 #endif 11 #ifdef EWAPI 12 # undef EWAPI 13 #endif 14 15 #ifdef _WIN32 16 # ifdef EFL_BUILD 17 # ifdef DLL_EXPORT 18 # define EAPI __declspec(dllexport) 19 # else 20 # define EAPI 21 # endif 22 # else 23 # define EAPI __declspec(dllimport) 24 # endif 25 # define EAPI_WEAK 26 #else 27 # ifdef __GNUC__ 28 # if __GNUC__ >= 4 29 # define EAPI __attribute__ ((visibility("default"))) 30 # define EAPI_WEAK __attribute__ ((weak)) 31 # else 32 # define EAPI 33 # define EAPI_WEAK 34 # endif 35 # else 36 # define EAPI 37 # define EAPI_WEAK 38 # endif 39 #endif 40 41 #define EWAPI EAPI EAPI_WEAK 42 43 #endif 44