diff options
author | Richard Levitte <levitte@openssl.org> | 2009-05-15 16:37:29 +0000 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2009-05-15 16:37:29 +0000 |
commit | 48f48d96ceb5a7e721f53dc09556e52fa45bb145 (patch) | |
tree | 518b6002dddbb6aca93d6fa0ce4da0d1d0a1e3b6 /makevms.com | |
parent | 085cb7cac0a3a2ee557754705e997e46471bc4ff (diff) |
Functional VMS changes submitted by sms@antinode.info (Steven M. Schweda).
Thank you\!
(note: not tested for now, a few nightly builds should give indications though)
Diffstat (limited to 'makevms.com')
-rwxr-xr-x | makevms.com | 115 |
1 files changed, 76 insertions, 39 deletions
diff --git a/makevms.com b/makevms.com index e0b856d1bb..de816fbe9e 100755 --- a/makevms.com +++ b/makevms.com @@ -10,15 +10,15 @@ $! Changes by Richard Levitte <richard@levitte.org> $! $! This procedure creates the SSL libraries of "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" $! "[.xxx.EXE.SSL]LIBSSL.OLB" -$! The "xxx" denotes the machine architecture of AXP or VAX. +$! The "xxx" denotes the machine architecture of ALPHA, IA64 or VAX. $! $! This procedures accepts two command line options listed below. $! $! Specify one of the following build options for P1. $! $! ALL Just build "everything". -$! CONFIG Just build the "[.CRYPTO]OPENSSLCONF.H" file. -$! BUILDINF Just build the "[.CRYPTO]BUILDINF.H" file. +$! CONFIG Just build the "[.CRYPTO.<ARCH>]OPENSSLCONF.H" file. +$! BUILDINF Just build the "[.CRYPTO.<ARCH>]BUILDINF.H" file. $! SOFTLINKS Just fix the Unix soft links. $! BUILDALL Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done. $! CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library. @@ -62,6 +62,10 @@ $! $! P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) $! $! +$ DEF_ORIG = F$ENVIRONMENT( "DEFAULT") +$ ON ERROR THEN GOTO TIDY +$ ON CONTROL_C THEN GOTO TIDY +$! $! Check if we're in a batch job, and make sure we get to $! the directory this script is in $! @@ -72,22 +76,23 @@ $ COMPATH=F$PARSE("A.;",COMNAME) - "A.;" $ SET DEF 'COMPATH' $ ENDIF $! -$! Check Which Architecture We Are Using. +$! Check What Architecture We Are Using. $! -$ IF (F$GETSYI("CPU").GE.128) +$ IF (F$GETSYI("CPU").LT.128) $ THEN $! -$! The Architecture Is AXP. +$! The Architecture Is VAX. $! -$ ARCH := AXP +$ ARCH := VAX $! $! Else... $! $ ELSE $! -$! The Architecture Is VAX. +$! The Architecture Is Alpha, IA64 or whatever comes in the future. $! -$ ARCH := VAX +$ ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE") +$ IF (ARCH .EQS. "") THEN ARCH = "UNK" $! $! End The Architecture Check. $! @@ -155,25 +160,34 @@ $ ENDIF $! $! Time To EXIT. $! -$ EXIT +$ GOTO TIDY $! -$! Rebuild The "[.CRYPTO]OPENSSLCONF.H" file. +$! Rebuild The "[.CRYPTO.''ARCH']OPENSSLCONF.H" file. $! $ CONFIG: $! -$! Tell The User We Are Creating The [.CRYPTO]OPENSSLCONF.H File. +$! Tell The User We Are Creating The [.CRYPTO.<ARCH>]OPENSSLCONF.H File. +$! +$ WRITE SYS$OUTPUT "Creating [.CRYPTO.''ARCH']OPENSSLCONF.H Include File." $! -$ WRITE SYS$OUTPUT "Creating [.CRYPTO]OPENSSLCONF.H Include File." +$! First, make sure the directory exists. $! -$! Create The [.CRYPTO]OPENSSLCONF.H File. +$ IF F$PARSE("SYS$DISK:[.CRYPTO.''ARCH']") .EQS. "" THEN - + CREATE/DIRECTORY SYS$DISK:[.CRYPTO.'ARCH'] $! -$ OPEN/WRITE H_FILE SYS$DISK:[.CRYPTO]OPENSSLCONF.H +$! Create The [.CRYPTO.<ARCH>]OPENSSLCONF.H File. +$! Make sure it has the right format. $! -$! Write The [.CRYPTO]OPENSSLCONF.H File. +$ OSCH_NAME = "SYS$DISK:[.CRYPTO.''ARCH']OPENSSLCONF.H" +$ CREATE /FDL=SYS$INPUT: 'OSCH_NAME' +RECORD + FORMAT stream_lf +$ OPEN /APPEND H_FILE 'OSCH_NAME' +$! +$! Write The [.CRYPTO.<ARCH>]OPENSSLCONF.H File. $! $ WRITE H_FILE "/* This file was automatically built using makevms.com */" -$ WRITE H_FILE "/* and [.CRYPTO]OPENSSLCONF.H_IN */" -$ +$ WRITE H_FILE "/* and [.CRYPTO.''ARCH']OPENSSLCONF.H_IN */" $! $! Write a few macros that indicate how this system was built. $! @@ -245,7 +259,8 @@ $ THEN $ TYPE [.CRYPTO]OPENSSLCONF.H.IN /OUTPUT=H_FILE: $ ELSE $ WRITE SYS$ERROR "Couldn't find a [.CRYPTO]OPENSSLCONF.H_IN. Exiting!" -$ EXIT 0 +$ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". +$ GOTO TIDY $ ENDIF $ ENDIF $ ENDIF @@ -318,10 +333,11 @@ $ WRITE H_FILE "#undef SIXTEEN_BIT" $ WRITE H_FILE "#undef EIGHT_BIT" $ WRITE H_FILE "#endif" $! -$ WRITE H_FILE "#if defined(HEADER_SHA_H)" +$! Oddly enough, the following symbol is tested in crypto/sha/sha512.c +$! before sha.h gets included (and HEADER_SHA_H defined), so we will not +$! protect this one... $ WRITE H_FILE "#undef OPENSSL_NO_SHA512" $ WRITE H_FILE "#define OPENSSL_NO_SHA512" -$ WRITE H_FILE "#endif" $! $ WRITE H_FILE "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION" $ WRITE H_FILE "#define OPENSSL_EXPORT_VAR_AS_FUNCTION" @@ -330,40 +346,53 @@ $! End $! $ ENDIF $! -$! Close the [.CRYPTO]OPENSSLCONF.H file +$! Close the [.CRYPTO.<ARCH>]OPENSSLCONF.H file $! $ CLOSE H_FILE $! +$! Purge The [.CRYPTO.<ARCH>]OPENSSLCONF.H file +$! +$ PURGE SYS$DISK:[.CRYPTO.'ARCH']OPENSSLCONF.H +$! $! That's All, Time To RETURN. $! $ RETURN $! -$! Rebuild The "[.CRYPTO]BUILDINF.H" file. +$! Rebuild The "[.CRYPTO.<ARCH>]BUILDINF.H" file. $! $ BUILDINF: $! -$! Tell The User We Are Creating The [.CRYPTO]BUILDINF.H File. +$! Tell The User We Are Creating The [.CRYPTO.<ARCH>]BUILDINF.H File. $! -$ WRITE SYS$OUTPUT "Creating [.CRYPTO]BUILDINF.H Include File." +$ WRITE SYS$OUTPUT "Creating [.CRYPTO.''ARCH']BUILDINF.H Include File." $! -$! Create The [.CRYPTO]BUILDINF.H File. +$! Create The [.CRYPTO.<ARCH>]BUILDINF.H File. $! -$ OPEN/WRITE H_FILE SYS$DISK:[.CRYPTO]BUILDINF.H +$ BIH_NAME = "SYS$DISK:[.CRYPTO.''ARCH']BUILDINF.H" +$ CREATE /FDL=SYS$INPUT: 'BIH_NAME' +RECORD + FORMAT stream_lf +$! +$ OPEN /APPEND H_FILE 'bih_name' $! $! Get The Current Date & Time. $! $ TIME = F$TIME() $! -$! Write The [.CRYPTO]BUILDINF.H File. +$! Write The [.CRYPTO.<ARCH>]BUILDINF.H File. $! $ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */" -$ WRITE H_FILE "#define PLATFORM ""VMS""" +$ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VER'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! -$! Close The [.CRYPTO]BUILDINF.H File. +$! Close The [.CRYPTO.<ARCH>]BUILDINF.H File. $! $ CLOSE H_FILE $! +$! Purge The [.CRYPTO.<ARCH>]BUILDINF.H File. +$! +$ PURGE SYS$DISK:[.CRYPTO.'ARCH']BUILDINF.H +$! $! That's All, Time To RETURN. $! $ RETURN @@ -427,6 +456,7 @@ $! $! Copy All The ".H" Files From The [.CRYPTO] Directory Tree. $! $ SDIRS := ,- + 'ARCH',- OBJECTS,- MD2,MD4,MD5,SHA,MDC2,HMAC,RIPEMD,- DES,AES,RC2,RC4,RC5,IDEA,BF,CAST,CAMELLIA,SEED,- @@ -434,8 +464,9 @@ $ SDIRS := ,- BUFFER,BIO,STACK,LHASH,RAND,ERR,- EVP,ASN1,PEM,X509,X509V3,CONF,TXT_DB,PKCS7,PKCS12,COMP,OCSP,UI,KRB5,- STORE,CMS,PQUEUE,JPAKE -$ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,opensslconf.h,ebcdic.h,symhacks.h,- +$ EXHEADER_ := crypto.h,tmdiff.h,opensslv.h,ebcdic.h,symhacks.h,- ossl_typ.h +$ EXHEADER_'ARCH' := opensslconf.h $ EXHEADER_OBJECTS := objects.h,obj_mac.h $ EXHEADER_MD2 := md2.h $ EXHEADER_MD4 := md4.h @@ -719,8 +750,8 @@ $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The Option ",P1," Is Invalid. The Valid Options Are:" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " ALL : Just Build Everything." -$ WRITE SYS$OUTPUT " CONFIG : Just build the [.CRYPTO]OPENSSLCONF.H file." -$ WRITE SYS$OUTPUT " BUILDINF : Just build the [.CRYPTO]BUILDINF.H file." +$ WRITE SYS$OUTPUT " CONFIG : Just build the [.CRYPTO.''ARCH']OPENSSLCONF.H file." +$ WRITE SYS$OUTPUT " BUILDINF : Just build the [.CRYPTO.''ARCH']BUILDINF.H file." $ WRITE SYS$OUTPUT " SOFTLINKS: Just Fix The Unix soft links." $ WRITE SYS$OUTPUT " BUILDALL : Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done." $ WRITE SYS$OUTPUT " CRYPTO : To Build Just The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library." @@ -733,13 +764,14 @@ $ WRITE SYS$OUTPUT " APPS : To Build Just The OpenSSL Application Pr $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " Where 'xxx' Stands For:" $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT " AXP : Alpha Architecture." -$ WRITE SYS$OUTPUT " VAX : VAX Architecture." +$ WRITE SYS$OUTPUT " ALPHA : Alpha Architecture." +$ WRITE SYS$OUTPUT " IA64 : IA64 Architecture." +$ WRITE SYS$OUTPUT " VAX : VAX Architecture." $ WRITE SYS$OUTPUT "" $! $! Time To EXIT. $! -$ EXIT +$ GOTO TIDY $! $! End The Valid Argument Check. $! @@ -786,7 +818,7 @@ $ WRITE SYS$OUTPUT "" $! $! Time To EXIT. $! -$ EXIT +$ GOTO TIDY $! $! End The Valid Arguement Check. $! @@ -943,7 +975,7 @@ $ WRITE SYS$OUTPUT "" $! $! Time To EXIT. $! -$ EXIT +$ GOTO TIDY $! $! End The Valid Arguement Check. $! @@ -1071,7 +1103,7 @@ $ WRITE SYS$OUTPUT "" $! $! Time To EXIT. $! -$ EXIT +$ GOTO TIDY $ ELSE $! $! If TCPIP is not defined, then hardcode it to make @@ -1130,3 +1162,8 @@ $! $! Time To RETURN... $! $ RETURN +$! +$ TIDY: +$ SET DEFAULT 'DEF_ORIG' +$ EXIT +$! |