Rework the configuration of avoided algorithms.

Avoid copying test modules.
This commit is contained in:
Richard Levitte 2010-04-13 14:33:04 +00:00
parent 0a4fe6c8db
commit 6f4f7f35f3

View File

@ -18,8 +18,8 @@ $!
$! Specify one of the following build options for P1. $! Specify one of the following build options for P1.
$! $!
$! ALL Just build "everything". $! ALL Just build "everything".
$! CONFIG Just build the "[.xxx.CRYPTO]OPENSSLCONF.H" file. $! CONFIG Just build the "[.CRYPTO._xxx]OPENSSLCONF.H" file.
$! BUILDINF Just build the "[.xxx.CRYPTO]BUILDINF.H" file. $! BUILDINF Just build the "[.CRYPTO._xxx]BUILDINF.H" file.
$! SOFTLINKS Just fix the Unix soft links. $! SOFTLINKS Just fix the Unix soft links.
$! BUILDALL Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done. $! BUILDALL Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done.
$! CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library. $! CRYPTO Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
@ -35,7 +35,7 @@ $!
$! P2 is ignored (it was used to denote if RSAref should be used or not, $! 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) $! 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. $! information.
$! $!
$! Specify which compiler as P4 to try to compile under. $! Specify which compiler as P4 to try to compile under.
@ -46,7 +46,7 @@ $! GNUC For GNU C.
$! LINK To only link the programs from existing object files. $! LINK To only link the programs from existing object files.
$! (not yet implemented) $! (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. $! "C" compiler to use.
$! $!
$! P5, if defined, sets a TCP/IP library to use, through one of the following $! P5, if defined, sets a TCP/IP library to use, through one of the following
@ -84,7 +84,7 @@ $ THEN
$! $!
$! The Architecture Is VAX. $! The Architecture Is VAX.
$! $!
$ ARCH := VAX $ ARCH = "VAX"
$! $!
$! Else... $! Else...
$! $!
@ -99,6 +99,10 @@ $! End The Architecture Check.
$! $!
$ ENDIF $ ENDIF
$! $!
$! Get VMS version.
$!
$ VMS_VERSION = f$edit( f$getsyi( "VERSION"), "TRIM")
$!
$! Check To Make Sure We Have Valid Command Line Parameters. $! Check To Make Sure We Have Valid Command Line Parameters.
$! $!
$ GOSUB CHECK_OPTIONS $ GOSUB CHECK_OPTIONS
@ -163,32 +167,53 @@ $! Time To EXIT.
$! $!
$ GOTO TIDY $ GOTO TIDY
$! $!
$! Rebuild The [.xxx.CRYPTO]OPENSSLCONF.H" file. $! Rebuild The [.CRYPTO._xxx]OPENSSLCONF.H" file.
$! $!
$ CONFIG: $ 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. $! First, make sure the directory exists.
$! $!
$ IF F$PARSE("SYS$DISK:[.''ARCH'.CRYPTO]") .EQS. "" THEN - $ IF F$PARSE("SYS$DISK:[.CRYPTO._''ARCH']") .EQS. "" THEN -
CREATE/DIRECTORY SYS$DISK:[.'ARCH'.CRYPTO] 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. $! 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' $ CREATE /FDL=SYS$INPUT: 'OSCH_NAME'
RECORD RECORD
FORMAT stream_lf FORMAT stream_lf
$ OPEN /APPEND H_FILE 'OSCH_NAME' $ 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 "/* 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. $! Write a few macros that indicate how this system was built.
$! $!
@ -196,75 +221,249 @@ $ WRITE H_FILE ""
$ WRITE H_FILE "#ifndef OPENSSL_SYS_VMS" $ WRITE H_FILE "#ifndef OPENSSL_SYS_VMS"
$ WRITE H_FILE "# define OPENSSL_SYS_VMS" $ WRITE H_FILE "# define OPENSSL_SYS_VMS"
$ WRITE H_FILE "#endif" $ 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,- $! One of the best way to figure out what the list should be is to do
NO_IDEA,NO_BF,NO_CAST,NO_CAMELLIA,NO_SEED,NO_HMAC,NO_SSL2 $! the followin on a Unix system:
$ CONFIG_LOG_I = 0 $! grep OPENSSL_NO_ crypto/*/*.h ssl/*.h engines/*.h engines/*/*.h|grep ':# *if'|sed -e 's/^.*def //'|sort|uniq
$ CONFIG_LOG_LOOP: $! For that reason, the list will also always end up in alphabetical order
$ CONFIG_LOG_E1 = F$ELEMENT(CONFIG_LOG_I,",",CONFIG_LOGICALS) $ CONFIG_LOGICALS := AES,-
$ CONFIG_LOG_I = CONFIG_LOG_I + 1 ASM,INLINE_ASM,-
$ IF CONFIG_LOG_E1 .EQS. "" THEN GOTO CONFIG_LOG_LOOP BF,-
$ IF CONFIG_LOG_E1 .EQS. "," THEN GOTO CONFIG_LOG_LOOP_END BIO,-
$ CONFIG_LOG_E2 = F$EDIT(CONFIG_LOG_E1,"TRIM") BUFFER,-
$ CONFIG_LOG_E1 = F$ELEMENT(0,";",CONFIG_LOG_E2) BUF_FREELISTS,-
$ CONFIG_LOG_E2 = F$ELEMENT(1,";",CONFIG_LOG_E2) CAMELLIA,-
$ CONFIG_LOG_E0 = F$ELEMENT(0,"/",CONFIG_LOG_E1) CAST,-
$ CONFIG_LOG_E1 = F$ELEMENT(1,"/",CONFIG_LOG_E1) CMS,-
$ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E0) COMP,-
$ THEN DEPRECATED,-
$ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E0 DES,-
$ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E0 DGRAM,-
$ WRITE H_FILE "#endif" DH,-
$ IF CONFIG_LOG_E1 .NES. "/" DSA,-
$ THEN EC,-
$ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E1 ECDH,-
$ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E1 ECDSA,-
$ WRITE H_FILE "#endif" ENGINE,-
$ ENDIF ERR,-
$ ELSE EVP,-
$ IF CONFIG_LOG_E2 .NES. ";" FP_API,-
$ THEN GMP,-
$ IF F$TRNLNM("OPENSSL_"+CONFIG_LOG_E2) GOST,-
$ THEN HASH_COMP,-
$ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E2 HMAC,-
$ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E2 IDEA,-
$ WRITE H_FILE "#endif" JPAKE,-
$ ENDIF KRB5,-
$ ENDIF LHASH,-
$ ENDIF MD2,-
$ GOTO CONFIG_LOG_LOOP MD4,-
$ CONFIG_LOG_LOOP_END: MD5,-
$ WRITE H_FILE "#ifndef OPENSSL_NO_STATIC_ENGINE" MDC2,-
$ WRITE H_FILE "# define OPENSSL_NO_STATIC_ENGINE" OCSP,-
$ WRITE H_FILE "#endif" PSK,-
$ WRITE H_FILE "#ifndef OPENSSL_THREADS" RC2,-
$ WRITE H_FILE "# define OPENSSL_THREADS" RC4,-
$ WRITE H_FILE "#endif" RC5,-
$ WRITE H_FILE "#ifndef OPENSSL_NO_KRB5" RFC3779,-
$ WRITE H_FILE "# define OPENSSL_NO_KRB5" RIPEMD,-
$ WRITE H_FILE "#endif" RSA,-
$ WRITE H_FILE "" SEED,-
$! SHA,-
$! Different tar version may have named the file differently SHA0,-
$ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H_IN") .NES. "" 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 $ THEN
$ TYPE [.CRYPTO]OPENSSLCONF.H_IN /OUTPUT=H_FILE: $ ! Disable algorithms that require 64 bit integers in C
$ ELSE $ CONFIG_DISABLE_RULES = CONFIG_DISABLE_RULES + -
$ IF F$SEARCH("[.CRYPTO]OPENSSLCONF_H.IN") .NES. "" ";/GOST" + -
";/WHIRLPOOL"
$ ENDIF
$
$ CONFIG_LOG_I = 0
$ 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_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 $ THEN
$ TYPE [.CRYPTO]OPENSSLCONF_H.IN /OUTPUT=H_FILE: $ CONFIG_DISABLED_'CONFIG_LOG_E' := YES
$ CONFIG_ENABLED_'CONFIG_LOG_E' := NO
$ CONFIG_CHANGED_'CONFIG_LOG_E' := YES
$ ELSE $ ELSE
$ ! For ODS-5 $ CONFIG_DISABLED_'CONFIG_LOG_E' := NO
$ IF F$SEARCH("[.CRYPTO]OPENSSLCONF.H.IN") .NES. "" $ 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 $ THEN
$ TYPE [.CRYPTO]OPENSSLCONF.H.IN /OUTPUT=H_FILE: $ TO_DISABLE := NO
$ ELSE $ ELSE
$ WRITE SYS$ERROR "Couldn't find a [.CRYPTO]OPENSSLCONF.H_IN. Exiting!" $ IF .NOT. CONFIG_DISABLED_'CONFIG_ALGO_E' THEN TO_DISABLE := NO
$ $STATUS = %X00018294 ! "%RMS-F-FNF, file not found". $ ENDIF
$ GOTO TIDY $ 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_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
$ TO_ENABLE := NO
$ ELSE
$ IF .NOT. CONFIG_ENABLED_'CONFIG_ALGO_E' THEN TO_ENABLE := NO
$ ENDIF
$ GOTO CONFIG_ENABLE_LOOP1
$ CONFIG_ENABLE_LOOP1_END:
$
$ IF TO_ENABLE
$ THEN
$ 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
$ WRITE H_FILE "#ifndef OPENSSL_NO_",CONFIG_LOG_E
$ WRITE H_FILE "# define OPENSSL_NO_",CONFIG_LOG_E
$ WRITE H_FILE "#endif"
$ ELSE
$ WRITE H_FILE "#ifndef OPENSSL_",CONFIG_LOG_E
$ WRITE H_FILE "# define OPENSSL_",CONFIG_LOG_E
$ WRITE H_FILE "#endif"
$ ENDIF $ ENDIF
$ 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" $ IF ARCH .NES. "VAX"
$ THEN $ THEN
$! $!
@ -347,29 +546,29 @@ $! End
$! $!
$ ENDIF $ ENDIF
$! $!
$! Close the [.xxx.CRYPTO]OPENSSLCONF.H file $! Close the [.CRYPTO._xxx]OPENSSLCONF.H file
$! $!
$ CLOSE 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. $! That's All, Time To RETURN.
$! $!
$ RETURN $ RETURN
$! $!
$! Rebuild The "[.xxx.CRYPTO]BUILDINF.H" file. $! Rebuild The "[.CRYPTO._xxx]BUILDINF.H" file.
$! $!
$ BUILDINF: $ 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' $ CREATE /FDL=SYS$INPUT: 'BIH_NAME'
RECORD RECORD
FORMAT stream_lf FORMAT stream_lf
@ -380,19 +579,19 @@ $! Get The Current Date & Time.
$! $!
$ TIME = F$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 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'"" " $ WRITE H_FILE "#define DATE ""''TIME'"" "
$! $!
$! Close The [.xxx.CRYPTO]BUILDINF.H File. $! Close The [.CRYPTO._xxx]BUILDINF.H File.
$! $!
$ CLOSE 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. $! That's All, Time To RETURN.
$! $!
@ -404,42 +603,14 @@ $ SOFTLINKS:
$! $!
$! Tell The User We Are Partly Rebuilding The [.APPS] Directory. $! 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 MD4.C from [.CRYPTO.MD4] into [.APPS]
$! $!
$ COPY SYS$DISK:[.CRYPTO.MD4]MD4.C SYS$DISK:[.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. $! Tell The User We Are Rebuilding The [.INCLUDE.OPENSSL] Directory.
$! $!
$ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory." $ WRITE SYS$OUTPUT "Rebuilding The '[.INCLUDE.OPENSSL]' Directory."
@ -532,12 +703,7 @@ $ IF D .EQS. ""
$ THEN $ THEN
$ COPY [.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG $ COPY [.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
$ ELSE $ ELSE
$ IF D .EQS. "_''ARCH'" $ COPY [.CRYPTO.'D']'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
$ THEN
$ COPY [.'ARCH'.CRYPTO]'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
$ ELSE
$ COPY [.CRYPTO.'D']'tmp' SYS$DISK:[.INCLUDE.OPENSSL] !/LOG
$ ENDIF
$ ENDIF $ ENDIF
$ GOTO LOOP_SDIRS $ GOTO LOOP_SDIRS
$ LOOP_SDIRS_END: $ LOOP_SDIRS_END:
@ -736,7 +902,7 @@ $! Else...
$! $!
$ 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") - $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") -
.OR.(P1.EQS."BUILDALL") - .OR.(P1.EQS."BUILDALL") -
@ -745,7 +911,7 @@ $ IF (P1.EQS."CONFIG").OR.(P1.EQS."BUILDINF").OR.(P1.EQS."SOFTLINKS") -
.OR.(P1.EQS."ENGINES") .OR.(P1.EQS."ENGINES")
$ THEN $ THEN
$! $!
$! A Valid Arguement. $! A Valid Argument.
$! $!
$ BUILDCOMMAND = P1 $ BUILDCOMMAND = P1
$! $!
@ -758,13 +924,13 @@ $!
$ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT ""
$ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] <Compiler>" $ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] <Compiler>"
$ WRITE SYS$OUTPUT "" $ 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 ""
$ WRITE SYS$OUTPUT "The Target ",P1," Is Invalid. The Valid Target Options Are:" $ WRITE SYS$OUTPUT "The Target ",P1," Is Invalid. The Valid Target Options Are:"
$ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT ""
$ WRITE SYS$OUTPUT " ALL : Just Build Everything." $ WRITE SYS$OUTPUT " ALL : Just Build Everything."
$ WRITE SYS$OUTPUT " CONFIG : Just build the [.xxx.CRYPTO]OPENSSLCONF.H file." $ WRITE SYS$OUTPUT " CONFIG : Just build the [.CRYPTO._xxx]OPENSSLCONF.H file."
$ WRITE SYS$OUTPUT " BUILDINF : Just build the [.xxx.CRYPTO]BUILDINF.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 " 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 " 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." $ WRITE SYS$OUTPUT " CRYPTO : To Build Just The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library."
@ -834,7 +1000,7 @@ $! Time To EXIT.
$! $!
$ GOTO TIDY $ GOTO TIDY
$! $!
$! End The Valid Arguement Check. $! End The Valid Argument Check.
$! $!
$ ENDIF $ ENDIF
$! $!
@ -973,7 +1139,7 @@ $! End The GNU C Check.
$! $!
$ ENDIF $ ENDIF
$! $!
$! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument.
$! $!
$ ELSE $ ELSE
$! $!
@ -991,7 +1157,7 @@ $! Time To EXIT.
$! $!
$ GOTO TIDY $ GOTO TIDY
$! $!
$! End The Valid Arguement Check. $! End The Valid Argument Check.
$! $!
$ ENDIF $ ENDIF
$! $!
@ -1098,7 +1264,7 @@ $! Print info
$! $!
$ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB $ WRITE SYS$OUTPUT "TCP/IP library spec: ", TCPIP_LIB
$! $!
$! Else The User Entered An Invalid Arguement. $! Else The User Entered An Invalid Argument.
$! $!
$ ELSE $ ELSE
$ IF P5 .NES. "" $ IF P5 .NES. ""
@ -1153,7 +1319,7 @@ $!
$! Get The Version Of VMS We Are Using. $! Get The Version Of VMS We Are Using.
$! $!
$ ISSEVEN := $ 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)) $ TMP = F$INTEGER(F$ELEMENT(0,".",TMP)+F$ELEMENT(1,".",TMP))
$! $!
$! Check To See If The VMS Version Is v7.1 Or Later. $! Check To See If The VMS Version Is v7.1 Or Later.