require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_GLIBCPP_GCC_GTHR_H)) {
    eval 'sub _GLIBCPP_GCC_GTHR_H () {1;}' unless defined(&_GLIBCPP_GCC_GTHR_H);
    if((defined(&_GLIBCPP__PTHREADS) ? &_GLIBCPP__PTHREADS : 0)) {
	require 'bits/gthr-posix.ph';
    }
 elsif((defined(&_GLIBCPP__DCE_THREADS) ? &_GLIBCPP__DCE_THREADS : 0)) {
	require 'bits/gthr-dce.ph';
    }
 elsif((defined(&_GLIBCPP__SOLARIS_THREADS) ? &_GLIBCPP__SOLARIS_THREADS : 0)) {
	require 'bits/gthr-solaris.ph';
    }
 elsif(defined( &_GLIBCPP_HAVE_GTHR_DEFAULT)) {
	if((defined(&_GLIBCPP_SUPPORTS_WEAK) ? &_GLIBCPP_SUPPORTS_WEAK : 0)) {
	    unless(defined(&_GLIBCPP_GTHREAD_USE_WEAK)) {
		eval 'sub _GLIBCPP_GTHREAD_USE_WEAK () {1;}' unless defined(&_GLIBCPP_GTHREAD_USE_WEAK);
	    }
	}
	require 'bits/gthr-default.ph';
    } else {
	require 'bits/gthr-single.ph';
    }
}
1;
