cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ce5ccfb5bee5174b168f0df49b75df2ab3849454

commit ce5ccfb5bee5174b168f0df49b75df2ab3849454
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Tue Apr 28 14:24:48 2015 +0200

    ecore: remove the need to order the header correctly for Windows.
---
 src/lib/ecore/Ecore.h                              |  4 +++
 src/lib/ecore/ecore_private.h                      | 29 +++++++++++++++++++++
 src/lib/ecore_audio/Ecore_Audio.h                  |  3 +++
 src/lib/ecore_avahi/Ecore_Avahi.h                  |  3 +++
 src/lib/ecore_cocoa/Ecore_Cocoa.h                  |  6 +++--
 src/lib/ecore_con/Ecore_Con.h                      |  3 +++
 src/lib/ecore_drm/Ecore_Drm.h                      | 21 +++++++++++----
 src/lib/ecore_drm/ecore_drm.c                      |  1 -
 src/lib/ecore_evas/Ecore_Evas.h                    |  3 +++
 src/lib/ecore_evas/ecore_evas_private.h            | 30 +++++++++++++++++++++-
 src/lib/ecore_fb/Ecore_Fb.h                        |  3 +++
 src/lib/ecore_file/Ecore_File.h                    |  3 +++
 src/lib/ecore_imf/Ecore_IMF.h                      |  3 +++
 src/lib/ecore_imf_evas/Ecore_IMF_Evas.h            |  3 +++
 src/lib/ecore_input/Ecore_Input.h                  |  3 +++
 src/lib/ecore_input_evas/Ecore_Input_Evas.h        |  3 +++
 src/lib/ecore_ipc/Ecore_Ipc.h                      |  5 +++-
 src/lib/ecore_psl1ght/Ecore_Psl1ght.h              |  3 +++
 src/lib/ecore_sdl/Ecore_Sdl.h                      |  3 +++
 src/lib/ecore_wayland/Ecore_Wayland.h              |  4 +++
 src/lib/ecore_win32/Ecore_Win32.h                  |  3 ++-
 src/lib/ecore_x/Ecore_X.h                          |  7 +++--
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c    | 21 +++++++++++++++
 .../ecore_evas/engines/drm/ecore_evas_drm.c        | 22 ++++++++++++++++
 .../ecore_evas/engines/extn/ecore_evas_extn.c      | 22 ++++++++++++++++
 src/modules/ecore_evas/engines/fb/ecore_evas_fb.c  | 22 ++++++++++++++++
 .../engines/psl1ght/ecore_evas_psl1ght.c           | 22 ++++++++++++++++
 .../ecore_evas/engines/sdl/ecore_evas_sdl.c        | 22 ++++++++++++++++
 .../engines/wayland/ecore_evas_wayland_egl.c       | 22 ++++++++++++++++
 .../engines/wayland/ecore_evas_wayland_shm.c       | 22 ++++++++++++++++
 .../ecore_evas/engines/win32/ecore_evas_win32.c    | 22 ++++++++++++++++
 src/modules/ecore_evas/engines/x/ecore_evas_x.c    | 22 ++++++++++++++++
 32 files changed, 352 insertions(+), 13 deletions(-)

diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h
index a6ac338..e843038 100644
--- a/src/lib/ecore/Ecore.h
+++ b/src/lib/ecore/Ecore.h
@@ -361,4 +361,8 @@ extern "C" {
 #ifdef __cplusplus
 }
 #endif
+
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore/ecore_private.h b/src/lib/ecore/ecore_private.h
index afbfeb9..89f6013 100644
--- a/src/lib/ecore/ecore_private.h
+++ b/src/lib/ecore/ecore_private.h
@@ -3,6 +3,32 @@
 
 #include <assert.h>
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_ECORE_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_ECORE_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 extern int _ecore_log_dom;
 #ifdef  _ECORE_DEFAULT_LOG_DOM
 # undef _ECORE_DEFAULT_LOG_DOM
@@ -422,4 +448,7 @@ extern Eo *_ecore_parent;
 #define ECORE_PARENT_CLASS ecore_parent_class_get()
 const Eo_Class *ecore_parent_class_get(void) EINA_CONST;
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_audio/Ecore_Audio.h 
b/src/lib/ecore_audio/Ecore_Audio.h
index edb9b49..ec1f85b 100644
--- a/src/lib/ecore_audio/Ecore_Audio.h
+++ b/src/lib/ecore_audio/Ecore_Audio.h
@@ -224,4 +224,7 @@ EAPI int                 ecore_audio_shutdown(void);
  * @}
  */
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_avahi/Ecore_Avahi.h 
b/src/lib/ecore_avahi/Ecore_Avahi.h
index dc70b9a..1ba7443 100644
--- a/src/lib/ecore_avahi/Ecore_Avahi.h
+++ b/src/lib/ecore_avahi/Ecore_Avahi.h
@@ -85,4 +85,7 @@ EAPI const void  *ecore_avahi_poll_get(Ecore_Avahi *handler); 
// return AvahiPol
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_cocoa/Ecore_Cocoa.h 
b/src/lib/ecore_cocoa/Ecore_Cocoa.h
index 3b65001..78d15ce 100644
--- a/src/lib/ecore_cocoa/Ecore_Cocoa.h
+++ b/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -159,15 +159,17 @@ EAPI void 
ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
                                             int                 on);
 
 EAPI void ecore_cocoa_window_view_set(Ecore_Cocoa_Window *window,
-                                     void *view);
+                                      void *view);
 
 EAPI int ecore_cocoa_titlebar_height_get(void);
 
 EAPI Ecore_Cocoa_Window_Id ecore_cocoa_window_get_window_id(Ecore_Cocoa_Window 
*window);
 
-
 #ifdef __cplusplus
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h
index 0544858..bf10fad 100644
--- a/src/lib/ecore_con/Ecore_Con.h
+++ b/src/lib/ecore_con/Ecore_Con.h
@@ -2227,4 +2227,7 @@ EAPI int ecore_con_url_status_code_get(Ecore_Con_Url 
*url_con);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 302af38..feb48f8 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -1,6 +1,12 @@
 #ifndef _ECORE_DRM_H
 # define _ECORE_DRM_H
 
+# include <xf86drm.h>
+# include <xf86drmMode.h>
+# include <drm_fourcc.h>
+# include <Ecore.h>
+# include <Eeze.h>
+
 # ifdef EAPI
 #  undef EAPI
 # endif
@@ -23,11 +29,9 @@
 #  endif // ifdef __GNUC__
 # endif // ifdef _MSC_VER
 
-# include <xf86drm.h>
-# include <xf86drmMode.h>
-# include <drm_fourcc.h>
-# include <Ecore.h>
-# include <Eeze.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 typedef enum _Ecore_Drm_Evdev_Capabilities
 {
@@ -757,4 +761,11 @@ EAPI void ecore_drm_device_pointer_xy_get(Ecore_Drm_Device 
*dev, int *x, int *y)
  */
 EAPI const Eina_List *ecore_drm_devices_get(void);
 
+#ifdef __cplusplus
+}
+#endif
+
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm.c b/src/lib/ecore_drm/ecore_drm.c
index c2dbfb0..6bbbde0 100644
--- a/src/lib/ecore_drm/ecore_drm.c
+++ b/src/lib/ecore_drm/ecore_drm.c
@@ -2,7 +2,6 @@
 # include "config.h"
 #endif
 
-#include "Ecore_Drm.h"
 #include "ecore_drm_private.h"
 
 /* local variables */
diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index 9fb5923..464c470 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -2797,4 +2797,7 @@ EAPI int ecore_evas_pixmap_depth_get(const Ecore_Evas 
*ee);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_evas/ecore_evas_private.h 
b/src/lib/ecore_evas/ecore_evas_private.h
index dc11228..82e2620 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -1,6 +1,32 @@
 #ifndef _ECORE_EVAS_PRIVATE_H
 #define _ECORE_EVAS_PRIVATE_H
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_ECORE_EVAS_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_ECORE_EVAS_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #define ECORE_MAGIC_EVAS 0x76543211
 
 /** Log domain macros and variables **/
@@ -392,5 +418,7 @@ const Eina_List *_ecore_evas_available_engines_get(void);
 void _ecore_evas_engine_init(void);
 void _ecore_evas_engine_shutdown(void);
 
-#endif
+#undef EAPI
+#define EAPI
 
+#endif
diff --git a/src/lib/ecore_fb/Ecore_Fb.h b/src/lib/ecore_fb/Ecore_Fb.h
index 69d37a4..5a898f2 100644
--- a/src/lib/ecore_fb/Ecore_Fb.h
+++ b/src/lib/ecore_fb/Ecore_Fb.h
@@ -98,4 +98,7 @@ EAPI void                      
ecore_fb_touch_screen_calibrate_get(int *xscale,
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_file/Ecore_File.h b/src/lib/ecore_file/Ecore_File.h
index 806ad87..c78b0b1 100644
--- a/src/lib/ecore_file/Ecore_File.h
+++ b/src/lib/ecore_file/Ecore_File.h
@@ -187,4 +187,7 @@ EAPI Eina_Bool ecore_file_download_protocol_available(const 
char *protocol);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index c860d0b..5e9766c 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -1871,4 +1871,7 @@ EAPI Ecore_IMF_BiDi_Direction      
ecore_imf_context_bidi_direction_get(Ecore_IM
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_imf_evas/Ecore_IMF_Evas.h 
b/src/lib/ecore_imf_evas/Ecore_IMF_Evas.h
index 84794c2..61005be 100644
--- a/src/lib/ecore_imf_evas/Ecore_IMF_Evas.h
+++ b/src/lib/ecore_imf_evas/Ecore_IMF_Evas.h
@@ -165,4 +165,7 @@ EAPI void 
ecore_imf_evas_event_key_up_wrap(Evas_Event_Key_Up *evas_event, Ecore_
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_input/Ecore_Input.h 
b/src/lib/ecore_input/Ecore_Input.h
index b9723c8..f58c56e 100644
--- a/src/lib/ecore_input/Ecore_Input.h
+++ b/src/lib/ecore_input/Ecore_Input.h
@@ -358,5 +358,8 @@ extern "C" {
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 /** @} */
 #endif
diff --git a/src/lib/ecore_input_evas/Ecore_Input_Evas.h 
b/src/lib/ecore_input_evas/Ecore_Input_Evas.h
index 9116107..2296048 100644
--- a/src/lib/ecore_input_evas/Ecore_Input_Evas.h
+++ b/src/lib/ecore_input_evas/Ecore_Input_Evas.h
@@ -62,4 +62,7 @@ EAPI void      ecore_event_evas_modifier_lock_update(Evas *e, 
unsigned int modif
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_ipc/Ecore_Ipc.h b/src/lib/ecore_ipc/Ecore_Ipc.h
index a3e3871..301ea24 100644
--- a/src/lib/ecore_ipc/Ecore_Ipc.h
+++ b/src/lib/ecore_ipc/Ecore_Ipc.h
@@ -359,11 +359,14 @@ EAPI void              
ecore_ipc_client_flush(Ecore_Ipc_Client *cl);
 EAPI int               ecore_ipc_ssl_available_get(void);
 /* FIXME: need to add a callback to "ok" large ipc messages greater than */
 /*        a certain size (security/DOS attack safety) */
-   
+
 #ifdef __cplusplus
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 /**
  * @}
  */
diff --git a/src/lib/ecore_psl1ght/Ecore_Psl1ght.h 
b/src/lib/ecore_psl1ght/Ecore_Psl1ght.h
index c6300fd..2eaca29 100644
--- a/src/lib/ecore_psl1ght/Ecore_Psl1ght.h
+++ b/src/lib/ecore_psl1ght/Ecore_Psl1ght.h
@@ -118,4 +118,7 @@ EAPI void ecore_psl1ght_optimal_screen_resolution_get(int 
*w, int *h);
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_sdl/Ecore_Sdl.h b/src/lib/ecore_sdl/Ecore_Sdl.h
index ed4bd0f..36b69a4 100644
--- a/src/lib/ecore_sdl/Ecore_Sdl.h
+++ b/src/lib/ecore_sdl/Ecore_Sdl.h
@@ -120,4 +120,7 @@ struct _Ecore_Sdl_Event_Mouse_Wheel /** SDL Mouse Wheel 
event */
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h 
b/src/lib/ecore_wayland/Ecore_Wayland.h
index dd1260e..1735014 100644
--- a/src/lib/ecore_wayland/Ecore_Wayland.h
+++ b/src/lib/ecore_wayland/Ecore_Wayland.h
@@ -964,8 +964,12 @@ EAPI void ecore_wl_subsurf_sync_set(Ecore_Wl_Subsurf *ess, 
Eina_Bool val);
  * @since 1.8
  */
 EAPI void ecore_wl_subsurf_opaque_region_set(Ecore_Wl_Subsurf *ess, int x, int 
y, int w, int h);
+
 #ifdef __cplusplus
 }
 #endif
 
+#undef EAPI
+#define EAPI
+
 #endif
diff --git a/src/lib/ecore_win32/Ecore_Win32.h 
b/src/lib/ecore_win32/Ecore_Win32.h
index ba0cc4d..154ede8 100644
--- a/src/lib/ecore_win32/Ecore_Win32.h
+++ b/src/lib/ecore_win32/Ecore_Win32.h
@@ -520,10 +520,11 @@ EAPI void      
ecore_win32_dnd_unregister_drop_target(Ecore_Win32_Window *window
  * @}
  */
 
-
 #ifdef __cplusplus
 }
 #endif
 
+#undef EAPI
+#define EAPI
 
 #endif /* __ECORE_WIN32_H__ */
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index b72957d..a6c7d80 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -2708,11 +2708,14 @@ EAPI void                                  
ecore_x_e_window_rotation_change_prep
 EAPI void                                  
ecore_x_e_window_rotation_change_request_send(Ecore_X_Window win, int rot); 
/**< @since 1.9 */
 EAPI void                                  
ecore_x_e_window_rotation_change_done_send(Ecore_X_Window root, Ecore_X_Window 
win, int rot, int w, int h); /**< @since 1.9 */
 
+#include <Ecore_X_Atoms.h>
+#include <Ecore_X_Cursor.h>
+
 #ifdef __cplusplus
 }
 #endif // ifdef __cplusplus
 
-#include <Ecore_X_Atoms.h>
-#include <Ecore_X_Cursor.h>
+#undef EAPI
+#define EAPI
 
 #endif // ifndef _ECORE_X_H
diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c 
b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
index 985792b..21f4e3b 100644
--- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
+++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
@@ -13,6 +13,27 @@
 #include "Ecore_Evas.h"
 #include "ecore_evas_private.h"
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
 
 // FIXME: this engine has lots of problems. only 1 window at a time, drawRect 
looks wrong, doesnt handle resizes and more
 
diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 6ee3659..01c230b 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -21,6 +21,28 @@
 # include <dlfcn.h>
 #endif
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 typedef struct _Ecore_Evas_Engine_Drm_Data Ecore_Evas_Engine_Drm_Data;
 
 struct _Ecore_Evas_Engine_Drm_Data
diff --git a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c 
b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
index 9cb7f6f..869005f 100644
--- a/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
+++ b/src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
@@ -1,5 +1,27 @@
 #include "ecore_evas_extn_engine.h"
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #define NBUF 2
 
 static int blank = 0x00000000;
diff --git a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c 
b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
index 8d008ac..8042d0c 100644
--- a/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
+++ b/src/modules/ecore_evas/engines/fb/ecore_evas_fb.c
@@ -18,6 +18,28 @@
 #include "ecore_evas_private.h"
 #include <Evas_Engine_FB.h>
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 static int _ecore_evas_init_count = 0;
 
 static char *ecore_evas_default_display = "0";
diff --git a/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c 
b/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c
index 011aeda..c323264 100644
--- a/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c
+++ b/src/modules/ecore_evas/engines/psl1ght/ecore_evas_psl1ght.c
@@ -13,6 +13,28 @@
 #include <Ecore_Evas.h>
 #include "ecore_evas_private.h"
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 static int _ecore_evas_init_count = 0;
 
 static Ecore_Evas *psl1ght_ee = NULL;
diff --git a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c 
b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
index 9a0e69b..0c14c89 100644
--- a/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
+++ b/src/modules/ecore_evas/engines/sdl/ecore_evas_sdl.c
@@ -19,6 +19,28 @@
 
 #include <Ecore_Evas.h>
 #include "ecore_evas_private.h"
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
 /*
  * SDL only handle one window at a time. That's by definition, there is 
nothing wrong here.
  *
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index 6962434..4cd115c 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -8,6 +8,28 @@
 # include <sys/mman.h>
 # include <Evas_Engine_Wayland_Egl.h>
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 /* local function prototypes */
 static void _ecore_evas_wl_move_resize(Ecore_Evas *ee, int x, int y, int w, 
int h);
 static void _ecore_evas_wl_show(Ecore_Evas *ee);
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index 697813f..ce0d334 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -8,6 +8,28 @@
 # include <sys/types.h>
 # include <sys/mman.h>
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 /* local function prototypes */
 static void _ecore_evas_wl_move_resize(Ecore_Evas *ee, int x, int y, int w, 
int h);
 static void _ecore_evas_wl_show(Ecore_Evas *ee);
diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c 
b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
index 6af1803..72fbab4 100644
--- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
+++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
@@ -27,6 +27,28 @@
 # include <Evas_Engine_Software_DDraw.h>
 #endif
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #ifdef BUILD_ECORE_EVAS_WIN32
 
 #define ECORE_EVAS_EVENT_COUNT 10
diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c 
b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
index 2d77b13..63ccfbc 100644
--- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c
+++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c
@@ -26,6 +26,28 @@
 #include "ecore_evas_private.h"
 #include "ecore_evas_x11.h"
 
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef DLL_EXPORT
+#  define EAPI __declspec(dllexport)
+# else
+#  define EAPI
+# endif /* ! DLL_EXPORT */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
 #define EDBG(...)                                                       \
   EINA_LOG(_ecore_evas_log_dom, EINA_LOG_LEVEL_DBG + 1, __VA_ARGS__);
 

-- 


Reply via email to