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		 OBJECTS,-
45		 MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,-
46		 DES,AES,RC2,RC4,RC5,IDEA,BF,CAST,CAMELLIA,SEED,-
47		 BN,EC,RSA,DSA,ECDSA,DH,ECDH,DSO,ENGINE,-
48		 BUFFER,BIO,STACK,LHASH,RAND,ERR,-
49		 EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP,OCSP,-
50		 UI,KRB5,-
51		 STORE,PQUEUE,JPAKE
52$	EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h,-
53		symhacks.h,ossl_typ.h
54$	EXHEADER_OBJECTS := objects.h,obj_mac.h
55$	EXHEADER_MD2 := md2.h
56$	EXHEADER_MD4 := md4.h
57$	EXHEADER_MD5 := md5.h
58$	EXHEADER_SHA := sha.h
59$	EXHEADER_MDC2 := mdc2.h
60$	EXHEADER_HMAC := hmac.h
61$	EXHEADER_RIPEMD := ripemd.h
62$	EXHEADER_DES := des.h,des_old.h
63$	EXHEADER_AES := aes.h
64$	EXHEADER_RC2 := rc2.h
65$	EXHEADER_RC4 := rc4.h
66$	EXHEADER_RC5 := rc5.h
67$	EXHEADER_IDEA := idea.h
68$	EXHEADER_BF := blowfish.h
69$	EXHEADER_CAST := cast.h
70$	EXHEADER_CAMELLIA := camellia.h
71$	EXHEADER_SEED := seed.h
72$	EXHEADER_BN := bn.h
73$	EXHEADER_EC := ec.h
74$	EXHEADER_RSA := rsa.h
75$	EXHEADER_DSA := dsa.h
76$	EXHEADER_ECDSA := ecdsa.h
77$	EXHEADER_DH := dh.h
78$	EXHEADER_ECDH := ecdh.h
79$	EXHEADER_DSO := dso.h
80$	EXHEADER_ENGINE := engine.h
81$	EXHEADER_BUFFER := buffer.h
82$	EXHEADER_BIO := bio.h
83$	EXHEADER_STACK := stack.h,safestack.h
84$	EXHEADER_LHASH := lhash.h
85$	EXHEADER_RAND := rand.h
86$	EXHEADER_ERR := err.h
87$	EXHEADER_EVP := evp.h
88$	EXHEADER_ASN1 := asn1.h,asn1_mac.h,asn1t.h
89$	EXHEADER_PEM := pem.h,pem2.h
90$	EXHEADER_X509 := x509.h,x509_vfy.h
91$	EXHEADER_X509V3 := x509v3.h
92$	EXHEADER_CONF := conf.h,conf_api.h
93$	EXHEADER_TXT_DB := txt_db.h
94$	EXHEADER_PKCS7 := pkcs7.h
95$	EXHEADER_PKCS12 := pkcs12.h
96$	EXHEADER_COMP := comp.h
97$	EXHEADER_OCSP := ocsp.h
98$	EXHEADER_UI := ui.h,ui_compat.h
99$	EXHEADER_KRB5 := krb5_asn.h
100$!	EXHEADER_STORE := store.h,str_compat.h
101$	EXHEADER_STORE := store.h
102$	EXHEADER_PQUEUE := pqueue.h,pq_compat.h
103$	EXHEADER_JPAKE := jpake.h
104$	LIBS := LIBCRYPTO
105$
106$	EXE_DIR := [-.'ARCH'.EXE.CRYPTO]
107$
108$	I = 0
109$ LOOP_SDIRS: 
110$	D = F$EDIT(F$ELEMENT(I, ",", SDIRS),"TRIM")
111$	I = I + 1
112$	IF D .EQS. "," THEN GOTO LOOP_SDIRS_END
113$	tmp = EXHEADER_'D'
114$	IF D .EQS. ""
115$	THEN
116$	  COPY 'tmp' WRK_SSLINCLUDE: /LOG
117$	ELSE
118$	  COPY [.'D']'tmp' WRK_SSLINCLUDE: /LOG
119$	ENDIF
120$	SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'tmp'
121$	GOTO LOOP_SDIRS
122$ LOOP_SDIRS_END:
123$
124$	I = 0
125$ LOOP_LIB: 
126$	E = F$EDIT(F$ELEMENT(I, ",", LIBS),"TRIM")
127$	I = I + 1
128$	IF E .EQS. "," THEN GOTO LOOP_LIB_END
129$	SET NOON
130$	IF F$SEARCH(EXE_DIR+E+".OLB") .NES. ""
131$	THEN
132$	  COPY 'EXE_DIR''E'.OLB WRK_SSLLIB:'E'.OLB/log
133$	  SET FILE/PROT=W:RE WRK_SSLLIB:'E'.OLB
134$	ENDIF
135$	! Preparing for the time when we have shareable images
136$	IF F$SEARCH(EXE_DIR+E+".EXE") .NES. ""
137$	THEN
138$	  COPY 'EXE_DIR''E'.EXE WRK_SSLLIB:'E'.EXE/log
139$	  SET FILE/PROT=W:RE WRK_SSLLIB:'E'.EXE
140$	ENDIF
141$	SET ON
142$	GOTO LOOP_LIB
143$ LOOP_LIB_END:
144$
145$	EXIT
146