From 2b3e480bef31e3a1cb30e37ec92e5a59f8b0aa7a Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 1 Jan 2009 07:04:31 +0000 Subject: * ext/socket/mkconstants.rb (Socket::AF_INET6): moved from socket.c. (Socket::PF_INET6): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ ext/socket/mkconstants.rb | 19 ++++++++++++++++--- ext/socket/socket.c | 4 ---- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 28866c2485..e22739c077 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jan 1 16:03:04 2009 Tanaka Akira + + * ext/socket/mkconstants.rb (Socket::AF_INET6): moved from socket.c. + (Socket::PF_INET6): ditto. + Thu Jan 1 15:27:07 2009 Tanaka Akira * ext/socket/mkconstants.rb: use erb. diff --git a/ext/socket/mkconstants.rb b/ext/socket/mkconstants.rb index d74310cb34..02d7e17b77 100644 --- a/ext/socket/mkconstants.rb +++ b/ext/socket/mkconstants.rb @@ -43,19 +43,30 @@ def each_data else define = "sock_define_const" end - yield define, name, default_value + guard = nil + if /\A(AF_INET6|PF_INET6)\z/ =~ name + # IPv6 is not supported although AF_INET6 is defined on bcc32/mingw + guard = "defined(INET6)" + end + yield guard, define, name, default_value } end result << ERB.new(<<'EOS', nil, '%').result(binding) -% each_data {|define, name, default_value| -#ifdef <%=name%> +% each_data {|guard, define, name, default_value| +% if guard +#if <%=guard%> +% end +#if defined(<%=name%>) <%=define%>(<%=c_str name%>, <%=name%>); % if default_value #else <%=define%>(<%=c_str name%>, <%=default_value%>); % end #endif +% if guard +#endif +% end % } EOS @@ -79,6 +90,8 @@ SOCK_PACKET AF_INET PF_INET +AF_INET6 +PF_INET6 AF_UNIX PF_UNIX AF_AX25 diff --git a/ext/socket/socket.c b/ext/socket/socket.c index 11976b01a4..b91e1396cd 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -3733,8 +3733,4 @@ Init_socket() /* constants */ mConst = rb_define_module_under(rb_cSocket, "Constants"); #include "constants.h" -#ifdef INET6 /* IPv6 is not supported although AF_INET6 is defined on bcc32/mingw */ - sock_define_const("AF_INET6", AF_INET6); - sock_define_const("PF_INET6", PF_INET6); -#endif } -- cgit v1.2.3