Have the VMS shared library file names contain the shared version

Also, have the static library file names contain the pointer size when
applicable.

Reviewed-by: Rich Salz <rsalz@openssl.org>
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index 8a5da85..2e0ff59 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -579,7 +579,7 @@
       my $shlib = $args{shlib};
       my $libd = dirname($lib);
       my $libn = basename($lib);
-      (my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib//i;
+      (my $mkdef_key = $libn) =~ s/^${osslprefix_q}lib([^0-9]*)\d*/$1/i;
       my @deps = map {
           $disabled{shared} ? $_.".OLB"
               : $unified_info{sharednames}->{$_}.".EXE"; } @{$args{deps}};
diff --git a/VMS/openssl_shutdown.com.in b/VMS/openssl_shutdown.com.in
index 73ef380..01971f3 100644
--- a/VMS/openssl_shutdown.com.in
+++ b/VMS/openssl_shutdown.com.in
@@ -36,7 +36,10 @@
 $	DEAS OSSL$SHARE'v'
 $	DEAS OSSL$ENGINES'v'
 $	DEAS OSSL$EXE'v'
-$       {- join("\n\$       ", map { my $x = uc $_; "DEAS ${x}'v'" } @{$config{shared_libs}}) -}
+$	DEAS OSSL$LIBCRYPTO'pz''v'
+$	DEAS OSSL$LIBSSL'pz''v'
+$	DEAS OSSL$LIBCRYPTO'sv'_SHR'pz'
+$	DEAS OSSL$LIBSSL'sv'_SHR'pz'
 $	IF P2 .NES. "NOALIASES"
 $	THEN
 $	    DEAS OSSL$ROOT
@@ -46,7 +49,10 @@
 $	    DEAS OSSL$ENGINES
 $	    DEAS OSSL$EXE
 $	    DEAS OPENSSL
-$           {- join("\n\$           ", map { my $x = uc $_; "DEAS ${x}" } @{$config{shared_libs}}) -}
+$	    DEAS OSSL$LIBCRYPTO'pz'
+$	    DEAS OSSL$LIBSSL'pz'
+$	    DEAS OSSL$LIBCRYPTO_SHR'pz'
+$	    DEAS OSSL$LIBSSL_SHR'pz'
 $	ENDIF
 $
 $	EXIT 'status'
diff --git a/VMS/openssl_startup.com.in b/VMS/openssl_startup.com.in
index f9350b0..c22dbfc 100644
--- a/VMS/openssl_startup.com.in
+++ b/VMS/openssl_startup.com.in
@@ -84,23 +84,29 @@
 $	sv   := {- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}
 $	pz   := {- $config{pointer_size} -}
 $
-$	DEFT OSSL$INSTROOT'v'	'INSTALLTOP_'
-$	DEFT OSSL$INCLUDE'v'	OSSL$INSTROOT:[INCLUDE.]
-$	DEF  OSSL$LIB'v'	OSSL$INSTROOT:[LIB.'arch']
-$	DEF  OSSL$SHARE'v'	OSSL$INSTROOT:[LIB.'arch']
-$	DEF  OSSL$ENGINES'v'	OSSL$INSTROOT:[ENGINES.'arch']
-$	DEF  OSSL$EXE'v'	OSSL$INSTROOT:[EXE.'arch']
-$       {- join("\n\$       ", map { my $x = uc $_; "DEF  ${x}'v' OSSL\$SHARE:${x}" } @{$config{shared_libs}}) -}
+$	DEFT OSSL$INSTROOT'v'		'INSTALLTOP_'
+$	DEFT OSSL$INCLUDE'v'		OSSL$INSTROOT'v':[INCLUDE.]
+$	DEF  OSSL$LIB'v'		OSSL$INSTROOT'v':[LIB.'arch']
+$	DEF  OSSL$SHARE'v'		OSSL$INSTROOT'v':[LIB.'arch']
+$	DEF  OSSL$ENGINES'v'		OSSL$INSTROOT'v':[ENGINES.'arch']
+$	DEF  OSSL$EXE'v'		OSSL$INSTROOT'v':[EXE.'arch']
+$	DEF  OSSL$LIBCRYPTO'pz''v'	OSSL$LIB'v':OSSL$LIBCRYPTO'pz'.OLB
+$	DEF  OSSL$LIBSSL'pz''v'		OSSL$LIB'v':OSSL$LIBSSL'pz'.OLB
+$	DEF  OSSL$LIBCRYPTO'sv'_SHR'pz'	OSSL$SHARE'v':OSSL$LIBCRYPTO'sv'_SHR'pz'.EXE
+$	DEF  OSSL$LIBSSL'sv'_SHR'pz'	OSSL$SHARE'v':OSSL$LIBSSL'sv'_SHR'pz'.EXE
 $	IF P2 .NES. "NOALIASES"
 $	THEN
-$	    DEF OSSL$INSTROOT	OSSL$INSTROOT'v'
-$	    DEF OSSL$INCLUDE	OSSL$INCLUDE'v'
-$	    DEF OSSL$LIB	OSSL$LIB'v'
-$	    DEF OSSL$SHARE	OSSL$SHARE'v'
-$	    DEF OSSL$ENGINES	OSSL$ENGINES'v'
-$	    DEF OSSL$EXE	OSSL$EXE'v'
-$	    DEF OPENSSL		OSSL$INCLUDE:[OPENSSL]
-$           {- join("\n\$           ", map { my $x = uc $_; "DEF ${x} ${x}'v'" } @{$config{shared_libs}}) -}
+$	    DEF OSSL$INSTROOT		OSSL$INSTROOT'v'
+$	    DEF OSSL$INCLUDE		OSSL$INCLUDE'v'
+$	    DEF OSSL$LIB		OSSL$LIB'v'
+$	    DEF OSSL$SHARE		OSSL$SHARE'v'
+$	    DEF OSSL$ENGINES		OSSL$ENGINES'v'
+$	    DEF OSSL$EXE		OSSL$EXE'v'
+$	    DEF OSSL$LIBCRYPTO'pz'	OSSL$LIBCRYPTO'pz''v'
+$	    DEF OSSL$LIBSSL'pz'		OSSL$LIBSSL'pz''v'
+$	    DEF OSSL$LIBCRYPTO_SHR'pz'	OSSL$LIBCRYPTO'sv'_SHR'pz'
+$	    DEF OSSL$LIBSSL_SHR'pz'	OSSL$LIBSSL'sv'_SHR'pz'
+$	    DEF OPENSSL			OSSL$INCLUDE:[OPENSSL]
 $	ENDIF
 $
 $	DEFT OSSL$DATAROOT	'OPENSSLDIR_'
diff --git a/build.info b/build.info
index cfaa712..fa136dc 100644
--- a/build.info
+++ b/build.info
@@ -31,11 +31,11 @@
 # VMS has a cultural standard where all libraries are prefixed.
 # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
 # conversation with VSI, Tuesday January 26 2016)
-# Also, it seems it's usual to have a suffix to the shared library name
-# for the different pointer sizes that were built for.
+# Also, it seems it's usual to have the pointer size the libraries
+# were built for as part of the name.
 IF[{- $config{target} =~ /^vms/ -}]
- RENAME[libcrypto]=ossl$libcrypto
- RENAME[libssl]=ossl$libssl
- SHARED_NAME[libcrypto]=ossl$libcrypto_shr{- $target{pointer_size} -}
- SHARED_NAME[libssl]=ossl$libssl_shr{- $target{pointer_size} -}
+ RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
+ RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
+ SHARED_NAME[libcrypto]=ossl$libcrypto{- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}_shr{- $target{pointer_size} -}
+ SHARED_NAME[libssl]=ossl$libssl{- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}_shr{- $target{pointer_size} -}
 ENDIF