require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__encoding_INCLUDE_GNU)) {
    eval 'sub __encoding_INCLUDE_GNU () {1;}' unless defined(&__encoding_INCLUDE_GNU);
    require 'ctype.ph';
    require 'objc/objc-api.ph';
    eval 'sub _C_CONST () {ord(\'r\');}' unless defined(&_C_CONST);
    eval 'sub _C_IN () {ord(\'n\');}' unless defined(&_C_IN);
    eval 'sub _C_INOUT () {ord(\'N\');}' unless defined(&_C_INOUT);
    eval 'sub _C_OUT () {ord(\'o\');}' unless defined(&_C_OUT);
    eval 'sub _C_BYCOPY () {ord(\'O\');}' unless defined(&_C_BYCOPY);
    eval 'sub _C_BYREF () {ord(\'R\');}' unless defined(&_C_BYREF);
    eval 'sub _C_ONEWAY () {ord(\'V\');}' unless defined(&_C_ONEWAY);
    eval 'sub _C_GCINVISIBLE () {ord(\'!\');}' unless defined(&_C_GCINVISIBLE);
    eval 'sub _F_CONST () {0x1;}' unless defined(&_F_CONST);
    eval 'sub _F_IN () {0x1;}' unless defined(&_F_IN);
    eval 'sub _F_OUT () {0x2;}' unless defined(&_F_OUT);
    eval 'sub _F_INOUT () {0x3;}' unless defined(&_F_INOUT);
    eval 'sub _F_BYCOPY () {0x4;}' unless defined(&_F_BYCOPY);
    eval 'sub _F_BYREF () {0x8;}' unless defined(&_F_BYREF);
    eval 'sub _F_ONEWAY () {0x10;}' unless defined(&_F_ONEWAY);
    eval 'sub _F_GCINVISIBLE () {0x20;}' unless defined(&_F_GCINVISIBLE);
}
1;
