require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&EVENT2_VISIBILITY_H_INCLUDED_)) {
    eval 'sub EVENT2_VISIBILITY_H_INCLUDED_ () {1;}' unless defined(&EVENT2_VISIBILITY_H_INCLUDED_);
    require 'event2/event-config.ph';
    if(defined(&event_shared_EXPORTS) || defined(&event_extra_shared_EXPORTS) || defined(&event_core_shared_EXPORTS) || defined(&event_pthreads_shared_EXPORTS) || defined(&event_openssl_shared_EXPORTS)) {
	if(defined (&__SUNPRO_C)  && ((defined(&__SUNPRO_C) ? &__SUNPRO_C : undef) >= 0x550)) {
	    eval 'sub EVENT2_EXPORT_SYMBOL () { &__global;}' unless defined(&EVENT2_EXPORT_SYMBOL);
	}
 elsif(defined (&__GNUC__)) {
	    eval 'sub EVENT2_EXPORT_SYMBOL () { &__attribute__ (( &visibility("default")));}' unless defined(&EVENT2_EXPORT_SYMBOL);
	}
 elsif(defined(&_MSC_VER)) {
	    eval 'sub EVENT2_EXPORT_SYMBOL () { &__declspec( &dllexport);}' unless defined(&EVENT2_EXPORT_SYMBOL);
	} else {
	    eval 'sub EVENT2_EXPORT_SYMBOL () {1;}' unless defined(&EVENT2_EXPORT_SYMBOL);
	}
    } else {
	eval 'sub EVENT2_EXPORT_SYMBOL () {1;}' unless defined(&EVENT2_EXPORT_SYMBOL);
    }
    if(defined(&_MSC_VER)) {
	if(defined(&event_core_shared_EXPORTS) ) {
	    eval 'sub EVENT2_CORE_EXPORT_SYMBOL () { &__declspec( &dllexport);}' unless defined(&EVENT2_CORE_EXPORT_SYMBOL);
	}
 elsif(defined(&event_extra_shared_EXPORTS) || defined(&EVENT_VISIBILITY_WANT_DLLIMPORT)) {
	    eval 'sub EVENT2_CORE_EXPORT_SYMBOL () { &__declspec( &dllimport);}' unless defined(&EVENT2_CORE_EXPORT_SYMBOL);
	}
    }
    if(!defined(&EVENT2_CORE_EXPORT_SYMBOL)) {
	eval 'sub EVENT2_CORE_EXPORT_SYMBOL () { &EVENT2_EXPORT_SYMBOL;}' unless defined(&EVENT2_CORE_EXPORT_SYMBOL);
    }
}
1;
