-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.com
136 lines (136 loc) · 3.62 KB
/
install.com
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
$! INSTALL.COM -- Installs the files in a given directory tree
$!
$! Author: Richard Levitte <richard@levitte.org>
$! Time of creation: 22-MAY-1998 10:13
$!
$! P1 root of the directory tree
$! P2 "64" for 64-bit pointers.
$!
$!
$! Announce/identify.
$!
$ proc = f$environment( "procedure")
$ write sys$output "@@@ "+ -
f$parse( proc, , , "name")+ f$parse( proc, , , "type")
$!
$ def_orig = f$environment( "default")
$ on error then goto tidy
$ on control_c then goto tidy
$!
$ if (p1 .eqs. "")
$ then
$ write sys$output "First argument missing."
$ write sys$output -
"It should be the directory where you want things installed."
$ exit
$ endif
$!
$ if (f$getsyi("cpu") .lt. 128)
$ then
$ arch = "VAX"
$ else
$ arch = f$edit( f$getsyi( "arch_name"), "upcase")
$ if (arch .eqs. "") then arch = "UNK"
$ endif
$!
$ archd = arch
$!
$ if (p2 .nes. "")
$ then
$ if (p2 .eqs. "64")
$ then
$ archd = arch+ "_64"
$ else
$ if (p2 .nes. "32")
$ then
$ write sys$output "Second argument invalid."
$ write sys$output "It should be "32", "64", or nothing."
$ exit
$ endif
$ endif
$ endif
$!
$ root = f$parse( p1, "[]A.;0", , , "syntax_only, no_conceal") - "A.;0"
$ root_dev = f$parse( root, , , "device", "syntax_only")
$ root_dir = f$parse( root, , , "directory", "syntax_only") -
- ".][000000" - "[000000." - "][" - "[" - "]"
$ root = root_dev + "[" + root_dir
$!
$ define /nolog wrk_sslroot 'root'.] /trans=conc
$ define /nolog wrk_sslcerts wrk_sslroot:[certs]
$ define /nolog wrk_sslinclude wrk_sslroot:[include]
$ define /nolog wrk_ssllib wrk_sslroot:[lib]
$ define /nolog wrk_sslprivate wrk_sslroot:[private]
$ define /nolog wrk_sslxexe wrk_sslroot:['archd'_exe]
$ define /nolog wrk_sslxlib wrk_sslroot:['arch'_lib]
$!
$! Exhibit the destination directory.
$!
$ write sys$output " Installing to (WRK_SSLROOT) ="
$ write sys$output " ''f$trnlnm( "wrk_sslroot")'"
$ write sys$output ""
$!
$ if f$parse("wrk_sslroot:[000000]") .eqs. "" then -
create /directory /log wrk_sslroot:[000000]
$ if f$parse("wrk_sslxexe:") .eqs. "" then -
create /directory /log wrk_sslxexe:
$ if f$parse("wrk_sslxlib:") .eqs. "" then -
create /directory /log wrk_sslxlib:
$ if f$parse("wrk_ssllib:") .eqs. "" then -
create /directory /log wrk_ssllib:
$ if f$parse("wrk_sslinclude:") .eqs. "" then -
create /directory /log wrk_sslinclude:
$ if f$parse("wrk_sslcerts:") .eqs. "" then -
create /directory /log wrk_sslcerts:
$ if f$parse("wrk_sslprivate:") .eqs. "" then -
create /directory /log wrk_sslprivate:
$ if f$parse("wrk_sslroot:[VMS]") .EQS. "" THEN -
create /directory /log wrk_sslroot:[VMS]
$!
$ sdirs := CRYPTO, SSL, APPS, VMS !!!, RSAREF, TEST, TOOLS
$ exheader := e_os2.h
$!
$ copy /protection = w:re 'exheader' wrk_sslinclude: /log
$!
$ i = 0
$ loop_sdirs:
$ d = f$edit( f$element(i, ",", sdirs), "trim")
$ i = i + 1
$ if d .eqs. "," then goto loop_sdirs_end
$ write sys$output "Installing ", d, " files."
$ set default [.'d']
$ @ install-'d'.com 'root'] 'p2'
$ set default 'def_orig'
$ goto loop_sdirs
$ loop_sdirs_end:
$!
$ write sys$output ""
$ write sys$output " Installation done!"
$ write sys$output ""
$ if (f$search( root+ "...]*.*;-1") .nes. "")
$ then
$ write sys$output " You might want to purge ", root, "...]"
$ write sys$output ""
$ endif
$!
$ tidy:
$!
$ set default 'def_orig'
$!
$ call deass wrk_sslroot
$ call deass wrk_sslcerts
$ call deass wrk_sslinclude
$ call deass wrk_ssllib
$ call deass wrk_sslprivate
$ call deass wrk_sslxexe
$ call deass wrk_sslxlib
$!
$ exit
$!
$ deass: subroutine
$ if (f$trnlnm( p1, "LNM$PROCESS") .nes. "")
$ then
$ deassign /process 'p1'
$ endif
$ endsubroutine
$!