]>
Commit | Line | Data |
---|---|---|
537c9823 RL |
1 | $! |
2 | $! Startup file for OpenSSL 1.x. | |
3 | $! | |
4 | $! 2011-03-05 SMS. | |
5 | $! | |
6 | $! This procedure must reside in the OpenSSL installation directory. | |
7 | $! It will fail if it is copied to a different location. | |
8 | $! | |
9 | $! P1 qualifier(s) for DEFINE. For example, "/SYSTEM" to get the | |
10 | $! logical names defined in the system logical name table. | |
11 | $! | |
12 | $! P2 "64", to use executables which were built with 64-bit pointers. | |
13 | $! | |
14 | $! Good (default) and bad status values. | |
15 | $! | |
16 | $ status = %x00010001 ! RMS$_NORMAL, normal successful completion. | |
17 | $ rms_e_fnf = %x00018292 ! RMS$_FNF, file not found. | |
18 | $! | |
19 | $! Prepare for problems. | |
20 | $! | |
21 | $ orig_dev_dir = f$environment( "DEFAULT") | |
22 | $ on control_y then goto clean_up | |
23 | $ on error then goto clean_up | |
24 | $! | |
25 | $! Determine hardware architecture. | |
26 | $! | |
27 | $ if (f$getsyi( "cpu") .lt. 128) | |
28 | $ then | |
29 | $ arch_name = "VAX" | |
30 | $ else | |
31 | $ arch_name = f$edit( f$getsyi( "arch_name"), "upcase") | |
32 | $ if (arch_name .eqs. "") then arch_name = "UNK" | |
33 | $ endif | |
34 | $! | |
35 | $ if (p2 .eqs. "64") | |
36 | $ then | |
37 | $ arch_name_exe = arch_name+ "_64" | |
38 | $ else | |
39 | $ arch_name_exe = arch_name | |
40 | $ endif | |
41 | $! | |
42 | $! Derive the OpenSSL installation device:[directory] from the location | |
43 | $! of this command procedure. | |
44 | $! | |
45 | $ proc = f$environment( "procedure") | |
46 | $ proc_dev_dir = f$parse( "A.;", proc, , , "no_conceal") - "A.;" | |
47 | $ proc_dev = f$parse( proc_dev_dir, , , "device", "syntax_only") | |
48 | $ proc_dir = f$parse( proc_dev_dir, , , "directory", "syntax_only") - - | |
49 | ".][000000"- "[000000."- "]["- "["- "]" | |
50 | $ proc_dev_dir = proc_dev+ "["+ proc_dir+ "]" | |
51 | $ set default 'proc_dev_dir' | |
52 | $ set default [-] | |
53 | $ ossl_dev_dir = f$environment( "default") | |
54 | $! | |
55 | $! Check existence of expected directories (to see if this procedure has | |
56 | $! been moved away from its proper place). | |
57 | $! | |
58 | $ if ((f$search( "certs.dir;1") .eqs. "") .or. - | |
59 | (f$search( "include.dir;1") .eqs. "") .or. - | |
60 | (f$search( "private.dir;1") .eqs. "") .or. - | |
61 | (f$search( "vms.dir;1") .eqs. "")) | |
62 | $ then | |
63 | $ write sys$output - | |
64 | " Can't find expected common OpenSSL directories in:" | |
65 | $ write sys$output " ''ossl_dev_dir'" | |
66 | $ status = rms_e_fnf | |
67 | $ goto clean_up | |
68 | $ endif | |
69 | $! | |
70 | $ if ((f$search( "''arch_name_exe'_exe.dir;1") .eqs. "") .or. - | |
71 | (f$search( "''arch_name'_lib.dir;1") .eqs. "")) | |
72 | $ then | |
73 | $ write sys$output - | |
74 | " Can't find expected architecture-specific OpenSSL directories in:" | |
75 | $ write sys$output " ''ossl_dev_dir'" | |
76 | $ status = rms_e_fnf | |
77 | $ goto clean_up | |
78 | $ endif | |
79 | $! | |
80 | $! All seems well (enough). Define the OpenSSL logical names. | |
81 | $! | |
82 | $ ossl_root = ossl_dev_dir- "]"+ ".]" | |
83 | $ define /translation_attributes = concealed /nolog'p1 SSLROOT 'ossl_root' | |
84 | $ define /nolog 'p1' SSLCERTS sslroot:[certs] | |
85 | $ define /nolog 'p1' SSLINCLUDE sslroot:[include] | |
86 | $ define /nolog 'p1' SSLPRIVATE sslroot:[private] | |
87 | $ define /nolog 'p1' SSLEXE sslroot:['arch_name_exe'_exe] | |
88 | $ define /nolog 'p1' SSLLIB sslroot:['arch_name'_lib] | |
89 | $! | |
90 | $! Defining OPENSSL lets a C program use "#include <openssl/{foo}.h>": | |
91 | $ define /nolog 'p1' OPENSSL SSLINCLUDE: | |
92 | $! | |
93 | $! Run a site-specific procedure, if it exists. | |
94 | $! | |
95 | $ if f$search( "sslroot:[vms]openssl_systartup.com") .nes."" then - | |
96 | @ sslroot:[vms]openssl_systartup.com | |
97 | $! | |
98 | $! Restore the original default dev:[dir] (if known). | |
99 | $! | |
100 | $ clean_up: | |
101 | $! | |
102 | $ if (f$type( orig_dev_dir) .nes. "") | |
103 | $ then | |
104 | $ set default 'orig_dev_dir' | |
105 | $ endif | |
106 | $! | |
107 | $ EXIT 'status' | |
108 | $! |