efl/src/lib/elementary/elm_module_helper.h

35 lines
628 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 _WIN32
# ifdef ELEMENTARY_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_EVAS_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#endif /* ! _WIN32 */
#endif