diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/socket/extconf.rb | 4 |
2 files changed, 8 insertions, 1 deletions
@@ -1,4 +1,7 @@ -Tue Apr 9 02:40:53 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> +Tue Apr 9 02:42:44 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/socket/extconf.rb: check struct in_addr6, which is defined in + VC6 instead of in6_addr. * ext/socket/option.c (optname_to_sym): fix macro name. diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb index 0a37a9b7c5..a168404ae3 100644 --- a/ext/socket/extconf.rb +++ b/ext/socket/extconf.rb @@ -477,6 +477,10 @@ EOS if getaddr_info_ok == :wide or !have_func("getnameinfo", headers) or !have_func("getaddrinfo", headers) + if !have_type("struct in6_addr", headers) and have_type("struct in_addr6", headers) + $defs.pop(2) + $defs << "-Din_addr6=in6_addr" + end if have_struct_member("struct in6_addr", "s6_addr8", headers) $defs[-1] = "s6_addr=s6_addr8" end |