require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&OPENSSL_OPENSSLV_H)) {
    eval 'sub OPENSSL_OPENSSLV_H () {1;}' unless defined(&OPENSSL_OPENSSLV_H);
    if(defined(&__cplusplus)) {
    }
    eval 'sub OPENSSL_VERSION_MAJOR () {3;}' unless defined(&OPENSSL_VERSION_MAJOR);
    eval 'sub OPENSSL_VERSION_MINOR () {0;}' unless defined(&OPENSSL_VERSION_MINOR);
    eval 'sub OPENSSL_VERSION_PATCH () {21;}' unless defined(&OPENSSL_VERSION_PATCH);
    eval 'sub OPENSSL_VERSION_PRE_RELEASE () {"";}' unless defined(&OPENSSL_VERSION_PRE_RELEASE);
    eval 'sub OPENSSL_VERSION_BUILD_METADATA () {"";}' unless defined(&OPENSSL_VERSION_BUILD_METADATA);
    eval 'sub OPENSSL_SHLIB_VERSION () {3;}' unless defined(&OPENSSL_SHLIB_VERSION);
    eval 'sub OPENSSL_VERSION_PREREQ {
        my($maj, $min) = @_;
	    eval q((( &OPENSSL_VERSION_MAJOR << 16) +  &OPENSSL_VERSION_MINOR >= (($maj) << 16) + ($min)));
    }' unless defined(&OPENSSL_VERSION_PREREQ);
    eval 'sub OPENSSL_VERSION_STR () {"3.0.21";}' unless defined(&OPENSSL_VERSION_STR);
    eval 'sub OPENSSL_FULL_VERSION_STR () {"3.0.21";}' unless defined(&OPENSSL_FULL_VERSION_STR);
    eval 'sub OPENSSL_RELEASE_DATE () {"9 Jun 2026";}' unless defined(&OPENSSL_RELEASE_DATE);
    eval 'sub OPENSSL_VERSION_TEXT () {"OpenSSL 3.0.21 9 Jun 2026";}' unless defined(&OPENSSL_VERSION_TEXT);
    eval 'sub OPENSSL_VERSION_NUMBER () {( ( &OPENSSL_VERSION_MAJOR<<28) |( &OPENSSL_VERSION_MINOR<<20) |( &OPENSSL_VERSION_PATCH<<4) |0x );}' unless defined(&OPENSSL_VERSION_NUMBER);
    if(defined(&__cplusplus)) {
    }
    require 'openssl/macros.ph';
    unless(defined(&OPENSSL_NO_DEPRECATED_3_0)) {
	eval 'sub HEADER_OPENSSLV_H () {1;}' unless defined(&HEADER_OPENSSLV_H);
    }
}
1;
