[win32] merge changes#755..759,763,764 from maintbranch
[p5sagit/p5-mst-13.2.git] / EXTERN.h
index 1c10f64..b0435c2 100644 (file)
--- a/EXTERN.h
+++ b/EXTERN.h
 #undef EXTCONST
 #undef dEXTCONST
 #if defined(VMS) && !defined(__GNUC__)
+    /* Suppress portability warnings from DECC for VMS-specific extensions */
+#  ifdef __DECC
+#    pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
+#  endif
 #  define EXT globalref
 #  define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
 #  define EXTCONST globalref
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
-#  if (defined(_MSC_VER) && defined(_WIN32)) || (defined(__BORLANDC__) && defined(__WIN32__))
-#    ifdef PERL_CORE
+#  if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(__GNUC__)
+#    ifdef PERLDLL
 #      define EXT extern __declspec(dllexport)
 #      define dEXT 
 #      define EXTCONST extern __declspec(dllexport) const