$	! 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.;" + "."
$
$	v    := {- sprintf "%02d", split(/\./, $config{version}) -}
$	pz   := {- $target{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. "" {- output_off() if $disabled{shared}; "" -}-
           .OR. F$SEARCH("OSSL$LIBCRYPTO_SHR''pz'") .EQS. "" -
           .OR. F$SEARCH("OSSL$LIBSSL_SHR''pz'") .EQS. "" {- output_on() if $disabled{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. ""
$	THEN
$	    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
$
$	! FUTURE ENHANCEMENT: Verify that engines are where they should be.
$	! openssl engine -c -t checker
$
$	! Verify that the built in providers are reachable.  If they aren't,
$	! then we're likely to get an image activation error here
$	openssl list -provider base -providers
$	openssl list -provider default -providers
$	openssl list -provider legacy -providers
$
$	WRITE SYS$ERROR "OpenSSL IVP passed"
$	EXIT %x10000001
$
$ error:
$	save_status = $STATUS
$	WRITE SYS$ERROR "OpenSSL IVP failed"
$	EXIT 'save_status'
