Loading makevms.com +293 −127 Changes for makevms.com: 293 added lines, 127 removed lines. Original line number Diff line number Diff line Loading @@ -18,8 +18,8 @@ $! $! Specify one of the following build options for P1. $! $! ALL Just build "everything". $! CONFIG Just build the "[.xxx.CRYPTO]OPENSSLCONF.H" file. $! BUILDINF Just build the "[.xxx.CRYPTO]BUILDINF.H" file. $! CONFIG Just build the "[.CRYPTO._xxx]OPENSSLCONF.H" file. $! BUILDINF Just build the "[.CRYPTO._xxx]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. Loading @@ -35,7 +35,7 @@ $! $! P2 is ignored (it was used to denote if RSAref should be used or not, $! and is simply kept so surrounding scripts don't get confused) $! $! Speficy DEBUG or NODEBUG as P3 to compile with or without debugging $! Specify DEBUG or NODEBUG as P3 to compile with or without debugging $! information. $! $! Specify which compiler as P4 to try to compile under. Loading @@ -46,7 +46,7 @@ $! GNUC For GNU C. $! LINK To only link the programs from existing object files. $! (not yet implemented) $! $! If you don't speficy a compiler, it will try to determine which $! If you don't specify a compiler, it will try to determine which $! "C" compiler to use. $! $! P5, if defined, sets a TCP/IP library to use, through one of the following Loading Loading @@ -84,7 +84,7 @@ $ THEN $! $! The Architecture Is VAX. $! $ ARCH := VAX $ ARCH = "VAX" $! $! Else... $! Loading @@ -99,6 +99,10 @@ $! End The Architecture Check. $! $ ENDIF $! $! Get VMS version. $! $ VMS_VERSION = f$edit( f$getsyi( "VERSION"), "TRIM") $! $! Check To Make Sure We Have Valid Command Line Parameters. $! $ GOSUB CHECK_OPTIONS Loading Loading @@ -163,32 +167,53 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! Rebuild The [.xxx.CRYPTO]OPENSSLCONF.H" file. $! Rebuild The [.CRYPTO._xxx]OPENSSLCONF.H" file. $! $ CONFIG: $! $! Tell The User We Are Creating The [.xxx.CRYPTO]OPENSSLCONF.H File. $! Tell The User We Are Creating The [.CRYPTO._xxx]OPENSSLCONF.H File. $! $ WRITE SYS$OUTPUT "Creating [.''ARCH'.CRYPTO]OPENSSLCONF.H Include File." $ WRITE SYS$OUTPUT "Creating [.CRYPTO._''ARCH']OPENSSLCONF.H Include File." $! $! First, make sure the directory exists. $! $ IF F$PARSE("SYS$DISK:[.''ARCH'.CRYPTO]") .EQS. "" THEN - CREATE/DIRECTORY SYS$DISK:[.'ARCH'.CRYPTO] $ IF F$PARSE("SYS$DISK:[.CRYPTO._''ARCH']") .EQS. "" THEN - CREATE/DIRECTORY SYS$DISK:[.CRYPTO._'ARCH'] $! $! Create The [.xxx.CRYPTO]OPENSSLCONF.H File. $! Different tar/UnZip versions/option may have named the file differently $ IF F$SEARCH("[.crypto]opensslconf.h_in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf.h_in" $ ELSE $ IF F$SEARCH( "[.crypto]opensslconf_h.in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf_h.in" $ ELSE $ ! For ODS-5 $ IF F$SEARCH( "[.crypto]opensslconf.h.in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf.h.in" $ ELSE $ WRITE SYS$ERROR "Couldn't find a [.crypto]opensslconf.h.in. Exiting!" $ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". $ GOTO TIDY $ ENDIF $ ENDIF $ ENDIF $! $! Create The [.CRYPTO._xxx]OPENSSLCONF.H File. $! Make sure it has the right format. $! $ OSCH_NAME = "SYS$DISK:[.''ARCH'.CRYPTO]OPENSSLCONF.H" $ 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 [.xxx.CRYPTO]OPENSSLCONF.H File. $! Write The [.CRYPTO._xxx]OPENSSLCONF.H File. $! $ WRITE H_FILE "/* This file was automatically built using makevms.com */" $ WRITE H_FILE "/* and [.''ARCH'.CRYPTO]OPENSSLCONF.H_IN */" $ WRITE H_FILE "/* and ''OPENSSLCONF_H_IN' */" $! $! Write a few macros that indicate how this system was built. $! Loading @@ -196,75 +221,249 @@ $ WRITE H_FILE "" $ WRITE H_FILE "#ifndef OPENSSL_SYS_VMS" $ WRITE H_FILE "# define OPENSSL_SYS_VMS" $ WRITE H_FILE "#endif" $ CONFIG_LOGICALS := NO_ASM,NO_RSA,NO_DSA,NO_DH,NO_MD2,NO_MD5,NO_RIPEMD,WHRLPOOL,- NO_SHA,NO_SHA0,NO_SHA1,NO_DES/NO_MDC2;NO_MDC2,NO_RC2,NO_RC4,NO_RC5,- NO_IDEA,NO_BF,NO_CAST,NO_CAMELLIA,NO_SEED,NO_HMAC,NO_SSL2 $ $! One of the best way to figure out what the list should be is to do $! the followin on a Unix system: $! grep OPENSSL_NO_ crypto/*/*.h ssl/*.h engines/*.h engines/*/*.h|grep ':# *if'|sed -e 's/^.*def //'|sort|uniq $! For that reason, the list will also always end up in alphabetical order $ CONFIG_LOGICALS := AES,- ASM,INLINE_ASM,- BF,- BIO,- BUFFER,- BUF_FREELISTS,- CAMELLIA,- CAST,- CMS,- COMP,- DEPRECATED,- DES,- DGRAM,- DH,- DSA,- EC,- ECDH,- ECDSA,- ENGINE,- ERR,- EVP,- FP_API,- GMP,- GOST,- HASH_COMP,- HMAC,- IDEA,- JPAKE,- KRB5,- LHASH,- MD2,- MD4,- MD5,- MDC2,- OCSP,- PSK,- RC2,- RC4,- RC5,- RFC3779,- RIPEMD,- RSA,- SEED,- SHA,- SHA0,- SHA1,- SHA256,- SHA512,- SOCK,- SSL2,- STACK,- STATIC_ENGINE,- STDIO,- STORE,- TLSEXT,- WHIRLPOOL,- X509 $! Add a few that we know about $ CONFIG_LOGICALS := 'CONFIG_LOGICALS',- THREADS $! The following rules, which dictate how some algorithm choices affect $! others, are picked from Configure. $! Quick syntax: $! list = item[ ; list] $! item = algos / dependents $! algos = algo [, algos] $! dependents = dependent [, dependents] $! When a list of algos is specified in one item, it means that they must $! all be disabled for the rule to apply. $! When a list of dependents is specified in one item, it means that they $! will all be disabled if the rule applies. $! Rules are checked sequentially. If a rule disables an algorithm, it will $! affect all following rules that depend on that algorithm being disabled. $! To force something to be enabled or disabled, have no algorithms in the $! algos part. $ CONFIG_DISABLE_RULES := RIJNDAEL/AES;- DES/MDC2;- EC/ECDSA,ECDH;- MD5/SSL2,SSL3,TLS1;- SHA/SSL3,TLS1;- RSA/SSL2;- RSA,DSA/SSL2;- DH/SSL3,TLS1;- TLS1/TLSEXT;- EC/GOST;- DSA/GOST;- DH/GOST;- /STATIC_ENGINE;- /KRB5 $ CONFIG_ENABLE_RULES := ZLIB_DYNAMIC/ZLIB;- /THREADS $ $! Architecture specific rule addtions $ IF ARCH .EQS. "VAX" $ THEN $ ! Disable algorithms that require 64 bit integers in C $ CONFIG_DISABLE_RULES = CONFIG_DISABLE_RULES + - ";/GOST" + - ";/WHIRLPOOL" $ ENDIF $ $ CONFIG_LOG_I = 0 $ CONFIG_LOG_LOOP: $ CONFIG_LOG_E1 = F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS) $ CONFIG_LOG_LOOP1: $ CONFIG_LOG_E = F$EDIT(F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS),"TRIM") $ CONFIG_LOG_I = CONFIG_LOG_I + 1 $ IF CONFIG_LOG_E1 .EQS. "" THEN GOTO CONFIG_LOG_LOOP $ IF CONFIG_LOG_E1 .EQS. "," THEN GOTO CONFIG_LOG_LOOP_END $ CONFIG_LOG_E2 = F$EDIT(CONFIG_LOG_E1,"TRIM") $ CONFIG_LOG_E1 = F$ELEMENT(0,";",CONFIG_LOG_E2) $ CONFIG_LOG_E2 = F$ELEMENT(1,";",CONFIG_LOG_E2) $ CONFIG_LOG_E0 = F$ELEMENT(0,"/",CONFIG_LOG_E1) $ CONFIG_LOG_E1 = F$ELEMENT(1,"/",CONFIG_LOG_E1) $ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E0) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E0 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E0 $ WRITE H_FILE "#endif" $ IF CONFIG_LOG_E1 .NES. "/" $ IF CONFIG_LOG_E .EQS. "" THEN GOTO CONFIG_LOG_LOOP1 $ IF CONFIG_LOG_E .EQS. "," THEN GOTO CONFIG_LOG_LOOP1_END $ IF F$TRNLNM("OPENSSL_NO_"+CONFIG_LOG_E) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E1 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E1 $ WRITE H_FILE "#endif" $ ENDIF $ CONFIG_DISABLED_'CONFIG_LOG_E' := YES $ CONFIG_ENABLED_'CONFIG_LOG_E' := NO $ CONFIG_CHANGED_'CONFIG_LOG_E' := YES $ ELSE $ IF CONFIG_LOG_E2 .NES. ";" $ THEN $ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E2) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E2 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E2 $ WRITE H_FILE "#endif" $ CONFIG_DISABLED_'CONFIG_LOG_E' := NO $ CONFIG_ENABLED_'CONFIG_LOG_E' := YES $ ! Because all algorithms are assumed enabled by default $ CONFIG_CHANGED_'CONFIG_LOG_E' := NO $ ENDIF $ GOTO CONFIG_LOG_LOOP1 $ CONFIG_LOG_LOOP1_END: $ $! Apply cascading disable rules $ CONFIG_DISABLE_I = 0 $ CONFIG_DISABLE_LOOP0: $ CONFIG_DISABLE_E = F$EDIT(F$ELEMENT(CONFIG_DISABLE_I,";",CONFIG_DISABLE_RULES),"TRIM") $ CONFIG_DISABLE_I = CONFIG_DISABLE_I + 1 $ IF CONFIG_DISABLE_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP0 $ IF CONFIG_DISABLE_E .EQS. ";" THEN GOTO CONFIG_DISABLE_LOOP0_END $ $ CONFIG_DISABLE_ALGOS = F$EDIT(F$ELEMENT(0,"/",CONFIG_DISABLE_E),"TRIM") $ CONFIG_DISABLE_DEPENDENTS = F$EDIT(F$ELEMENT(1,"/",CONFIG_DISABLE_E),"TRIM") $ TO_DISABLE := YES $ CONFIG_ALGO_I = 0 $ CONFIG_DISABLE_LOOP1: $ CONFIG_ALGO_E = F$EDIT(F$ELEMENT(CONFIG_ALGO_I,",",CONFIG_DISABLE_ALGOS),"TRIM") $ CONFIG_ALGO_I = CONFIG_ALGO_I + 1 $ IF CONFIG_ALGO_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP1 $ IF CONFIG_ALGO_E .EQS. "," THEN GOTO CONFIG_DISABLE_LOOP1_END $ IF F$TYPE(CONFIG_DISABLED_'CONFIG_ALGO_E') .EQS. "" $ THEN $ TO_DISABLE := NO $ ELSE $ IF .NOT. CONFIG_DISABLED_'CONFIG_ALGO_E' THEN TO_DISABLE := NO $ ENDIF $ GOTO CONFIG_DISABLE_LOOP1 $ CONFIG_DISABLE_LOOP1_END: $ $ IF TO_DISABLE $ THEN $ CONFIG_DEPENDENT_I = 0 $ CONFIG_DISABLE_LOOP2: $ CONFIG_DEPENDENT_E = F$EDIT(F$ELEMENT(CONFIG_DEPENDENT_I,",",CONFIG_DISABLE_DEPENDENTS),"TRIM") $ CONFIG_DEPENDENT_I = CONFIG_DEPENDENT_I + 1 $ IF CONFIG_DEPENDENT_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP2 $ IF CONFIG_DEPENDENT_E .EQS. "," THEN GOTO CONFIG_DISABLE_LOOP2_END $ CONFIG_DISABLED_'CONFIG_DEPENDENT_E' := YES $ CONFIG_ENABLED_'CONFIG_DEPENDENT_E' := NO $ ! Better not to assume defaults at this point... $ CONFIG_CHANGED_'CONFIG_DEPENDENT_E' := YES $ WRITE SYS$ERROR "''CONFIG_DEPENDENT_E' disabled by rule ''CONFIG_DISABLE_E'" $ GOTO CONFIG_DISABLE_LOOP2 $ CONFIG_DISABLE_LOOP2_END: $ ENDIF $ GOTO CONFIG_LOG_LOOP $ CONFIG_LOG_LOOP_END: $ WRITE H_FILE "#ifndef OPENSSL_NO_STATIC_ENGINE" $ WRITE H_FILE "# define OPENSSL_NO_STATIC_ENGINE" $ WRITE H_FILE "#endif" $ WRITE H_FILE "#ifndef OPENSSL_THREADS" $ WRITE H_FILE "# define OPENSSL_THREADS" $ WRITE H_FILE "#endif" $ WRITE H_FILE "#ifndef OPENSSL_NO_KRB5" $ WRITE H_FILE "# define OPENSSL_NO_KRB5" $ WRITE H_FILE "#endif" $ WRITE H_FILE "" $! $! Different tar version may have named the file differently $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H_IN") .NES. "" $ GOTO CONFIG_DISABLE_LOOP0 $ CONFIG_DISABLE_LOOP0_END: $ $! Apply cascading enable rules $ CONFIG_ENABLE_I = 0 $ CONFIG_ENABLE_LOOP0: $ CONFIG_ENABLE_E = F$EDIT(F$ELEMENT(CONFIG_ENABLE_I,";",CONFIG_ENABLE_RULES),"TRIM") $ CONFIG_ENABLE_I = CONFIG_ENABLE_I + 1 $ IF CONFIG_ENABLE_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP0 $ IF CONFIG_ENABLE_E .EQS. ";" THEN GOTO CONFIG_ENABLE_LOOP0_END $ $ CONFIG_ENABLE_ALGOS = F$EDIT(F$ELEMENT(0,"/",CONFIG_ENABLE_E),"TRIM") $ CONFIG_ENABLE_DEPENDENTS = F$EDIT(F$ELEMENT(1,"/",CONFIG_ENABLE_E),"TRIM") $ TO_ENABLE := YES $ CONFIG_ALGO_I = 0 $ CONFIG_ENABLE_LOOP1: $ CONFIG_ALGO_E = F$EDIT(F$ELEMENT(CONFIG_ALGO_I,",",CONFIG_ENABLE_ALGOS),"TRIM") $ CONFIG_ALGO_I = CONFIG_ALGO_I + 1 $ IF CONFIG_ALGO_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP1 $ IF CONFIG_ALGO_E .EQS. "," THEN GOTO CONFIG_ENABLE_LOOP1_END $ IF F$TYPE(CONFIG_ENABLED_'CONFIG_ALGO_E') .EQS. "" $ THEN $ TYPE [.CRYPTO]OPENSSLCONF.H_IN /OUTPUT=H_FILE: $ TO_ENABLE := NO $ ELSE $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF_H.IN") .NES. "" $ IF .NOT. CONFIG_ENABLED_'CONFIG_ALGO_E' THEN TO_ENABLE := NO $ ENDIF $ GOTO CONFIG_ENABLE_LOOP1 $ CONFIG_ENABLE_LOOP1_END: $ $ IF TO_ENABLE $ THEN $ TYPE [.CRYPTO]OPENSSLCONF_H.IN /OUTPUT=H_FILE: $ ELSE $ ! For ODS-5 $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H.IN") .NES. "" $ CONFIG_DEPENDENT_I = 0 $ CONFIG_ENABLE_LOOP2: $ CONFIG_DEPENDENT_E = F$EDIT(F$ELEMENT(CONFIG_DEPENDENT_I,",",CONFIG_ENABLE_DEPENDENTS),"TRIM") $ CONFIG_DEPENDENT_I = CONFIG_DEPENDENT_I + 1 $ IF CONFIG_DEPENDENT_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP2 $ IF CONFIG_DEPENDENT_E .EQS. "," THEN GOTO CONFIG_ENABLE_LOOP2_END $ CONFIG_DISABLED_'CONFIG_DEPENDENT_E' := NO $ CONFIG_ENABLED_'CONFIG_DEPENDENT_E' := YES $ ! Better not to assume defaults at this point... $ CONFIG_CHANGED_'CONFIG_DEPENDENT_E' := YES $ WRITE SYS$ERROR "''CONFIG_DEPENDENT_E' enabled by rule ''CONFIG_ENABLE_E'" $ GOTO CONFIG_ENABLE_LOOP2 $ CONFIG_ENABLE_LOOP2_END: $ ENDIF $ GOTO CONFIG_ENABLE_LOOP0 $ CONFIG_ENABLE_LOOP0_END: $ $! Write to the configuration $ CONFIG_LOG_I = 0 $ CONFIG_LOG_LOOP2: $ CONFIG_LOG_E = F$EDIT(F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS),"TRIM") $ CONFIG_LOG_I = CONFIG_LOG_I + 1 $ IF CONFIG_LOG_E .EQS. "" THEN GOTO CONFIG_LOG_LOOP2 $ IF CONFIG_LOG_E .EQS. "," THEN GOTO CONFIG_LOG_LOOP2_END $ IF CONFIG_CHANGED_'CONFIG_LOG_E' $ THEN $ IF CONFIG_DISABLED_'CONFIG_LOG_E' $ THEN $ TYPE [.CRYPTO]OPENSSLCONF.H.IN /OUTPUT=H_FILE: $ WRITE H_FILE "#ifndef OPENSSL_NO_",CONFIG_LOG_E $ WRITE H_FILE "# define OPENSSL_NO_",CONFIG_LOG_E $ WRITE H_FILE "#endif" $ ELSE $ WRITE SYS$ERROR "Couldn't find a [.CRYPTO]OPENSSLCONF.H_IN. Exiting!" $ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". $ GOTO TIDY $ ENDIF $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E $ WRITE H_FILE "#endif" $ ENDIF $ ENDIF $ GOTO CONFIG_LOG_LOOP2 $ CONFIG_LOG_LOOP2_END: $! $! Add in the common "crypto/opensslconf.h.in". $! $ TYPE 'OPENSSLCONF_H_IN' /OUTPUT=H_FILE: $! $ IF ARCH .NES. "VAX" $ THEN $! Loading Loading @@ -347,29 +546,29 @@ $! End $! $ ENDIF $! $! Close the [.xxx.CRYPTO]OPENSSLCONF.H file $! Close the [.CRYPTO._xxx]OPENSSLCONF.H file $! $ CLOSE H_FILE $! $! Purge The [.xxx.CRYPTO]OPENSSLCONF.H file $! Purge The [.CRYPTO._xxx]OPENSSLCONF.H file $! $ PURGE SYS$DISK:[.'ARCH'.CRYPTO]OPENSSLCONF.H $ PURGE SYS$DISK:[.CRYPTO._'ARCH']OPENSSLCONF.H $! $! That's All, Time To RETURN. $! $ RETURN $! $! Rebuild The "[.xxx.CRYPTO]BUILDINF.H" file. $! Rebuild The "[.CRYPTO._xxx]BUILDINF.H" file. $! $ BUILDINF: $! $! Tell The User We Are Creating The [.xxx.CRYPTO]BUILDINF.H File. $! Tell The User We Are Creating The [.CRYPTO._xxx]BUILDINF.H File. $! $ WRITE SYS$OUTPUT "Creating [.''ARCH'.CRYPTO]BUILDINF.H Include File." $ WRITE SYS$OUTPUT "Creating [.CRYPTO._''ARCH']BUILDINF.H Include File." $! $! Create The [.xxx.CRYPTO]BUILDINF.H File. $! Create The [.CRYPTO._xxx]BUILDINF.H File. $! $ BIH_NAME = "SYS$DISK:[.''ARCH'.CRYPTO]BUILDINF.H" $ BIH_NAME = "SYS$DISK:[.CRYPTO._''ARCH']BUILDINF.H" $ CREATE /FDL=SYS$INPUT: 'BIH_NAME' RECORD FORMAT stream_lf Loading @@ -380,19 +579,19 @@ $! Get The Current Date & Time. $! $ TIME = F$TIME() $! $! Write The [.xxx.CRYPTO]BUILDINF.H File. $! Write The [.CRYPTO._xxx]BUILDINF.H File. $! $ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VER'""" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VERSION'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! $! Close The [.xxx.CRYPTO]BUILDINF.H File. $! Close The [.CRYPTO._xxx]BUILDINF.H File. $! $ CLOSE H_FILE $! $! Purge The [.xxx.CRYPTO]BUILDINF.H File. $! Purge The [.CRYPTO._xxx]BUILDINF.H File. $! $ PURGE SYS$DISK:[.'ARCH'.CRYPTO]BUILDINF.H $ PURGE SYS$DISK:[.CRYPTO._'ARCH']BUILDINF.H $! $! That's All, Time To RETURN. $! Loading @@ -404,42 +603,14 @@ $ SOFTLINKS: $! $! Tell The User We Are Partly Rebuilding The [.APPS] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files." $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C' File." $! $ DELETE SYS$DISK:[.APPS]MD4.C;*,MD5.C;*,RMD160.C;* $ DELETE SYS$DISK:[.APPS]MD4.C;* $! $! Copy MD4.C from [.CRYPTO.MD4] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.APPS] $! $! Copy MD5.C from [.CRYPTO.MD5] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.MD5]MD5.C SYS$DISK:[.APPS] $! $! Copy RMD160.C from [.CRYPTO.RIPEMD] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.RIPEMD]RMD160.C SYS$DISK:[.APPS] $! $! Tell The User We Are Partly Rebuilding The [.TEST] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.TEST]*.C' Files." $! $! First, We Have To "Rebuild" The "[.TEST]" Directory, So Delete $! All The "C" Files That Are Currently There Now. $! $ DELETE SYS$DISK:[.TEST]*.C;* $ DELETE SYS$DISK:[.TEST]EVPTESTS.TXT;* $! $! Copy all the *TEST.C files from [.CRYPTO...] into [.TEST] $! $ COPY SYS$DISK:[.CRYPTO.*]%*TEST.C SYS$DISK:[.TEST] $ COPY SYS$DISK:[.CRYPTO.SHA]SHA%%%T.C SYS$DISK:[.TEST] $ COPY SYS$DISK:[.CRYPTO.EVP]EVPTESTS.TXT SYS$DISK:[.TEST] $! $! Copy all the *TEST.C files from [.SSL...] into [.TEST] $! $ COPY SYS$DISK:[.SSL]%*TEST.C SYS$DISK:[.TEST] $! $! Tell The User We Are Rebuilding The [.INCLUDE.OPENSSL] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory." Loading Loading @@ -532,13 +703,8 @@ $ IF D .EQS. "" $ THEN $ COPY [.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ELSE $ IF D .EQS. "_''ARCH'" $ THEN $ COPY [.'ARCH'.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ELSE $ COPY [.CRYPTO.'D']'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ENDIF $ ENDIF $ GOTO LOOP_SDIRS $ LOOP_SDIRS_END: $! Loading Loading @@ -736,7 +902,7 @@ $! Else... $! $ ELSE $! $! Else, Check To See If P1 Has A Valid Arguement. $! Else, Check To See If P1 Has A Valid Argument. $! $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") - .OR.(P1.EQS."BUILDALL") - Loading @@ -745,7 +911,7 @@ $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") - .OR.(P1.EQS."ENGINES") $ THEN $! $! A Valid Arguement. $! A Valid Argument. $! $ BUILDCOMMAND = P1 $! Loading @@ -758,13 +924,13 @@ $! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] <Compiler>" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL """" NODEBUG " $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL NORSAREF NODEBUG " $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The Target ",P1," Is Invalid. The Valid Target Options Are:" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " ALL : Just Build Everything." $ WRITE SYS$OUTPUT " CONFIG : Just build the [.xxx.CRYPTO]OPENSSLCONF.H file." $ WRITE SYS$OUTPUT " BUILDINF : Just build the [.xxx.CRYPTO]BUILDINF.H file." $ WRITE SYS$OUTPUT " CONFIG : Just build the [.CRYPTO._xxx]OPENSSLCONF.H file." $ WRITE SYS$OUTPUT " BUILDINF : Just build the [.CRYPTO._xxx]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." Loading Loading @@ -834,7 +1000,7 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! End The Valid Arguement Check. $! End The Valid Argument Check. $! $ ENDIF $! Loading Loading @@ -973,7 +1139,7 @@ $! End The GNU C Check. $! $ ENDIF $! $! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument. $! $ ELSE $! Loading @@ -991,7 +1157,7 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! End The Valid Arguement Check. $! End The Valid Argument Check. $! $ ENDIF $! Loading Loading @@ -1098,7 +1264,7 @@ $! Print info $! $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB $! $! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument. $! $ ELSE $ IF P5 .NES. "" Loading Loading @@ -1153,7 +1319,7 @@ $! $! Get The Version Of VMS We Are Using. $! $ ISSEVEN := $ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,F$GETSYI("VERSION"))) $ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,VMS_VERSION)) $ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP)) $! $! Check To See If The VMS Version Is v7.1 Or Later. Loading Loading
makevms.com +293 −127 Changes for makevms.com: 293 added lines, 127 removed lines. Original line number Diff line number Diff line Loading @@ -18,8 +18,8 @@ $! $! Specify one of the following build options for P1. $! $! ALL Just build "everything". $! CONFIG Just build the "[.xxx.CRYPTO]OPENSSLCONF.H" file. $! BUILDINF Just build the "[.xxx.CRYPTO]BUILDINF.H" file. $! CONFIG Just build the "[.CRYPTO._xxx]OPENSSLCONF.H" file. $! BUILDINF Just build the "[.CRYPTO._xxx]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. Loading @@ -35,7 +35,7 @@ $! $! P2 is ignored (it was used to denote if RSAref should be used or not, $! and is simply kept so surrounding scripts don't get confused) $! $! Speficy DEBUG or NODEBUG as P3 to compile with or without debugging $! Specify DEBUG or NODEBUG as P3 to compile with or without debugging $! information. $! $! Specify which compiler as P4 to try to compile under. Loading @@ -46,7 +46,7 @@ $! GNUC For GNU C. $! LINK To only link the programs from existing object files. $! (not yet implemented) $! $! If you don't speficy a compiler, it will try to determine which $! If you don't specify a compiler, it will try to determine which $! "C" compiler to use. $! $! P5, if defined, sets a TCP/IP library to use, through one of the following Loading Loading @@ -84,7 +84,7 @@ $ THEN $! $! The Architecture Is VAX. $! $ ARCH := VAX $ ARCH = "VAX" $! $! Else... $! Loading @@ -99,6 +99,10 @@ $! End The Architecture Check. $! $ ENDIF $! $! Get VMS version. $! $ VMS_VERSION = f$edit( f$getsyi( "VERSION"), "TRIM") $! $! Check To Make Sure We Have Valid Command Line Parameters. $! $ GOSUB CHECK_OPTIONS Loading Loading @@ -163,32 +167,53 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! Rebuild The [.xxx.CRYPTO]OPENSSLCONF.H" file. $! Rebuild The [.CRYPTO._xxx]OPENSSLCONF.H" file. $! $ CONFIG: $! $! Tell The User We Are Creating The [.xxx.CRYPTO]OPENSSLCONF.H File. $! Tell The User We Are Creating The [.CRYPTO._xxx]OPENSSLCONF.H File. $! $ WRITE SYS$OUTPUT "Creating [.''ARCH'.CRYPTO]OPENSSLCONF.H Include File." $ WRITE SYS$OUTPUT "Creating [.CRYPTO._''ARCH']OPENSSLCONF.H Include File." $! $! First, make sure the directory exists. $! $ IF F$PARSE("SYS$DISK:[.''ARCH'.CRYPTO]") .EQS. "" THEN - CREATE/DIRECTORY SYS$DISK:[.'ARCH'.CRYPTO] $ IF F$PARSE("SYS$DISK:[.CRYPTO._''ARCH']") .EQS. "" THEN - CREATE/DIRECTORY SYS$DISK:[.CRYPTO._'ARCH'] $! $! Create The [.xxx.CRYPTO]OPENSSLCONF.H File. $! Different tar/UnZip versions/option may have named the file differently $ IF F$SEARCH("[.crypto]opensslconf.h_in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf.h_in" $ ELSE $ IF F$SEARCH( "[.crypto]opensslconf_h.in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf_h.in" $ ELSE $ ! For ODS-5 $ IF F$SEARCH( "[.crypto]opensslconf.h.in") .NES. "" $ THEN $ OPENSSLCONF_H_IN = "[.crypto]opensslconf.h.in" $ ELSE $ WRITE SYS$ERROR "Couldn't find a [.crypto]opensslconf.h.in. Exiting!" $ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". $ GOTO TIDY $ ENDIF $ ENDIF $ ENDIF $! $! Create The [.CRYPTO._xxx]OPENSSLCONF.H File. $! Make sure it has the right format. $! $ OSCH_NAME = "SYS$DISK:[.''ARCH'.CRYPTO]OPENSSLCONF.H" $ 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 [.xxx.CRYPTO]OPENSSLCONF.H File. $! Write The [.CRYPTO._xxx]OPENSSLCONF.H File. $! $ WRITE H_FILE "/* This file was automatically built using makevms.com */" $ WRITE H_FILE "/* and [.''ARCH'.CRYPTO]OPENSSLCONF.H_IN */" $ WRITE H_FILE "/* and ''OPENSSLCONF_H_IN' */" $! $! Write a few macros that indicate how this system was built. $! Loading @@ -196,75 +221,249 @@ $ WRITE H_FILE "" $ WRITE H_FILE "#ifndef OPENSSL_SYS_VMS" $ WRITE H_FILE "# define OPENSSL_SYS_VMS" $ WRITE H_FILE "#endif" $ CONFIG_LOGICALS := NO_ASM,NO_RSA,NO_DSA,NO_DH,NO_MD2,NO_MD5,NO_RIPEMD,WHRLPOOL,- NO_SHA,NO_SHA0,NO_SHA1,NO_DES/NO_MDC2;NO_MDC2,NO_RC2,NO_RC4,NO_RC5,- NO_IDEA,NO_BF,NO_CAST,NO_CAMELLIA,NO_SEED,NO_HMAC,NO_SSL2 $ $! One of the best way to figure out what the list should be is to do $! the followin on a Unix system: $! grep OPENSSL_NO_ crypto/*/*.h ssl/*.h engines/*.h engines/*/*.h|grep ':# *if'|sed -e 's/^.*def //'|sort|uniq $! For that reason, the list will also always end up in alphabetical order $ CONFIG_LOGICALS := AES,- ASM,INLINE_ASM,- BF,- BIO,- BUFFER,- BUF_FREELISTS,- CAMELLIA,- CAST,- CMS,- COMP,- DEPRECATED,- DES,- DGRAM,- DH,- DSA,- EC,- ECDH,- ECDSA,- ENGINE,- ERR,- EVP,- FP_API,- GMP,- GOST,- HASH_COMP,- HMAC,- IDEA,- JPAKE,- KRB5,- LHASH,- MD2,- MD4,- MD5,- MDC2,- OCSP,- PSK,- RC2,- RC4,- RC5,- RFC3779,- RIPEMD,- RSA,- SEED,- SHA,- SHA0,- SHA1,- SHA256,- SHA512,- SOCK,- SSL2,- STACK,- STATIC_ENGINE,- STDIO,- STORE,- TLSEXT,- WHIRLPOOL,- X509 $! Add a few that we know about $ CONFIG_LOGICALS := 'CONFIG_LOGICALS',- THREADS $! The following rules, which dictate how some algorithm choices affect $! others, are picked from Configure. $! Quick syntax: $! list = item[ ; list] $! item = algos / dependents $! algos = algo [, algos] $! dependents = dependent [, dependents] $! When a list of algos is specified in one item, it means that they must $! all be disabled for the rule to apply. $! When a list of dependents is specified in one item, it means that they $! will all be disabled if the rule applies. $! Rules are checked sequentially. If a rule disables an algorithm, it will $! affect all following rules that depend on that algorithm being disabled. $! To force something to be enabled or disabled, have no algorithms in the $! algos part. $ CONFIG_DISABLE_RULES := RIJNDAEL/AES;- DES/MDC2;- EC/ECDSA,ECDH;- MD5/SSL2,SSL3,TLS1;- SHA/SSL3,TLS1;- RSA/SSL2;- RSA,DSA/SSL2;- DH/SSL3,TLS1;- TLS1/TLSEXT;- EC/GOST;- DSA/GOST;- DH/GOST;- /STATIC_ENGINE;- /KRB5 $ CONFIG_ENABLE_RULES := ZLIB_DYNAMIC/ZLIB;- /THREADS $ $! Architecture specific rule addtions $ IF ARCH .EQS. "VAX" $ THEN $ ! Disable algorithms that require 64 bit integers in C $ CONFIG_DISABLE_RULES = CONFIG_DISABLE_RULES + - ";/GOST" + - ";/WHIRLPOOL" $ ENDIF $ $ CONFIG_LOG_I = 0 $ CONFIG_LOG_LOOP: $ CONFIG_LOG_E1 = F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS) $ CONFIG_LOG_LOOP1: $ CONFIG_LOG_E = F$EDIT(F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS),"TRIM") $ CONFIG_LOG_I = CONFIG_LOG_I + 1 $ IF CONFIG_LOG_E1 .EQS. "" THEN GOTO CONFIG_LOG_LOOP $ IF CONFIG_LOG_E1 .EQS. "," THEN GOTO CONFIG_LOG_LOOP_END $ CONFIG_LOG_E2 = F$EDIT(CONFIG_LOG_E1,"TRIM") $ CONFIG_LOG_E1 = F$ELEMENT(0,";",CONFIG_LOG_E2) $ CONFIG_LOG_E2 = F$ELEMENT(1,";",CONFIG_LOG_E2) $ CONFIG_LOG_E0 = F$ELEMENT(0,"/",CONFIG_LOG_E1) $ CONFIG_LOG_E1 = F$ELEMENT(1,"/",CONFIG_LOG_E1) $ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E0) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E0 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E0 $ WRITE H_FILE "#endif" $ IF CONFIG_LOG_E1 .NES. "/" $ IF CONFIG_LOG_E .EQS. "" THEN GOTO CONFIG_LOG_LOOP1 $ IF CONFIG_LOG_E .EQS. "," THEN GOTO CONFIG_LOG_LOOP1_END $ IF F$TRNLNM("OPENSSL_NO_"+CONFIG_LOG_E) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E1 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E1 $ WRITE H_FILE "#endif" $ ENDIF $ CONFIG_DISABLED_'CONFIG_LOG_E' := YES $ CONFIG_ENABLED_'CONFIG_LOG_E' := NO $ CONFIG_CHANGED_'CONFIG_LOG_E' := YES $ ELSE $ IF CONFIG_LOG_E2 .NES. ";" $ THEN $ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E2) $ THEN $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E2 $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E2 $ WRITE H_FILE "#endif" $ CONFIG_DISABLED_'CONFIG_LOG_E' := NO $ CONFIG_ENABLED_'CONFIG_LOG_E' := YES $ ! Because all algorithms are assumed enabled by default $ CONFIG_CHANGED_'CONFIG_LOG_E' := NO $ ENDIF $ GOTO CONFIG_LOG_LOOP1 $ CONFIG_LOG_LOOP1_END: $ $! Apply cascading disable rules $ CONFIG_DISABLE_I = 0 $ CONFIG_DISABLE_LOOP0: $ CONFIG_DISABLE_E = F$EDIT(F$ELEMENT(CONFIG_DISABLE_I,";",CONFIG_DISABLE_RULES),"TRIM") $ CONFIG_DISABLE_I = CONFIG_DISABLE_I + 1 $ IF CONFIG_DISABLE_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP0 $ IF CONFIG_DISABLE_E .EQS. ";" THEN GOTO CONFIG_DISABLE_LOOP0_END $ $ CONFIG_DISABLE_ALGOS = F$EDIT(F$ELEMENT(0,"/",CONFIG_DISABLE_E),"TRIM") $ CONFIG_DISABLE_DEPENDENTS = F$EDIT(F$ELEMENT(1,"/",CONFIG_DISABLE_E),"TRIM") $ TO_DISABLE := YES $ CONFIG_ALGO_I = 0 $ CONFIG_DISABLE_LOOP1: $ CONFIG_ALGO_E = F$EDIT(F$ELEMENT(CONFIG_ALGO_I,",",CONFIG_DISABLE_ALGOS),"TRIM") $ CONFIG_ALGO_I = CONFIG_ALGO_I + 1 $ IF CONFIG_ALGO_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP1 $ IF CONFIG_ALGO_E .EQS. "," THEN GOTO CONFIG_DISABLE_LOOP1_END $ IF F$TYPE(CONFIG_DISABLED_'CONFIG_ALGO_E') .EQS. "" $ THEN $ TO_DISABLE := NO $ ELSE $ IF .NOT. CONFIG_DISABLED_'CONFIG_ALGO_E' THEN TO_DISABLE := NO $ ENDIF $ GOTO CONFIG_DISABLE_LOOP1 $ CONFIG_DISABLE_LOOP1_END: $ $ IF TO_DISABLE $ THEN $ CONFIG_DEPENDENT_I = 0 $ CONFIG_DISABLE_LOOP2: $ CONFIG_DEPENDENT_E = F$EDIT(F$ELEMENT(CONFIG_DEPENDENT_I,",",CONFIG_DISABLE_DEPENDENTS),"TRIM") $ CONFIG_DEPENDENT_I = CONFIG_DEPENDENT_I + 1 $ IF CONFIG_DEPENDENT_E .EQS. "" THEN GOTO CONFIG_DISABLE_LOOP2 $ IF CONFIG_DEPENDENT_E .EQS. "," THEN GOTO CONFIG_DISABLE_LOOP2_END $ CONFIG_DISABLED_'CONFIG_DEPENDENT_E' := YES $ CONFIG_ENABLED_'CONFIG_DEPENDENT_E' := NO $ ! Better not to assume defaults at this point... $ CONFIG_CHANGED_'CONFIG_DEPENDENT_E' := YES $ WRITE SYS$ERROR "''CONFIG_DEPENDENT_E' disabled by rule ''CONFIG_DISABLE_E'" $ GOTO CONFIG_DISABLE_LOOP2 $ CONFIG_DISABLE_LOOP2_END: $ ENDIF $ GOTO CONFIG_LOG_LOOP $ CONFIG_LOG_LOOP_END: $ WRITE H_FILE "#ifndef OPENSSL_NO_STATIC_ENGINE" $ WRITE H_FILE "# define OPENSSL_NO_STATIC_ENGINE" $ WRITE H_FILE "#endif" $ WRITE H_FILE "#ifndef OPENSSL_THREADS" $ WRITE H_FILE "# define OPENSSL_THREADS" $ WRITE H_FILE "#endif" $ WRITE H_FILE "#ifndef OPENSSL_NO_KRB5" $ WRITE H_FILE "# define OPENSSL_NO_KRB5" $ WRITE H_FILE "#endif" $ WRITE H_FILE "" $! $! Different tar version may have named the file differently $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H_IN") .NES. "" $ GOTO CONFIG_DISABLE_LOOP0 $ CONFIG_DISABLE_LOOP0_END: $ $! Apply cascading enable rules $ CONFIG_ENABLE_I = 0 $ CONFIG_ENABLE_LOOP0: $ CONFIG_ENABLE_E = F$EDIT(F$ELEMENT(CONFIG_ENABLE_I,";",CONFIG_ENABLE_RULES),"TRIM") $ CONFIG_ENABLE_I = CONFIG_ENABLE_I + 1 $ IF CONFIG_ENABLE_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP0 $ IF CONFIG_ENABLE_E .EQS. ";" THEN GOTO CONFIG_ENABLE_LOOP0_END $ $ CONFIG_ENABLE_ALGOS = F$EDIT(F$ELEMENT(0,"/",CONFIG_ENABLE_E),"TRIM") $ CONFIG_ENABLE_DEPENDENTS = F$EDIT(F$ELEMENT(1,"/",CONFIG_ENABLE_E),"TRIM") $ TO_ENABLE := YES $ CONFIG_ALGO_I = 0 $ CONFIG_ENABLE_LOOP1: $ CONFIG_ALGO_E = F$EDIT(F$ELEMENT(CONFIG_ALGO_I,",",CONFIG_ENABLE_ALGOS),"TRIM") $ CONFIG_ALGO_I = CONFIG_ALGO_I + 1 $ IF CONFIG_ALGO_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP1 $ IF CONFIG_ALGO_E .EQS. "," THEN GOTO CONFIG_ENABLE_LOOP1_END $ IF F$TYPE(CONFIG_ENABLED_'CONFIG_ALGO_E') .EQS. "" $ THEN $ TYPE [.CRYPTO]OPENSSLCONF.H_IN /OUTPUT=H_FILE: $ TO_ENABLE := NO $ ELSE $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF_H.IN") .NES. "" $ IF .NOT. CONFIG_ENABLED_'CONFIG_ALGO_E' THEN TO_ENABLE := NO $ ENDIF $ GOTO CONFIG_ENABLE_LOOP1 $ CONFIG_ENABLE_LOOP1_END: $ $ IF TO_ENABLE $ THEN $ TYPE [.CRYPTO]OPENSSLCONF_H.IN /OUTPUT=H_FILE: $ ELSE $ ! For ODS-5 $ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H.IN") .NES. "" $ CONFIG_DEPENDENT_I = 0 $ CONFIG_ENABLE_LOOP2: $ CONFIG_DEPENDENT_E = F$EDIT(F$ELEMENT(CONFIG_DEPENDENT_I,",",CONFIG_ENABLE_DEPENDENTS),"TRIM") $ CONFIG_DEPENDENT_I = CONFIG_DEPENDENT_I + 1 $ IF CONFIG_DEPENDENT_E .EQS. "" THEN GOTO CONFIG_ENABLE_LOOP2 $ IF CONFIG_DEPENDENT_E .EQS. "," THEN GOTO CONFIG_ENABLE_LOOP2_END $ CONFIG_DISABLED_'CONFIG_DEPENDENT_E' := NO $ CONFIG_ENABLED_'CONFIG_DEPENDENT_E' := YES $ ! Better not to assume defaults at this point... $ CONFIG_CHANGED_'CONFIG_DEPENDENT_E' := YES $ WRITE SYS$ERROR "''CONFIG_DEPENDENT_E' enabled by rule ''CONFIG_ENABLE_E'" $ GOTO CONFIG_ENABLE_LOOP2 $ CONFIG_ENABLE_LOOP2_END: $ ENDIF $ GOTO CONFIG_ENABLE_LOOP0 $ CONFIG_ENABLE_LOOP0_END: $ $! Write to the configuration $ CONFIG_LOG_I = 0 $ CONFIG_LOG_LOOP2: $ CONFIG_LOG_E = F$EDIT(F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS),"TRIM") $ CONFIG_LOG_I = CONFIG_LOG_I + 1 $ IF CONFIG_LOG_E .EQS. "" THEN GOTO CONFIG_LOG_LOOP2 $ IF CONFIG_LOG_E .EQS. "," THEN GOTO CONFIG_LOG_LOOP2_END $ IF CONFIG_CHANGED_'CONFIG_LOG_E' $ THEN $ IF CONFIG_DISABLED_'CONFIG_LOG_E' $ THEN $ TYPE [.CRYPTO]OPENSSLCONF.H.IN /OUTPUT=H_FILE: $ WRITE H_FILE "#ifndef OPENSSL_NO_",CONFIG_LOG_E $ WRITE H_FILE "# define OPENSSL_NO_",CONFIG_LOG_E $ WRITE H_FILE "#endif" $ ELSE $ WRITE SYS$ERROR "Couldn't find a [.CRYPTO]OPENSSLCONF.H_IN. Exiting!" $ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". $ GOTO TIDY $ ENDIF $ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E $ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E $ WRITE H_FILE "#endif" $ ENDIF $ ENDIF $ GOTO CONFIG_LOG_LOOP2 $ CONFIG_LOG_LOOP2_END: $! $! Add in the common "crypto/opensslconf.h.in". $! $ TYPE 'OPENSSLCONF_H_IN' /OUTPUT=H_FILE: $! $ IF ARCH .NES. "VAX" $ THEN $! Loading Loading @@ -347,29 +546,29 @@ $! End $! $ ENDIF $! $! Close the [.xxx.CRYPTO]OPENSSLCONF.H file $! Close the [.CRYPTO._xxx]OPENSSLCONF.H file $! $ CLOSE H_FILE $! $! Purge The [.xxx.CRYPTO]OPENSSLCONF.H file $! Purge The [.CRYPTO._xxx]OPENSSLCONF.H file $! $ PURGE SYS$DISK:[.'ARCH'.CRYPTO]OPENSSLCONF.H $ PURGE SYS$DISK:[.CRYPTO._'ARCH']OPENSSLCONF.H $! $! That's All, Time To RETURN. $! $ RETURN $! $! Rebuild The "[.xxx.CRYPTO]BUILDINF.H" file. $! Rebuild The "[.CRYPTO._xxx]BUILDINF.H" file. $! $ BUILDINF: $! $! Tell The User We Are Creating The [.xxx.CRYPTO]BUILDINF.H File. $! Tell The User We Are Creating The [.CRYPTO._xxx]BUILDINF.H File. $! $ WRITE SYS$OUTPUT "Creating [.''ARCH'.CRYPTO]BUILDINF.H Include File." $ WRITE SYS$OUTPUT "Creating [.CRYPTO._''ARCH']BUILDINF.H Include File." $! $! Create The [.xxx.CRYPTO]BUILDINF.H File. $! Create The [.CRYPTO._xxx]BUILDINF.H File. $! $ BIH_NAME = "SYS$DISK:[.''ARCH'.CRYPTO]BUILDINF.H" $ BIH_NAME = "SYS$DISK:[.CRYPTO._''ARCH']BUILDINF.H" $ CREATE /FDL=SYS$INPUT: 'BIH_NAME' RECORD FORMAT stream_lf Loading @@ -380,19 +579,19 @@ $! Get The Current Date & Time. $! $ TIME = F$TIME() $! $! Write The [.xxx.CRYPTO]BUILDINF.H File. $! Write The [.CRYPTO._xxx]BUILDINF.H File. $! $ WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VER'""" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VERSION'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! $! Close The [.xxx.CRYPTO]BUILDINF.H File. $! Close The [.CRYPTO._xxx]BUILDINF.H File. $! $ CLOSE H_FILE $! $! Purge The [.xxx.CRYPTO]BUILDINF.H File. $! Purge The [.CRYPTO._xxx]BUILDINF.H File. $! $ PURGE SYS$DISK:[.'ARCH'.CRYPTO]BUILDINF.H $ PURGE SYS$DISK:[.CRYPTO._'ARCH']BUILDINF.H $! $! That's All, Time To RETURN. $! Loading @@ -404,42 +603,14 @@ $ SOFTLINKS: $! $! Tell The User We Are Partly Rebuilding The [.APPS] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C', '[.APPS]MD5.C' And '[.APPS]RMD160.C' Files." $ WRITE SYS$OUTPUT "Rebuilding The '[.APPS]MD4.C' File." $! $ DELETE SYS$DISK:[.APPS]MD4.C;*,MD5.C;*,RMD160.C;* $ DELETE SYS$DISK:[.APPS]MD4.C;* $! $! Copy MD4.C from [.CRYPTO.MD4] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.APPS] $! $! Copy MD5.C from [.CRYPTO.MD5] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.MD5]MD5.C SYS$DISK:[.APPS] $! $! Copy RMD160.C from [.CRYPTO.RIPEMD] into [.APPS] $! $ COPY SYS$DISK:[.CRYPTO.RIPEMD]RMD160.C SYS$DISK:[.APPS] $! $! Tell The User We Are Partly Rebuilding The [.TEST] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.TEST]*.C' Files." $! $! First, We Have To "Rebuild" The "[.TEST]" Directory, So Delete $! All The "C" Files That Are Currently There Now. $! $ DELETE SYS$DISK:[.TEST]*.C;* $ DELETE SYS$DISK:[.TEST]EVPTESTS.TXT;* $! $! Copy all the *TEST.C files from [.CRYPTO...] into [.TEST] $! $ COPY SYS$DISK:[.CRYPTO.*]%*TEST.C SYS$DISK:[.TEST] $ COPY SYS$DISK:[.CRYPTO.SHA]SHA%%%T.C SYS$DISK:[.TEST] $ COPY SYS$DISK:[.CRYPTO.EVP]EVPTESTS.TXT SYS$DISK:[.TEST] $! $! Copy all the *TEST.C files from [.SSL...] into [.TEST] $! $ COPY SYS$DISK:[.SSL]%*TEST.C SYS$DISK:[.TEST] $! $! Tell The User We Are Rebuilding The [.INCLUDE.OPENSSL] Directory. $! $ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory." Loading Loading @@ -532,13 +703,8 @@ $ IF D .EQS. "" $ THEN $ COPY [.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ELSE $ IF D .EQS. "_''ARCH'" $ THEN $ COPY [.'ARCH'.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ELSE $ COPY [.CRYPTO.'D']'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ ENDIF $ ENDIF $ GOTO LOOP_SDIRS $ LOOP_SDIRS_END: $! Loading Loading @@ -736,7 +902,7 @@ $! Else... $! $ ELSE $! $! Else, Check To See If P1 Has A Valid Arguement. $! Else, Check To See If P1 Has A Valid Argument. $! $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") - .OR.(P1.EQS."BUILDALL") - Loading @@ -745,7 +911,7 @@ $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") - .OR.(P1.EQS."ENGINES") $ THEN $! $! A Valid Arguement. $! A Valid Argument. $! $ BUILDCOMMAND = P1 $! Loading @@ -758,13 +924,13 @@ $! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] <Compiler>" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL """" NODEBUG " $ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL NORSAREF NODEBUG " $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The Target ",P1," Is Invalid. The Valid Target Options Are:" $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT " ALL : Just Build Everything." $ WRITE SYS$OUTPUT " CONFIG : Just build the [.xxx.CRYPTO]OPENSSLCONF.H file." $ WRITE SYS$OUTPUT " BUILDINF : Just build the [.xxx.CRYPTO]BUILDINF.H file." $ WRITE SYS$OUTPUT " CONFIG : Just build the [.CRYPTO._xxx]OPENSSLCONF.H file." $ WRITE SYS$OUTPUT " BUILDINF : Just build the [.CRYPTO._xxx]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." Loading Loading @@ -834,7 +1000,7 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! End The Valid Arguement Check. $! End The Valid Argument Check. $! $ ENDIF $! Loading Loading @@ -973,7 +1139,7 @@ $! End The GNU C Check. $! $ ENDIF $! $! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument. $! $ ELSE $! Loading @@ -991,7 +1157,7 @@ $! Time To EXIT. $! $ GOTO TIDY $! $! End The Valid Arguement Check. $! End The Valid Argument Check. $! $ ENDIF $! Loading Loading @@ -1098,7 +1264,7 @@ $! Print info $! $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB $! $! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument. $! $ ELSE $ IF P5 .NES. "" Loading Loading @@ -1153,7 +1319,7 @@ $! $! Get The Version Of VMS We Are Using. $! $ ISSEVEN := $ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,F$GETSYI("VERSION"))) $ TMP = F$ELEMENT(0,"-",F$EXTRACT(1,4,VMS_VERSION)) $ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP)) $! $! Check To See If The VMS Version Is v7.1 Or Later. Loading