tolerate broken CMS/PKCS7 implementations using signature OID instead of digest
[openssl.git] / crypto / install.com
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
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 $         IF D .EQS. "_''ARCH'"
124 $         THEN
125 $           COPY [-.'ARCH'.CRYPTO]'tmp' WRK_SSLINCLUDE: /LOG
126 $         ELSE
127 $           COPY [.'D']'tmp' WRK_SSLINCLUDE: /LOG
128 $         ENDIF
129 $       ENDIF
130 $       SET FILE/PROT=WORLD:RE WRK_SSLINCLUDE:'tmp'
131 $       GOTO LOOP_SDIRS
132 $ LOOP_SDIRS_END:
133 $
134 $       I = 0
135 $ LOOP_LIB: 
136 $       E = F$EDIT(F$ELEMENT(I, ",", LIBS),"TRIM")
137 $       I = I + 1
138 $       IF E .EQS. "," THEN GOTO LOOP_LIB_END
139 $       SET NOON
140 $       IF F$SEARCH(EXE_DIR+E+".OLB") .NES. ""
141 $       THEN
142 $         COPY 'EXE_DIR''E'.OLB WRK_SSLLIB:'E'.OLB/log
143 $         SET FILE/PROT=W:RE WRK_SSLLIB:'E'.OLB
144 $       ENDIF
145 $       ! Preparing for the time when we have shareable images
146 $       IF F$SEARCH(EXE_DIR+E+".EXE") .NES. ""
147 $       THEN
148 $         COPY 'EXE_DIR''E'.EXE WRK_SSLLIB:'E'.EXE/log
149 $         SET FILE/PROT=W:RE WRK_SSLLIB:'E'.EXE
150 $       ENDIF
151 $       SET ON
152 $       GOTO LOOP_LIB
153 $ LOOP_LIB_END:
154 $
155 $       EXIT