summaryrefslogtreecommitdiff
path: root/VMS/openssl_startup.com.in
blob: be3f38581edfb95d12cbbcac1858a7505f0f60c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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 $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'