mirror of
https://github.com/QuasarApp/openssl.git
synced 2025-05-08 23:49:39 +00:00
OpenSSL engines are tied to the OpenSSL shared library versions, starting with OpenSSL 1.1. We therefore need to install them in directories which have the shared library version in it's name, to easily allow multiple OpenSSL versions to be installed at the same time. For VMS, the change is a bit more involved, primarly because the top installation directory was already versioned, *as well as* some of the files inside. That's a bit too much. Version numbering in files is also a bit different on VMS. The engines for shared library version 1.1 will therefore end up in OSSL$INSTROOT:[ENGINES0101.'arch'] ('arch' is the architecture we build for) Reviewed-by: Rich Salz <rsalz@openssl.org>
113 lines
4.0 KiB
Plaintext
113 lines
4.0 KiB
Plaintext
$ ! 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
|
|
$ INSTALLTOP := {- $config{INSTALLTOP} -}
|
|
$ OPENSSLDIR := {- $config{OPENSSLDIR} -}
|
|
$
|
|
$ ! Make sure that INSTALLTOP and OPENSSLDIR become something one
|
|
$ ! can build concealed logical names on
|
|
$ INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
|
|
- ".][000000" - "[000000." - "][" - "]A.;" + "."
|
|
$ OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") -
|
|
- ".][000000" - "[000000." - "][" - "]A.;" + "."
|
|
$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_INSTALLTOP 'INSTALLTOP_']
|
|
$ DEFINE /TRANSLATION=CONCEALED /NOLOG WRK_OPENSSLDIR 'OPENSSLDIR_']
|
|
$
|
|
$ ! 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]LIB.DIR;1") .EQS. "" -
|
|
.OR. F$SEARCH("WRK_INSTALLTOP:[000000]EXE.DIR;1") .EQS. "" -
|
|
.OR. F$SEARCH("WRK_INSTALLTOP:[LIB]''arch'.DIR;1") .EQS. "" -
|
|
.OR. F$SEARCH("WRK_INSTALLTOP:[EXE]''arch'.DIR;1") .EQS. "" -
|
|
.OR. F$SEARCH("WRK_OPENSSLDIR:[000000]openssl.cnf") .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 := {- sprintf "%02d%02d", split(/\./, $config{version}) -}
|
|
$ sv := {- sprintf "%02d%02d", $config{shlib_major}, $config{shlib_minor} -}
|
|
$ pz := {- $config{pointer_size} -}
|
|
$
|
|
$ DEFT OSSL$INSTROOT 'INSTALLTOP_']
|
|
$ DEFT OSSL$INCLUDE 'INSTALLTOP_'INCLUDE.]
|
|
$ DEF OSSL$LIB OSSL$INSTROOT:[LIB.'arch']
|
|
$ DEF OSSL$SHARE OSSL$INSTROOT:[LIB.'arch']
|
|
$ DEF OSSL$ENGINES'sv' OSSL$INSTROOT:[ENGINES'sv'.'arch']
|
|
$ DEF OSSL$EXE OSSL$INSTROOT:[EXE.'arch']
|
|
$ DEF OSSL$LIBCRYPTO'pz' OSSL$LIB:OSSL$LIBCRYPTO'pz'.OLB
|
|
$ DEF OSSL$LIBSSL'pz' OSSL$LIB:OSSL$LIBSSL'pz'.OLB
|
|
$ DEF OSSL$LIBCRYPTO'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBCRYPTO'sv'_SHR'pz'.EXE
|
|
$ DEF OSSL$LIBSSL'sv'_SHR'pz' OSSL$SHARE:OSSL$LIBSSL'sv'_SHR'pz'.EXE
|
|
$ IF P2 .NES. "NOALIASES"
|
|
$ THEN
|
|
$ DEF OSSL$ENGINES OSSL$ENGINES'sv'
|
|
$ DEF OSSL$LIBCRYPTO_SHR'pz' OSSL$LIBCRYPTO'sv'_SHR'pz'
|
|
$ DEF OSSL$LIBSSL_SHR'pz' OSSL$LIBSSL'sv'_SHR'pz'
|
|
$ DEF OPENSSL OSSL$INCLUDE:[OPENSSL]
|
|
$ ENDIF
|
|
$
|
|
$ DEFT OSSL$DATAROOT 'OPENSSLDIR_']
|
|
$ DEF OSSL$CERTS OSSL$DATAROOT:[CERTS]
|
|
$ DEF OSSL$PRIVATE OSSL$DATAROOT:[PRIVATE]
|
|
$
|
|
$ bailout:
|
|
$ DEASSIGN WRK_INSTALLTOP
|
|
$
|
|
$ EXIT 'status'
|