Use OPENSSL_GLOBAL, OPENSSL_EXTERN instead of GLOBAL and EXTERN.
diff --git a/crypto/des/des.h b/crypto/des/des.h
index f04defc..348ba69 100644
--- a/crypto/des/des.h
+++ b/crypto/des/des.h
@@ -69,7 +69,7 @@
 
 #include <stdio.h>
 #include <openssl/opensslconf.h> /* DES_LONG */
-#include <openssl/e_os2.h>	/* EXTERN */
+#include <openssl/e_os2.h>	/* OPENSSL_EXTERN */
 
 #ifdef VMS
 #undef des_init_random_number_generator
diff --git a/crypto/des/des_locl.h b/crypto/des/des_locl.h
index 7b08606..c9312f8 100644
--- a/crypto/des/des_locl.h
+++ b/crypto/des/des_locl.h
@@ -431,7 +431,7 @@
 	PERM_OP(l,r,tt, 4,0x0f0f0f0fL); \
 	}
 
-EXTERN const DES_LONG des_SPtrans[8][64];
+OPENSSL_EXTERN const DES_LONG des_SPtrans[8][64];
 
 void fcrypt_body(DES_LONG *out,des_key_schedule ks,
 	DES_LONG Eswap0, DES_LONG Eswap1);
diff --git a/crypto/des/des_ver.h b/crypto/des/des_ver.h
index 0bc1a3d..1a28f48 100644
--- a/crypto/des/des_ver.h
+++ b/crypto/des/des_ver.h
@@ -56,5 +56,5 @@
  * [including the GNU Public Licence.]
  */
 
-EXTERN char *DES_version;	/* SSLeay version string */
-EXTERN char *libdes_version;	/* old libdes version string */
+OPENSSL_EXTERN char *DES_version;	/* SSLeay version string */
+OPENSSL_EXTERN char *libdes_version;	/* old libdes version string */
diff --git a/crypto/des/ecb_enc.c b/crypto/des/ecb_enc.c
index 199d872..dfeb187 100644
--- a/crypto/des/ecb_enc.c
+++ b/crypto/des/ecb_enc.c
@@ -60,8 +60,8 @@
 #include "spr.h"
 #include <openssl/opensslv.h>
 
-GLOBAL const char *libdes_version="libdes v 3.24 - 20-Apr-1996 - eay";
-GLOBAL const char *DES_version="DES" OPENSSL_VERSION_PTEXT;
+OPENSSL_GLOBAL const char *libdes_version="libdes v 3.24 - 20-Apr-1996 - eay";
+OPENSSL_GLOBAL const char *DES_version="DES" OPENSSL_VERSION_PTEXT;
 
 const char *des_options(void)
 	{
diff --git a/crypto/des/enc_read.c b/crypto/des/enc_read.c
index eaf72d0..51694a8 100644
--- a/crypto/des/enc_read.c
+++ b/crypto/des/enc_read.c
@@ -63,7 +63,7 @@
 
 /* This has some uglies in it but it works - even over sockets. */
 /*extern int errno;*/
-GLOBAL int des_rw_mode=DES_PCBC_MODE;
+OPENSSL_GLOBAL int des_rw_mode=DES_PCBC_MODE;
 
 
 /*
diff --git a/crypto/des/set_key.c b/crypto/des/set_key.c
index 2e9c116..11ef891 100644
--- a/crypto/des/set_key.c
+++ b/crypto/des/set_key.c
@@ -68,7 +68,7 @@
 #include "sk.h"
 
 static int check_parity(const des_cblock key);
-GLOBAL int des_check_key=0;
+OPENSSL_GLOBAL int des_check_key=0;
 
 void des_set_odd_parity(des_cblock key)
 	{
diff --git a/crypto/des/spr.h b/crypto/des/spr.h
index 7c10242..b8fbdcf 100644
--- a/crypto/des/spr.h
+++ b/crypto/des/spr.h
@@ -56,7 +56,7 @@
  * [including the GNU Public Licence.]
  */
 
-GLOBAL const DES_LONG des_SPtrans[8][64]={
+OPENSSL_GLOBAL const DES_LONG des_SPtrans[8][64]={
 {
 /* nibble 0 */
 0x02080800L, 0x00080000L, 0x02000002L, 0x02080802L,
diff --git a/crypto/des/str2key.c b/crypto/des/str2key.c
index 76b002a..674079b 100644
--- a/crypto/des/str2key.c
+++ b/crypto/des/str2key.c
@@ -58,7 +58,7 @@
 
 #include "des_locl.h"
 
-EXTERN int des_check_key;
+OPENSSL_EXTERN int des_check_key;
 
 void des_string_to_key(const char *str, des_cblock key)
 	{
diff --git a/e_os2.h b/e_os2.h
index 6f0c693..2bc0b48 100644
--- a/e_os2.h
+++ b/e_os2.h
@@ -21,18 +21,6 @@
 # define OPENSSL_GLOBAL
 #endif
 
-/* The above definitions should be used throughout the library,
- * but as long as EXTERN and GLOBAL occur there, we keep the following
- * definitions, too: */
-#if defined(VMS) && !defined(__DECC)
-# define EXTERN globalref
-# define GLOBAL globaldef
-#else
-# define EXTERN extern
-# define GLOBAL
-#endif
-
-
 #ifdef  __cplusplus
 }
 #endif