summaryrefslogtreecommitdiff
path: root/ext/etc/extconf.rb
blob: 6fe8810464ea14b256dfcdd2ef84d8d067a0757c (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
27
28
29
30
31
require 'mkmf'

def etc_grep_header(field)
  f = open("conftest.c", "w")
  f.print <<EOF
#include <pwd.h>
EOF
  f.close
  begin
    if xsystem("#{CPP} | egrep #{field}")
      $defs.push(format("-D%s", field.upcase))
    end
  ensure
    system "rm -f conftest.c"
  end
end

have_library("sun", "getpwnam")	# NIS (== YP) interface for IRIX 4
a = have_func("getlogin")
b = have_func("getpwent")
c = have_func("getgrent")
if  a or b or c
  etc_grep_header("pw_gecos")
  etc_grep_header("pw_change")
  etc_grep_header("pw_quota")
  etc_grep_header("pw_age")
  etc_grep_header("pw_class")
  etc_grep_header("pw_comment") unless /cygwin/ === RUBY_PLATFORM
  etc_grep_header("pw_expire")
  create_makefile("etc")
end