mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merges r27742 and r27746 from trunk into ruby_1_9_2.
-- * ext/socket/extconf.rb: test IPPROTO_IP and IPPROTO_IPV6 constants. * ext/socket/mkconstants.rb: define macros for enum. [ruby-dev:38849] -- * ext/socket/extconf.rb: test all IPPROTO_* constants for recent Win32 SDK. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@27834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1aabe245c1
commit
5b86607ebd
3 changed files with 28 additions and 5 deletions
13
ChangeLog
13
ChangeLog
|
|
@ -1,3 +1,16 @@
|
||||||
|
Wed May 12 11:39:10 2010 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* ext/socket/extconf.rb: test all IPPROTO_* constants for recent Win32
|
||||||
|
SDK.
|
||||||
|
|
||||||
|
Tue May 11 23:07:22 2010 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* ext/socket/extconf.rb: test IPPROTO_IP and IPPROTO_IPV6 constants.
|
||||||
|
|
||||||
|
* ext/socket/mkconstants.rb: define macros for enum.
|
||||||
|
|
||||||
|
[ruby-dev:38849]
|
||||||
|
|
||||||
Wed May 12 09:21:05 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
Wed May 12 09:21:05 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* re.c (rb_reg_initialize_m): fix wrong index for the lang
|
* re.c (rb_reg_initialize_m): fix wrong index for the lang
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,12 @@ end
|
||||||
have_header("netinet/tcp.h") if /cygwin/ !~ RUBY_PLATFORM # for cygwin 1.1.5
|
have_header("netinet/tcp.h") if /cygwin/ !~ RUBY_PLATFORM # for cygwin 1.1.5
|
||||||
have_header("netinet/udp.h")
|
have_header("netinet/udp.h")
|
||||||
|
|
||||||
|
if !have_macro("IPPROTO_IPV6", headers) && have_const("IPPROTO_IPV6", headers)
|
||||||
|
IO.read(File.join(File.dirname(__FILE__), "mkconstants.rb")).sub(/\A.*^__END__$/m, '').split(/\r?\n/).grep(/\AIPPROTO_\w*/){$&}.each {|name|
|
||||||
|
have_const(name, headers) unless $defs.include?("-DHAVE_CONST_#{name.upcase}")
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
if (have_func("sendmsg") | have_func("recvmsg")) && /64-darwin/ !~ RUBY_PLATFORM
|
if (have_func("sendmsg") | have_func("recvmsg")) && /64-darwin/ !~ RUBY_PLATFORM
|
||||||
# CMSG_ macros are broken on 64bit darwin, because of use of __DARWIN_ALIGN.
|
# CMSG_ macros are broken on 64bit darwin, because of use of __DARWIN_ALIGN.
|
||||||
have_struct_member('struct msghdr', 'msg_control', ['sys/types.h', 'sys/socket.h'])
|
have_struct_member('struct msghdr', 'msg_control', ['sys/types.h', 'sys/socket.h'])
|
||||||
|
|
@ -335,7 +341,7 @@ have_header("ucred.h", headers)
|
||||||
have_func("getpeerucred")
|
have_func("getpeerucred")
|
||||||
|
|
||||||
# workaround for recent Windows SDK
|
# workaround for recent Windows SDK
|
||||||
$defs << "-DIPPROTO_IPV6=IPPROTO_IPV6" if have_const("IPPROTO_IPV6") && !have_macro("IPPROTO_IPV6")
|
$defs << "-DIPPROTO_IPV6=IPPROTO_IPV6" if $defs.include?("-DHAVE_CONST_IPPROTO_IPV6") && !have_macro("IPPROTO_IPV6")
|
||||||
|
|
||||||
$distcleanfiles << "constants.h" << "constdefs.*"
|
$distcleanfiles << "constants.h" << "constdefs.*"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,11 +73,15 @@ end
|
||||||
|
|
||||||
ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_decls")
|
ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_const_decls")
|
||||||
% each_const {|guard, make_value, name, default_value|
|
% each_const {|guard, make_value, name, default_value|
|
||||||
% if default_value
|
#if !defined(<%=name%>)
|
||||||
#ifndef <%=name%>
|
# if defined(HAVE_CONST_<%=name.upcase%>)
|
||||||
# define <%=name%> <%=default_value%>
|
# define <%=name%> <%=name%>
|
||||||
|
%if default_value
|
||||||
|
# else
|
||||||
|
# define <%=name%> <%=default_value%>
|
||||||
|
%end
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
% end
|
|
||||||
% }
|
% }
|
||||||
EOS
|
EOS
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue