File: extconf.rb

package info (click to toggle)
ruby3.3 3.3.8-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 153,620 kB
  • sloc: ruby: 1,244,308; ansic: 836,474; yacc: 28,074; pascal: 6,748; sh: 3,913; python: 1,719; cpp: 1,158; makefile: 742; asm: 712; javascript: 394; lisp: 97; perl: 62; awk: 36; sed: 23; xml: 4
file content (25 lines) | stat: -rw-r--r-- 711 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: false
require 'mkmf'

if RUBY_VERSION < "2.6"
  File.write("Makefile", dummy_makefile($srcdir).join(""))
else
  target = "io/wait"
  have_func("rb_io_wait")
  have_func("rb_io_descriptor")
  unless macro_defined?("DOSISH", "#include <ruby.h>")
    have_header(ioctl_h = "sys/ioctl.h") or ioctl_h = nil
    fionread = %w[sys/ioctl.h sys/filio.h sys/socket.h].find do |h|
      have_macro("FIONREAD", [h, ioctl_h].compact)
    end
    if fionread
      $defs << "-DFIONREAD_HEADER=\"<#{fionread}>\""
      create_makefile(target)
    end
  else
    if have_func("rb_w32_ioctlsocket", "ruby.h")
      have_func("rb_w32_is_socket", "ruby.h")
      create_makefile(target)
    end
  end
end