require '_h2ph_pre.ph';

unless(defined(&_DLFCN_H)) {
    die("Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead.");
}
unless(defined(&RTLD_LAZY)) {
    sub RTLD_LAZY () {	0x1;}
}
unless(defined(&RTLD_NOW)) {
    sub RTLD_NOW () {	0x2;}
}
unless(defined(&RTLD_BINDING_MASK)) {
    sub RTLD_BINDING_MASK () {	0x3;}
}
unless(defined(&RTLD_NOLOAD)) {
    sub RTLD_NOLOAD () {	0x4;}
}
unless(defined(&RTLD_GLOBAL)) {
    sub RTLD_GLOBAL () {	0x100;}
}
unless(defined(&RTLD_LOCAL)) {
    sub RTLD_LOCAL () {	0;}
}
unless(defined(&RTLD_NODELETE)) {
    sub RTLD_NODELETE () {	0x1000;}
}
if(defined(&__USE_GNU)) {
    eval 'sub DL_CALL_FCT {
        local($fctp, $args) = @_;
	    eval q(( &_dl_mcount_wrapper_check ( ($fctp)), (*($fctp)) $args));
    }' unless defined(&DL_CALL_FCT);
}
1;
