#        define WXEXPORT __declspec(export)
 #        define WXIMPORT __declspec(import)
 #    endif
+#elif defined(__CYGWIN__)
+#    define WXEXPORT __declspec(dllexport)
+#    define WXIMPORT __declspec(dllimport)
 #endif
 
 /* for other platforms/compilers we don't anything */
 
    first define Windows symbols if they're not defined on the command line: we
    can autodetect everything we need if _WIN32 is defined
  */
-#if defined(__CYGWIN32__) && !defined(__WXMOTIF__) && !defined(__WXGTK__) \
-    && !defined(__WXX11__)
-    /* for Cygwin, default to wxMSW unless otherwise specified */
+#if defined(__CYGWIN__) && defined(__WINDOWS__)
 #    ifndef __WXMSW__
 #        define __WXMSW__
 #    endif
    at least maj.min
  */
 #if ( defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || \
-    defined( __CYGWIN__ ) || \
+    ( defined( __CYGWIN__ ) && defined( __WINDOWS__ ) ) || \
       (defined(__WATCOMC__) && __WATCOMC__ >= 1200) ) && \
     !defined(__DOS__) && \
     !defined(__WXMOTIF__) && \