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$ def_orig = f$environment( "default") 17$ on error then goto tidy 18$ on control_c then goto tidy 19$! 20$ if (p1 .eqs. "") 21$ then 22$ write sys$output "First argument missing." 23$ write sys$output - 24 "It should be the directory where you want things installed." 25$ exit 26$ endif 27$! 28$ if (f$getsyi("cpu") .lt. 128) 29$ then 30$ arch = "VAX" 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") - 56 - ".][000000" - "[000000." - "][" - "[" - "]" 57$ root = root_dev + "[" + root_dir 58$! 59$ define /nolog wrk_sslroot 'root'.] /trans=conc 60$ define /nolog wrk_sslcerts wrk_sslroot:[certs] 61$ define /nolog wrk_sslinclude wrk_sslroot:[include] 62$ define /nolog wrk_ssllib wrk_sslroot:[lib] 63$ define /nolog wrk_sslprivate wrk_sslroot:[private] 64$ define /nolog wrk_sslxexe wrk_sslroot:['archd'_exe] 65$ define /nolog wrk_sslxlib wrk_sslroot:['arch'_lib] 66$! 67$! Exhibit the destination directory. 68$! 69$ write sys$output " Installing to (WRK_SSLROOT) =" 70$ write sys$output " ''f$trnlnm( "wrk_sslroot")'" 71$ write sys$output "" 72$! 73$ if f$parse("wrk_sslroot:[000000]") .eqs. "" then - 74 create /directory /log wrk_sslroot:[000000] 75$ if f$parse("wrk_sslxexe:") .eqs. "" then - 76 create /directory /log wrk_sslxexe: 77$ if f$parse("wrk_sslxlib:") .eqs. "" then - 78 create /directory /log wrk_sslxlib: 79$ if f$parse("wrk_ssllib:") .eqs. "" then - 80 create /directory /log wrk_ssllib: 81$ if f$parse("wrk_sslinclude:") .eqs. "" then - 82 create /directory /log wrk_sslinclude: 83$ if f$parse("wrk_sslcerts:") .eqs. "" then - 84 create /directory /log wrk_sslcerts: 85$ if f$parse("wrk_sslprivate:") .eqs. "" then - 86 create /directory /log wrk_sslprivate: 87$ if f$parse("wrk_sslroot:[VMS]") .EQS. "" THEN - 88 create /directory /log wrk_sslroot:[VMS] 89$! 90$ sdirs := CRYPTO, SSL, APPS, VMS !!!, RSAREF, TEST, TOOLS 91$ exheader := e_os2.h 92$! 93$ copy /protection = w:re 'exheader' wrk_sslinclude: /log 94$! 95$ i = 0 96$ loop_sdirs: 97$ d = f$edit( f$element(i, ",", sdirs), "trim") 98$ i = i + 1 99$ if d .eqs. "," then goto loop_sdirs_end 100$ write sys$output "Installing ", d, " files." 101$ set default [.'d'] 102$ @ install-'d'.com 'root'] 'p2' 103$ set default 'def_orig' 104$ goto loop_sdirs 105$ loop_sdirs_end: 106$! 107$ write sys$output "" 108$ write sys$output " Installation done!" 109$ write sys$output "" 110$ if (f$search( root+ "...]*.*;-1") .nes. "") 111$ then 112$ write sys$output " You might want to purge ", root, "...]" 113$ write sys$output "" 114$ endif 115$! 116$ tidy: 117$! 118$ set default 'def_orig' 119$! 120$ call deass wrk_sslroot 121$ call deass wrk_sslcerts 122$ call deass wrk_sslinclude 123$ call deass wrk_ssllib 124$ call deass wrk_sslprivate 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