forked from enlightenment/efl
44 lines
739 B
C
44 lines
739 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 ELEMENTARY_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
|