diff options
Diffstat (limited to 'trunk/ext/dl/extconf.rb')
-rw-r--r-- | trunk/ext/dl/extconf.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/trunk/ext/dl/extconf.rb b/trunk/ext/dl/extconf.rb new file mode 100644 index 0000000000..abd8d8f781 --- /dev/null +++ b/trunk/ext/dl/extconf.rb @@ -0,0 +1,31 @@ +require 'mkmf' + +if( RbConfig::CONFIG['CC'] =~ /gcc/ ) + $CFLAGS << " -fno-defer-pop -fno-omit-frame-pointer" +end + +$INSTALLFILES = [ + ["dl.h", "$(HDRDIR)"], +] +$distcleanfiles << "callback.h" + + +check = true +if( have_header("dlfcn.h") ) + have_library("dl") + check &&= have_func("dlopen") + check &&= have_func("dlclose") + check &&= have_func("dlsym") + have_func("dlerror") +elsif( have_header("windows.h") ) + check &&= have_func("LoadLibrary") + check &&= have_func("FreeLibrary") + check &&= have_func("GetProcAddress") +else + check = false +end + +if check + $defs << %[-DRUBY_VERSION=\\"#{RUBY_VERSION}\\"] + create_makefile("dl") +end |