summaryrefslogtreecommitdiff
path: root/EXTERN.h
diff options
context:
space:
mode:
Diffstat (limited to 'EXTERN.h')
-rw-r--r--EXTERN.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/EXTERN.h b/EXTERN.h
index 765c558255..dedd37958c 100644
--- a/EXTERN.h
+++ b/EXTERN.h
@@ -7,8 +7,21 @@
*
*/
+/*
+ * 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 extern
+#undef dEXT
+#if defined(VMS) && !defined(__GNUC__)
+# define EXT globalref
+# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
+#else
+# define EXT extern
+# define dEXT
+#endif
#undef INIT
#define INIT(x)