VMS: have the IVP verify that a well known engine loads properly
[openssl.git] / VMS / openssl_ivp.com.in
index 950542bb671dca6ec6bd666413b55a2e57b6595f..a4c67b26a9acceb3df0153fc968d983401201ef6 100644 (file)
@@ -14,16 +14,16 @@ $   INSTALLTOP_ = F$PARSE("A.;",INSTALLTOP,,,"NO_CONCEAL") -
 $      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} -}
 $      
+$      @'INSTALLTOP_'SYS$STARTUP]openssl_startup'v'
+$      @'INSTALLTOP_'SYS$STARTUP]openssl_utils'v'
+$
 $      IF F$SEARCH("OSSL$LIBCRYPTO''pz'") .EQS. "" -
-           .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$LIBSSL''pz'") .EQS. "" {- output_off() if $config{no_shared}; "" -}-
            .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" -
-           .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" -
+           .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" {- output_on() if $config{no_shared}; "" -}-
            .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. ""
@@ -32,9 +32,19 @@ $        WRITE SYS$ERROR "Installation inconsistent"
 $          EXIT %x00018292 ! RMS$_FNF, file not found
 $      ENDIF
 $
+$      ON ERROR THEN GOTO error
+$
 $      ! If something else is wrong with the installation, we're likely
 $      ! to get an image activation error here
 $      openssl version -a
 $
+$      ! Verify that engines are where they should be.
+$      openssl engine -c -t dasync
+$
 $      WRITE SYS$ERROR "OpenSSL IVP passed"
 $      EXIT %x10000001
+$
+$ error:
+$      save_status = $STATUS
+$      WRITE SYS$ERROR "OpenSSL IVP failed"
+$      EXIT 'save_status'