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