${-
  use File::Spec::Functions qw(rel2abs);

  my $bldtop = rel2abs($config{builddir});
  our %names = ( map { platform->sharedname($_) =>
                           $bldtop.platform->sharedlib($_) }
                 grep { !$unified_info{attributes}->{libraries}->{$_}->{noinst} }
                 @{$unified_info{libraries}} );
  "" -}
$       ! Remove the local environment created by local_shlib.com
$
$       OPENSSL_NAMES := OPENSSL_NAMES_'F$GETJPI("","PID")'
$       IF F$TRNLNM("OSSL_FLAG",OPENSSL_NAMES) .EQS. "" THEN EXIT 0
$
$       NAMES := {- join(",", sort keys %names); -}
$       I = 0
$       LOOP:
$           E = F$ELEMENT(I,",",NAMES)
$           I = I + 1
$           IF E .EQS. "," THEN GOTO ENDLOOP
$           OLDV = F$TRNLNM(E,OPENSSL_NAMES)
$           DEASSIGN 'E'
$           IF OLDV .NES. "" THEN DEFINE 'E' 'OLDV'
$           GOTO LOOP
$       ENDLOOP:
$
$       DEASSIGN 'OPENSSL_NAMES' /TABLE=LNM$PROCESS_DIRECTORY
