[win32] integrate mainline
[p5sagit/p5-mst-13.2.git] / EXTERN.h
index 5741fbf..a48d0d3 100644 (file)
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -1,6 +1,6 @@
 /*    EXTERN.h
  *
- *    Copyright (c) 1991-1994, Larry Wall
+ *    Copyright (c) 1991-1997, Larry Wall
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
 #  define EXTCONST globalref
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
-#  define EXT extern
-#  define dEXT
-#  define EXTCONST extern const
-#  define dEXTCONST const
+#  if defined(WIN32) && !defined(__GNUC__)
+#    ifdef PERLDLL
+#      define EXT extern __declspec(dllexport)
+#      define dEXT 
+#      define EXTCONST extern __declspec(dllexport) const
+#      define dEXTCONST const
+#    else
+#      define EXT extern __declspec(dllimport)
+#      define dEXT 
+#      define EXTCONST extern __declspec(dllimport) const
+#      define dEXTCONST const
+#    endif
+#  else
+#    define EXT extern
+#    define dEXT
+#    define EXTCONST extern const
+#    define dEXTCONST const
+#  endif
 #endif
 
 #undef INIT