OLD | NEW |
1 $! INSTALL.COM -- Installs the files in a given directory tree | 1 $! INSTALL.COM -- Installs the files in a given directory tree |
2 $! | 2 $! |
3 $! Author: Richard Levitte <richard@levitte.org> | 3 $! Author: Richard Levitte <richard@levitte.org> |
4 $! Time of creation: 22-MAY-1998 10:13 | 4 $! Time of creation: 22-MAY-1998 10:13 |
5 $! | 5 $! |
6 $! P1» root of the directory tree | 6 $! P1 root of the directory tree |
| 7 $! P2 "64" for 64-bit pointers. |
7 $! | 8 $! |
8 $» DEF_ORIG = F$ENVIRONMENT( "DEFAULT") | 9 $! |
9 $» ON ERROR THEN GOTO TIDY | 10 $! Announce/identify. |
10 $» ON CONTROL_C THEN GOTO TIDY | 11 $! |
11 $ | 12 $ proc = f$environment( "procedure") |
12 $» IF P1 .EQS. "" | 13 $ write sys$output "@@@ "+ - |
13 $» THEN | 14 f$parse( proc, , , "name")+ f$parse( proc, , , "type") |
14 $» WRITE SYS$OUTPUT "First argument missing." | 15 $! |
15 $» WRITE SYS$OUTPUT - | 16 $ def_orig = f$environment( "default") |
16 » » "It Should be the directory where you want things installed." | 17 $ on error then goto tidy |
17 $» EXIT | 18 $ on control_c then goto tidy |
18 $» ENDIF | 19 $! |
19 $ | 20 $ if (p1 .eqs. "") |
20 $» IF (F$GETSYI("CPU").LT.128) | 21 $ then |
21 $» THEN | 22 $ write sys$output "First argument missing." |
22 $» ARCH := VAX | 23 $ write sys$output - |
23 $» ELSE | 24 "It should be the directory where you want things installed." |
24 $» ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") | 25 $ exit |
25 $» IF (ARCH .EQS. "") THEN ARCH = "UNK" | 26 $ endif |
26 $» ENDIF | 27 $! |
27 $ | 28 $ if (f$getsyi("cpu") .lt. 128) |
28 $» ROOT = F$PARSE(P1,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0" | 29 $ then |
29 $» ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY") | 30 $ arch = "VAX" |
30 $» ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") - | 31 $ else |
| 32 $ arch = f$edit( f$getsyi( "arch_name"), "upcase") |
| 33 $ if (arch .eqs. "") then arch = "UNK" |
| 34 $ endif |
| 35 $! |
| 36 $ archd = arch |
| 37 $! |
| 38 $ if (p2 .nes. "") |
| 39 $ then |
| 40 $ if (p2 .eqs. "64") |
| 41 $ then |
| 42 $ archd = arch+ "_64" |
| 43 $ else |
| 44 $ if (p2 .nes. "32") |
| 45 $ then |
| 46 $ write sys$output "Second argument invalid." |
| 47 $ write sys$output "It should be "32", "64", or nothing." |
| 48 $ exit |
| 49 $ endif |
| 50 $ endif |
| 51 $ endif |
| 52 $! |
| 53 $ root = f$parse( p1, "[]A.;0", , , "syntax_only, no_conceal") - "A.;0" |
| 54 $ root_dev = f$parse( root, , , "device", "syntax_only") |
| 55 $ root_dir = f$parse( root, , , "directory", "syntax_only") - |
31 - ".][000000" - "[000000." - "][" - "[" - "]" | 56 - ".][000000" - "[000000." - "][" - "[" - "]" |
32 $» ROOT = ROOT_DEV + "[" + ROOT_DIR | 57 $ root = root_dev + "[" + root_dir |
33 $ | 58 $! |
34 $» DEFINE/NOLOG WRK_SSLROOT 'ROOT'.] /TRANS=CONC | 59 $ define /nolog wrk_sslroot 'root'.] /trans=conc |
35 $» DEFINE/NOLOG WRK_SSLXLIB WRK_SSLROOT:['ARCH'_LIB] | 60 $ define /nolog wrk_sslcerts wrk_sslroot:[certs] |
36 $» DEFINE/NOLOG WRK_SSLLIB WRK_SSLROOT:[LIB] | 61 $ define /nolog wrk_sslinclude wrk_sslroot:[include] |
37 $» DEFINE/NOLOG WRK_SSLINCLUDE WRK_SSLROOT:[INCLUDE] | 62 $ define /nolog wrk_ssllib wrk_sslroot:[lib] |
38 $» DEFINE/NOLOG WRK_SSLXEXE WRK_SSLROOT:['ARCH'_EXE] | 63 $ define /nolog wrk_sslprivate wrk_sslroot:[private] |
39 $» DEFINE/NOLOG WRK_SSLCERTS WRK_SSLROOT:[CERTS] | 64 $ define /nolog wrk_sslxexe wrk_sslroot:['archd'_exe] |
40 $» DEFINE/NOLOG WRK_SSLPRIVATE WRK_SSLROOT:[PRIVATE] | 65 $ define /nolog wrk_sslxlib wrk_sslroot:['arch'_lib] |
41 $ | |
42 $! | 66 $! |
43 $! Exhibit the destination directory. | 67 $! Exhibit the destination directory. |
44 $! | 68 $! |
45 $» WRITE SYS$OUTPUT " Installing to (WRK_SSLROOT) =" | 69 $ write sys$output " Installing to (WRK_SSLROOT) =" |
46 $» WRITE SYS$OUTPUT " ''f$trnlnm( "WRK_SSLROOT")'" | 70 $ write sys$output " ''f$trnlnm( "wrk_sslroot")'" |
47 $» WRITE SYS$OUTPUT "" | 71 $ write sys$output "" |
48 $ | 72 $! |
49 $» IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN - | 73 $ if f$parse("wrk_sslroot:[000000]") .eqs. "" then - |
50 » CREATE/DIR/LOG WRK_SSLROOT:[000000] | 74 create /directory /log wrk_sslroot:[000000] |
51 $» IF F$PARSE("WRK_SSLXEXE:") .EQS. "" THEN - | 75 $ if f$parse("wrk_sslxexe:") .eqs. "" then - |
52 » CREATE/DIR/LOG WRK_SSLXEXE: | 76 create /directory /log wrk_sslxexe: |
53 $» IF F$PARSE("WRK_SSLXLIB:") .EQS. "" THEN - | 77 $ if f$parse("wrk_sslxlib:") .eqs. "" then - |
54 » CREATE/DIR/LOG WRK_SSLXLIB: | 78 create /directory /log wrk_sslxlib: |
55 $» IF F$PARSE("WRK_SSLLIB:") .EQS. "" THEN - | 79 $ if f$parse("wrk_ssllib:") .eqs. "" then - |
56 » CREATE/DIR/LOG WRK_SSLLIB: | 80 create /directory /log wrk_ssllib: |
57 $» IF F$PARSE("WRK_SSLINCLUDE:") .EQS. "" THEN - | 81 $ if f$parse("wrk_sslinclude:") .eqs. "" then - |
58 » CREATE/DIR/LOG WRK_SSLINCLUDE: | 82 create /directory /log wrk_sslinclude: |
59 $» IF F$PARSE("WRK_SSLCERTS:") .EQS. "" THEN - | 83 $ if f$parse("wrk_sslcerts:") .eqs. "" then - |
60 » CREATE/DIR/LOG WRK_SSLCERTS: | 84 create /directory /log wrk_sslcerts: |
61 $» IF F$PARSE("WRK_SSLPRIVATE:") .EQS. "" THEN - | 85 $ if f$parse("wrk_sslprivate:") .eqs. "" then - |
62 » CREATE/DIR/LOG WRK_SSLPRIVATE: | 86 create /directory /log wrk_sslprivate: |
63 $» IF F$PARSE("WRK_SSLROOT:[VMS]") .EQS. "" THEN - | 87 $ if f$parse("wrk_sslroot:[VMS]") .EQS. "" THEN - |
64 » CREATE/DIR/LOG WRK_SSLROOT:[VMS] | 88 create /directory /log wrk_sslroot:[VMS] |
65 $ | 89 $! |
66 $» SDIRS := CRYPTO,SSL,APPS,VMS!,RSAREF,TEST,TOOLS | 90 $ sdirs := CRYPTO, SSL, APPS, VMS !!!, RSAREF, TEST, TOOLS |
67 $» EXHEADER := e_os2.h | 91 $ exheader := e_os2.h |
68 $ | 92 $! |
69 $» COPY 'EXHEADER' WRK_SSLINCLUDE: /LOG | 93 $ copy /protection = w:re 'exheader' wrk_sslinclude: /log |
70 $» SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'EXHEADER' | 94 $! |
71 $ | 95 $ i = 0 |
72 $» I = 0 | 96 $ loop_sdirs: |
73 $ LOOP_SDIRS: | 97 $ d = f$edit( f$element(i, ",", sdirs), "trim") |
74 $» D = F$ELEMENT(I, ",", SDIRS) | 98 $ i = i + 1 |
75 $» I = I + 1 | 99 $ if d .eqs. "," then goto loop_sdirs_end |
76 $» IF D .EQS. "," THEN GOTO LOOP_SDIRS_END | 100 $ write sys$output "Installing ", d, " files." |
77 $» WRITE SYS$OUTPUT "Installing ",D," files." | 101 $ set default [.'d'] |
78 $» SET DEFAULT [.'D'] | 102 $ @ install-'d'.com 'root'] 'p2' |
79 $» @INSTALL 'ROOT'] | 103 $ set default 'def_orig' |
80 $» SET DEFAULT [-] | 104 $ goto loop_sdirs |
81 $» GOTO LOOP_SDIRS | 105 $ loop_sdirs_end: |
82 $ LOOP_SDIRS_END: | 106 $! |
83 $ | 107 $ write sys$output "" |
84 $» WRITE SYS$OUTPUT "" | 108 $ write sys$output "» Installation done!" |
85 $» WRITE SYS$OUTPUT "» Installation done!" | 109 $ write sys$output "" |
86 $» WRITE SYS$OUTPUT "" | 110 $ if (f$search( root+ "...]*.*;-1") .nes. "") |
87 $» WRITE SYS$OUTPUT "» You might want to purge ",ROOT,"...]" | 111 $ then |
88 $» WRITE SYS$OUTPUT "" | 112 $ write sys$output "» You might want to purge ", root, "...]" |
89 $ | 113 $ write sys$output "" |
90 $ TIDY: | 114 $ endif |
91 $» SET DEFAULT 'DEF_ORIG' | 115 $! |
92 $ | 116 $ tidy: |
93 $» DEASSIGN WRK_SSLROOT | 117 $! |
94 $» DEASSIGN WRK_SSLXLIB | 118 $ set default 'def_orig' |
95 $» DEASSIGN WRK_SSLLIB | 119 $! |
96 $» DEASSIGN WRK_SSLINCLUDE | 120 $ call deass wrk_sslroot |
97 $» DEASSIGN WRK_SSLXEXE | 121 $ call deass wrk_sslcerts |
98 $» DEASSIGN WRK_SSLCERTS | 122 $ call deass wrk_sslinclude |
99 $» DEASSIGN WRK_SSLPRIVATE | 123 $ call deass wrk_ssllib |
100 $ | 124 $ call deass wrk_sslprivate |
101 $» EXIT | 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 $! |
OLD | NEW |