Skip to content
makevms.com 37.9 KiB
Newer Older
Ulf Möller's avatar
Ulf Möller committed
$! MAKEVMS.COM
$! Original Author:  UNKNOWN
$! Rewritten By:  Robert Byer
$!                Vice-President
$!                A-Com Computing, Inc.
$!                byer@mail.all-net.net
$!
$! Changes by Richard Levitte <richard@levitte.org>
$!	      Zoltan Arpadffy <zoli@polarhome.com>
Ulf Möller's avatar
Ulf Möller committed
$!
$! This procedure creates the SSL libraries of "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB"
$! The "xxx" denotes the machine architecture of ALPHA, IA64 or VAX.
Ulf Möller's avatar
Ulf Möller committed
$!
$! This procedures accepts two command line options listed below.
$!
$! P1 specifies one of the following build options:
Ulf Möller's avatar
Ulf Möller committed
$!
$!      ALL       Just build "everything".
$!      CONFIG    Just build the "[.CRYPTO._xxx]OPENSSLCONF.H" file.
$!      BUILDINF  Just build the "[.CRYPTO._xxx]BUILDINF.H" file.
Ulf Möller's avatar
Ulf Möller committed
$!      SOFTLINKS Just fix the Unix soft links.
$!      BUILDALL  Same as ALL, except CONFIG, BUILDINF and SOFTILNKS aren't done.
Ulf Möller's avatar
Ulf Möller committed
$!      CRYPTO    Just build the "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
$!      CRYPTO/x  Just build the x part of the
$!                "[.xxx.EXE.CRYPTO]LIBCRYPTO.OLB" library.
Ulf Möller's avatar
Ulf Möller committed
$!      SSL       Just build the "[.xxx.EXE.SSL]LIBSSL.OLB" library.
$!      SSL_TASK  Just build the "[.xxx.EXE.SSL]SSL_TASK.EXE" program.
$!      TEST      Just build the "[.xxx.EXE.TEST]" test programs for OpenSSL.
$!      APPS      Just build the "[.xxx.EXE.APPS]" application programs for OpenSSL.
$!      ENGINES   Just build the "[.xxx.EXE.ENGINES]" application programs for OpenSSL.
Ulf Möller's avatar
Ulf Möller committed
$!
$! P2, if defined, specifies the C pointer size.  Ignored on VAX.
$!     Supported values are:
Ulf Möller's avatar
Ulf Möller committed
$!
$!      ""      Compile with default (/NOPOINTER_SIZE)
$!      32      Compile with /POINTER_SIZE=32 (SHORT)
$!      64      Compile with /POINTER_SIZE=64[=ARGV] (LONG[=ARGV])
$! P3 specifies DEBUG or NODEBUG, to compile with or without debugging
$!    information.
$! P4 specifies which compiler to try to compile under.
Ulf Möller's avatar
Ulf Möller committed
$!
$!	  VAXC	 For VAX C.
$!	  DECC	 For DEC C.
$!	  GNUC	 For GNU C.
$!	  LINK   To only link the programs from existing object files.
$!               (not yet implemented)
Ulf Möller's avatar
Ulf Möller committed
$!
$! If you don't specify a compiler, it will try to determine which
Ulf Möller's avatar
Ulf Möller committed
$! "C" compiler to use.
$!
$! P5, if defined, sets a TCP/IP library to use, through one of the following
$! keywords:
Ulf Möller's avatar
Ulf Möller committed
$!
$!	UCX		for UCX or UCX emulation
$!	TCPIP		for TCP/IP Services or TCP/IP Services emulation
$!			(this is prefered over UCX)
Ulf Möller's avatar
Ulf Möller committed
$!	SOCKETSHR	for SOCKETSHR+NETLIB
$!	NONE		to avoid specifying which TCP/IP implementation to
$!			use at build time (this works with DEC C).  This is
$!			the default.
Ulf Möller's avatar
Ulf Möller committed
$!
$! P6, if defined, sets a compiler thread NOT needed on OpenVMS 7.1 (and up).
$!
$! P7, if defined, specifies a directory where ZLIB files (zlib.h,
$! libz.olb) may be found.  Optionally, a non-default object library
$! name may be included ("dev:[dir]libz_64.olb", for example).
$!
Ulf Möller's avatar
Ulf Möller committed
$!
$! Announce/identify.
$!
$ proc = f$environment( "procedure")
$ write sys$output "@@@ "+ -
   f$parse( proc, , , "name")+ f$parse( proc, , , "type")
Ulf Möller's avatar
Ulf Möller committed
$!
$ DEF_ORIG = F$ENVIRONMENT( "DEFAULT")
$ ON ERROR THEN GOTO TIDY
$ ON CONTROL_C THEN GOTO TIDY
$!
$! Check if we're in a batch job, and make sure we get to 
$! the directory this script is in
$!
$ IF F$MODE() .EQS. "BATCH"
$ THEN
$   COMNAME=F$ENVIRONMENT("PROCEDURE")
$   COMPATH=F$PARSE("A.;",COMNAME) - "A.;"
$   SET DEF 'COMPATH'
$ ENDIF
$!
$! Check What Architecture We Are Using.
Ulf Möller's avatar
Ulf Möller committed
$!
Ulf Möller's avatar
Ulf Möller committed
$ THEN
$!
Ulf Möller's avatar
Ulf Möller committed
$!
Ulf Möller's avatar
Ulf Möller committed
$!
$! Else...
$!
$ ELSE
$!
$!  The Architecture Is Alpha, IA64 or whatever comes in the future.
Ulf Möller's avatar
Ulf Möller committed
$!
$   ARCH = F$EDIT( F$GETSYI( "ARCH_NAME"), "UPCASE")
$   IF (ARCH .EQS. "") THEN ARCH = "UNK"
Ulf Möller's avatar
Ulf Möller committed
$!
$! End The Architecture Check.
$!
$ ENDIF
$!
$ ARCHD = ARCH
$ LIB32 = "32"
$ POINTER_SIZE = ""
$!
$! Get VMS version.
$!
$ VMS_VERSION = f$edit( f$getsyi( "VERSION"), "TRIM")
$!
Ulf Möller's avatar
Ulf Möller committed
$! Check To Make Sure We Have Valid Command Line Parameters.
$!
$ GOSUB CHECK_OPTIONS
$!
$! Check To See What We Are To Do.
$!
Ulf Möller's avatar
Ulf Möller committed
$ THEN
$!
$!  Start with building the OpenSSL configuration file.
Ulf Möller's avatar
Ulf Möller committed
$!
Ulf Möller's avatar
Ulf Möller committed
$!
Ulf Möller's avatar
Ulf Möller committed
$!  Create The "BUILDINF.H" Include File.
Ulf Möller's avatar
Ulf Möller committed
$!
Ulf Möller's avatar
Ulf Möller committed
$   GOSUB BUILDINF
Ulf Möller's avatar
Ulf Möller committed
$!
$!  Fix The Unix Softlinks.
$!
$   GOSUB SOFTLINKS
$!
$ ENDIF
$!
$ IF (BUILDCOMMAND.EQS."ALL".OR.BUILDCOMMAND.EQS."BUILDALL")
$ THEN
$!
Ulf Möller's avatar
Ulf Möller committed
$!  Build The [.xxx.EXE.CRYPTO]LIBCRYPTO.OLB Library.
$!
$   GOSUB CRYPTO
$!
$!  Build The [.xxx.EXE.SSL]LIBSSL.OLB Library.
$!
$   GOSUB SSL
$!
$!  Build The [.xxx.EXE.SSL]SSL_TASK.EXE DECNet SSL Engine.
$!
$   GOSUB SSL_TASK
$!
$!  Build The [.xxx.EXE.TEST] OpenSSL Test Utilities.
$!
$   GOSUB TEST
$!
$!  Build The [.xxx.EXE.APPS] OpenSSL Application Utilities.
$!
$   GOSUB APPS
$!
$!  Build The [.xxx.EXE.ENGINES] OpenSSL Shareable Engines.
$!
$   GOSUB ENGINES
$!
Ulf Möller's avatar
Ulf Möller committed
$! Else...
$!
$ ELSE
$!
$!    Build Just What The User Wants Us To Build.
$!
Ulf Möller's avatar
Ulf Möller committed
$ ENDIF
$!
$! Time To EXIT.
$!
$! Rebuild The [.CRYPTO._xxx]OPENSSLCONF.H" file.
$! Tell The User We Are Creating The [.CRYPTO._xxx]OPENSSLCONF.H File.
$ WRITE SYS$OUTPUT "Creating [.CRYPTO.''ARCHD']OPENSSLCONF.H Include File."
$! First, make sure the directory exists.
$ IF F$PARSE("SYS$DISK:[.CRYPTO.''ARCHD']") .EQS. "" THEN -
     CREATE/DIRECTORY SYS$DISK:[.CRYPTO.'ARCHD']
$! Different tar/UnZip versions/option may have named the file differently
Loading
Loading full blame…