diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-04-05 14:17:09 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-04-05 14:17:09 +0900 |
| commit | 7ab5353f807d8d6e806a6598de06a1dca3ddb130 (patch) | |
| tree | b483b4fb900a7d0adae3594d62542f36a30657c5 | |
| parent | 3cef380b202ded4ec316540e328ca75f06083394 (diff) | |
| parent | d7df30bdd83df3f6ef8448736237d17f366994b8 (diff) | |
| download | mruby-7ab5353f807d8d6e806a6598de06a1dca3ddb130.tar.gz mruby-7ab5353f807d8d6e806a6598de06a1dca3ddb130.zip | |
Merge pull request #4960 from Reckordp/BuildAndroid
Validate windows by Dir testing
| -rw-r--r-- | lib/mruby/gem.rb | 9 | ||||
| -rw-r--r-- | mrbgems/mruby-io/mrbgem.rake | 22 | ||||
| -rw-r--r-- | mrbgems/mruby-socket/mrbgem.rake | 18 |
3 files changed, 14 insertions, 35 deletions
diff --git a/lib/mruby/gem.rb b/lib/mruby/gem.rb index 4214ceb08..4c3cd7f02 100644 --- a/lib/mruby/gem.rb +++ b/lib/mruby/gem.rb @@ -106,6 +106,15 @@ module MRuby define_gem_init_builder if @generate_functions 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) default_gem = requirements.last.kind_of?(Hash) ? requirements.pop : nil requirements = ['>= 0.0.0'] if requirements.empty? diff --git a/mrbgems/mruby-io/mrbgem.rake b/mrbgems/mruby-io/mrbgem.rake index 80835df9c..d0c8fb052 100644 --- a/mrbgems/mruby-io/mrbgem.rake +++ b/mrbgems/mruby-io/mrbgem.rake @@ -5,26 +5,8 @@ MRuby::Gem::Specification.new('mruby-io') do |spec| spec.cc.include_paths << "#{build.root}/src" - case RUBY_PLATFORM - when /mingw|mswin|msys/ - 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'] + if for_windows? + spec.linker.libraries << "ws2_32" end spec.add_test_dependency 'mruby-time', core: 'mruby-time' end diff --git a/mrbgems/mruby-socket/mrbgem.rake b/mrbgems/mruby-socket/mrbgem.rake index c538433e9..6271c4559 100644 --- a/mrbgems/mruby-socket/mrbgem.rake +++ b/mrbgems/mruby-socket/mrbgem.rake @@ -7,21 +7,9 @@ MRuby::Gem::Specification.new('mruby-socket') do |spec| #spec.cc.defines << "HAVE_SA_LEN=0" # If Windows, use winsock - if ( /mswin|mingw|win32/ =~ RUBY_PLATFORM ) then - 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 << "wsock32" - spec.linker.libraries << "ws2_32" - end + if for_windows? + spec.linker.libraries << "wsock32" + spec.linker.libraries << "ws2_32" end spec.add_dependency('mruby-io', :core => 'mruby-io') |
