$ ! OpenSSL startup script $ ! $ ! This script defines the logical names used by the installation $ ! of OpenSSL. It can provide those logical names at any level, $ ! defined by P1. $ ! $ ! The logical names created are: $ ! $ ! OSSL$ROOTnnn Installation root $ ! OSSL$EXEnnn Where the executables are located $ ! OSSL$LIBnnn Where the library files are located $ ! OSSL$SHAREnnn Where the sahreable images are located $ ! OSSL$INCLUDEnnn Include directory root $ ! OSSL$ENGINESnnn Where the sahreable images are located $ ! $ ! In all these, nnn is the OpenSSL version number. This allows $ ! several OpenSSL versions to be installed simultaneously. $ ! $ ! In addition, unless P2 is "NOALIASES", these logical names are $ ! created: $ ! $ ! OSSL$ROOT Alias for OSSL$ROOTnnn $ ! OSSL$EXE Alias for OSSL$EXEnnn $ ! OSSL$LIB Alias for OSSL$LIBnnn $ ! OSSL$SHARE Alias for OSSL$SHAREnnn $ ! OSSL$INCLUDE Alias for OSSL$INCLUDEnnn $ ! OPENSSL is OSSL$INCLUDE:[OPENSSL] $ ! OSSL$ENGINES Alias for OSSL$ENGINESnnn $ ! $ ! P1 Qualifier(s) for DEFINE. "/SYSTEM" would be typical when $ ! calling this script from SYS$STARTUP:SYSTARTUP_VMS.COM, $ ! while "/PROCESS" would be typical for a personal install. $ ! Default: /PROCESS $ ! $ ! P2 If the value is "NOALIASES", no alias logical names are $ ! created. $ $ status = %x10000001 ! Generic success $ $ ! In case there's a problem $ ON CONTROL_Y THEN GOTO bailout $ ON ERROR THEN GOTO bailout $ $ ! Find the architecture $ IF F$GETSYI("CPU") .LT. 128 $ THEN $ arch := VAX $ ELSE $ arch := F$EDIT(F$GETSYI("ARCH_NAME"),"UPCASE") $ IF arch .EQS. "" THEN GOTO unknown_arch $ ENDIF $ $ ! Generated information $ VERSION := {- $config{version} -} $ INSTALLTOP := {- $config{INSTALLTOP} -} $ OPENSSLDIR := {- $config{OPENSSLDIR} -} $ POINTER_SIZE = {- $config{pointersize} -} $ $ ! Make sure that INSTALLTOP and OPENSSLDIR become something one $ ! can build concealed logical names on $ INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") - "A.;" - - ".][000000" - "[000000." - "][" - "]" + ".]" $ OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") - "A.;" - - ".][000000" - "[000000." - "][" - "]" + ".]" $ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_INSTALLTOP 'INSTALLTOP_' $ $ ! Check that things are in place, and specifically, the stuff $ ! belonging to this architecture $ IF F$SEARCH("WRK_INSTALLTOP:[000000]INCLUDE.DIR;1") .EQS. "" - .OR. F$SEARCH("WRK_INSTALLTOP:[000000]''arch'.DIR;1") .EQS. "" - .OR. F$SEARCH("WRK_INSTALLTOP:[''arch']LIB.DIR;1") .EQS. "" - .OR. F$SEARCH("WRK_INSTALLTOP:[''arch']EXE.DIR;1") .EQS. "" - .OR. F$SEARCH("WRK_INSTALLTOP:[000000]openssl.cnf;1") .EQS. "" $ THEN $ WRITE SYS$ERROR "''INSTALLTOP' doesn't look like an OpenSSL installation for ''arch'" $ status = %x00018292 ! RMS$_FNF, file not found $ GOTO bailout $ ENDIF $ $ ! Abbrevs $ DEFT := DEFINE /TRANSLATION=CONCEALED /NOLOG 'P1' $ DEF := DEFINE /NOLOG 'P1' $ v = VERSION - "." - "." $ $ DEFT OSSL$INSTROOT'v' 'INSTALLTOP_' $ DEFT OSSL$INCLUDE'v' OSSL$INSTROOT:[INCLUDE.] $ DEF OSSL$LIB'v' OSSL$INSTROOT:['arch'.LIB] $ DEF OSSL$SHARE'v' OSSL$INSTROOT:['arch'.LIB] $ DEF OSSL$ENGINES'v' OSSL$INSTROOT:['arch'.ENGINES] $ DEF OSSL$EXE'v' OSSL$INSTROOT:['arch'.EXE] $ {- output_off() if $disabled{shared} -} $ {- join("\n\$ ", map { "DEF $_'v' OSSL\$SHARE:$_" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -} $ {- output_on() -} $ IF P2 .NES. "NOALIASES" $ THEN $ DEF OSSL$INSTROOT OSSL$INSTROOT'v' $ DEF OSSL$INCLUDE OSSL$INCLUDE'v' $ DEF OSSL$LIB OSSL$LIB'v' $ DEF OSSL$SHARE OSSL$SHARE'v' $ DEF OSSL$ENGINES OSSL$ENGINES'v' $ DEF OSSL$EXE OSSL$EXE'v' $ DEF OPENSSL OSSL$INCLUDE:[OPENSSL] $ {- output_off() if $disabled{shared} -} $ {- join("\n\$ ", map { "DEF $_ $_'v'" } map { $unified_info{sharednames}->{$_} || () } @{$unified_info{libraries}}) -} $ {- output_on() -} $ ENDIF $ $ DEFT OSSL$DATAROOT 'OPENSSLDIR_' $ DEF OSSL$CERTS OSSL$DATAROOT:[CERTS] $ DEF OSSL$PRIVATE OSSL$DATAROOT:[PRIVATE] $ $ bailout: $ DEASSIGN WRK_INSTALLTOP $ $ EXIT 'status'