diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2017-05-02 16:41:35 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2017-05-02 16:41:35 (GMT) |
commit | 3d328008deedc58cd7a11c79063cefa7d662d4fc (patch) | |
tree | cb41a048885ce7b493f406360cf5f6edf689c468 /openssl/VMS/openssl_startup.com | |
parent | 0a2b8b8e0bc2e91a9f10659b30e2e4f5b79ce692 (diff) | |
download | blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.zip blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.gz blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.bz2 |
inital commit
Diffstat (limited to 'openssl/VMS/openssl_startup.com')
-rwxr-xr-x | openssl/VMS/openssl_startup.com | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/openssl/VMS/openssl_startup.com b/openssl/VMS/openssl_startup.com new file mode 100755 index 0000000..04bbbde --- /dev/null +++ b/openssl/VMS/openssl_startup.com @@ -0,0 +1,108 @@ +$! +$! Startup file for OpenSSL 1.x. +$! +$! 2011-03-05 SMS. +$! +$! This procedure must reside in the OpenSSL installation directory. +$! It will fail if it is copied to a different location. +$! +$! P1 qualifier(s) for DEFINE. For example, "/SYSTEM" to get the +$! logical names defined in the system logical name table. +$! +$! P2 "64", to use executables which were built with 64-bit pointers. +$! +$! Good (default) and bad status values. +$! +$ status = %x00010001 ! RMS$_NORMAL, normal successful completion. +$ rms_e_fnf = %x00018292 ! RMS$_FNF, file not found. +$! +$! Prepare for problems. +$! +$ orig_dev_dir = f$environment( "DEFAULT") +$ on control_y then goto clean_up +$ on error then goto clean_up +$! +$! Determine hardware architecture. +$! +$ if (f$getsyi( "cpu") .lt. 128) +$ then +$ arch_name = "VAX" +$ else +$ arch_name = f$edit( f$getsyi( "arch_name"), "upcase") +$ if (arch_name .eqs. "") then arch_name = "UNK" +$ endif +$! +$ if (p2 .eqs. "64") +$ then +$ arch_name_exe = arch_name+ "_64" +$ else +$ arch_name_exe = arch_name +$ endif +$! +$! Derive the OpenSSL installation device:[directory] from the location +$! of this command procedure. +$! +$ proc = f$environment( "procedure") +$ proc_dev_dir = f$parse( "A.;", proc, , , "no_conceal") - "A.;" +$ proc_dev = f$parse( proc_dev_dir, , , "device", "syntax_only") +$ proc_dir = f$parse( proc_dev_dir, , , "directory", "syntax_only") - - + ".][000000"- "[000000."- "]["- "["- "]" +$ proc_dev_dir = proc_dev+ "["+ proc_dir+ "]" +$ set default 'proc_dev_dir' +$ set default [-] +$ ossl_dev_dir = f$environment( "default") +$! +$! Check existence of expected directories (to see if this procedure has +$! been moved away from its proper place). +$! +$ if ((f$search( "certs.dir;1") .eqs. "") .or. - + (f$search( "include.dir;1") .eqs. "") .or. - + (f$search( "private.dir;1") .eqs. "") .or. - + (f$search( "vms.dir;1") .eqs. "")) +$ then +$ write sys$output - + " Can't find expected common OpenSSL directories in:" +$ write sys$output " ''ossl_dev_dir'" +$ status = rms_e_fnf +$ goto clean_up +$ endif +$! +$ if ((f$search( "''arch_name_exe'_exe.dir;1") .eqs. "") .or. - + (f$search( "''arch_name'_lib.dir;1") .eqs. "")) +$ then +$ write sys$output - + " Can't find expected architecture-specific OpenSSL directories in:" +$ write sys$output " ''ossl_dev_dir'" +$ status = rms_e_fnf +$ goto clean_up +$ endif +$! +$! All seems well (enough). Define the OpenSSL logical names. +$! +$ ossl_root = ossl_dev_dir- "]"+ ".]" +$ define /translation_attributes = concealed /nolog'p1 SSLROOT 'ossl_root' +$ define /nolog 'p1' SSLCERTS sslroot:[certs] +$ define /nolog 'p1' SSLINCLUDE sslroot:[include] +$ define /nolog 'p1' SSLPRIVATE sslroot:[private] +$ define /nolog 'p1' SSLEXE sslroot:['arch_name_exe'_exe] +$ define /nolog 'p1' SSLLIB sslroot:['arch_name'_lib] +$! +$! Defining OPENSSL lets a C program use "#include <openssl/{foo}.h>": +$ define /nolog 'p1' OPENSSL SSLINCLUDE: +$! +$! Run a site-specific procedure, if it exists. +$! +$ if f$search( "sslroot:[vms]openssl_systartup.com") .nes."" then - + @ sslroot:[vms]openssl_systartup.com +$! +$! Restore the original default dev:[dir] (if known). +$! +$ clean_up: +$! +$ if (f$type( orig_dev_dir) .nes. "") +$ then +$ set default 'orig_dev_dir' +$ endif +$! +$ EXIT 'status' +$! |