summaryrefslogtreecommitdiff
path: root/ext/dl
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dl')
-rw-r--r--ext/dl/dl.c4
-rw-r--r--ext/dl/test/test_import.rb3
2 files changed, 7 insertions, 0 deletions
diff --git a/ext/dl/dl.c b/ext/dl/dl.c
index 53e095ed51..4473e8d498 100644
--- a/ext/dl/dl.c
+++ b/ext/dl/dl.c
@@ -1,5 +1,6 @@
#include <ruby.h>
#include <rubyio.h>
+#include <version.h>
#include <ctype.h>
#include "dl.h"
@@ -139,7 +140,10 @@ Init_dl()
rb_define_module_function(rb_mDL, "malloc", rb_dl_malloc, 1);
rb_define_module_function(rb_mDL, "realloc", rb_dl_realloc, 2);
rb_define_module_function(rb_mDL, "free", rb_dl_free, 1);
+
rb_define_const(rb_mDL, "RUBY_FREE", PTR2NUM(ruby_xfree));
+ rb_define_const(rb_mDL, "BUILD_RUBY_PLATFORM", rb_str_new2(RUBY_PLATFORM));
+ rb_define_const(rb_mDL, "BUILD_RUBY_VERSION", rb_str_new2(RUBY_VERSION));
Init_dlhandle();
Init_dlcfunc();
diff --git a/ext/dl/test/test_import.rb b/ext/dl/test/test_import.rb
index 5b5c9b07ff..6df7b9cff6 100644
--- a/ext/dl/test/test_import.rb
+++ b/ext/dl/test/test_import.rb
@@ -59,6 +59,9 @@ module DL
end
def test_io()
+ if( RUBY_PLATFORM != DL::BUILD_RUBY_PLATFORM )
+ return
+ end
io_in,io_out = IO.pipe()
LIBC.fprintf(io_out, "hello")
io_out.flush()