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$!
10$	IF P1 .EQS. ""
11$	THEN
12$	    WRITE SYS$OUTPUT "First argument missing."
13$	    WRITE SYS$OUTPUT -
14		  "It should be the directory where you want things installed."
15$	    EXIT
16$	ENDIF
17$
18$	IF (F$GETSYI("CPU").LT.128)
19$	THEN
20$	    ARCH := VAX
21$	ELSE
22$	    ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE")
23$	    IF (ARCH .EQS. "") THEN ARCH = "UNK"
24$	ENDIF
25$
26$	ROOT = F$PARSE(P1,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0"
27$	ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY")
28$	ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
29		   - "[000000." - "][" - "[" - "]"
30$	ROOT = ROOT_DEV + "[" + ROOT_DIR
31$
32$	DEFINE/NOLOG WRK_SSLROOT 'ROOT'.] /TRANS=CONC
33$	DEFINE/NOLOG WRK_SSLLIB WRK_SSLROOT:['ARCH'_LIB]
34$	DEFINE/NOLOG WRK_SSLINCLUDE WRK_SSLROOT:[INCLUDE]
35$
36$	IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN -
37	   CREATE/DIR/LOG WRK_SSLROOT:[000000]
38$	IF F$PARSE("WRK_SSLLIB:") .EQS. "" THEN -
39	   CREATE/DIR/LOG WRK_SSLLIB:
40$	IF F$PARSE("WRK_SSLINCLUDE:") .EQS. "" THEN -
41	   CREATE/DIR/LOG WRK_SSLINCLUDE:
42$
43$	SDIRS := ,-
44		 _'ARCH',-
45		 OBJECTS,-
46		 MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,WHRLPOOL,-
47		 DES,AES,RC2,RC4,RC5,IDEA,BF,CAST,CAMELLIA,SEED,-
48		 BN,EC,RSA,DSA,ECDSA,DH,ECDH,DSO,ENGINE,-
49		 BUFFER,BIO,STACK,LHASH,RAND,ERR,-
50		 EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP,OCSP,-
51		 UI,KRB5,-
52		 STORE,CMS,PQUEUE,TS,JPAKE
53$	EXHEADER_ := crypto.h,opensslv.h,ebcdic.h,symhacks.h,ossl_typ.h
54$	EXHEADER__'ARCH' := opensslconf.h
55$	EXHEADER_OBJECTS := objects.h,obj_mac.h
56$	EXHEADER_MD2 := md2.h
57$	EXHEADER_MD4 := md4.h
58$	EXHEADER_MD5 := md5.h
59$	EXHEADER_SHA := sha.h
60$	EXHEADER_MDC2 := mdc2.h
61$	EXHEADER_HMAC := hmac.h
62$	EXHEADER_RIPEMD := ripemd.h
63$	EXHEADER_WHRLPOOL := whrlpool.h
64$	EXHEADER_DES := des.h,des_old.h
65$	EXHEADER_AES := aes.h
66$	EXHEADER_RC2 := rc2.h
67$	EXHEADER_RC4 := rc4.h
68$	EXHEADER_RC5 := rc5.h
69$	EXHEADER_IDEA := idea.h
70$	EXHEADER_BF := blowfish.h
71$	EXHEADER_CAST := cast.h
72$	EXHEADER_CAMELLIA := camellia.h
73$	EXHEADER_SEED := seed.h
74$	EXHEADER_MODES := modes.h
75$	EXHEADER_BN := bn.h
76$	EXHEADER_EC := ec.h
77$	EXHEADER_RSA := rsa.h
78$	EXHEADER_DSA := dsa.h
79$	EXHEADER_ECDSA := ecdsa.h
80$	EXHEADER_DH := dh.h
81$	EXHEADER_ECDH := ecdh.h
82$	EXHEADER_DSO := dso.h
83$	EXHEADER_ENGINE := engine.h
84$	EXHEADER_BUFFER := buffer.h
85$	EXHEADER_BIO := bio.h
86$	EXHEADER_STACK := stack.h,safestack.h
87$	EXHEADER_LHASH := lhash.h
88$	EXHEADER_RAND := rand.h
89$	EXHEADER_ERR := err.h
90$	EXHEADER_EVP := evp.h
91$	EXHEADER_ASN1 := asn1.h,asn1_mac.h,asn1t.h
92$	EXHEADER_PEM := pem.h,pem2.h
93$	EXHEADER_X509 := x509.h,x509_vfy.h
94$	EXHEADER_X509V3 := x509v3.h
95$	EXHEADER_CONF := conf.h,conf_api.h
96$	EXHEADER_TXT_DB := txt_db.h
97$	EXHEADER_PKCS7 := pkcs7.h
98$	EXHEADER_PKCS12 := pkcs12.h
99$	EXHEADER_COMP := comp.h
100$	EXHEADER_OCSP := ocsp.h
101$	EXHEADER_UI := ui.h,ui_compat.h
102$	EXHEADER_KRB5 := krb5_asn.h
103$!	EXHEADER_STORE := store.h,str_compat.h
104$	EXHEADER_STORE := store.h
105$	EXHEADER_CMS := cms.h
106$	EXHEADER_PQUEUE := pqueue.h
107$	EXHEADER_TS := ts.h
108$	EXHEADER_JPAKE := jpake.h
109$	LIBS := LIBCRYPTO,LIBCRYPTO32
110$
111$	EXE_DIR := [-.'ARCH'.EXE.CRYPTO]
112$
113$	I = 0
114$ LOOP_SDIRS: 
115$	D = F$EDIT(F$ELEMENT(I, ",", SDIRS),"TRIM")
116$	I = I + 1
117$	IF D .EQS. "," THEN GOTO LOOP_SDIRS_END
118$	tmp = EXHEADER_'D'
119$	IF D .EQS. ""
120$	THEN
121$	  COPY 'tmp' WRK_SSLINCLUDE: /LOG
122$	ELSE
123$	  COPY [.'D']'tmp' WRK_SSLINCLUDE: /LOG
124$	ENDIF
125$	SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'tmp'
126$	GOTO LOOP_SDIRS
127$ LOOP_SDIRS_END:
128$
129$	I = 0
130$ LOOP_LIB: 
131$	E = F$EDIT(F$ELEMENT(I, ",", LIBS),"TRIM")
132$	I = I + 1
133$	IF E .EQS. "," THEN GOTO LOOP_LIB_END
134$	SET NOON
135$	IF F$SEARCH(EXE_DIR+E+".OLB") .NES. ""
136$	THEN
137$	  COPY 'EXE_DIR''E'.OLB WRK_SSLLIB:'E'.OLB/log
138$	  SET FILE/PROT=W:RE WRK_SSLLIB:'E'.OLB
139$	ENDIF
140$	! Preparing for the time when we have shareable images
141$	IF F$SEARCH(EXE_DIR+E+".EXE") .NES. ""
142$	THEN
143$	  COPY 'EXE_DIR''E'.EXE WRK_SSLLIB:'E'.EXE/log
144$	  SET FILE/PROT=W:RE WRK_SSLLIB:'E'.EXE
145$	ENDIF
146$	SET ON
147$	GOTO LOOP_LIB
148$ LOOP_LIB_END:
149$
150$	EXIT
151