|
10 | 10 | have_library("sun", "getpwnam") # NIS (== YP) interface for IRIX 4
|
11 | 11 | have_func("uname((struct utsname *)NULL)", headers)
|
12 | 12 | have_func("getlogin")
|
13 |
| -have_func("getpwent") |
14 |
| -have_func("getgrent") |
| 13 | +if have_func("getpwent") |
| 14 | + have_struct_member('struct passwd', 'pw_gecos', 'pwd.h') |
| 15 | + have_struct_member('struct passwd', 'pw_change', 'pwd.h') |
| 16 | + have_struct_member('struct passwd', 'pw_quota', 'pwd.h') |
| 17 | + if have_struct_member('struct passwd', 'pw_age', 'pwd.h') |
| 18 | + case what_type?('struct passwd', 'pw_age', 'pwd.h') |
| 19 | + when "string" |
| 20 | + f = "safe_setup_str" |
| 21 | + when "long long" |
| 22 | + f = "LL2NUM" |
| 23 | + else |
| 24 | + f = "INT2NUM" |
| 25 | + end |
| 26 | + $defs.push("-DPW_AGE2VAL="+f) |
| 27 | + end |
| 28 | + have_struct_member('struct passwd', 'pw_class', 'pwd.h') |
| 29 | + have_struct_member('struct passwd', 'pw_comment', 'pwd.h') unless /cygwin/ === RUBY_PLATFORM |
| 30 | + have_struct_member('struct passwd', 'pw_expire', 'pwd.h') |
| 31 | + have_struct_member('struct passwd', 'pw_passwd', 'pwd.h') |
| 32 | +end |
| 33 | +if have_func("getgrent") |
| 34 | + have_struct_member('struct group', 'gr_passwd', 'grp.h') |
| 35 | +end |
| 36 | + |
15 | 37 | if (sysconfdir = RbConfig::CONFIG["sysconfdir"] and
|
16 | 38 | !RbConfig.expand(sysconfdir.dup, "prefix"=>"", "DESTDIR"=>"").empty?)
|
17 | 39 | $defs.push("-DSYSCONFDIR=#{Shellwords.escape(sysconfdir.dump)}")
|
|
21 | 43 | have_func("confstr")
|
22 | 44 | have_func("fpathconf")
|
23 | 45 |
|
24 |
| -have_struct_member('struct passwd', 'pw_gecos', 'pwd.h') |
25 |
| -have_struct_member('struct passwd', 'pw_change', 'pwd.h') |
26 |
| -have_struct_member('struct passwd', 'pw_quota', 'pwd.h') |
27 |
| -if have_struct_member('struct passwd', 'pw_age', 'pwd.h') |
28 |
| - case what_type?('struct passwd', 'pw_age', 'pwd.h') |
29 |
| - when "string" |
30 |
| - f = "safe_setup_str" |
31 |
| - when "long long" |
32 |
| - f = "LL2NUM" |
33 |
| - else |
34 |
| - f = "INT2NUM" |
35 |
| - end |
36 |
| - $defs.push("-DPW_AGE2VAL="+f) |
37 |
| -end |
38 |
| -have_struct_member('struct passwd', 'pw_class', 'pwd.h') |
39 |
| -have_struct_member('struct passwd', 'pw_comment', 'pwd.h') unless /cygwin/ === RUBY_PLATFORM |
40 |
| -have_struct_member('struct passwd', 'pw_expire', 'pwd.h') |
41 |
| -have_struct_member('struct passwd', 'pw_passwd', 'pwd.h') |
42 |
| -have_struct_member('struct group', 'gr_passwd', 'grp.h') |
43 |
| - |
44 | 46 | # for https://github.com/ruby/etc
|
45 | 47 | srcdir = File.expand_path("..", __FILE__)
|
46 | 48 | constdefs = "#{srcdir}/constdefs.h"
|
|
0 commit comments