mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Helper for link window's library
This commit is contained in:
@@ -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?
|
||||
|
||||
@@ -5,26 +5,10 @@ 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']
|
||||
#spec.cc.include_paths += ["C:/Windows/system/include"]
|
||||
spec.linker.library_paths += ["C:/Windows/system"]
|
||||
end
|
||||
spec.add_test_dependency 'mruby-time', core: 'mruby-time'
|
||||
end
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user