This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Various updates and fixes to some of the SysV IPC ops and their tests
[perl5.git] / INTERN.h
index da3057a..4305b6b 100644 (file)
--- a/INTERN.h
+++ b/INTERN.h
 #undef dEXT
 #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 globaldef {"$GLOBAL_RW_VARS"} noshare
-#  define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
-#  define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-#  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-#else
-#  if (defined(WIN32) && defined(__MINGW32__)) || defined(__SYMBIAN32__)
-#    define EXT                __declspec(dllexport)
-#    define dEXT
-#    define EXTCONST   __declspec(dllexport) const
-#    define dEXTCONST  const
+
+#  if (defined(WIN32) && defined(__MINGW32__) && ! defined(PERL_IS_MINIPERL))
+#    ifdef __cplusplus
+#      define EXT      __declspec(dllexport)
+#      define dEXT
+#      define EXTCONST __declspec(dllexport) extern const
+#      define dEXTCONST        const
+#    else
+#      define EXT      __declspec(dllexport)
+#      define dEXT
+#      define EXTCONST __declspec(dllexport) const
+#      define dEXTCONST        const
+#    endif
 #  else
 #    ifdef __cplusplus
 #      define EXT
 #      define dEXT
-#      define EXTCONST extern const
+#      define EXTCONST EXTERN_C const
 #      define dEXTCONST const
 #    else
 #      define EXT
@@ -46,7 +44,6 @@
 #      define dEXTCONST const
 #    endif
 #  endif
-#endif
 
 #undef INIT
 #define INIT(x) = x