summaryrefslogtreecommitdiff
path: root/ext/pty/extconf.rb
blob: da3655cf4d7118bcf926026d1bb2fda556147df8 (plain)
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
26
# frozen_string_literal: true
require 'mkmf'

$INCFLAGS << " -I$(topdir) -I$(top_srcdir)"

if /mswin|mingw|bccwin/ !~ RUBY_PLATFORM
  have_header("sys/stropts.h")
  have_func("setresuid")
  have_header("libutil.h")
  have_header("pty.h")
  have_header("pwd.h")
  if /openbsd/ =~ RUBY_PLATFORM
    have_header("util.h") # OpenBSD openpty
    util = have_library("util", "openpty")
  end
  openpt = have_func("posix_openpt")
  if openpt
    have_func("ptsname_r") or have_func("ptsname")
  end
  if openpt or
      (util or have_func("openpty")) or
      have_func("_getpty") or
      have_func("ioctl")
    create_makefile('pty')
  end
end