From 90d02be7c5817e13baf56de92995f04c9d888e70 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 14 Dec 2010 19:18:58 +0000 Subject: [PATCH] First attempt at adding the possibility to set the pointer size for the builds on VMS. PR: 2393 --- VMS/mkshared.com | 29 +++++++++++--- apps/makeapps.com | 58 +++++++++++++++++++++++++-- crypto/crypto-lib.com | 65 ++++++++++++++++++++++++++++-- crypto/install.com | 2 +- engines/makeengines.com | 64 ++++++++++++++++++++++++++++- makevms.com | 89 +++++++++++++++++++++++++++++++++-------- ssl/install.com | 2 +- ssl/ssl-lib.com | 67 +++++++++++++++++++++++++++++-- test/maketests.com | 67 +++++++++++++++++++++++++++++-- 9 files changed, 404 insertions(+), 39 deletions(-) diff --git a/VMS/mkshared.com b/VMS/mkshared.com index c8acd2adeb..2f9167eeaa 100644 --- a/VMS/mkshared.com +++ b/VMS/mkshared.com @@ -38,7 +38,7 @@ $ libopt = "''libdir'LIBCRYPTO.OPT" $ libmap = "''libdir'LIBCRYPTO.MAP" $ libgoal= "''libdir'LIBCRYPTO.EXE" $ libref = "" -$ gosub create_nonvax_shr +$ if f$search(libdir+libolb) .nes. "" then gosub create_nonvax_shr $ libid = "SSL" $ libnum = "[.UTIL]SSLEAY.NUM" $ libdir = "[.''ARCH'.EXE.SSL]" @@ -47,7 +47,26 @@ $ libopt = "''libdir'LIBSSL.OPT" $ libmap = "''libdir'LIBSSL.MAP" $ libgoal= "''libdir'LIBSSL.EXE" $ libref = "[.''ARCH'.EXE.CRYPTO]LIBCRYPTO.EXE" -$ gosub create_nonvax_shr +$ if f$search(libdir+libolb) .nes. "" then gosub create_nonvax_shr +$ arch_vax = 0 +$ libid = "Crypto" +$ libnum = "[.UTIL]LIBEAY.NUM" +$ libdir = "[.''ARCH'.EXE.CRYPTO]" +$ libolb = "''libdir'LIBCRYPTO32.OLB" +$ libopt = "''libdir'LIBCRYPTO32.OPT" +$ libmap = "''libdir'LIBCRYPTO32.MAP" +$ libgoal= "''libdir'LIBCRYPTO32.EXE" +$ libref = "" +$ if f$search(libdir+libolb) .nes. "" then gosub create_nonvax_shr +$ libid = "SSL" +$ libnum = "[.UTIL]SSLEAY.NUM" +$ libdir = "[.''ARCH'.EXE.SSL]" +$ libolb = "''libdir'LIBSSL32.OLB" +$ libopt = "''libdir'LIBSSL32.OPT" +$ libmap = "''libdir'LIBSSL32.MAP" +$ libgoal= "''libdir'LIBSSL32.EXE" +$ libref = "[.''ARCH'.EXE.CRYPTO]LIBCRYPTO32.EXE" +$ if f$search(libdir+libolb) .nes. "" then gosub create_nonvax_shr $ else $ arch_vax = 1 $ libtit = "CRYPTO_TRANSFER_VECTOR" @@ -62,7 +81,7 @@ $ libmap = "''libdir'LIBCRYPTO.MAP" $ libgoal= "''libdir'LIBCRYPTO.EXE" $ libref = "" $ libvec = "LIBCRYPTO" -$ gosub create_vax_shr +$ if f$search(libdir+libolb) .nes. "" then gosub create_vax_shr $ libtit = "SSL_TRANSFER_VECTOR" $ libid = "SSL" $ libnum = "[.UTIL]SSLEAY.NUM" @@ -75,11 +94,11 @@ $ libmap = "''libdir'LIBSSL.MAP" $ libgoal= "''libdir'LIBSSL.EXE" $ libref = "[.''ARCH'.EXE.CRYPTO]LIBCRYPTO.EXE" $ libvec = "LIBSSL" -$ gosub create_vax_shr +$ if f$search(libdir+libolb) .nes. "" then gosub create_vax_shr $ endif $ exit $ -$! ----- Soubroutines to build the shareable libraries +$! ----- Subroutines to build the shareable libraries $! For each supported architecture, there's a main shareable library $! creator, which is called from the main code above. $! The creator will define a number of variables to tell the next levels of diff --git a/apps/makeapps.com b/apps/makeapps.com index 58f2865623..8169f90475 100644 --- a/apps/makeapps.com +++ b/apps/makeapps.com @@ -39,6 +39,13 @@ $! P4, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) $! $! P5, if defined, sets a choice of programs to compile. $! +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P6. +$! For 32 bit architectures (VAX), P6 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $! $! Define A TCP/IP Library That We Will Need To Link To. $! (That Is, If We Need To Link To One.) @@ -73,11 +80,11 @@ $ PROGRAMS := OPENSSL $! $! Define The CRYPTO Library. $! -$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB +$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO'LIB32'.OLB $! $! Define The SSL Library. $! -$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB +$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL'LIB32'.OLB $! $! Define The OBJ Directory. $! @@ -563,6 +570,51 @@ $! End The P1 Check. $! $ ENDIF $! +$! Check is P6 Is Valid +$! +$ IF (P6.EQS."32") +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (P6.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ ELSE +$ POINTER_SIZE = "/POINTER_SIZE=64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",P6," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The P6 Check. +$! +$ ENDIF +$! $! Check To See If P2 Is Blank. $! $ IF (P2.EQS."") @@ -690,7 +742,7 @@ $! $ CC = "CC" $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - THEN CC = "CC/DECC" -$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - +$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89''POINTER_SIZE'" + - "/NOLIST/PREFIX=ALL" + - "/INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO])" + CCEXTRAFLAGS $! diff --git a/crypto/crypto-lib.com b/crypto/crypto-lib.com index 96d9d53547..6719c8aed4 100644 --- a/crypto/crypto-lib.com +++ b/crypto/crypto-lib.com @@ -47,6 +47,13 @@ $! P6, if defined, sets a choice of crypto methods to compile. $! WARNING: this should only be done to recompile some part of an already $! fully compiled library. $! +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P7. +$! For 32 bit architectures (VAX), P7 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $! $! Define A TCP/IP Library That We Will Need To Link To. $! (That Is, If We Need To Link To One.) @@ -140,11 +147,11 @@ $ ENDIF $! $! Define The Library Name. $! -$ LIB_NAME := 'EXE_DIR'LIBCRYPTO.OLB +$ LIB_NAME := 'EXE_DIR'LIBCRYPTO'LIB32'.OLB $! $! Define The CRYPTO-LIB We Are To Use. $! -$ CRYPTO_LIB := 'EXE_DIR'LIBCRYPTO.OLB +$ CRYPTO_LIB := 'EXE_DIR'LIBCRYPTO'LIB32'.OLB $! $! Check To See If We Already Have A "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" Library... $! @@ -907,6 +914,58 @@ $! End The P5 Check. $! $ ENDIF $! +$! Check To See If P7 Is Blank. +$! +$ IF (P7.EQS."") +$ THEN +$ POINTER_SIZE = "" +$ ELSE +$! +$! Check is P7 Is Valid +$! +$ IF (P7.EQS."32") +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (P7.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ ELSE +$ POINTER_SIZE = "/POINTER_SIZE=64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",P7," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The P7 Check. +$! +$ ENDIF +$! $! Check To See If P3 Is Blank. $! $ IF (P3.EQS."") @@ -1034,7 +1093,7 @@ $! $ CC = "CC" $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - THEN CC = "CC/DECC" -$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - +$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89''POINTER_SIZE'" + - "/NOLIST/PREFIX=ALL" + - "/INCLUDE=(SYS$DISK:[._''ARCH'],SYS$DISK:[],SYS$DISK:[-],SYS$DISK:[.ENGINE.VENDOR_DEFNS],SYS$DISK:[.EVP],SYS$DISK:[.ASN1])" + - CCEXTRAFLAGS diff --git a/crypto/install.com b/crypto/install.com index b3290165c4..8bc1e180e6 100644 --- a/crypto/install.com +++ b/crypto/install.com @@ -106,7 +106,7 @@ $ EXHEADER_CMS := cms.h $ EXHEADER_PQUEUE := pqueue.h $ EXHEADER_TS := ts.h $ EXHEADER_JPAKE := jpake.h -$ LIBS := LIBCRYPTO +$ LIBS := LIBCRYPTO,LIBCRYPTO32 $ $ EXE_DIR := [-.'ARCH'.EXE.CRYPTO] $ diff --git a/engines/makeengines.com b/engines/makeengines.com index 6cf4236077..d6db0530c3 100644 --- a/engines/makeengines.com +++ b/engines/makeengines.com @@ -28,6 +28,13 @@ $! $! P6 if defined, denotes which engines to build. If not defined, $! all available engines are built. $! +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P7. +$! For 32 bit architectures (VAX), P7 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $!----------------------------------------------------------------------------- $! $! Set the default TCP/IP library to link against if needed @@ -81,7 +88,7 @@ $ IF F$PARSE(EXE_DIR) .EQS. "" THEN CREATE/DIRECTORY 'EXE_DIR' $! $! Set the goal files, and create them if necessary $! -$ CRYPTO_LIB :=SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB +$ CRYPTO_LIB :=SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO'LIB32'.OLB $ IF F$SEARCH(CRYPTO_LIB) .EQS. "" THEN LIBRARY/CREATE/OBJECT 'CRYPTO_LIB' $! $! OK, time to check options and initialise @@ -92,6 +99,7 @@ $ OPT_DEBUG = P2 $ OPT_COMPILER = P3 $ OPT_TCPIP_LIB = P4 $ OPT_SPECIAL_THREADS = P5 +$ OPT_POINTER_SIZE = P7 $ $ GOSUB CHECK_OPTIONS $ GOSUB INITIALISE @@ -557,6 +565,58 @@ $! End The OPT_SPECIAL_THREADS Check. $! $ ENDIF $! +$! Check To See If OPT_POINTER_SIZE Is Blank. +$! +$ IF (OPT_POINTER_SIZE.EQS."") +$ THEN +$ POINTER_SIZE = "" +$ ELSE +$! +$! Check is OPT_POINTER_SIZE Is Valid +$! +$ IF (OPT_POINTER_SIZE.EQS."32") +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (OPT_POINTER_SIZE.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ ELSE +$ POINTER_SIZE = "/POINTER_SIZE=64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",OPT_POINTER_SIZE," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The OPT_POINTER_SIZE Check. +$! +$ ENDIF +$! $! Check To See If OPT_COMPILER Is Blank. $! $ IF (OPT_COMPILER.EQS."") @@ -684,7 +744,7 @@ $! $ CC = "CC" $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - THEN CC = "CC/DECC" -$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - +$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89''POINTER_SIZE'" + - "/NOLIST/PREFIX=ALL" + - "/INCLUDE=(SYS$DISK:[],SYS$DISK:[.VENDOR_DEFNS])" + - CCEXTRAFLAGS diff --git a/makevms.com b/makevms.com index 20211b73bb..8c59c67ca1 100755 --- a/makevms.com +++ b/makevms.com @@ -32,8 +32,13 @@ $! APPS Just build the "[.xxx.EXE.APPS]" application programs for Open $! ENGINES Just build the "[.xxx.EXE.ENGINES]" application programs for OpenSSL. $! $! -$! 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) +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P2. +$! For 32 bit architectures (VAX), P2 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $! $! Specify DEBUG or NODEBUG as P3 to compile with or without debugging $! information. @@ -581,7 +586,7 @@ $ TIME = F$TIME() $! $! Write The [.CRYPTO._xxx]BUILDINF.H File. $! -$! WRITE H_FILE "#define CFLAGS """" /* Not filled in for now */" +$ WRITE H_FILE "#define CFLAGS ""/POINTER_SIZE=''POINTER_SIZE'""" $ WRITE H_FILE "#define PLATFORM ""VMS ''ARCH' ''VMS_VERSION'""" $ WRITE H_FILE "#define DATE ""''TIME'"" " $! @@ -726,14 +731,14 @@ $! That's All, Time To RETURN. $! $ RETURN $! -$! Build The "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" Library. +$! Build The "[.xxx.EXE.CRYPTO]LIBCRYPTO''LIB32'.OLB" Library. $! $ CRYPTO: $! $! Tell The User What We Are Doing. $! $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT "Building The [.",ARCH,".EXE.CRYPTO]LIBCRYPTO.OLB Library." +$ WRITE SYS$OUTPUT "Building The [.",ARCH,".EXE.CRYPTO]LIBCRYPTO''LIB32'.OLB Library." $! $! Go To The [.CRYPTO] Directory. $! @@ -741,11 +746,11 @@ $ SET DEFAULT SYS$DISK:[.CRYPTO] $! $! Build The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library. $! -$ @CRYPTO-LIB LIBRARY 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''BUILDPART'" +$ @CRYPTO-LIB LIBRARY 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''BUILDPART'" "''POINTER_SIZE'" $! $! Build The [.xxx.EXE.CRYPTO]*.EXE Test Applications. $! -$ @CRYPTO-LIB APPS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' "''BUILDPART'" +$ @CRYPTO-LIB APPS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''BUILDPART'" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -755,14 +760,14 @@ $! Time To RETURN. $! $ RETURN $! -$! Build The "[.xxx.EXE.SSL]LIBSSL.OLB" Library. +$! Build The "[.xxx.EXE.SSL]LIBSSL''LIB32'.OLB" Library. $! $ SSL: $! $! Tell The User What We Are Doing. $! $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT "Building The [.",ARCH,".EXE.SSL]LIBSSL.OLB Library." +$ WRITE SYS$OUTPUT "Building The [.",ARCH,".EXE.SSL]LIBSSL''LIB32'.OLB Library." $! $! Go To The [.SSL] Directory. $! @@ -770,7 +775,7 @@ $ SET DEFAULT SYS$DISK:[.SSL] $! $! Build The [.xxx.EXE.SSL]LIBSSL.OLB Library. $! -$ @SSL-LIB LIBRARY 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' +$ @SSL-LIB LIBRARY 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -795,7 +800,7 @@ $ SET DEFAULT SYS$DISK:[.SSL] $! $! Build The [.xxx.EXE.SSL]SSL_TASK.EXE $! -$ @SSL-LIB SSL_TASK 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' +$ @SSL-LIB SSL_TASK 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -820,7 +825,7 @@ $ SET DEFAULT SYS$DISK:[.TEST] $! $! Build The Test Programs. $! -$ @MAKETESTS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' +$ @MAKETESTS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -845,7 +850,7 @@ $ SET DEFAULT SYS$DISK:[.APPS] $! $! Build The Application Programs. $! -$ @MAKEAPPS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' +$ @MAKEAPPS 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -870,7 +875,7 @@ $ SET DEFAULT SYS$DISK:[.ENGINES] $! $! Build The Application Programs. $! -$ @MAKEENGINES ENGINES 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" 'ISSEVEN' "''BUILDPART'" +$ @MAKEENGINES ENGINES 'DEBUGGER' "''COMPILER'" "''TCPIP_TYPE'" "''ISSEVEN'" "''BUILDPART'" "''POINTER_SIZE'" $! $! Go Back To The Main Directory. $! @@ -927,9 +932,9 @@ $! $! Tell The User We Don't Know What They Want. $! $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [not-used option] [Debug option] " +$ WRITE SYS$OUTPUT "USAGE: @MAKEVMS.COM [Target] [Pointer size] [Debug option] " $ WRITE SYS$OUTPUT "" -$ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL NORSAREF NODEBUG " +$ WRITE SYS$OUTPUT "Example: @MAKEVMS.COM ALL """" NODEBUG " $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The Target ",P1," Is Invalid. The Valid Target Options Are:" $ WRITE SYS$OUTPUT "" @@ -966,6 +971,58 @@ $! End The P1 Check. $! $ ENDIF $! +$! Check To See If P2 Is Blank. +$! +$ IF (P2.EQS."") +$ THEN +$ POINTER_SIZE = "" +$ ELSE +$! +$! Check is P2 Is Valid +$! +$ IF (P2.EQS."32") +$ THEN +$ POINTER_SIZE = "32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (P2.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "32" +$ ELSE +$ POINTER_SIZE = "64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",P2," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The P2 Check. +$! +$ ENDIF +$! $! Check To See If P3 Is Blank. $! $ IF (P3.EQS."NODEBUG") diff --git a/ssl/install.com b/ssl/install.com index 7f56067599..fe1d7268e2 100644 --- a/ssl/install.com +++ b/ssl/install.com @@ -43,7 +43,7 @@ $ IF F$PARSE("WRK_SSLXEXE:") .EQS. "" THEN - $ $ EXHEADER := ssl.h,ssl2.h,ssl3.h,ssl23.h,tls1.h,dtls1.h,kssl.h $ E_EXE := ssl_task -$ LIBS := LIBSSL +$ LIBS := LIBSSL,LIBSSL32 $ $ XEXE_DIR := [-.'ARCH'.EXE.SSL] $ diff --git a/ssl/ssl-lib.com b/ssl/ssl-lib.com index c5ca9e1df7..35bdd34de8 100644 --- a/ssl/ssl-lib.com +++ b/ssl/ssl-lib.com @@ -42,6 +42,13 @@ $! SOCKETSHR for SOCKETSHR+NETLIB $! $! P5, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) $! +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P6. +$! For 32 bit architectures (VAX), P6 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $! $! Define A TCP/IP Library That We Will Need To Link To. $! (That Is, If We Need To Link To One.) @@ -118,11 +125,11 @@ $ ENDIF $! $! Define The Library Name. $! -$ SSL_LIB := 'EXE_DIR'LIBSSL.OLB +$ SSL_LIB := 'EXE_DIR'LIBSSL'LIB32'.OLB $! $! Define The CRYPTO-LIB We Are To Use. $! -$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB +$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO'LIB32'.OLB $! $! Check To See What We Are To Do. $! @@ -156,7 +163,7 @@ $! Compile The Library. $! $ LIBRARY: $! -$! Check To See If We Already Have A "[.xxx.EXE.SSL]LIBSSL.OLB" Library... +$! Check To See If We Already Have A "[.xxx.EXE.SSL]LIBSSL''LIB32'.OLB" Library... $! $ IF (F$SEARCH(SSL_LIB).EQS."") $ THEN @@ -653,6 +660,58 @@ $! End The P5 Check. $! $ ENDIF $! +$! Check To See If P6 Is Blank. +$! +$ IF (P6.EQS."") +$ THEN +$ POINTER_SIZE = "" +$ ELSE +$! +$! Check is P6 Is Valid +$! +$ IF (P6.EQS."32") +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (P6.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ ELSE +$ POINTER_SIZE = "/POINTER_SIZE=64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",P6," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The P6 Check. +$! +$ ENDIF +$! $! Check To See If P3 Is Blank. $! $ IF (P3.EQS."") @@ -780,7 +839,7 @@ $! $ CC = "CC" $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - THEN CC = "CC/DECC" -$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + - +$ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89''POINTER_SIZE'" + - "/NOLIST/PREFIX=ALL" + - "/INCLUDE=(SYS$DISK:[-.CRYPTO],SYS$DISK:[-])" + CCEXTRAFLAGS $! diff --git a/test/maketests.com b/test/maketests.com index 3d8129bf2a..5dd797e35d 100644 --- a/test/maketests.com +++ b/test/maketests.com @@ -36,6 +36,13 @@ $! SOCKETSHR for SOCKETSHR+NETLIB $! $! P4, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up) $! +$! For 64 bit architectures (Alpha and IA64), specify the pointer size as P5. +$! For 32 bit architectures (VAX), P5 is ignored. +$! Currently supported values are: +$! +$! 32 To ge a library compiled with /POINTER_SIZE=32 +$! 64 To ge a library compiled with /POINTER_SIZE=64 +$! $! $! Define A TCP/IP Library That We Will Need To Link To. $! (That is, If Wee Need To Link To One.) @@ -72,11 +79,11 @@ $ WRITE SYS$OUTPUT "Compiling On ''ARCH'." $! $! Define The CRYPTO-LIB We Are To Use. $! -$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB +$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO'LIB32'.OLB $! $! Define The SSL We Are To Use. $! -$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL.OLB +$ SSL_LIB := SYS$DISK:[-.'ARCH'.EXE.SSL]LIBSSL'LIB32'.OLB $! $! Create the OBJ and EXE Directories, if needed. $! @@ -496,7 +503,59 @@ $! End The Valid Arguement Check. $! $ ENDIF $! -$! End The P2 Check. +$! End The P1 Check. +$! +$ ENDIF +$! +$! Check To See If P5 Is Blank. +$! +$ IF (P5.EQS."") +$ THEN +$ POINTER_SIZE = "" +$ ELSE +$! +$! Check is P5 Is Valid +$! +$ IF (P5.EQS."32") +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ IF ARCH .EQS. "VAX" +$ THEN +$ LIB32 = "" +$ ELSE +$ LIB32 = "32" +$ ENDIF +$ ELSE +$ IF (P5.EQS."64") +$ THEN +$ LIB32 = "" +$ IF ARCH .EQS. "VAX" +$ THEN +$ POINTER_SIZE = "/POINTER_SIZE=32" +$ ELSE +$ POINTER_SIZE = "/POINTER_SIZE=64" +$ ENDIF +$ ELSE +$! +$! Tell The User Entered An Invalid Option.. +$! +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT "The Option ",P5," Is Invalid. The Valid Options Are:" +$ WRITE SYS$OUTPUT "" +$ WRITE SYS$OUTPUT " 32 : Compile with 32 bit pointer size" +$ WRITE SYS$OUTPUT " 64 : Compile with 64 bit pointer size" +$ WRITE SYS$OUTPUT "" +$! +$! Time To EXIT. +$! +$ GOTO TIDY +$! +$! End The Valid Arguement Check. +$! +$ ENDIF +$ ENDIF +$! +$! End The P5 Check. $! $ ENDIF $! @@ -627,7 +686,7 @@ $! $ CC = "CC" $ IF ARCH.EQS."VAX" .AND. F$TRNLNM("DECC$CC_DEFAULT").NES."/DECC" - THEN CC = "CC /DECC" -$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=ANSI89" + - +$ CC = CC + "/''CC_OPTIMIZE' /''DEBUGGER' /STANDARD=ANSI89 ''POINTER_SIZE'" + - "/NOLIST /PREFIX=ALL" + - "/INCLUDE=(SYS$DISK:[-],SYS$DISK:[-.CRYPTO])" + CCEXTRAFLAGS $!