31
31
$! APPS Just build the "[.xxx.EXE.APPS]" application programs for OpenSSL.
32
32
$! ENGINES Just build the "[.xxx.EXE.ENGINES]" application programs for OpenSSL.
35
$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P2.
36
$! For 32 bit architectures (VAX), P2 is ignored.
37
$! Currently supported values are:
39
$! 32 To ge a library compiled with /POINTER_SIZE=32
40
$! 64 To ge a library compiled with /POINTER_SIZE=64
43
$! Specify DEBUG or NODEBUG as P3 to compile with or without debugging
46
$! Specify which compiler as P4 to try to compile under.
34
$! P2, if defined, specifies the C pointer size. Ignored on VAX.
35
$! ("64=ARGV" gives more efficient code with HP C V7.3 or newer.)
36
$! Supported values are:
38
$! "" Compile with default (/NOPOINTER_SIZE).
39
$! 32 Compile with /POINTER_SIZE=32 (SHORT).
40
$! 64 Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV]).
41
$! (Automatically select ARGV if compiler supports it.)
42
$! 64= Compile with /POINTER_SIZE=64 (LONG).
43
$! 64=ARGV Compile with /POINTER_SIZE=64=ARGV (LONG=ARGV).
45
$! P3 specifies DEBUG or NODEBUG, to compile with or without debugging
48
$! P4 specifies which compiler to try to compile under.
65
67
$! use at build time (this works with DEC C). This is
68
$! P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up)
70
$! P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up).
72
$! P7, if defined, specifies a directory where ZLIB files (zlib.h,
73
$! libz.olb) may be found. Optionally, a non-default object library
74
$! name may be included ("dev:[dir]libz_64.olb", for example).
79
$ proc = f$environment( "procedure")
80
$ write sys$output "@@@ "+ -
81
f$parse( proc, , , "name")+ f$parse( proc, , , "type")
71
83
$ DEF_ORIG = F$ENVIRONMENT( "DEFAULT")
72
84
$ ON ERROR THEN GOTO TIDY
614
$! Tell The User We Are Partly Rebuilding The [.APPS] Directory.
616
$ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C' File."
618
$ DELETE SYS$DISK:[.APPS]MD4.C;*
620
$! Copy MD4.C from [.CRYPTO.MD4] into [.APPS]
622
$ COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.APPS]
624
$! Tell The User We Are Rebuilding The [.INCLUDE.OPENSSL] Directory.
626
$ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory."
628
$! First, make sure the directory exists
630
$ IF F$PARSE("SYS$DISK:[.INCLUDE.OPENSSL]") .EQS. "" THEN -
631
CREATE/DIRECTORY SYS$DISK:[.INCLUDE.OPENSSL]
660
$!!!! Tell The User We Are Partly Rebuilding The [.APPS] Directory.
662
$!!! WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C' File."
664
$!!! DELETE SYS$DISK:[.APPS]MD4.C;*
666
$!!!! Copy MD4.C from [.CRYPTO.MD4] into [.APPS]
668
$!!! COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.APPS]
670
$! Ensure that the [.include.openssl] directory contains a full set of
671
$! real header files. The distribution kit may have left real or fake
672
$! symlinks there. Rather than think about what's there, simply delete
673
$! the destination files (fake or real symlinks) before copying the real
674
$! header files in. (Copying a real header file onto a real symlink
675
$! merely duplicates the real header file at its source.)
677
$! Tell The User We Are Rebuilding The [.include.openssl] Directory.
679
$ WRITE SYS$OUTPUT "Rebuilding The '[.include.openssl]' Directory."
681
$! First, make sure the directory exists. If it did exist, delete all
682
$! the existing header files (or fake or real symlinks).
684
$ if f$parse( "sys$disk:[.include.openssl]") .eqs. ""
686
$ create /directory sys$disk:[.include.openssl]
688
$ delete sys$disk:[.include.openssl]*.h;*
633
691
$! Copy All The ".H" Files From The Main Directory.
635
693
$ EXHEADER := e_os2.h
636
$ COPY 'EXHEADER' SYS$DISK:[.INCLUDE.OPENSSL]
694
$ copy 'exheader' sys$disk:[.include.openssl]
638
696
$! Copy All The ".H" Files From The [.CRYPTO] Directory Tree.
643
MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,WHRLPOOL,-
644
DES,AES,RC2,RC4,RC5,IDEA,BF,CAST,CAMELLIA,SEED,MODES,-
645
BN,EC,RSA,DSA,ECDSA,DH,ECDH,DSO,ENGINE,-
646
BUFFER,BIO,STACK,LHASH,RAND,ERR,-
647
EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP,OCSP,UI,KRB5,-
648
STORE,CMS,PQUEUE,TS,JPAKE
649
$ EXHEADER_ := crypto.h,opensslv.h,ebcdic.h,symhacks.h,ossl_typ.h
650
$ EXHEADER__'ARCH' := opensslconf.h
651
$ EXHEADER_OBJECTS := objects.h,obj_mac.h
701
MD2, MD4, MD5, SHA, MDC2, HMAC, RIPEMD, WHRLPOOL, -
702
DES, AES, RC2, RC4, RC5, IDEA, BF, CAST, CAMELLIA, SEED, MODES, -
703
BN, EC, RSA, DSA, ECDSA, DH, ECDH, DSO, ENGINE, -
704
BUFFER, BIO, STACK, LHASH, RAND, ERR, -
705
EVP, ASN1, PEM, X509, X509V3, CONF, TXT_DB, PKCS7, PKCS12, -
706
COMP, OCSP, UI, KRB5, -
707
STORE, CMS, PQUEUE, TS, JPAKE
709
$ EXHEADER_ := crypto.h, opensslv.h, ebcdic.h, symhacks.h, ossl_typ.h
710
$ EXHEADER_'ARCHD' := opensslconf.h
711
$ EXHEADER_OBJECTS := objects.h, obj_mac.h
652
712
$ EXHEADER_MD2 := md2.h
653
713
$ EXHEADER_MD4 := md4.h
654
714
$ EXHEADER_MD5 := md5.h
679
739
$ EXHEADER_ENGINE := engine.h
680
740
$ EXHEADER_BUFFER := buffer.h
681
741
$ EXHEADER_BIO := bio.h
682
$ EXHEADER_STACK := stack.h,safestack.h
742
$ EXHEADER_STACK := stack.h, safestack.h
683
743
$ EXHEADER_LHASH := lhash.h
684
744
$ EXHEADER_RAND := rand.h
685
745
$ EXHEADER_ERR := err.h
686
746
$ EXHEADER_EVP := evp.h
687
$ EXHEADER_ASN1 := asn1.h,asn1_mac.h,asn1t.h
688
$ EXHEADER_PEM := pem.h,pem2.h
689
$ EXHEADER_X509 := x509.h,x509_vfy.h
747
$ EXHEADER_ASN1 := asn1.h, asn1_mac.h, asn1t.h
748
$ EXHEADER_PEM := pem.h, pem2.h
749
$ EXHEADER_X509 := x509.h, x509_vfy.h
690
750
$ EXHEADER_X509V3 := x509v3.h
691
$ EXHEADER_CONF := conf.h,conf_api.h
751
$ EXHEADER_CONF := conf.h, conf_api.h
692
752
$ EXHEADER_TXT_DB := txt_db.h
693
753
$ EXHEADER_PKCS7 := pkcs7.h
694
754
$ EXHEADER_PKCS12 := pkcs12.h
695
755
$ EXHEADER_COMP := comp.h
696
756
$ EXHEADER_OCSP := ocsp.h
697
$ EXHEADER_UI := ui.h,ui_compat.h
757
$ EXHEADER_UI := ui.h, ui_compat.h
698
758
$ EXHEADER_KRB5 := krb5_asn.h
699
$!EXHEADER_STORE := store.h,str_compat.h
759
$!!! EXHEADER_STORE := store.h, str_compat.h
700
760
$ EXHEADER_STORE := store.h
701
761
$ EXHEADER_CMS := cms.h
702
762
$ EXHEADER_PQUEUE := pqueue.h
703
763
$ EXHEADER_TS := ts.h
704
764
$ EXHEADER_JPAKE := jpake.h
708
$ D = F$EDIT(F$ELEMENT(I, ",", SDIRS),"TRIM")
710
$ IF D .EQS. "," THEN GOTO LOOP_SDIRS_END
714
$ COPY [.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
716
$ COPY [.CRYPTO.'D']'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
768
$ sdir = f$edit( f$element( i, ",", sdirs), "trim")
770
$ if (sdir .eqs. ",") then goto loop_sdirs_end
771
$ hdr_list = exheader_'sdir'
772
$ if (sdir .nes. "") then sdir = "."+ sdir
773
$ copy [.crypto'sdir']'hdr_list' sys$disk:[.include.openssl]
721
777
$! Copy All The ".H" Files From The [.SSL] Directory.
723
$ EXHEADER := ssl.h,ssl2.h,ssl3.h,ssl23.h,tls1.h,dtls1.h,kssl.h
724
$ COPY SYS$DISK:[.SSL]'EXHEADER' SYS$DISK:[.INCLUDE.OPENSSL]
728
$ PURGE SYS$DISK:[.INCLUDE.OPENSSL]*.H
779
$! (keep these in the same order as ssl/Makefile)
780
$ EXHEADER := ssl.h, ssl2.h, ssl3.h, ssl23.h, tls1.h, dtls1.h, kssl.h
781
$ copy sys$disk:[.ssl]'exheader' sys$disk:[.include.openssl]
783
$! Purge the [.include.openssl] header files.
785
$ purge sys$disk:[.include.openssl]*.h
730
787
$! That's All, Time To RETURN.
734
$! Build The "[.xxx.EXE.CRYPTO]LIBCRYPTO''LIB32'.OLB" Library.
791
$! Build The "[.xxx.EXE.CRYPTO]SSL_LIBCRYPTO''LIB32'.OLB" Library.
738
795
$! Tell The User What We Are Doing.
740
797
$ WRITE SYS$OUTPUT ""
741
$ WRITE SYS$OUTPUT "Building The [.",ARCH,".EXE.CRYPTO]LIBCRYPTO''LIB32'.OLB Library."
799
"Building The [.",ARCHD,".EXE.CRYPTO]SSL_LIBCRYPTO''LIB32'.OLB Library."
743
801
$! Go To The [.CRYPTO] Directory.
974
$! Check To See If P2 Is Blank.
1041
$! Check P2 (POINTER_SIZE).
1043
$ IF (P2 .NES. "") .AND. (ARCH .NES. "VAX")
981
$! Check is P2 Is Valid
1046
$ IF (P2 .EQS. "32")
985
1048
$ POINTER_SIZE = "32"
986
$ IF ARCH .EQS. "VAX"
1050
$ POINTER_SIZE = F$EDIT( P2, "COLLAPSE, UPCASE")
1051
$ IF ((POINTER_SIZE .EQS. "64") .OR. -
1052
(POINTER_SIZE .EQS. "64=") .OR. -
1053
(POINTER_SIZE .EQS. "64=ARGV"))
1055
$ ARCHD = ARCH+ "_64"
996
$ IF ARCH .EQS. "VAX"
998
$ POINTER_SIZE = "32"
1000
$ POINTER_SIZE = "64"
1004
$! Tell The User Entered An Invalid Option..
1006
$ WRITE SYS$OUTPUT ""
1007
$ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:"
1008
$ WRITE SYS$OUTPUT ""
1009
$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size"
1010
$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size"
1011
$ WRITE SYS$OUTPUT ""
1059
$! Tell The User Entered An Invalid Option.
1061
$ WRITE SYS$OUTPUT ""
1062
$ WRITE SYS$OUTPUT "The Option ", P2, -
1063
" Is Invalid. The Valid Options Are:"
1064
$ WRITE SYS$OUTPUT ""
1065
$ WRITE SYS$OUTPUT -
1066
" """" : Compile with default (short) pointers."
1067
$ WRITE SYS$OUTPUT -
1068
" 32 : Compile with 32-bit (short) pointers."
1069
$ WRITE SYS$OUTPUT -
1070
" 64 : Compile with 64-bit (long) pointers (auto ARGV)."
1071
$ WRITE SYS$OUTPUT -
1072
" 64= : Compile with 64-bit (long) pointers (no ARGV)."
1073
$ WRITE SYS$OUTPUT -
1074
" 64=ARGV : Compile with 64-bit (long) pointers (ARGV)."
1075
$ WRITE SYS$OUTPUT ""
1013
1077
$! Time To EXIT.
1017
$! End The Valid Arguement Check.
1022
$! End The P2 Check.
1085
$! End The P2 (POINTER_SIZE) Check.
1469
$! Check To See If We Have A ZLIB Option.
1472
$ IF (ZLIB .NES. "")
1475
$! Check for expected ZLIB files.
1478
$ file1 = f$parse( "zlib.h", ZLIB, , , "SYNTAX_ONLY")
1479
$ if (f$search( file1) .eqs. "")
1481
$ WRITE SYS$OUTPUT ""
1482
$ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid."
1483
$ WRITE SYS$OUTPUT " Can't find header: ''file1'"
1487
$ file2 = f$parse( ZLIB, "libz.olb", , , "SYNTAX_ONLY")
1488
$ if (f$search( file2) .eqs. "")
1492
$ WRITE SYS$OUTPUT ""
1493
$ WRITE SYS$OUTPUT "The Option ", ZLIB, " Is Invalid."
1495
$ WRITE SYS$OUTPUT " Can't find library: ''file2'"
1496
$ WRITE SYS$OUTPUT ""
1501
$ WRITE SYS$OUTPUT ""
1511
$ WRITE SYS$OUTPUT "ZLIB library spec: ", file2
1513
$! End The ZLIB Check.
1404
1517
$! Time To RETURN...
1523
$! Close any open files.
1525
$ if (f$trnlnm( "h_file", "LNM$PROCESS", 0, "SUPERVISOR") .nes. "") then -
1528
$! Restore the original default device:[directory].
1409
1530
$ SET DEFAULT 'DEF_ORIG'