1$! INSTALL.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$! 37$ if (p2 .nes. "") 38$ then 39$ if (p2 .eqs. "64") 40$ then 41$ archd = arch+ "_64" 42$ else 43$ if (p2 .nes. "32") 44$ then 45$ write sys$output "Second argument invalid." 46$ write sys$output "It should be "32", "64", or nothing." 47$ exit 48$ endif 49$ endif 50$ endif 51$! 52$ root = f$parse( p1, "[]A.;0", , , "syntax_only, no_conceal") - "A.;0" 53$ root_dev = f$parse(root,,,"device","syntax_only") 54$ root_dir = f$parse(root,,,"directory","syntax_only") - - 55 "[000000." - "][" - "[" - "]" 56$ root = root_dev + "[" + root_dir 57$! 58$ define /nolog wrk_sslroot 'root'.] /trans=conc 59$ define /nolog wrk_sslxexe wrk_sslroot:['archd'_exe] 60$! 61$ if f$parse("wrk_sslroot:[000000]") .eqs. "" then - 62 create /directory /log wrk_sslroot:[000000] 63$ if f$parse("wrk_sslxexe:") .eqs. "" then - 64 create /directory /log wrk_sslxexe: 65$! 66$ exe := openssl 67$! 68$ exe_dir := [-.'archd'.exe.apps] 69$! 70$! Executables. 71$! 72$ i = 0 73$ loop_exe: 74$ e = f$edit(f$element( i, ",", exe), "trim") 75$ i = i + 1 76$ if e .eqs. "," then goto loop_exe_end 77$ set noon 78$ file = exe_dir+ e+ ".exe" 79$ if f$search( file) .nes. "" 80$ then 81$ copy /protection = w:re 'file' wrk_sslxexe: /log 82$ endif 83$ set on 84$ goto loop_exe 85$ loop_exe_end: 86$! 87$! Miscellaneous. 88$! 89$ set noon 90$ copy /protection = w:re ca.com wrk_sslxexe:ca.com /log 91$ copy /protection = w:re openssl-vms.cnf wrk_sslroot:[000000]openssl.cnf /log 92$ set on 93$! 94$ tidy: 95$! 96$ call deass wrk_sslroot 97$ call deass wrk_sslxexe 98$! 99$ exit 100$! 101$ deass: subroutine 102$ if (f$trnlnm( p1, "LNM$PROCESS") .nes. "") 103$ then 104$ deassign /process 'p1' 105$ endif 106$ endsubroutine 107$! 108