Sha256: 1687e024a9004b3c71c3675be2983b35cb0c310ce614fe5a7086fc2691a0efe5
Contents?: true
Size: 1.75 KB
Versions: 3
Compression:
Stored size: 1.75 KB
Contents
# # This file is part of ruby-ffi. # For licensing, see LICENSE.SPECS # require 'rbconfig' require 'ffi' CPU = case RbConfig::CONFIG['host_cpu'].downcase when /i[3456]86/ # Darwin always reports i686, even when running in 64bit mode if RbConfig::CONFIG['host_os'] =~ /darwin/ && 0xfee1deadbeef.is_a?(Fixnum) "x86_64" else "i386" end when /amd64|x86_64/ "x86_64" when /ppc64|powerpc64/ "powerpc64" when /ppc|powerpc/ "powerpc" when /^arm/ "arm" else RbConfig::CONFIG['host_cpu'] end OS = case RbConfig::CONFIG['host_os'].downcase when /linux/ "linux" when /darwin/ "darwin" when /freebsd/ "freebsd" when /openbsd/ "openbsd" when /sunos|solaris/ "solaris" when /mswin|mingw/ "win32" else RbConfig::CONFIG['host_os'].downcase end def compile_library(path, lib) dir = File.expand_path(path, File.dirname(__FILE__)) lib = "#{dir}/#{lib}" if !File.exists?(lib) ldshared = RbConfig::CONFIG["LDSHARED"] libs = RbConfig::CONFIG["LIBS"] dldflags = RbConfig::CONFIG["DLDFLAGS"] puts Dir.pwd, dir, File.dirname(__FILE__) FileUtils.cd(dir) do output = system(*%{#{system('which gmake >/dev/null') && 'gmake' || 'make'} CPU=#{CPU} OS=#{OS} }.tap{|x| puts x.inspect}) end if $?.exitstatus != 0 raise "Unable to compile \"#{lib}\"" end end lib end require "ffi" module TestLibrary PATH = compile_library("fixtures", "libtest.#{FFI::Platform::LIBSUFFIX}") def self.force_gc if RUBY_PLATFORM =~ /java/ java.lang.System.gc elsif defined?(RUBY_ENGINE) && RUBY_ENGINE == 'rbx' GC.run(true) else GC.start end end end module LibTest extend FFI::Library ffi_lib TestLibrary::PATH end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ffi-1.9.5-x64-mingw32 | spec/ffi/spec_helper.rb |
ffi-1.9.5-x86-mingw32 | spec/ffi/spec_helper.rb |
ffi-1.9.5 | spec/ffi/spec_helper.rb |