1$! INSTALL-SSL.COM -- Installs the files in a given directory tree
2$!
3$! Author: Richard Levitte <richard@levitte.org>
4$! Time of creation: 22-MAY-1998 10:13
5$!
6$! P1  root of the directory tree
7$! P2  "64" for 64-bit pointers.
8$!
9$!
10$! Announce/identify.
11$!
12$ proc = f$environment( "procedure")
13$ write sys$output "@@@ "+ -
14   f$parse( proc, , , "name")+ f$parse( proc, , , "type")
15$!
16$ on error then goto tidy
17$ on control_c then goto tidy
18$!
19$ if p1 .eqs. ""
20$ then
21$   write sys$output "First argument missing."
22$   write sys$output -
23     "It should be the directory where you want things installed."
24$   exit
25$ endif
26$!
27$ if (f$getsyi( "cpu") .lt. 128)
28$ then
29$     arch = "VAX"
30$ else
31$     arch = f$edit( f$getsyi( "arch_name"), "upcase")
32$     if (arch .eqs. "") then arch = "UNK"
33$ endif
34$!
35$ archd = arch
36$ lib32 = "32"
37$ shr = "_SHR32"
38$!
39$ if (p2 .nes. "")
40$ then
41$   if (p2 .eqs. "64")
42$   then
43$     archd = arch+ "_64"
44$     lib32 = ""
45$     shr = "_SHR"
46$   else
47$     if (p2 .nes. "32")
48$     then
49$       write sys$output "Second argument invalid."
50$       write sys$output "It should be "32", "64", or nothing."
51$       exit
52$     endif
53$   endif
54$ endif
55$!
56$ root = f$parse( p1, "[]A.;0", , , "syntax_only, no_conceal") - "A.;0"
57$ root_dev = f$parse(root,,,"device","syntax_only")
58$ root_dir = f$parse(root,,,"directory","syntax_only") - -
59   "[000000." - "][" - "[" - "]"
60$ root = root_dev + "[" + root_dir
61$!
62$ define /nolog wrk_sslroot 'root'.] /trans=conc
63$ define /nolog wrk_sslinclude wrk_sslroot:[include]
64$ define /nolog wrk_sslxexe wrk_sslroot:['archd'_exe]
65$ define /nolog wrk_sslxlib wrk_sslroot:['arch'_lib]
66$!
67$ if f$parse("wrk_sslroot:[000000]") .eqs. "" then -
68   create /directory /log wrk_sslroot:[000000]
69$ if f$parse("wrk_sslinclude:") .eqs. "" then -
70   create /directory /log wrk_sslinclude:
71$ if f$parse("wrk_sslxexe:") .eqs. "" then -
72   create /directory /log wrk_sslxexe:
73$ if f$parse("wrk_sslxlib:") .eqs. "" then -
74   create /directory /log wrk_sslxlib:
75$!
76$ exheader := ssl.h, ssl2.h, ssl3.h, ssl23.h, tls1.h, dtls1.h, kssl.h, srtp.h
77$ e_exe := ssl_task
78$ libs := ssl_libssl
79$!
80$ xexe_dir := [-.'archd'.exe.ssl]
81$!
82$ copy /protection = w:re 'exheader' wrk_sslinclude: /log
83$!
84$ i = 0
85$ loop_exe:
86$   e = f$edit( f$element( i, ",", e_exe), "trim")
87$   i = i + 1
88$   if e .eqs. "," then goto loop_exe_end
89$   set noon
90$   file = xexe_dir+ e+ ".exe"
91$   if f$search( file) .nes. ""
92$   then
93$     copy /protection = w:re 'file' wrk_sslxexe: /log
94$   endif
95$   set on
96$ goto loop_exe
97$ loop_exe_end:
98$!
99$ i = 0
100$ loop_lib:
101$   e = f$edit(f$element(i, ",", libs),"trim")
102$   i = i + 1
103$   if e .eqs. "," then goto loop_lib_end
104$   set noon
105$! Object library.
106$   file = xexe_dir+ e+ lib32+ ".olb"
107$   if f$search( file) .nes. ""
108$   then
109$     copy /protection = w:re 'file' wrk_sslxlib: /log
110$   endif
111$! Shareable image.
112$   file = xexe_dir+ e+ shr+ ".exe"
113$   if f$search( file) .nes. ""
114$   then
115$     copy /protection = w:re 'file' wrk_sslxlib: /log
116$   endif
117$   set on
118$ goto loop_lib
119$ loop_lib_end:
120$!
121$ tidy:
122$!
123$ call deass wrk_sslroot
124$ call deass wrk_sslinclude
125$ call deass wrk_sslxexe
126$ call deass wrk_sslxlib
127$!
128$ exit
129$!
130$ deass: subroutine
131$ if (f$trnlnm( p1, "LNM$PROCESS") .nes. "")
132$ then
133$   deassign /process 'p1'
134$ endif
135$ endsubroutine
136$!
137