summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2014-10-08 17:28:10 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2014-10-08 17:28:10 -0700
commit13634a8463cddcb84007795761622eb34b6c02fa (patch)
tree8569719d13d4c18e76e70e526c97fe34e4c9fc8a
parentc5d0f4c89fa5a493fd9638d232f70088b4d0556e (diff)
downloadffi-yajl-lcg/windows-libname.tar.gz
fix libnames for windowslcg/windows-libname
this fixes the perf issues on windows where we were falling back to ffi
-rw-r--r--lib/ffi_yajl/ext.rb2
-rw-r--r--lib/ffi_yajl/ffi.rb2
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/ffi_yajl/ext.rb b/lib/ffi_yajl/ext.rb
index b645972..3b055ea 100644
--- a/lib/ffi_yajl/ext.rb
+++ b/lib/ffi_yajl/ext.rb
@@ -10,6 +10,8 @@ module FFI_Yajl
# FIXME: extract map_library_name from FFI and stop requiring it at the top level
# so that the C-library can be installed without FFI
libname = ::FFI.map_library_name("yajl")
+ # awful windows patch, but there is an open issue to entirely replace FFI.map_library_name already
+ libname = "libyajl.so" if libname == "yajl.dll"
libpath = File.expand_path(File.join(Libyajl2.opt_path, libname))
libpath.gsub!(/dylib/, 'bundle')
libpath = ::FFI.map_library_name("yajl") unless File.exist?(libpath)
diff --git a/lib/ffi_yajl/ffi.rb b/lib/ffi_yajl/ffi.rb
index 1510bcc..4e685a6 100644
--- a/lib/ffi_yajl/ffi.rb
+++ b/lib/ffi_yajl/ffi.rb
@@ -7,6 +7,8 @@ module FFI_Yajl
extend ::FFI::Library
libname = ::FFI.map_library_name("yajl")
+ # XXX: need to replace ::FFI.map_library_name here as well
+ libname = "libyajl.so" if libname == "yajl.dll"
libpath = File.expand_path(File.join(Libyajl2.opt_path, libname))
libpath.gsub!(/dylib/, 'bundle')