When building a PE DLL (MinGW), variables exported from a DLL must be
explicitly marked as dllimport when using them.

diff --git a/include/wine/unicode.h b/include/wine/unicode.h
index d43f359..f10c394 100644
--- a/include/wine/unicode.h
+++ b/include/wine/unicode.h
@@ -27,6 +27,10 @@
 #include <winbase.h>
 #include <winnls.h>
 
+#ifndef WINE_UNICODE_API
+#define WINE_UNICODE_API DECLSPEC_IMPORT
+#endif
+
 /* code page info common to SBCS and DBCS */
 struct cp_info
 {
@@ -95,13 +99,13 @@
 
 static inline WCHAR tolowerW( WCHAR ch )
 {
-    extern const WCHAR wine_casemap_lower[];
+    extern WINE_UNICODE_API const WCHAR wine_casemap_lower[];
     return ch + wine_casemap_lower[wine_casemap_lower[ch >> 8] + (ch & 0xff)];
 }
 
 static inline WCHAR toupperW( WCHAR ch )
 {
-    extern const WCHAR wine_casemap_upper[];
+    extern WINE_UNICODE_API const WCHAR wine_casemap_upper[];
     return ch + wine_casemap_upper[wine_casemap_upper[ch >> 8] + (ch & 0xff)];
 }
 
@@ -109,7 +113,7 @@
 /* and the C2_* type in the high 4 bits */
 static inline unsigned short get_char_typeW( WCHAR ch )
 {
-    extern const unsigned short wine_wctype_table[];
+    extern WINE_UNICODE_API const unsigned short wine_wctype_table[];
     return wine_wctype_table[wine_wctype_table[ch >> 8] + (ch & 0xff)];
 }
 
diff --git a/include/winnt.h b/include/winnt.h
index d2eebca..2c8596e 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -41,8 +41,14 @@
 #define WINE_UNUSED    /* nothing */
 #endif
 
-#if defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(MIDL_PASS)
-# define DECLSPEC_IMPORT __declspec(dllimport)
+#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64) || defined(__MINGW32__)) && !defined(MIDL_PASS)
+# if defined(_MSC_VER)
+#  define DECLSPEC_IMPORT __declspec(dllimport)
+# elif defined(__MINGW32__)
+#  define DECLSPEC_IMPORT __attribute__((dllimport))
+# else
+#  define DECLSPEC_IMPORT
+# endif
 #else
 # define DECLSPEC_IMPORT
 #endif
diff --git a/libs/unicode/Makefile.in b/libs/unicode/Makefile.in
index 1e2b041..087a453 100644
--- a/libs/unicode/Makefile.in
+++ b/libs/unicode/Makefile.in
@@ -4,7 +4,7 @@
 VPATH     = @srcdir@
 LIBRARY   = wine_unicode
 SOVERSION = 1
-EXTRADEFS = -D__WINESRC__ -DNO_LIBWINE_PORT
+EXTRADEFS = -D__WINESRC__ -DNO_LIBWINE_PORT -DWINE_UNICODE_API=""
 
 CODEPAGES = \
 	037 \