require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&HEADER_SHA_H)) {
    eval 'sub HEADER_SHA_H () {1;}' unless defined(&HEADER_SHA_H);
    require 'openssl/e_os2.ph';
    if(defined(&__cplusplus)) {
    }
    if(defined( &OPENSSL_NO_SHA) || (defined( &OPENSSL_NO_SHA0)  && defined( &OPENSSL_NO_SHA1))) {
	die("SHA\ is\ disabled\.");
    }
    if(defined( &OPENSSL_FIPS)) {
	eval 'sub FIPS_SHA_SIZE_T () {\'unsigned long\';}' unless defined(&FIPS_SHA_SIZE_T);
    }
    if(defined( &OPENSSL_SYS_WIN16) || defined( &__LP32__)) {
	eval 'sub SHA_LONG () {\'unsigned long\';}' unless defined(&SHA_LONG);
    }
 elsif(defined( &OPENSSL_SYS_CRAY) || defined( &__ILP64__)) {
	eval 'sub SHA_LONG () {\'unsigned long\';}' unless defined(&SHA_LONG);
	eval 'sub SHA_LONG_LOG2 () {3;}' unless defined(&SHA_LONG_LOG2);
    } else {
	eval 'sub SHA_LONG () {\'unsigned int\';}' unless defined(&SHA_LONG);
    }
    eval 'sub SHA_LBLOCK () {16;}' unless defined(&SHA_LBLOCK);
    eval 'sub SHA_CBLOCK () {( &SHA_LBLOCK*4);}' unless defined(&SHA_CBLOCK);
    eval 'sub SHA_LAST_BLOCK () {( &SHA_CBLOCK-8);}' unless defined(&SHA_LAST_BLOCK);
    eval 'sub SHA_DIGEST_LENGTH () {20;}' unless defined(&SHA_DIGEST_LENGTH);
    unless(defined(&OPENSSL_NO_SHA0)) {
	if(defined(&OPENSSL_FIPS)) {
	}
    }
    unless(defined(&OPENSSL_NO_SHA1)) {
    }
    if(defined(&__cplusplus)) {
    }
}
1;
