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