summaryrefslogtreecommitdiff
path: root/lib/ffi_yajl.rb
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2013-11-15 20:19:32 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2013-11-15 20:19:32 -0800
commit778c8fa643fbae9b8ec7167fea0a35fa0b5c1c08 (patch)
tree6908ae107e8d21985e6daa68efe47aef3c86a42f /lib/ffi_yajl.rb
parenta4a3738f31c721291dea32837578bfdb806d5bbc (diff)
downloadffi-yajl-778c8fa643fbae9b8ec7167fea0a35fa0b5c1c08.tar.gz
use vendered libyajl2 if we find it installed
- extconf.rb must be smart enough to figure out if the system libyajl2 is usable or not, if it isn't usable, it will install the vendered lib, which we always use
Diffstat (limited to 'lib/ffi_yajl.rb')
-rw-r--r--lib/ffi_yajl.rb15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/ffi_yajl.rb b/lib/ffi_yajl.rb
index a7e69d1..32de01c 100644
--- a/lib/ffi_yajl.rb
+++ b/lib/ffi_yajl.rb
@@ -4,14 +4,15 @@ require 'ffi'
module FFI_Yajl
extend FFI::Library
- begin
- # search the default paths for libyajl2
+
+ libname = FFI.map_library_name("yajl")
+ libpath = File.join(File.dirname(__FILE__), libname)
+
+ if File.file?(libpath)
+ # use our vendored version of libyajl2 if we find it installed
+ ffi_lib libpath
+ else
ffi_lib 'yajl'
- # FIXME: need to explode if we find libyajl1 accidentally
- rescue LoadError
- # use the bundled libyajl2
- libname = FFI.map_library_name("yajl")
- ffi_lib File.join(File.dirname(__FILE__), libname)
end
class YajlCallbacks < FFI::Struct