19 lines
443 B
Ruby
19 lines
443 B
Ruby
require 'fiddle'
|
|
|
|
class HyperbuildLoader
|
|
def self.operating_system
|
|
case RbConfig::CONFIG['host_os'].downcase
|
|
when /linux|bsd|solaris/ then 'linux'
|
|
when /darwin/ then 'macos'
|
|
when /mingw|mswin/ then 'windows'
|
|
else 'unknown'
|
|
end
|
|
end
|
|
|
|
def self.lib_path
|
|
File.join(__dir__, operating_system)
|
|
end
|
|
end
|
|
|
|
Fiddle::Function.new(Fiddle.dlopen(HyperbuildLoader.lib_path)['Init_hyperbuild'], [], Fiddle::TYPE_VOIDP).call
|