add compatibility for ancient Rubies
[kgio.git] / ext / kgio / extconf.rb
blobdcc14180fca3ff0c7d08a5634ab9359d657a7502
1 require 'mkmf'
2 $CPPFLAGS << ' -D_GNU_SOURCE'
4 have_func('accept4', %w(sys/socket.h))
5 if have_header('ruby/io.h')
6   have_struct_member("rb_io_t", "fd", "ruby/io.h")
7   have_struct_member("rb_io_t", "mode", "ruby/io.h")
8 else
9   rubyio = %w(ruby.h rubyio.h)
10   rb_io_t = have_type("OpenFile", rubyio) ? "OpenFile" : "rb_io_t"
11   have_struct_member(rb_io_t, "f", rubyio)
12   have_struct_member(rb_io_t, "f2", rubyio)
13   have_struct_member(rb_io_t, "mode", rubyio)
14   have_func('rb_fdopen')
15 end
16 have_func('rb_io_ascii8bit_binmode')
17 have_func('rb_thread_blocking_region')
18 have_func('rb_str_set_len')
20 dir_config('kgio')
21 create_makefile('kgio_ext')