summaryrefslogtreecommitdiffstats
path: root/util/unlocal_shlib.com.in
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-03-14 22:09:57 +0100
committerRichard Levitte <levitte@openssl.org>2017-03-14 22:27:17 +0100
commita74db02a2e182a16c76a12da1ac8ae8a215746b0 (patch)
tree0acbe5eeb52a04b55d47ba6b09f0ed84a9877ed5 /util/unlocal_shlib.com.in
parentVMS: Change debug linking method to generate a separate Debug Symbol File (diff)
downloadopenssl-a74db02a2e182a16c76a12da1ac8ae8a215746b0.tar.xz
openssl-a74db02a2e182a16c76a12da1ac8ae8a215746b0.zip
VMS: throw away [.util]shareable_image_wrap.c.in and add replacement scripts
[.util]shareable_image_wrap.c.in was never useful because lib$spawn() insisted on combining stdout and stderr into one. Instead, we introduce two scripts that create and destroy a temporary environment where the local shareable images become available, [.util]local_shlib.com and [.util]unlocal_shlib.com. They also define DBG$IMAGE_DSF_PATH, which is require so the debugger can find the Debug Symbol Files. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2947)
Diffstat (limited to 'util/unlocal_shlib.com.in')
-rw-r--r--util/unlocal_shlib.com.in27
1 files changed, 27 insertions, 0 deletions
diff --git a/util/unlocal_shlib.com.in b/util/unlocal_shlib.com.in
new file mode 100644
index 0000000000..67120c6e78
--- /dev/null
+++ b/util/unlocal_shlib.com.in
@@ -0,0 +1,27 @@
+${-
+ use File::Spec::Functions qw(rel2abs);
+
+ my $bldtop = rel2abs($config{builddir});
+ our %names = ( ( map { $_ => $bldtop.$_.".EXE" }
+ map { $unified_info{sharednames}->{$_} || () }
+ @{$unified_info{libraries}} ),
+ 'DBG$IMAGE_DSF_PATH' => $bldtop );
+ "" -}
+$ ! 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(",", 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