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] / EXTERN.h
index c813f81..7946323 100644 (file)
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -1,6 +1,7 @@
 /*    EXTERN.h
  *
 /*    EXTERN.h
  *
- *    Copyright (c) 1991-1999, Larry Wall
+ *    Copyright (C) 1991, 1992, 1993, 1995, 1996, 1997, 1998, 1999,
+ *    2000, 2001, by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
 #undef dEXT
 #undef EXTCONST
 #undef dEXTCONST
 #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 globalref
-#  define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
-#  define EXTCONST globalref
-#  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
-#else
-#  if defined(WIN32) && !defined(PERL_STATIC_SYMS) && !defined(PERL_OBJECT)
-#    ifdef PERLDLL
-#      define EXT extern __declspec(dllexport)
+
+#  if defined(WIN32) && !defined(PERL_STATIC_SYMS)
+    /* miniperl should not export anything */
+#    if defined(PERL_IS_MINIPERL)
+#      define EXT extern
+#      define dEXT 
+#      define EXTCONST extern const
+#      define dEXTCONST const
+#    elif defined(PERLDLL)
+#      define EXT EXTERN_C __declspec(dllexport)
 #      define dEXT 
 #      define dEXT 
-#      define EXTCONST extern __declspec(dllexport) const
+#      define EXTCONST EXTERN_C __declspec(dllexport) const
 #      define dEXTCONST const
 #    else
 #      define dEXTCONST const
 #    else
-#      define EXT extern __declspec(dllimport)
+#      define EXT EXTERN_C __declspec(dllimport)
 #      define dEXT 
 #      define dEXT 
-#      define EXTCONST extern __declspec(dllimport) const
+#      define EXTCONST EXTERN_C __declspec(dllimport) const
 #      define dEXTCONST const
 #    endif
 #  else
 #      define dEXTCONST const
 #    endif
 #  else
-#    if defined(CYGWIN) && defined(USEIMPORTLIB)
+#    if defined(__CYGWIN__) && defined(USEIMPORTLIB)
 #      define EXT extern __declspec(dllimport)
 #      define dEXT 
 #      define EXTCONST extern __declspec(dllimport) const
 #      define EXT extern __declspec(dllimport)
 #      define dEXT 
 #      define EXTCONST extern __declspec(dllimport) const
@@ -52,7 +50,6 @@
 #      define dEXTCONST const
 #    endif
 #  endif
 #      define dEXTCONST const
 #    endif
 #  endif
-#endif
 
 #undef INIT
 #define INIT(x)
 
 #undef INIT
 #define INIT(x)