diff options
Diffstat (limited to 'spec/ruby/optional/capi/spec_helper.rb')
-rw-r--r-- | spec/ruby/optional/capi/spec_helper.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/spec_helper.rb b/spec/ruby/optional/capi/spec_helper.rb index 21d2cd04c5..a5f64b51fb 100644 --- a/spec/ruby/optional/capi/spec_helper.rb +++ b/spec/ruby/optional/capi/spec_helper.rb @@ -23,11 +23,18 @@ def compile_extension(name) ext = "#{name}_spec" lib = "#{object_path}/#{ext}.#{RbConfig::CONFIG['DLEXT']}" ruby_header = "#{RbConfig::CONFIG['rubyhdrdir']}/ruby.h" + libruby_so = RbConfig::CONFIG['LIBRUBY_SO'] + ruby_library = "#{RbConfig::CONFIG['libdir']}/#{libruby_so}" + unless libruby_so and File.exist?(ruby_library) + # Statically-compiled lib in the binary + ruby_library = RbConfig.ruby + end return lib if File.exist?(lib) and File.mtime(lib) > File.mtime("#{extension_path}/rubyspec.h") and File.mtime(lib) > File.mtime("#{extension_path}/#{ext}.c") and File.mtime(lib) > File.mtime(ruby_header) and + File.mtime(lib) > File.mtime(ruby_library) and true # sentinel # Copy needed source files to tmpdir |