This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regen/ebcdic.pl: Add tables that partition by UTF-8 length
[perl5.git] / INTERN.h
index 06a59f0..35bb4ee 100644 (file)
--- a/INTERN.h
+++ b/INTERN.h
@@ -1,13 +1,50 @@
-/* $Header: INTERN.h,v 1.0 87/12/18 13:02:39 root Exp $
+/*    INTERN.h
+ *
+ *    Copyright (C) 1991, 1992, 1993, 1995, 1996, 1998, 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.
  *
- * $Log:       INTERN.h,v $
- * Revision 1.0  87/12/18  13:02:39  root
- * Initial revision
- * 
  */
 
+/*
+ * EXT  designates a global var which is defined in perl.h
+ * dEXT designates a global var which is defined in another
+ *      file, so we can't count on finding it in perl.h
+ *      (this practice should be avoided).
+ */
 #undef EXT
-#define EXT
+#undef dEXT
+#undef EXTCONST
+#undef dEXTCONST
+
+#  if (defined(WIN32) && defined(__MINGW32__) && ! defined(PERL_IS_MINIPERL)) \
+     || defined(__SYMBIAN32__)
+#    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_C const
+#      define dEXTCONST const
+#    else
+#      define EXT
+#      define dEXT
+#      define EXTCONST const
+#      define dEXTCONST const
+#    endif
+#  endif
 
 #undef INIT
 #define INIT(x) = x