Have the VMS shared library file names contain the shared version
authorRichard Levitte <levitte@openssl.org>
Sat, 2 Jul 2016 06:35:12 +0000 (08:35 +0200)
committerRichard Levitte <levitte@openssl.org>
Sat, 2 Jul 2016 13:49:45 +0000 (15:49 +0200)
Also, have the static library file names contain the pointer size when
applicable.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Configurations/descrip.mms.tmpl
VMS/openssl_shutdown.com.in
VMS/openssl_startup.com.in
build.info

index 8a5da85..2e0ff59 100644 (file)
@@ -579,7 +579,7 @@ EOF
       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}};
index 73ef380..01971f3 100644 (file)
@@ -36,7 +36,10 @@ $    DEAS OSSL$LIB'v'
 $      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$SHARE
 $          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'
index f9350b0..c22dbfc 100644 (file)
@@ -84,23 +84,29 @@ $   v    := {- sprintf "%02d%02d", split(/\./, $config{version}) -}
 $      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_'
index cfaa712..fa136dc 100644 (file)
@@ -31,11 +31,11 @@ ENDIF
 # 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