$ Set NoOn $! $! 04-JAN-2024 MGD swap P1 and P2 functions $! P1 now specifies the OpenSSL version with 3.0 the default $! P2 when not empty builds X86 using the Itanium X-compiler $! X86 can be built on-platform using the native compile $! $!------------------------------------------------------------------------------ $! MMS_SETUP.COM -- Help set up the build environment for WASD $!------------------------------------------------------------------------------ $! $ Verify = F$VERIFY(0) $! $!------------------------------------------------------------------------------ $! Where are we located? Everything else is relative to this. $!------------------------------------------------------------------------------ $ Set := Set !Sanity check $ Set Symbol/Verb/Scope=(NoLocal,NoGlobal) !No strange commands allowed $ Proc = F$Environment("Procedure") !Get our procedure name $ Arch = F$GetSyi("ARCH_NAME") $ defroot := Define/NoLog/Translation=(Concealed, Terminal) $! $!------------------------------------------------------------------------------ $! Make sure WASD_ROOT is defined. $!------------------------------------------------------------------------------ $ device = F$Parse("[-]",Proc,,"Device","No_Conceal") $ local_dir = F$Parse("[-]",Proc,,"Directory","No_Conceal") $ wasd_root = device + local_dir - ".][000000" - "]" + ".]" $ defroot WASD_ROOT 'wasd_root' $! $!------------------------------------------------------------------------------ $! Get the package version into a variable $!------------------------------------------------------------------------------ $ SEARCH [.HTTPD]VERSION.H HTTPD_VERSION /OUTPUT=IMAGE_IDENT.LIS $ OPEN /READ IMAGEIDENT IMAGE_IDENT.LIS $ READ IMAGEIDENT IDENT $ CLOSE IMAGEIDENT $ DELETE /NOLOG /NOCONFIRM IMAGE_IDENT.LIS;* $ IMAGE_IDENT == F$ELEMENT(1,"""",IDENT) $ IF IMAGE_IDENT .EQS. "" .OR. IMAGE_IDENT .EQS. """" - THEN IMAGE_IDENT == "_UNKNOWN_" $! $!------------------------------------------------------------------------------ $! Process the parameters this procedure supports $! P1 = SSL Library to use $! Blank = build using latest VSI sharable library (currently V3.0) $! SSL3 = build using VSI SSL3 sharable library (V3.0) $! OLB3 = build using VSI SSL3 object libraries (V3.0) $! SSL111 = build using VSI SSL111 sharable library (V1.1.1) $! OLB111 = build using VSI SSL111 object libraries (V1.1.1) $! P2 = Build using the X86 cross tools if non-blank $! $!N.B. If building using the cross-tools for x86_64, the necessary SSL files $! must be copied from your x86 system into X86$LIBRARY on the IA64 system. $! They are not included as part of the cross-tools kit. $!------------------------------------------------------------------------------ $ IF P2 .NES. "" .AND. Arch .EQS. "IA64" $ THEN $ Arch := X86_64 $ @SYS$MANAGER:X86_XTOOLS$SYLOGIN.COM $ Library := X86$LIBRARY $ ObjLib111 := X86$LIBRARY $ ObjLib3 := X86$LIBRARY $ ELSE $ Library := SYS$LIBRARY $ ObjLib111 := SSL111$ROOT:[LIB] $ ObjLib3 := SSL3$ROOT:[LIB] $ ENDIF $! $! $ SSLVER = P1 $ IF SSLVER .EQS. "" THEN SSLVER = "SSL3" ! Current default $! $ IF SSLVER .EQS. "SSL3" $ THEN $ DEFINE /NOLOG OPENSSL SSL3$INCLUDE $ SSL_LIBSSL_LIB :== 'Library':SSL3$LIBSSL_SHR32.EXE/SHARE $ SSL_LIBCRYPTO_LIB :== 'Library':SSL3$LIBCRYPTO_SHR32.EXE/SHARE $ SESOLA_SHARE == 1 $ GOTO SSLEND $ ENDIF $ IF SSLVER .EQS. "OLB3" $ THEN $ DEFINE /NOLOG OPENSSL SSL3$INCLUDE $ SSL_LIBSSL_LIB :== 'ObjLib3'SSL3$LIBSSL32.OLB/LIBRARY $ SSL_LIBCRYPTO_LIB :== 'ObjLib3'SSL3$LIBCRYPTO32.OLB/LIBRARY $ SESOLA_SHARE == 0 $ GOTO SSLEND $ ENDIF $ IF SSLVER .EQS. "SSL111" $ THEN $ DEFINE /NOLOG OPENSSL SSL111$INCLUDE $ SSL_LIBSSL_LIB :== 'Library':SSL111$LIBSSL_SHR32.EXE/SHARE $ SSL_LIBCRYPTO_LIB :== 'Library':SSL111$LIBCRYPTO_SHR32.EXE/SHARE $ SESOLA_SHARE == 1 $ GOTO SSLEND $ ENDIF $ IF SSLVER .EQS. "OLB111" $ THEN $ DEFINE /NOLOG OPENSSL SSL111$INCLUDE $ SSL_LIBSSL_LIB :== 'ObjLib111'SSL111$LIBSSL32.OLB/LIBRARY $ SSL_LIBCRYPTO_LIB :== 'ObjLib111'SSL111$LIBCRYPTO32.OLB/LIBRARY $ SESOLA_SHARE == 0 $ GOTO SSLEND $ ENDIF $ IF SSLVER .EQS. "WASD111" $ THEN $ WRITE SYS$OUTPUT "(Note: WASD OpenSSL no longer supported)" $ ENDIF $! $ WRITE SYS$OUTPUT "Fatal: Unrecognized SSL version specified (''SSLVER')." $ LOGOUT/BRIEF $! $SSLEND: $!------------------------------------------------------------------------------ $! If the symbol SYSVER is defined, it specifies an earlier version of VMS to $! build against. Use libraries from that version instead of the currently $! running version. This is currently only valid for Alpha and Itanium. $! Currently, only 7.3-2 (Alpha), 8.2, 8.3, and 8.4 are supported. $! Symbol values are: 732, 82, 83, and 84. $!------------------------------------------------------------------------------ $! $ IF F$TYPE(SYSVER) .EQS. "" THEN GOTO ALLDONE $! $ IF Arch .eqs. "Alpha" $ Then $ DEFINE/NOLOG SYS$LOADABLE_IMAGES FREEWARE:[AVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG ALPHA$LOADABLE_IMAGES FREEWARE:[AVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG SYS$LIBRARY FREEWARE:[AVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$LIBRARY FREEWARE:[AVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG ALPHA$LIBRARY FREEWARE:[AVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$CRTLMAP DECC$LIBRARY:DECC$SHR $ EndIf $ IF Arch .eqs. "IA64" $ Then $ IF SYSVER .EQS. "732" THEN SYSVER := 83 ! earliest IA64 version I have $ DEFINE/NOLOG SYS$LOADABLE_IMAGES FREEWARE:[IVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG IA64$LOADABLE_IMAGES FREEWARE:[IVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG SYS$LIBRARY FREEWARE:[IVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$LIBRARY FREEWARE:[IVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG IA64$LIBRARY FREEWARE:[IVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$CRTLMAP DECC$LIBRARY:DECC$SHR $ EndIf $ IF Arch .eqs. "x86_64" $ Then $ DEFINE/NOLOG SYS$LOADABLE_IMAGES FREEWARE:[XVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG X86$LOADABLE_IMAGES FREEWARE:[XVMS'SYSVER'.VMS$COMMON.SYS$LDR] $ DEFINE/NOLOG SYS$LIBRARY FREEWARE:[XVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$LIBRARY FREEWARE:[XVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG X86$LIBRARY FREEWARE:[XVMS'SYSVER'.VMS$COMMON.SYSLIB] $ DEFINE/NOLOG DECC$CRTLMAP DECC$LIBRARY:DECC$SHR $ EndIf $! $!------------------------------------------------------------------------------ $! Exit the procedure $!------------------------------------------------------------------------------ $! $ALLDONE: $ Verify = F$VERIFY(Verify) $! $ EXIT