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>
This commit is contained in:
Richard Levitte 2016-07-02 08:35:12 +02:00
parent 34d5490a1d
commit 8842005e75
4 changed files with 36 additions and 24 deletions

View 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}};

View 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'

View 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_'

View 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