e84193e43d
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>
115 lines
4.1 KiB
Text
115 lines
4.1 KiB
Text
$ ! 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'
|