diff options
author | Richard Levitte <levitte@openssl.org> | 2016-01-30 07:14:58 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-02-10 14:36:32 +0100 |
commit | e84193e43dbd3da23845ef9fcfcb5e364049a396 (patch) | |
tree | 05cd92323c3ac2a5ceea773e5a432c41d07c2513 /VMS/openssl_startup.com.in | |
parent | 9c44c29ef2cadb2f0ff214096ccf731ce2660d64 (diff) |
unified build scheme: add a "unified" template for VMS descrip.mms
As part of this, change util/mkdef.pl to stop adding libraries to
depend on in its output. mkdef.pl should ONLY output a symbol
vector.
Because symbol names can't be longer than 31 characters, we use the
compiler to shorten those that are longer down to 23 characters plus
an 8 character CRC. To make sure users of our header files will pick
up on that automatically, add the DEC C supported extra headers files
__decc_include_prologue.h and __decc_include_epilogue.h.
Furthermore, we add a config.com, so VMS people can configure just as
comfortably as any Unix folks, thusly:
@config
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'VMS/openssl_startup.com.in')
-rw-r--r-- | VMS/openssl_startup.com.in | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/VMS/openssl_startup.com.in b/VMS/openssl_startup.com.in new file mode 100644 index 0000000000..a968b44d6c --- /dev/null +++ b/VMS/openssl_startup.com.in @@ -0,0 +1,115 @@ +$ ! 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 $config{no_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 $config{no_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' |