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$! Changes by Zoltan Arpadffy <zoli@polarhome.com> 7$! 8$! P1 root of the directory tree 9$! P2 "64" for 64-bit pointers. 10$! 11$! 12$! Announce/identify. 13$! 14$ proc = f$environment( "procedure") 15$ write sys$output "@@@ "+ - 16 f$parse( proc, , , "name")+ f$parse( proc, , , "type") 17$! 18$ on error then goto tidy 19$ on control_c then goto tidy 20$! 21$ if (p1 .eqs. "") 22$ then 23$ write sys$output "First argument missing." 24$ write sys$output - 25 "It should be the directory where you want things installed." 26$ exit 27$ endif 28$! 29$ if (f$getsyi( "cpu") .lt. 128) 30$ then 31$ arch = "VAX" 32$ else 33$ arch = f$edit( f$getsyi( "arch_name"), "upcase") 34$ if (arch .eqs. "") then arch = "UNK" 35$ endif 36$! 37$ archd = arch 38$ lib32 = "32" 39$ shr = "_SHR32" 40$! 41$ if (p2 .nes. "") 42$ then 43$ if (p2 .eqs. "64") 44$ then 45$ archd = arch+ "_64" 46$ lib32 = "" 47$ shr = "_SHR" 48$ else 49$ if (p2 .nes. "32") 50$ then 51$ write sys$output "Second argument invalid." 52$ write sys$output "It should be "32", "64", or nothing." 53$ exit 54$ endif 55$ endif 56$ endif 57$! 58$ root = f$parse( p1, "[]A.;0", , , "syntax_only, no_conceal") - "A.;0" 59$ root_dev = f$parse( root, , , "device", "syntax_only") 60$ root_dir = f$parse( root, , , "directory", "syntax_only") - - 61 "[000000." - "][" - "[" - "]" 62$ root = root_dev + "[" + root_dir 63$! 64$ define /nolog wrk_sslroot 'root'.] /trans=conc 65$ define /nolog wrk_sslinclude wrk_sslroot:[include] 66$ define /nolog wrk_sslxlib wrk_sslroot:['arch'_lib] 67$! 68$ if f$parse("wrk_sslroot:[000000]") .eqs. "" then - 69 create /directory /log wrk_sslroot:[000000] 70$ if f$parse("wrk_sslinclude:") .eqs. "" then - 71 create /directory /log wrk_sslinclude: 72$ if f$parse("wrk_sslxlib:") .eqs. "" then - 73 create /directory /log wrk_sslxlib: 74$! 75$ sdirs := , - 76 'archd', - 77 objects, - 78 md4, md5, sha, mdc2, hmac, ripemd, whrlpool, - 79 des, aes, rc2, rc4, idea, bf, cast, camellia, seed, modes, - 80 bn, ec, rsa, dsa, ecdsa, dh, ecdh, dso, engine, - 81 buffer, bio, stack, lhash, rand, err, - 82 evp, asn1, pem, x509, x509v3, conf, txt_db, pkcs7, pkcs12, comp, ocsp, - 83 ui, krb5, - 84 cms, pqueue, ts, jpake, store 85$! 86$ exheader_ := crypto.h, opensslv.h, ebcdic.h, symhacks.h, ossl_typ.h 87$ exheader_'archd' := opensslconf.h 88$ exheader_objects := objects.h, obj_mac.h 89$ exheader_md2 := md2.h 90$ exheader_md4 := md4.h 91$ exheader_md5 := md5.h 92$ exheader_sha := sha.h 93$ exheader_mdc2 := mdc2.h 94$ exheader_hmac := hmac.h 95$ exheader_ripemd := ripemd.h 96$ exheader_whrlpool := whrlpool.h 97$ exheader_des := des.h, des_old.h 98$ exheader_aes := aes.h 99$ exheader_rc2 := rc2.h 100$ exheader_rc4 := rc4.h 101$ exheader_rc5 := rc5.h 102$ exheader_idea := idea.h 103$ exheader_bf := blowfish.h 104$ exheader_cast := cast.h 105$ exheader_camellia := camellia.h 106$ exheader_seed := seed.h 107$ exheader_modes := modes.h 108$ exheader_bn := bn.h 109$ exheader_ec := ec.h 110$ exheader_rsa := rsa.h 111$ exheader_dsa := dsa.h 112$ exheader_ecdsa := ecdsa.h 113$ exheader_dh := dh.h 114$ exheader_ecdh := ecdh.h 115$ exheader_dso := dso.h 116$ exheader_engine := engine.h 117$ exheader_buffer := buffer.h 118$ exheader_bio := bio.h 119$ exheader_stack := stack.h, safestack.h 120$ exheader_lhash := lhash.h 121$ exheader_rand := rand.h 122$ exheader_err := err.h 123$ exheader_evp := evp.h 124$ exheader_asn1 := asn1.h, asn1_mac.h, asn1t.h 125$ exheader_pem := pem.h, pem2.h 126$ exheader_x509 := x509.h, x509_vfy.h 127$ exheader_x509v3 := x509v3.h 128$ exheader_conf := conf.h, conf_api.h 129$ exheader_txt_db := txt_db.h 130$ exheader_pkcs7 := pkcs7.h 131$ exheader_pkcs12 := pkcs12.h 132$ exheader_comp := comp.h 133$ exheader_ocsp := ocsp.h 134$ exheader_ui := ui.h, ui_compat.h 135$ exheader_krb5 := krb5_asn.h 136$! exheader_store := store.h, str_compat.h 137$ exheader_store := store.h 138$ exheader_cms := cms.h 139$ exheader_pqueue := pqueue.h 140$ exheader_ts := ts.h 141$ exheader_jpake := jpake.h 142$ exheader_srp := srp.h 143$ exheader_store := store.h 144$ exheader_cmac := cmac.h 145$ libs := ssl_libcrypto 146$! 147$ exe_dir := [-.'archd'.exe.crypto] 148$! 149$! Header files. 150$! 151$ i = 0 152$ loop_sdirs: 153$ d = f$edit( f$element( i, ",", sdirs), "trim") 154$ i = i + 1 155$ if d .eqs. "," then goto loop_sdirs_end 156$ tmp = exheader_'d' 157$ if (d .nes. "") then d = "."+ d 158$ copy /protection = w:re ['d']'tmp' wrk_sslinclude: /log 159$ goto loop_sdirs 160$ loop_sdirs_end: 161$! 162$! Object libraries, shareable images. 163$! 164$ i = 0 165$ loop_lib: 166$ e = f$edit( f$element( i, ",", libs), "trim") 167$ i = i + 1 168$ if e .eqs. "," then goto loop_lib_end 169$ set noon 170$ file = exe_dir+ e+ lib32+ ".olb" 171$ if f$search( file) .nes. "" 172$ then 173$ copy /protection = w:re 'file' wrk_sslxlib: /log 174$ endif 175$! 176$ file = exe_dir+ e+ shr+ ".exe" 177$ if f$search( file) .nes. "" 178$ then 179$ copy /protection = w:re 'file' wrk_sslxlib: /log 180$ endif 181$ set on 182$ goto loop_lib 183$ loop_lib_end: 184$! 185$ tidy: 186$! 187$ call deass wrk_sslroot 188$ call deass wrk_sslinclude 189$ call deass wrk_sslxlib 190$! 191$ exit 192$! 193$ deass: subroutine 194$ if (f$trnlnm( p1, "LNM$PROCESS") .nes. "") 195$ then 196$ deassign /process 'p1' 197$ endif 198$ endsubroutine 199$! 200