VMS: Add installation verification procedure
[oweals/openssl.git] / VMS / openssl_ivp.com.in
diff --git a/VMS/openssl_ivp.com.in b/VMS/openssl_ivp.com.in
new file mode 100644 (file)
index 0000000..950542b
--- /dev/null
@@ -0,0 +1,40 @@
+$      ! OpenSSL Internal Verification Procedure
+$      !
+$      ! This script checks the consistency of a OpenSSL installation
+$      ! It had better be spawned, as it creates process logicals
+$
+$      ! Generated information
+$      INSTALLTOP := {- $config{INSTALLTOP} -}
+$      OPENSSLDIR := {- $config{OPENSSLDIR} -}
+$
+$      ! Make sure that INSTALLTOP and OPENSSLDIR become something one
+$      ! can use to call the startup procedure
+$      INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
+                    - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$      OPENSSLDIR_ = F$PARSE("A.;",OPENSSLDIR,,,"NO_CONCEAL") -
+                    - ".][000000" - "[000000." - "][" - "]A.;" + "."
+$
+$      @'INSTALLTOP_'SYS$STARTUP]openssl_startup
+$      @'INSTALLTOP_'SYS$STARTUP]openssl_utils
+$
+$      v    := {- sprintf "%02d%02d", split(/\./, $config{version}) -}
+$      pz   := {- $config{pointer_size} -}
+$      
+$      IF F$SEARCH("OSSL$LIBCRYPTO''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$INCLUDE:[OPENSSL]crypto.h") .EQS. "" -
+           .OR. F$SEARCH("OPENSSL:crypto.h") .EQS. "" -
+           .OR. F$SEARCH("OSSL$EXE:OPENSSL''v'.EXE") .EQS. ""
+$      THEN
+$          WRITE SYS$ERROR "Installation inconsistent"
+$          EXIT %x00018292 ! RMS$_FNF, file not found
+$      ENDIF
+$
+$      ! If something else is wrong with the installation, we're likely
+$      ! to get an image activation error here
+$      openssl version -a
+$
+$      WRITE SYS$ERROR "OpenSSL IVP passed"
+$      EXIT %x10000001