1*e0c4386eSCy Schubert$ ! OpenSSL startup script 2*e0c4386eSCy Schubert$ ! 3*e0c4386eSCy Schubert$ ! This script defines the logical names used by the installation 4*e0c4386eSCy Schubert$ ! of OpenSSL. It can provide those logical names at any level, 5*e0c4386eSCy Schubert$ ! defined by P1. 6*e0c4386eSCy Schubert$ ! 7*e0c4386eSCy Schubert$ ! The logical names created are: 8*e0c4386eSCy Schubert$ ! 9*e0c4386eSCy Schubert$ ! OSSL$INSTROOT Installation root 10*e0c4386eSCy Schubert$ ! OSSL$DATAROOT Data root (common directory 11*e0c4386eSCy Schubert$ ! for certs etc) 12*e0c4386eSCy Schubert$ ! OSSL$INCLUDE Include directory root 13*e0c4386eSCy Schubert$ ! OSSL$LIB Where the static library files 14*e0c4386eSCy Schubert$ ! are located 15*e0c4386eSCy Schubert$ ! OSSL$SHARE Where the shareable image files 16*e0c4386eSCy Schubert$ ! are located 17*e0c4386eSCy Schubert$ ! OSSL$EXE Where the executables are located 18*e0c4386eSCy Schubert$ ! OSSL$ENGINESnnn Where the engines modules are located 19*e0c4386eSCy Schubert$ ! OSSL$MODULES Where the non-engine modules are located 20*e0c4386eSCy Schubert$ ! OSSL$LIBCRYPTO The static crypto library 21*e0c4386eSCy Schubert$ ! OSSL$LIBSSL The static ssl library 22*e0c4386eSCy Schubert$ ! OSSL$LIBCRYPTOnnn_SHR The shareable crypto image 23*e0c4386eSCy Schubert$ ! OSSL$LIBSSLnnn_SHR The shareable ssl image 24*e0c4386eSCy Schubert$ ! OPENSSL is OSSL$INCLUDE:[OPENSSL] 25*e0c4386eSCy Schubert$ ! 26*e0c4386eSCy Schubert$ ! In all these, nnn is the OpenSSL version number. This allows 27*e0c4386eSCy Schubert$ ! several OpenSSL versions to be installed simultaneously, which 28*e0c4386eSCy Schubert$ ! matters for applications that are linked to the shareable images 29*e0c4386eSCy Schubert$ ! or that depend on engines. 30*e0c4386eSCy Schubert$ ! 31*e0c4386eSCy Schubert$ ! In addition, unless P2 is "NOALIASES", these logical names are 32*e0c4386eSCy Schubert$ ! created: 33*e0c4386eSCy Schubert$ ! 34*e0c4386eSCy Schubert$ ! OSSL$ENGINES Alias for OSSL$ENGINESnnn 35*e0c4386eSCy Schubert$ ! OSSL$LIBCRYPTO_SHR Alias for OSSL$LIBCRYPTOnnn_SHR 36*e0c4386eSCy Schubert$ ! OSSL$LIBSSL_SHR Alias for OSSL$LIBSSLnnn_SHR 37*e0c4386eSCy Schubert$ ! 38*e0c4386eSCy Schubert$ ! P1 Qualifier(s) for DEFINE. "/SYSTEM" would be typical when 39*e0c4386eSCy Schubert$ ! calling this script from SYS$STARTUP:SYSTARTUP_VMS.COM, 40*e0c4386eSCy Schubert$ ! while "/PROCESS" would be typical for a personal install. 41*e0c4386eSCy Schubert$ ! Default: /PROCESS 42*e0c4386eSCy Schubert$ ! 43*e0c4386eSCy Schubert$ ! P2 If the value is "NOALIASES", no alias logical names are 44*e0c4386eSCy Schubert$ ! created. 45*e0c4386eSCy Schubert$ 46*e0c4386eSCy Schubert$ status = %x10000001 ! Generic success 47*e0c4386eSCy Schubert$ 48*e0c4386eSCy Schubert$ ! In case there's a problem 49*e0c4386eSCy Schubert$ ON CONTROL_Y THEN GOTO bailout 50*e0c4386eSCy Schubert$ ON ERROR THEN GOTO bailout 51*e0c4386eSCy Schubert$ 52*e0c4386eSCy Schubert$ ! Find the architecture 53*e0c4386eSCy Schubert$ IF F$GETSYI("CPU") .LT. 128 54*e0c4386eSCy Schubert$ THEN 55*e0c4386eSCy Schubert$ arch := VAX 56*e0c4386eSCy Schubert$ ELSE 57*e0c4386eSCy Schubert$ arch = F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE") 58*e0c4386eSCy Schubert$ IF arch .EQS. "" THEN GOTO unknown_arch 59*e0c4386eSCy Schubert$ ENDIF 60*e0c4386eSCy Schubert$ 61*e0c4386eSCy Schubert$ ! Generated information 62*e0c4386eSCy Schubert$ INSTALLTOP := {- $config{INSTALLTOP} -} 63*e0c4386eSCy Schubert$ OPENSSLDIR := {- $config{OPENSSLDIR} -} 64*e0c4386eSCy Schubert$ 65*e0c4386eSCy Schubert$ ! Make sure that INSTALLTOP and OPENSSLDIR become something one 66*e0c4386eSCy Schubert$ ! can build concealed logical names on 67*e0c4386eSCy Schubert$ INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") - 68*e0c4386eSCy Schubert - ".][000000" - "[000000." - "][" - "]A.;" + "." 69*e0c4386eSCy Schubert$ OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") - 70*e0c4386eSCy Schubert - ".][000000" - "[000000." - "][" - "]A.;" + "." 71*e0c4386eSCy Schubert$ 72*e0c4386eSCy Schubert$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_INSTALLTOP 'INSTALLTOP_'] 73*e0c4386eSCy Schubert$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_OPENSSLDIR 'OPENSSLDIR_'] 74*e0c4386eSCy Schubert$ 75*e0c4386eSCy Schubert$ ! Check that things are in place, and specifically, the stuff 76*e0c4386eSCy Schubert$ ! belonging to this architecture 77*e0c4386eSCy Schubert$ IF F$SEARCH("WRK_INSTALLTOP:[000000]INCLUDE.DIR;1") .EQS. "" - 78*e0c4386eSCy Schubert .OR. F$SEARCH("WRK_INSTALLTOP:[000000]LIB.DIR;1") .EQS. "" - 79*e0c4386eSCy Schubert .OR. F$SEARCH("WRK_INSTALLTOP:[000000]EXE.DIR;1") .EQS. "" - 80*e0c4386eSCy Schubert .OR. F$SEARCH("WRK_INSTALLTOP:[LIB]''arch'.DIR;1") .EQS. "" - 81*e0c4386eSCy Schubert .OR. F$SEARCH("WRK_INSTALLTOP:[EXE]''arch'.DIR;1") .EQS. "" - 82*e0c4386eSCy Schubert .OR. F$SEARCH("WRK_OPENSSLDIR:[000000]openssl.cnf") .EQS. "" 83*e0c4386eSCy Schubert$ THEN 84*e0c4386eSCy Schubert$ WRITE SYS$ERROR "''INSTALLTOP' doesn't look like an OpenSSL installation for ''arch'" 85*e0c4386eSCy Schubert$ status = %x00018292 ! RMS$_FNF, file not found 86*e0c4386eSCy Schubert$ GOTO bailout 87*e0c4386eSCy Schubert$ ENDIF 88*e0c4386eSCy Schubert$ 89*e0c4386eSCy Schubert$ ! Abbrevs 90*e0c4386eSCy Schubert$ DEFT := DEFINE /TRANSLATION=CONCEALED /NOLOG 'P1' 91*e0c4386eSCy Schubert$ DEF := DEFINE /NOLOG 'P1' 92*e0c4386eSCy Schubert$ sv := {- platform->shlib_version_as_filename(); -} 93*e0c4386eSCy Schubert$ pz := {- $target{pointer_size} -} 94*e0c4386eSCy Schubert$ 95*e0c4386eSCy Schubert$ DEFT OSSL$DATAROOT 'OPENSSLDIR_'] 96*e0c4386eSCy Schubert$ DEFT OSSL$INSTROOT 'INSTALLTOP_'] 97*e0c4386eSCy Schubert$ DEFT OSSL$INCLUDE 'INSTALLTOP_'INCLUDE.] 98*e0c4386eSCy Schubert$ DEF OSSL$LIB OSSL$INSTROOT:[LIB.'arch'] 99*e0c4386eSCy Schubert$ DEF OSSL$SHARE OSSL$INSTROOT:[LIB.'arch'] 100*e0c4386eSCy Schubert$ DEF OSSL$ENGINES'sv''pz' OSSL$INSTROOT:[ENGINES'sv''pz'.'arch'] 101*e0c4386eSCy Schubert$ DEF OSSL$MODULES'pz' OSSL$INSTROOT:[MODULES'pz'.'arch'] 102*e0c4386eSCy Schubert$ DEF OSSL$EXE OSSL$INSTROOT:[EXE.'arch'],- 103*e0c4386eSCy Schubert OSSL$INSTROOT:[EXE] 104*e0c4386eSCy Schubert$ DEF OSSL$LIBCRYPTO'pz' OSSL$LIB:OSSL$LIBCRYPTO'pz'.OLB 105*e0c4386eSCy Schubert$ DEF OSSL$LIBSSL'pz' OSSL$LIB:OSSL$LIBSSL'pz'.OLB 106*e0c4386eSCy Schubert${- output_off() if $disabled{shared}; "" -} 107*e0c4386eSCy Schubert$ DEF OSSL$LIBCRYPTO'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBCRYPTO'sv'_SHR'pz'.EXE 108*e0c4386eSCy Schubert$ DEF OSSL$LIBSSL'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBSSL'sv'_SHR'pz'.EXE 109*e0c4386eSCy Schubert${- output_on() if $disabled{shared}; "" -} 110*e0c4386eSCy Schubert$ DEF OPENSSL OSSL$INCLUDE:[OPENSSL] 111*e0c4386eSCy Schubert$ 112*e0c4386eSCy Schubert$ IF P2 .NES. "NOALIASES" 113*e0c4386eSCy Schubert$ THEN 114*e0c4386eSCy Schubert$ DEF OSSL$ENGINES'pz' OSSL$ENGINES'sv''pz' 115*e0c4386eSCy Schubert${- output_off() if $disabled{shared}; "" -} 116*e0c4386eSCy Schubert$ DEF OSSL$LIBCRYPTO_SHR'pz' OSSL$LIBCRYPTO'sv'_SHR'pz' 117*e0c4386eSCy Schubert$ DEF OSSL$LIBSSL_SHR'pz' OSSL$LIBSSL'sv'_SHR'pz' 118*e0c4386eSCy Schubert${- output_on() if $disabled{shared}; "" -} 119*e0c4386eSCy Schubert$ ENDIF 120*e0c4386eSCy Schubert$ 121*e0c4386eSCy Schubert$ bailout: 122*e0c4386eSCy Schubert$ DEASSIGN WRK_INSTALLTOP 123*e0c4386eSCy Schubert$ DEASSIGN WRK_OPENSSLDIR 124*e0c4386eSCy Schubert$ 125*e0c4386eSCy Schubert$ EXIT 'status' 126