Commit cc8cc9a3 authored by Richard Levitte's avatar Richard Levitte
Browse files

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)
parent af55c09d
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -12,6 +12,14 @@ $ WRITE SYS$OUTPUT "Should be the directory where you want things installed.
$	    EXIT
$	ENDIF
$
$	IF (F$GETSYI("CPU").LT.128)
$	THEN
$	    ARCH := VAX
$	ELSE
$	    ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE")
$	    IF (ARCH .EQS. "") THEN ARCH = "UNK"
$	ENDIF
$
$	ROOT = F$PARSE(P1,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0"
$	ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY")
$	ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
@@ -19,13 +27,7 @@ $ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
$	ROOT = ROOT_DEV + "[" + ROOT_DIR
$
$	DEFINE/NOLOG WRK_SSLROOT 'ROOT'.] /TRANS=CONC
$	DEFINE/NOLOG WRK_SSLVLIB WRK_SSLROOT:[VAX_LIB]
$	DEFINE/NOLOG WRK_SSLALIB WRK_SSLROOT:[ALPHA_LIB]
$	DEFINE/NOLOG WRK_SSLINCLUDE WRK_SSLROOT:[INCLUDE]
$	DEFINE/NOLOG WRK_SSLVEXE WRK_SSLROOT:[VAX_EXE]
$	DEFINE/NOLOG WRK_SSLAEXE WRK_SSLROOT:[ALPHA_EXE]
$	DEFINE/NOLOG WRK_SSLCERTS WRK_SSLROOT:[CERTS]
$	DEFINE/NOLOG WRK_SSLPRIVATE WRK_SSLROOT:[PRIVATE]
$
$	IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLROOT:[000000]
@@ -39,7 +41,7 @@ $ IF F$SEARCH("WRK_SSLINCLUDE:vms_idhacks.h") .NES. "" THEN -
$
$	OPEN/WRITE SF WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM
$	WRITE SYS$OUTPUT "%OPEN-I-CREATED,  ",F$SEARCH("WRK_SSLROOT:[VMS]OPENSSL_STARTUP.COM")," created."
$	WRITE SF "$! Startup file for Openssl 0.9.2-RL 15-Mar-1999"
$	WRITE SF "$! Startup file for Openssl"
$	WRITE SF "$!"
$	WRITE SF "$! Do not edit this file, as it will be regenerated during next installation."
$	WRITE SF "$! Instead, add or change SSLROOT:[VMS]OPENSSL_SYSTARTUP.COM"
@@ -47,8 +49,13 @@ $ WRITE SF "$!"
$	WRITE SF "$! P1	a qualifier to DEFINE.  For example ""/SYSTEM"" to get the logical names"
$	WRITE SF "$!	defined in the system logical name table."
$	WRITE SF "$!"
$	WRITE SF "$	ARCH = ""VAX"""
$	WRITE SF "$	IF F$GETSYI(""CPU"") .GE. 128 THEN ARCH = ""ALPHA"""
$	WRITE SF "$	IF (F$GETSYI(""CPU"").LT.128)"
$	WRITE SF "$	THEN"
$	WRITE SF "$	    ARCH := VAX"
$	WRITE SF "$	ELSE"
$	WRITE SF "$	    ARCH = F$EDIT( F$GETSYI( ""ARCH_NAME""), ""UPCASE"")"
$	WRITE SF "$	    IF (ARCH .EQS. """") THEN ARCH = ""UNK"""
$	WRITE SF "$	ENDIF"
$	WRITE SF "$	DEFINE/NOLOG'P1	SSLROOT		",ROOT,".] /TRANS=CONC"
$	WRITE SF "$	DEFINE/NOLOG'P1	SSLLIB		SSLROOT:['ARCH'_LIB]"
$	WRITE SF "$	DEFINE/NOLOG'P1	SSLINCLUDE	SSLROOT:[INCLUDE]"
+40 −23
Original line number Diff line number Diff line
@@ -3,10 +3,10 @@ $!
$! No command line parameters.  This should be run at the start of the source
$! tree (the same directory where one finds INSTALL.VMS).
$!
$! Input:	[.UTIL]LIBEAY.NUM,[.AXP.EXE.CRYPTO]LIBCRYPTO.OLB
$!		[.UTIL]SSLEAY.NUM,[.AXP.EXE.SSL]LIBSSL.OLB
$! Output:	[.AXP.EXE.CRYPTO]LIBCRYPTO.OPT,.MAP,.EXE
$!		[.AXP.EXE.SSL]LIBSSL.OPT,.MAP,.EXE
$! Input:	[.UTIL]LIBEAY.NUM,[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB
$!		[.UTIL]SSLEAY.NUM,[.xxx.EXE.SSL]LIBSSL.OLB
$! Output:	[.xxx.EXE.CRYPTO]LIBCRYPTO.OPT,.MAP,.EXE
$!		[.xxx.EXE.SSL]LIBSSL.OPT,.MAP,.EXE
$!
$! So far, tests have only been made on VMS for Alpha.  VAX will come in time.
$! ===========================================================================
@@ -19,31 +19,41 @@ $ write sys$error "ERROR: Couldn't find any library version info..."
$   exit
$ endif
$
$ if f$getsyi("CPU") .ge. 128
$ if (f$getsyi("cpu").lt.128)
$ then
$     arch := VAX
$ else
$     arch = f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
$     if (arch .eqs. "") then arch = "UNK"
$ endif
$
$ if arch .nes. "VAX"
$ then
$   arch_vax = 0
$   libid  = "Crypto"
$   libnum = "[.UTIL]LIBEAY.NUM"
$   libdir = "[.AXP.EXE.CRYPTO]"
$   libdir = "[.''ARCH'.EXE.CRYPTO]"
$   libolb = "''libdir'LIBCRYPTO.OLB"
$   libopt = "''libdir'LIBCRYPTO.OPT"
$   libmap = "''libdir'LIBCRYPTO.MAP"
$   libgoal= "''libdir'LIBCRYPTO.EXE"
$   libref = ""
$   gosub create_axp_shr
$   gosub create_nonvax_shr
$   libid  = "SSL"
$   libnum = "[.UTIL]SSLEAY.NUM"
$   libdir = "[.AXP.EXE.SSL]"
$   libdir = "[.''ARCH'.EXE.SSL]"
$   libolb = "''libdir'LIBSSL.OLB"
$   libopt = "''libdir'LIBSSL.OPT"
$   libmap = "''libdir'LIBSSL.MAP"
$   libgoal= "''libdir'LIBSSL.EXE"
$   libref = "[.AXP.EXE.CRYPTO]LIBCRYPTO.EXE"
$   gosub create_axp_shr
$   libref = "[.''ARCH'.EXE.CRYPTO]LIBCRYPTO.EXE"
$   gosub create_nonvax_shr
$ else
$   arch_vax = 1
$   libtit = "CRYPTO_TRANSFER_VECTOR"
$   libid  = "Crypto"
$   libnum = "[.UTIL]LIBEAY.NUM"
$   libdir = "[.VAX.EXE.CRYPTO]"
$   libdir = "[.''ARCH'.EXE.CRYPTO]"
$   libmar = "''libdir'LIBCRYPTO.MAR"
$   libolb = "''libdir'LIBCRYPTO.OLB"
$   libopt = "''libdir'LIBCRYPTO.OPT"
@@ -56,22 +66,22 @@ $ gosub create_vax_shr
$   libtit = "SSL_TRANSFER_VECTOR"
$   libid  = "SSL"
$   libnum = "[.UTIL]SSLEAY.NUM"
$   libdir = "[.VAX.EXE.SSL]"
$   libdir = "[.''ARCH'.EXE.SSL]"
$   libmar = "''libdir'LIBSSL.MAR"
$   libolb = "''libdir'LIBSSL.OLB"
$   libopt = "''libdir'LIBSSL.OPT"
$   libobj = "''libdir'LIBSSL.OBJ"
$   libmap = "''libdir'LIBSSL.MAP"
$   libgoal= "''libdir'LIBSSL.EXE"
$   libref = "[.VAX.EXE.CRYPTO]LIBCRYPTO.EXE"
$   libref = "[.''ARCH'.EXE.CRYPTO]LIBCRYPTO.EXE"
$   libvec = "LIBSSL"
$   gosub create_vax_shr
$ endif
$ exit
$
$! ----- Soubroutines to actually build the shareable libraries
$! The way things work, there's a main shareable library creator for each
$! supported architecture, which is called from the main code above.
$! ----- Soubroutines 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
$! subroutines what routines to use to write to the option files, call the
$! main processor, read_func_num, and when that is done, it will write version
@@ -97,10 +107,10 @@ $! read_func_num depends on the following variables from the creator:
$! libwriter	The name of the writer routine to call for each .num file line
$! -----
$
$! ----- Subroutines for AXP
$! ----- Subroutines for non-VAX
$! -----
$! The creator routine
$ create_axp_shr:
$ create_nonvax_shr:
$   open/write opt 'libopt'
$   write opt "identification=""",libid," ",libverstr,""""
$   write opt libolb,"/lib"
@@ -108,7 +118,7 @@ $ if libref .nes. "" then write opt libref,"/SHARE"
$   write opt "SYMBOL_VECTOR=(-"
$   libfirstentry := true
$   libwrch   := opt
$   libwriter := write_axp_transfer_entry
$   libwriter := write_nonvax_transfer_entry
$   textcount = 0
$   gosub read_func_num
$   write opt ")"
@@ -118,7 +128,7 @@ $ link/map='libmap'/full/share='libgoal' 'libopt'/option
$   return
$
$! The record writer routine
$ write_axp_transfer_entry:
$ write_nonvax_transfer_entry:
$   if libentry .eqs. ".dummy" then return
$   if info_kind .eqs. "VARIABLE"
$   then
@@ -144,7 +154,7 @@ $ libfirstentry := false
$   textcount = textcount + textcount_this
$   return
$
$! ----- Subroutines for AXP
$! ----- Subroutines for VAX
$! -----
$! The creator routine
$ create_vax_shr:
@@ -264,8 +274,15 @@ $ truesum = truesum + 1
$           if plat_entry .eqs. "!EXPORT_VAR_AS_FUNCTION" then -
$             falsesum = falsesum + 1
$         endif
$         if plat_entry .eqs. "VMS" then truesum = truesum + 1
$         if plat_entry .eqs. "!VMS" then falsesum = falsesum + 1
$!
$         if ((plat_entry .eqs. "VMS") .or. -
            (arch_vax .and. (plat_entry .eqs. "VMSVAX"))) then -
            truesum = truesum + 1
$!
$         if ((plat_entry .eqs. "!VMS") .or. -
            (arch_vax .and. (plat_entry .eqs. "!VMSVAX"))) then -
            falsesum = falsesum + 1
$!
$	  goto loop1
$       endif
$     endloop1:
+35 −27
Original line number Diff line number Diff line
@@ -8,10 +8,17 @@ $!
$!
$! Slightly modified by Richard Levitte <richard@levitte.org>
$!
$!
$! Always define OPENSSL.  Others are optional (non-null P1).
$!
$ OPENSSL  :== $SSLEXE:OPENSSL
$
$ IF (P1 .NES. "")
$ THEN
$     VERIFY   :== $SSLEXE:OPENSSL VERIFY
$     ASN1PARSE:== $SSLEXE:OPENSSL ASN1PARS
$ REQ      :== $SSLEXE:OPENSSL REQ
$! REQ could conflict with REQUEST.
$     OREQ     :== $SSLEXE:OPENSSL REQ
$     DGST     :== $SSLEXE:OPENSSL DGST
$     DH       :== $SSLEXE:OPENSSL DH
$     ENC      :== $SSLEXE:OPENSSL ENC
@@ -36,3 +43,4 @@ $ SESS_ID :== $SSLEXE:OPENSSL SESS_ID
$     CIPHERS  :== $SSLEXE:OPENSSL CIPHERS
$     NSEQ     :== $SSLEXE:OPENSSL NSEQ
$     PKCS12   :== $SSLEXE:OPENSSL PKCS12
$ ENDIF
+19 −23
Original line number Diff line number Diff line
@@ -5,13 +5,23 @@ $! Time of creation: 22-MAY-1998 10:13
$!
$! P1	root of the directory tree
$!
$
$	IF P1 .EQS. ""
$	THEN
$	    WRITE SYS$OUTPUT "First argument missing."
$	    WRITE SYS$OUTPUT "Should be the directory where you want things installed."
$	    WRITE SYS$OUTPUT -
		  "Should be the directory where you want things installed."
$	    EXIT
$	ENDIF
$
$	IF (F$GETSYI("CPU").LT.128)
$	THEN
$	    ARCH := VAX
$	ELSE
$	    ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE")
$	    IF (ARCH .EQS. "") THEN ARCH = "UNK"
$	ENDIF
$
$	ROOT = F$PARSE(P1,"[]A.;0",,,"SYNTAX_ONLY,NO_CONCEAL") - "A.;0"
$	ROOT_DEV = F$PARSE(ROOT,,,"DEVICE","SYNTAX_ONLY")
$	ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
@@ -19,23 +29,16 @@ $ ROOT_DIR = F$PARSE(ROOT,,,"DIRECTORY","SYNTAX_ONLY") -
$	ROOT = ROOT_DEV + "[" + ROOT_DIR
$
$	DEFINE/NOLOG WRK_SSLROOT 'ROOT'.] /TRANS=CONC
$	DEFINE/NOLOG WRK_SSLVEXE WRK_SSLROOT:[VAX_EXE]
$	DEFINE/NOLOG WRK_SSLAEXE WRK_SSLROOT:[ALPHA_EXE]
$	DEFINE/NOLOG WRK_SSLLIB WRK_SSLROOT:[LIB]
$	DEFINE/NOLOG WRK_SSLEXE WRK_SSLROOT:['ARCH'_EXE]
$
$	IF F$PARSE("WRK_SSLROOT:[000000]") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLROOT:[000000]
$	IF F$PARSE("WRK_SSLVEXE:") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLVEXE:
$	IF F$PARSE("WRK_SSLAEXE:") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLAEXE:
$	IF F$PARSE("WRK_SSLLIB:") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLLIB:
$	IF F$PARSE("WRK_SSLEXE:") .EQS. "" THEN -
	   CREATE/DIR/LOG WRK_SSLEXE:
$
$	EXE := openssl
$
$	VEXE_DIR := [-.VAX.EXE.APPS]
$	AEXE_DIR := [-.AXP.EXE.APPS]
$	EXE_DIR := [-.'ARCH'.EXE.APPS]
$
$	I = 0
$ LOOP_EXE: 
@@ -43,24 +46,17 @@ $ E = F$EDIT(F$ELEMENT(I, ",", EXE),"TRIM")
$	I = I + 1
$	IF E .EQS. "," THEN GOTO LOOP_EXE_END
$	SET NOON
$	IF F$SEARCH(VEXE_DIR+E+".EXE") .NES. ""
$	THEN
$	  COPY 'VEXE_DIR''E'.EXE WRK_SSLVEXE:'E'.EXE/log
$	  SET FILE/PROT=W:RE WRK_SSLVEXE:'E'.EXE
$	ENDIF
$	IF F$SEARCH(AEXE_DIR+E+".EXE") .NES. ""
$	IF F$SEARCH(EXE_DIR+E+".EXE") .NES. ""
$	THEN
$	  COPY 'AEXE_DIR''E'.EXE WRK_SSLAEXE:'E'.EXE/log
$	  SET FILE/PROT=W:RE WRK_SSLAEXE:'E'.EXE
$	  COPY 'EXE_DIR''E'.EXE WRK_SSLEXE:'E'.EXE/log
$	  SET FILE/PROT=W:RE WRK_SSLEXE:'E'.EXE
$	ENDIF
$	SET ON
$	GOTO LOOP_EXE
$ LOOP_EXE_END:
$
$	SET NOON
$	COPY CA.COM WRK_SSLAEXE:CA.COM/LOG
$	SET FILE/PROT=W:RE WRK_SSLAEXE:CA.COM
$	COPY CA.COM WRK_SSLVEXE:CA.COM/LOG
$	COPY CA.COM WRK_SSLEXE:CA.COM/LOG
$	SET FILE/PROT=W:RE WRK_SSLVEXE:CA.COM
$	COPY OPENSSL-VMS.CNF WRK_SSLROOT:[000000]OPENSSL.CNF/LOG
$	SET FILE/PROT=W:R WRK_SSLROOT:[000000]OPENSSL.CNF
+35 −31
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ $!
$!  This command files compiles and creates all the various different
$!  "application" programs for the different types of encryption for OpenSSL.
$!  The EXE's are placed in the directory [.xxx.EXE.APPS] where "xxx" denotes
$!  either AXP or VAX depending on your machine architecture.
$!  ALPHA, IA64 or VAX, depending on your machine architecture.
$!
$!  It was written so it would try to determine what "C" compiler to
$!  use or you can specify which "C" compiler to use.
@@ -46,20 +46,21 @@ $ TCPIP_LIB = ""
$!
$! 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.
$!
@@ -69,18 +70,6 @@ $! Define what programs should be compiled
$!
$ PROGRAMS := OPENSSL
$!
$! Check To Make Sure We Have Valid Command Line Parameters.
$!
$ GOSUB CHECK_OPTIONS
$!
$! Initialise logical names and such
$!
$ GOSUB INITIALISE
$!
$! Tell The User What Kind of Machine We Run On.
$!
$ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine."
$!
$! Define The CRYPTO Library.
$!
$ CRYPTO_LIB := SYS$DISK:[-.'ARCH'.EXE.CRYPTO]LIBCRYPTO.OLB
@@ -93,6 +82,22 @@ $! Define The OBJ Directory.
$!
$ OBJ_DIR := SYS$DISK:[-.'ARCH'.OBJ.APPS]
$!
$! Define The EXE Directory.
$!
$ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.APPS]
$!
$! Check To Make Sure We Have Valid Command Line Parameters.
$!
$ GOSUB CHECK_OPTIONS
$!
$! Initialise logical names and such
$!
$ GOSUB INITIALISE
$!
$! Tell The User What Kind of Machine We Run On.
$!
$ WRITE SYS$OUTPUT "Compiling On A ",ARCH," Machine."
$!
$! Check To See If The OBJ Directory Exists.
$!
$ IF (F$PARSE(OBJ_DIR).EQS."")
@@ -106,10 +111,6 @@ $! End The OBJ Directory Check.
$!
$ ENDIF
$!
$! Define The EXE Directory.
$!
$ EXE_DIR := SYS$DISK:[-.'ARCH'.EXE.APPS]
$!
$! Check To See If The EXE Directory Exists.
$!
$ IF (F$PARSE(EXE_DIR).EQS."")
@@ -132,6 +133,9 @@ $!
$ GOSUB CHECK_OPT_FILE
$!
$! Define The Application Files.
$! NOTE: Some might think this list ugly.  However, it's made this way to
$! reflect the E_OBJ variable in Makefile as closely as possible, thereby
$! making it fairly easy to verify that the lists are the same.
$!
$ LIB_OPENSSL = "VERIFY,ASN1PARS,REQ,DGST,DH,DHPARAM,ENC,PASSWD,GENDH,ERRSTR,"+-
	     	"CA,PKCS7,CRL2P7,CRL,"+-
@@ -420,19 +424,19 @@ $! Else...
$!
$     ELSE
$!
$!      Create The AXP Linker Option File.
$!      Create The non-VAX Linker Option File.
$!
$       CREATE 'OPT_FILE'
$DECK
!
! Default System Options File For AXP To Link Agianst 
! Default System Options File For non-VAX To Link Agianst 
! The Sharable C Runtime Library.
!
SYS$SHARE:CMA$OPEN_LIB_SHR/SHARE
SYS$SHARE:CMA$OPEN_RTL/SHARE
$EOD
$!
$!    End The VAX/AXP DEC C Option File Check.
$!    End The DEC C Option File Check.
$!
$     ENDIF
$!
@@ -581,7 +585,7 @@ $ ELSE
$!
$!  Check To See If We Have VAXC Or DECC.
$!
$     IF (ARCH.EQS."AXP").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."")
$     IF (ARCH.NES."VAX").OR.(F$TRNLNM("DECC$CC_DEFAULT").NES."")
$     THEN 
$!
$!      Looks Like DECC, Set To Use DECC.
@@ -691,7 +695,7 @@ $ CC = CC + "/''CC_OPTIMIZE'/''DEBUGGER'/STANDARD=ANSI89" + -
$!
$!    Define The Linker Options File Name.
$!
$     OPT_FILE = "SYS$DISK:[]VAX_DECC_OPTIONS.OPT"
$     OPT_FILE = "''EXE_DIR'VAX_DECC_OPTIONS.OPT"
$!
$!  End DECC Check.
$!
@@ -712,9 +716,9 @@ $!
$!    Compile Using VAXC.
$!
$     CC = "CC"
$     IF ARCH.EQS."AXP"
$     IF ARCH.NES."VAX"
$     THEN
$	WRITE SYS$OUTPUT "There is no VAX C on Alpha!"
$	WRITE SYS$OUTPUT "There is no VAX C on ''ARCH'!"
$	EXIT
$     ENDIF
$     IF F$TRNLNM("DECC$CC_DEFAULT").EQS."/DECC" THEN CC = "CC/VAXC"
@@ -728,7 +732,7 @@ $ DEFINE/NOLOG SYS SYS$COMMON:[SYSLIB]
$!
$!    Define The Linker Options File Name.
$!
$     OPT_FILE = "SYS$DISK:[]VAX_VAXC_OPTIONS.OPT"
$     OPT_FILE = "''EXE_DIR'VAX_VAXC_OPTIONS.OPT"
$!
$!  End VAXC Check
$!
@@ -755,7 +759,7 @@ $ CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + -
$!
$!    Define The Linker Options File Name.
$!
$     OPT_FILE = "SYS$DISK:[]VAX_GNUC_OPTIONS.OPT"
$     OPT_FILE = "''EXE_DIR'VAX_GNUC_OPTIONS.OPT"
$!
$!  End The GNU C Check.
$!
Loading