require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_DLFCN_H_)) {
    eval 'sub _DLFCN_H_ () {1;}' unless defined(&_DLFCN_H_);
    require 'sys/cdefs.ph';
    eval 'sub RTLD_LAZY () {1;}' unless defined(&RTLD_LAZY);
    eval 'sub RTLD_NOW () {2;}' unless defined(&RTLD_NOW);
    eval 'sub RTLD_GLOBAL () {0x100;}' unless defined(&RTLD_GLOBAL);
    eval 'sub RTLD_LOCAL () {0x;}' unless defined(&RTLD_LOCAL);
    eval 'sub DL_LAZY () { &RTLD_LAZY;}' unless defined(&DL_LAZY);
    eval 'sub RTLD_NEXT () {(( &void *) -1);}' unless defined(&RTLD_NEXT);
    eval 'sub RTLD_DEFAULT () {(( &void *) -2);}' unless defined(&RTLD_DEFAULT);
    eval 'sub RTLD_SELF () {(( &void *) -3);}' unless defined(&RTLD_SELF);
    eval 'sub DL_GETERRNO () {1;}' unless defined(&DL_GETERRNO);
    eval 'sub DL_SETSRCHPATH () { &x;}' unless defined(&DL_SETSRCHPATH);
    eval 'sub DL_GETLIST () { &x;}' unless defined(&DL_GETLIST);
    eval 'sub DL_GETREFCNT () { &x;}' unless defined(&DL_GETREFCNT);
    eval 'sub DL_GETLOADADDR () { &x;}' unless defined(&DL_GETLOADADDR);
    eval 'sub DL_SETTHREADLCK () {2;}' unless defined(&DL_SETTHREADLCK);
}
1;
