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