Unverified Commit 7ab5353f authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4960 from Reckordp/BuildAndroid

Validate windows by Dir testing
parents 3cef380b d7df30bd
...@@ -106,6 +106,15 @@ module MRuby ...@@ -106,6 +106,15 @@ module MRuby
define_gem_init_builder if @generate_functions define_gem_init_builder if @generate_functions
end end
def for_windows?
if build.kind_of?(MRuby::CrossBuild)
return %w(x86_64-w64-mingw32 i686-w64-mingw32).include?(build.host_target)
elsif build.kind_of?(MRuby::Build)
return ('A'..'Z').to_a.any? { |vol| Dir.exist?("#{vol}:") }
end
return false
end
def add_dependency(name, *requirements) def add_dependency(name, *requirements)
default_gem = requirements.last.kind_of?(Hash) ? requirements.pop : nil default_gem = requirements.last.kind_of?(Hash) ? requirements.pop : nil
requirements = ['>= 0.0.0'] if requirements.empty? requirements = ['>= 0.0.0'] if requirements.empty?
......
...@@ -5,26 +5,8 @@ MRuby::Gem::Specification.new('mruby-io') do |spec| ...@@ -5,26 +5,8 @@ MRuby::Gem::Specification.new('mruby-io') do |spec|
spec.cc.include_paths << "#{build.root}/src" spec.cc.include_paths << "#{build.root}/src"
case RUBY_PLATFORM if for_windows?
when /mingw|mswin|msys/ spec.linker.libraries << "ws2_32"
really_for_window = true
if build.kind_of?(MRuby::CrossBuild)
if %w(x86_64-w64-mingw32 i686-w64-mingw32).include?(build.host_target)
really_for_window = true
else
really_for_window = false
end
end
if really_for_window
spec.linker.libraries += ['Ws2_32']
#spec.cc.include_paths += ["C:/Windows/system/include"]
spec.linker.library_paths += ["C:/Windows/system"]
end
end
if build.kind_of?(MRuby::CrossBuild) && %w(x86_64-w64-mingw32 i686-w64-mingw32).include?(build.host_target)
spec.linker.libraries += ['ws2_32']
end end
spec.add_test_dependency 'mruby-time', core: 'mruby-time' spec.add_test_dependency 'mruby-time', core: 'mruby-time'
end end
...@@ -7,21 +7,9 @@ MRuby::Gem::Specification.new('mruby-socket') do |spec| ...@@ -7,21 +7,9 @@ MRuby::Gem::Specification.new('mruby-socket') do |spec|
#spec.cc.defines << "HAVE_SA_LEN=0" #spec.cc.defines << "HAVE_SA_LEN=0"
# If Windows, use winsock # If Windows, use winsock
if ( /mswin|mingw|win32/ =~ RUBY_PLATFORM ) then if for_windows?
really_for_window = true spec.linker.libraries << "wsock32"
spec.linker.libraries << "ws2_32"
if build.kind_of?(MRuby::CrossBuild)
if %w(x86_64-w64-mingw32 i686-w64-mingw32).include?(build.host_target)
really_for_window = true
else
really_for_window = false
end
end
if really_for_window
spec.linker.libraries << "wsock32"
spec.linker.libraries << "ws2_32"
end
end end
spec.add_dependency('mruby-io', :core => 'mruby-io') spec.add_dependency('mruby-io', :core => 'mruby-io')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment