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)
27 lines
987 B
Text
27 lines
987 B
Text
${-
|
|
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:
|