2010-05-08 00:05:39 -04:00
|
|
|
require 'mkmf'
|
|
|
|
|
|
|
|
ok = true
|
|
|
|
hdr = nil
|
|
|
|
case
|
|
|
|
when macro_defined?("_WIN32", "")
|
|
|
|
have_func("rb_w32_map_errno", "ruby.h")
|
|
|
|
when hdr = %w"termios.h termio.h".find {|h| have_header(h)}
|
|
|
|
have_func("cfmakeraw", hdr)
|
|
|
|
when have_header(hdr = "sgtty.h")
|
|
|
|
%w"stty gtty".each {|f| have_func(f, hdr)}
|
|
|
|
else
|
|
|
|
ok = false
|
|
|
|
end
|
2013-02-15 22:47:21 -05:00
|
|
|
ok &&= enable_config("io-console-force-compatible-with-1.8") ||
|
2013-02-15 22:58:04 -05:00
|
|
|
macro_defined?("HAVE_RUBY_IO_H", cpp_include("ruby.h"))
|
2010-05-08 00:05:39 -04:00
|
|
|
if ok
|
2013-02-15 22:46:34 -05:00
|
|
|
have_header("sys/ioctl.h")
|
|
|
|
have_func("rb_check_hash_type", "ruby.h")
|
|
|
|
have_func("rb_io_get_write_io", "ruby/io.h")
|
|
|
|
have_func("rb_cloexec_open", "ruby/io.h")
|
2013-02-15 23:00:33 -05:00
|
|
|
if enable_config("io-console-rb_scan_args-optional-hash", true)
|
|
|
|
$defs << "-DHAVE_RB_SCAN_ARGS_OPTIONAL_HASH=1"
|
|
|
|
end
|
2010-05-08 00:05:39 -04:00
|
|
|
create_makefile("io/console")
|
|
|
|
end
|