require '_h2ph_pre.ph';

unless(defined(&_ZCONF_H)) {
    eval 'sub _ZCONF_H () {1;}' unless defined(&_ZCONF_H);
    if(defined(&Z_PREFIX)) {
	eval 'sub deflateInit_ () { &z_deflateInit_;}' unless defined(&deflateInit_);
	eval 'sub deflate () { &z_deflate;}' unless defined(&deflate);
	eval 'sub deflateEnd () { &z_deflateEnd;}' unless defined(&deflateEnd);
	eval 'sub inflateInit_ () { &z_inflateInit_;}' unless defined(&inflateInit_);
	eval 'sub inflate () { &z_inflate;}' unless defined(&inflate);
	eval 'sub inflateEnd () { &z_inflateEnd;}' unless defined(&inflateEnd);
	eval 'sub deflateInit2_ () { &z_deflateInit2_;}' unless defined(&deflateInit2_);
	eval 'sub deflateSetDictionary () { &z_deflateSetDictionary;}' unless defined(&deflateSetDictionary);
	eval 'sub deflateCopy () { &z_deflateCopy;}' unless defined(&deflateCopy);
	eval 'sub deflateReset () { &z_deflateReset;}' unless defined(&deflateReset);
	eval 'sub deflateParams () { &z_deflateParams;}' unless defined(&deflateParams);
	eval 'sub inflateInit2_ () { &z_inflateInit2_;}' unless defined(&inflateInit2_);
	eval 'sub inflateSetDictionary () { &z_inflateSetDictionary;}' unless defined(&inflateSetDictionary);
	eval 'sub inflateSync () { &z_inflateSync;}' unless defined(&inflateSync);
	eval 'sub inflateSyncPoint () { &z_inflateSyncPoint;}' unless defined(&inflateSyncPoint);
	eval 'sub inflateReset () { &z_inflateReset;}' unless defined(&inflateReset);
	eval 'sub compress () { &z_compress;}' unless defined(&compress);
	eval 'sub compress2 () { &z_compress2;}' unless defined(&compress2);
	eval 'sub uncompress () { &z_uncompress;}' unless defined(&uncompress);
	eval 'sub adler32 () { &z_adler32;}' unless defined(&adler32);
	eval 'sub crc32 () { &z_crc32;}' unless defined(&crc32);
	eval 'sub get_crc_table () { &z_get_crc_table;}' unless defined(&get_crc_table);
	eval 'sub Byte () { &z_Byte;}' unless defined(&Byte);
	eval 'sub uInt () { &z_uInt;}' unless defined(&uInt);
	eval 'sub uLong () { &z_uLong;}' unless defined(&uLong);
	eval 'sub Bytef () { &z_Bytef;}' unless defined(&Bytef);
	eval 'sub charf () { &z_charf;}' unless defined(&charf);
	eval 'sub intf () { &z_intf;}' unless defined(&intf);
	eval 'sub uIntf () { &z_uIntf;}' unless defined(&uIntf);
	eval 'sub uLongf () { &z_uLongf;}' unless defined(&uLongf);
	eval 'sub voidpf () { &z_voidpf;}' unless defined(&voidpf);
	eval 'sub voidp () { &z_voidp;}' unless defined(&voidp);
    }
    if((defined( &_WIN32) || defined( &__WIN32__))  && !defined( &WIN32)) {
	eval 'sub WIN32 () {1;}' unless defined(&WIN32);
    }
    if(defined( &__GNUC__) || defined( &WIN32) || defined( &__386__) || defined( &i386)) {
	unless(defined(&__32BIT__)) {
	    eval 'sub __32BIT__ () {1;}' unless defined(&__32BIT__);
	}
    }
    if(defined( &__MSDOS__)  && !defined( &MSDOS)) {
	eval 'sub MSDOS () {1;}' unless defined(&MSDOS);
    }
    if(defined( &MSDOS)  && !defined( &__32BIT__)) {
	eval 'sub MAXSEG_64K () {1;}' unless defined(&MAXSEG_64K);
    }
    if(defined(&MSDOS)) {
	eval 'sub UNALIGNED_OK () {1;}' unless defined(&UNALIGNED_OK);
    }
    if((defined( &MSDOS) || defined( &_WINDOWS) || defined( &WIN32))  && !defined( &STDC)) {
	eval 'sub STDC () {1;}' unless defined(&STDC);
    }
    if(defined( &__STDC__) || defined( &__cplusplus) || defined( &__OS2__)) {
	unless(defined(&STDC)) {
	    eval 'sub STDC () {1;}' unless defined(&STDC);
	}
    }
    unless(defined(&STDC)) {
	unless(defined(&const)) {
	    eval 'sub const () {1;}' unless defined(&const);
	}
    }
    if(defined( &__MWERKS__) || defined( &applec) ||defined( &THINK_C) ||defined( &__SC__)) {
	eval 'sub NO_DUMMY_DECL () {1;}' unless defined(&NO_DUMMY_DECL);
    }
    if(defined( &__BORLANDC__)  && ((defined(&__BORLANDC__) ? &__BORLANDC__ : 0) < 0x500)) {
	eval 'sub NEED_DUMMY_RETURN () {1;}' unless defined(&NEED_DUMMY_RETURN);
    }
    unless(defined(&MAX_MEM_LEVEL)) {
	if(defined(&MAXSEG_64K)) {
	    eval 'sub MAX_MEM_LEVEL () {8;}' unless defined(&MAX_MEM_LEVEL);
	} else {
	    eval 'sub MAX_MEM_LEVEL () {9;}' unless defined(&MAX_MEM_LEVEL);
	}
    }
    unless(defined(&MAX_WBITS)) {
	eval 'sub MAX_WBITS () {15;}' unless defined(&MAX_WBITS);
    }
    unless(defined(&OF)) {
	if(defined(&STDC)) {
	    eval 'sub OF {
	        local($args) = @_;
    		eval q($args);
	    }' unless defined(&OF);
	} else {
	    eval 'sub OF {
	        local($args) = @_;
    		eval q(());
	    }' unless defined(&OF);
	}
    }
    if((defined( &M_I86SM) || defined( &M_I86MM))  && !defined( &__32BIT__)) {
	eval 'sub SMALL_MEDIUM () {1;}' unless defined(&SMALL_MEDIUM);
	if(defined(&_MSC_VER)) {
	    eval 'sub FAR () { &_far;}' unless defined(&FAR);
	} else {
	    eval 'sub FAR () { &far;}' unless defined(&FAR);
	}
    }
    if(defined( &__BORLANDC__)  && (defined( &__SMALL__) || defined( &__MEDIUM__))) {
	unless(defined(&__32BIT__)) {
	    eval 'sub SMALL_MEDIUM () {1;}' unless defined(&SMALL_MEDIUM);
	    eval 'sub FAR () { &_far;}' unless defined(&FAR);
	}
    }
    if(defined( &ZLIB_DLL)) {
	if(defined( &_WINDOWS) || defined( &WINDOWS)) {
	    if(defined(&FAR)) {
		undef(&FAR) if defined(&FAR);
	    }
	    require 'windows.ph';
	    eval 'sub ZEXPORT () { &WINAPI;}' unless defined(&ZEXPORT);
	    if(defined(&WIN32)) {
		eval 'sub ZEXPORTVA () { &WINAPIV;}' unless defined(&ZEXPORTVA);
	    } else {
		eval 'sub ZEXPORTVA () { &FAR  &_cdecl  &_export;}' unless defined(&ZEXPORTVA);
	    }
	}
	if(defined ( &__BORLANDC__)) {
	    if(((defined(&__BORLANDC__) ? &__BORLANDC__ : 0) >= 0x500)  && defined ( &WIN32)) {
		require 'windows.ph';
		eval 'sub ZEXPORT () { &__declspec  &WINAPI;}' unless defined(&ZEXPORT);
		eval 'sub ZEXPORTRVA () { &__declspec  &WINAPIV;}' unless defined(&ZEXPORTRVA);
	    } else {
		if(defined ( &_Windows)  && defined ( &__DLL__)) {
		    eval 'sub ZEXPORT () { &_export;}' unless defined(&ZEXPORT);
		    eval 'sub ZEXPORTVA () { &_export;}' unless defined(&ZEXPORTVA);
		}
	    }
	}
    }
    if(defined ( &__BEOS__)) {
	if(defined ( &ZLIB_DLL)) {
	    eval 'sub ZEXTERN () { &extern  &__declspec( &dllexport);}' unless defined(&ZEXTERN);
	} else {
	    eval 'sub ZEXTERN () { &extern  &__declspec( &dllimport);}' unless defined(&ZEXTERN);
	}
    }
    unless(defined(&ZEXPORT)) {
	eval 'sub ZEXPORT () {1;}' unless defined(&ZEXPORT);
    }
    unless(defined(&ZEXPORTVA)) {
	eval 'sub ZEXPORTVA () {1;}' unless defined(&ZEXPORTVA);
    }
    unless(defined(&ZEXTERN)) {
	eval 'sub ZEXTERN () { &extern;}' unless defined(&ZEXTERN);
    }
    unless(defined(&FAR)) {
	eval 'sub FAR () {1;}' unless defined(&FAR);
    }
    if(!defined( &MACOS)  && !defined( &TARGET_OS_MAC)) {
    }
    if(defined(&SMALL_MEDIUM)) {
	eval 'sub Bytef () { &Byte  &FAR;}' unless defined(&Bytef);
    } else {
    }
    if(defined(&STDC)) {
    } else {
    }
    if(defined(&HAVE_UNISTD_H)) {
	require 'sys/types.ph';
	require 'unistd.ph';
	eval 'sub z_off_t () { &off_t;}' unless defined(&z_off_t);
    }
    unless(defined(&SEEK_SET)) {
	eval 'sub SEEK_SET () {0;}' unless defined(&SEEK_SET);
	eval 'sub SEEK_CUR () {1;}' unless defined(&SEEK_CUR);
	eval 'sub SEEK_END () {2;}' unless defined(&SEEK_END);
    }
    unless(defined(&z_off_t)) {
	eval 'sub z_off_t () {\'long\';}' unless defined(&z_off_t);
    }
    if(defined( &__MVS__)) {
    }
}
1;
