require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&__typedstream_INCLUDE_GNU)) {
    eval 'sub __typedstream_INCLUDE_GNU () {1;}' unless defined(&__typedstream_INCLUDE_GNU);
    require 'objc/objc.ph';
    require 'objc/hash.ph';
    require 'stdio.ph';
    eval 'sub OBJC_READONLY () {0x1;}' unless defined(&OBJC_READONLY);
    eval 'sub OBJC_WRITEONLY () {0x2;}' unless defined(&OBJC_WRITEONLY);
    eval 'sub OBJC_MANAGED_STREAM () {0x1;}' unless defined(&OBJC_MANAGED_STREAM);
    eval 'sub OBJC_FILE_STREAM () {0x2;}' unless defined(&OBJC_FILE_STREAM);
    eval 'sub OBJC_MEMORY_STREAM () {0x4;}' unless defined(&OBJC_MEMORY_STREAM);
    eval 'sub OBJC_TYPED_STREAM_VERSION () {0x1;}' unless defined(&OBJC_TYPED_STREAM_VERSION);
    eval 'sub _B_VALUE () {0x1f;}' unless defined(&_B_VALUE);
    eval 'sub _B_CODE () {0xe0;}' unless defined(&_B_CODE);
    eval 'sub _B_SIGN () {0x10;}' unless defined(&_B_SIGN);
    eval 'sub _B_NUMBER () {0xf;}' unless defined(&_B_NUMBER);
    eval 'sub _B_INVALID () {0x;}' unless defined(&_B_INVALID);
    eval 'sub _B_SINT () {0x20;}' unless defined(&_B_SINT);
    eval 'sub _B_NINT () {0x40;}' unless defined(&_B_NINT);
    eval 'sub _B_SSTR () {0x60;}' unless defined(&_B_SSTR);
    eval 'sub _B_NSTR () {0x80;}' unless defined(&_B_NSTR);
    eval 'sub _B_RCOMM () {0xa0;}' unless defined(&_B_RCOMM);
    eval 'sub _B_UCOMM () {0xc0;}' unless defined(&_B_UCOMM);
    eval 'sub _B_EXT () {0xe0;}' unless defined(&_B_EXT);
    eval 'sub _BX_OBJECT () {0x;}' unless defined(&_BX_OBJECT);
    eval 'sub _BX_CLASS () {0x1;}' unless defined(&_BX_CLASS);
    eval 'sub _BX_SEL () {0x2;}' unless defined(&_BX_SEL);
    eval 'sub _BX_OBJREF () {0x3;}' unless defined(&_BX_OBJREF);
    eval 'sub _BX_OBJROOT () {0x4;}' unless defined(&_BX_OBJROOT);
    eval 'sub _BX_EXT () {0x1f;}' unless defined(&_BX_EXT);
}
1;
