From 2478f1caaf72fa07201c3f461ade8d2bd13f21ca Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 1 Feb 2009 23:12:52 +0000 Subject: * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded platform names. * lib/resolv.rb (Resolv::Hosts::DefaultFileName), (Resolv::DNS::Config.default_config_hash): tries win32/resolv on mswin64 too. * lib/rubygems/specification.rb (Gem::Specification#ruby_code): aded mswin64. * lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command): spawn is better to start a process in background. * ext/extmk.rb: uses FNM_SYSCASE. * instruby.rb: installs win32.h on mswin64 platform. [ruby-core:21722] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 20 ++++++++++++++++++++ ext/extmk.rb | 4 ++-- ext/win32ole/extconf.rb | 2 +- instruby.rb | 2 +- lib/drb/extservm.rb | 6 +----- lib/resolv.rb | 4 ++-- lib/rubygems/specification.rb | 2 ++ lib/xmlrpc/server.rb | 6 +----- 8 files changed, 30 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index c4f5bc60cb..e0eeef72e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Mon Feb 2 08:12:50 2009 Nobuyoshi Nakada + + * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded + platform names. + + * lib/resolv.rb (Resolv::Hosts::DefaultFileName), + (Resolv::DNS::Config.default_config_hash): tries win32/resolv on + mswin64 too. + + * lib/rubygems/specification.rb (Gem::Specification#ruby_code): + aded mswin64. + + * lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command): + spawn is better to start a process in background. + + * ext/extmk.rb: uses FNM_SYSCASE. + + * instruby.rb: installs win32.h on mswin64 platform. + [ruby-core:21722] + Mon Feb 2 07:36:13 2009 Nobuyoshi Nakada * vm.c (vm_backtrace_each): now takes an iterator function. diff --git a/ext/extmk.rb b/ext/extmk.rb index 406695f9da..5a99f323d8 100644 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -351,7 +351,7 @@ $static_ext = {} if $extstatic $extstatic.each do |t| target = t - target = target.downcase if /mswin32|bccwin32/ =~ RUBY_PLATFORM + target = target.downcase if File::FNM_SYSCASE.nonzero? $static_ext[target] = $static_ext.size end end @@ -371,7 +371,7 @@ for dir in ["ext", File::join($top_srcdir, "ext")] end next end - target = target.downcase if /mswin32|bccwin32/ =~ RUBY_PLATFORM + target = target.downcase if File::FNM_SYSCASE.nonzero? $static_ext[target] = $static_ext.size end MTIMES << f.mtime diff --git a/ext/win32ole/extconf.rb b/ext/win32ole/extconf.rb index 06a3f14c43..500bd3dd3a 100644 --- a/ext/win32ole/extconf.rb +++ b/ext/win32ole/extconf.rb @@ -36,7 +36,7 @@ end case RUBY_PLATFORM -when /mswin32/ +when /mswin/ $CFLAGS += ' /W3' when /cygwin/, /mingw/ $defs << '-DNONAMELESSUNION' diff --git a/instruby.rb b/instruby.rb index 6cfa3c572f..0d661d8941 100755 --- a/instruby.rb +++ b/instruby.rb @@ -419,7 +419,7 @@ install?(:local, :arch, :lib) do Dir.chdir(srcdir) makedirs [rubyhdrdir] noinst = [] - unless RUBY_PLATFORM =~ /mswin32|mingw|bccwin32/ + unless RUBY_PLATFORM =~ /mswin|mingw|bccwin/ noinst << "win32.h" end noinst = nil if noinst.empty? diff --git a/lib/drb/extservm.rb b/lib/drb/extservm.rb index be40aea9f5..7af644a0b1 100644 --- a/lib/drb/extservm.rb +++ b/lib/drb/extservm.rb @@ -79,11 +79,7 @@ module DRb @servers[name] = false end uri = @uri || DRb.uri - if RUBY_PLATFORM =~ /mswin32/ && /NT/ =~ ENV["OS"] - system(%Q'cmd /c start "ruby" /b #{command} #{uri} #{name}') - else - system("#{command} #{uri} #{name} &") - end + spawn("#{command} #{uri} #{name}") end end end diff --git a/lib/resolv.rb b/lib/resolv.rb index 07d88d0466..ed8859d3c4 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -165,7 +165,7 @@ class Resolv # Resolv::Hosts is a hostname resolver that uses the system hosts file. class Hosts - if /mswin32|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' DefaultFileName = Win32::Resolv.get_hosts_path else @@ -829,7 +829,7 @@ class Resolv if File.exist? filename config_hash = Config.parse_resolv_conf(filename) else - if /mswin32|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' search, nameserver = Win32::Resolv.get_resolv_info config_hash = {} diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 2e6cdc1b04..b3a42cf902 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -1153,6 +1153,8 @@ module Gem @new_platform = Gem::Platform::RUBY when 'mswin32' then # was Gem::Platform::WIN32 @new_platform = Gem::Platform.new 'x86-mswin32' + when 'mswin64' then + @new_platform = Gem::Platform.new 'x86-mswin64' when 'i586-linux' then # was Gem::Platform::LINUX_586 @new_platform = Gem::Platform.new 'x86-linux' when 'powerpc-darwin' then # was Gem::Platform::DARWIN diff --git a/lib/xmlrpc/server.rb b/lib/xmlrpc/server.rb index 0ee88c8c8f..131173fa70 100644 --- a/lib/xmlrpc/server.rb +++ b/lib/xmlrpc/server.rb @@ -640,11 +640,7 @@ class Server < WEBrickServlet end def serve - if RUBY_PLATFORM =~ /mingw|mswin32/ - signals = [1] - else - signals = %w[INT TERM HUP] - end + signals = %w[INT TERM HUP] & Signal.list.keys signals.each { |signal| trap(signal) { @server.shutdown } } @server.start -- cgit v1.2.3