require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&HEADER_HMAC_H)) {
    eval 'sub HEADER_HMAC_H () {1;}' unless defined(&HEADER_HMAC_H);
    if(defined(&OPENSSL_NO_HMAC)) {
	die("HMAC\ is\ disabled\.");
    }
    require 'openssl/evp.ph';
    if(defined(&OPENSSL_FIPS)) {
	eval 'sub HMAC_MAX_MD_CBLOCK () {128;}' unless defined(&HMAC_MAX_MD_CBLOCK);
    } else {
	eval 'sub HMAC_MAX_MD_CBLOCK () {64;}' unless defined(&HMAC_MAX_MD_CBLOCK);
    }
    if(defined(&__cplusplus)) {
    }
    eval 'sub HMAC_size {
        my($e) = @_;
	    eval q(( &EVP_MD_size(($e)-> &md)));
    }' unless defined(&HMAC_size);
    eval 'sub HMAC_cleanup {
        my($ctx) = @_;
	    eval q( &HMAC_CTX_cleanup($ctx));
    }' unless defined(&HMAC_cleanup);
    if(defined(&__cplusplus)) {
    }
}
1;
