mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
c162a8c344
Add platform::VMS, which is a generic VMS module. Additional modules to support specific building aspects (such as specific compilers) may be added later, but since we currently work on file names and those are generic enough, this is also enough. This reworks Configurations/descrip.mms.tmpl to work out product names in platform::VMS terms. Something to be noted is that the new functionality ignores the *_extension config attributes, as they were never used. VMS is very consistent in its use of extensions, so there is no reason to believe much will change in this respect. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/7473)
28 lines
987 B
Plaintext
28 lines
987 B
Plaintext
${-
|
|
our %names = ( map { platform->sharedname($_) =>
|
|
$bldtop.platform->sharedlib($_) }
|
|
@{$unified_info{install}->{libraries}} );
|
|
"" -}
|
|
$ ! Create a local environment with the shared library logical names
|
|
$ ! properly set. Undo this with unlocal_shlib.com
|
|
$
|
|
$ OPENSSL_NAMES := OPENSSL_NAMES_'F$GETJPI("","PID")'
|
|
$ CREATE/NAME_TABLE/PARENT_TABLE=LNM$PROCESS_DIRECTORY 'OPENSSL_NAMES'
|
|
$ DEFINE/TABLE='OPENSSL_NAMES' OSSL_FLAG YES
|
|
$
|
|
$ NAMES := {- join(",", keys %names); -}
|
|
{-
|
|
join("\n", map { "\$ __$_ = \"".$names{$_}."\"" } sort keys %names);
|
|
-}
|
|
$ I = 0
|
|
$ LOOP:
|
|
$ E = F$ELEMENT(I,",",NAMES)
|
|
$ I = I + 1
|
|
$ IF E .EQS. "," THEN GOTO ENDLOOP
|
|
$ EV = __'E'
|
|
$ OLDV = F$TRNLNM(E,"LNM$PROCESS")
|
|
$ IF OLDV .NES. "" THEN DEFINE/TABLE='OPENSSL_NAMES' 'E' 'OLDV'
|
|
$ DEFINE 'E' 'EV'
|
|
$ GOTO LOOP
|
|
$ ENDLOOP:
|