efl/src/lib/elementary/elm_module_helper.h

44 lines
732 B
C

/* A small helper header defining EAPI for elementary modules, it should be
* included last in the modules C files.
*/
#ifndef ELM_MODULE_HELPER_H
#define ELM_MODULE_HELPER_H
#ifdef EAPI
# undef EAPI
#endif
#ifdef EWAPI
# undef EWAPI
#endif
#ifdef _WIN32
# ifdef EFL_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif
# else
# define EAPI __declspec(dllimport)
# endif
# 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
#define EWAPI EAPI EAPI_WEAK
#endif